我想使用Twig和gettext将我的PHP站点国际化。我成功地进行了设置,但过程很无聊:必须使用PoEdit(例如)编辑PO文件,以便将其转换为MO,然后重新启动服务器或清空缓存。
我想要更简单,比如Symfony:编辑YAML文件,然后库会自动翻译它并清空缓存。我想这就是Symfony所做的,因为它也是基于Twig。
然而,我无法找到任何现有的解决方案,任何想法?
答案 0 :(得分:0)
所有Simfony2的组件都与框架分离,可以在任何地方实现。因此,如果您喜欢Symfony2翻译系统,您可以在php项目中实现Translator component(与您想要的任何其他symfony组件一起实现)。
这不是重新发明轮子不是吗?
答案 1 :(得分:0)
使用Symfony翻译组件进行本地化/国际化是微不足道的。它是一个标准组件,因此您无需添加任何内容,只需了解如何配置和使用它。
简而言之,您可以为要支持的任何语言创建翻译文件,然后只需将文本包装在翻译块{% trans %}Text To Translate{% endtrans %}
中,或通过翻译过滤器{{ myVar|trans }}
运行变量。然后,Symfony将文本翻译为客户端浏览器指定的_locale
。
阅读Using the Symfony Translator了解详情。