我在我的应用程序中加入了类似 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
- 但它不是:(
它只看到$string
,所以我没有解析复数形式......我该如何解决这个问题?我不想将我的函数切换为不同的参数格式,因为我喜欢这个:(
此外,此函数的作用类似于 sprintf 替换:
- 如果第三个参数 ($plural_string) 是一个数组,那么函数会将数组中的值视为 vsprintf 的参数
- 如果第三个参数是字符串并且提供了 $number,该函数将考虑 $vprintf_arguments 作为 vsprintf 的参数(如果提供了),并且 $plural_string 作为 $string 的复数形式
无论如何,PoEdit 不应该干扰未引用的论点,对吧?我的意思是它只会将 $plural_string 解析为字符串,如果它看起来像'abc abc'