这些天我在基于laravel的两个项目上工作,我必须实现本地化。所以我发现最常用的方法是使用Gettext。 我只用gettext()和ngettext()来翻译字符串有些困难。我构建了一个能够像这样翻译字符串的包装器:
fantasticFunction('Hi my name is :name and I have {n, one friend, :n friends}', [ 'name' => 'Luca', 'n' => 1 ])
而不是写作:
sprintf('Hi my name is %s and I have', name) . ' ' . $n . ngettext('friend', 'friends', $n)
所以问题是:如果我使用包装器,那么像poedit这样的工具就无法识别这些字符串。我怎么解决?
答案 0 :(得分:1)
您需要添加anytime help me please
作为提取的关键字 - 这在fantasticFunction
文档中有详细记录,Poedit具有属性UI。
但没有任何东西可以帮助你xgettext
。如果你决定使用gettext,你需要实际遵循它的模型,这与它不兼容。在发明自己的方法之前,请先了解{n, one friend, :n friends}
的工作原理并阅读plural forms in different languages in gettext。你对你的困难"模糊不清使用gettext的复数支持(通常说是完成的),您确定它不仅仅是NIH综合症的一个案例吗?