我在我的应用程序中引入了类似于gettext的本地化系统,但我的翻译函数看起来像这样:
t($category, $string, [$plural_string, $number, $vprintf_arguments])
我的PoEdit关键词:
t:2
t:2,3
- t:2表示告诉PoEdit解析
$string
,它显然起作用了 - t:2,3应该告诉PoEdit同时解析
$string
和$plural_string
- 但它没有:(
PoEdit只看到了$string
,所以我没有得到复数形式的解析...我该如何解决这个问题?我不想更改函数的参数格式,因为我喜欢这种格式 :(
此外,此函数的作用类似于sprintf替换:
- 如果第3个参数($plural_string)是一个数组,则函数将把数组中的值视为vsprintf的参数
- 如果第3个参数是一个字符串,并且提供了$number,则函数将把$vprintf_arguments作为vsprintf的参数(如果提供了),并将$plural_string视为$string的复数形式
无论如何,PoEdit都不应干扰非引用参数,对吗?我的意思是,只有在它看起来像'abc abc'
时,它才会将$plural_string解析为字符串