[英]How to configure symfony2 to use custom translation file names convention?
根据官方文件:
翻译文件的文件名也很重要:每个消息文件必须根据以下路径命名:domain.locale.loader:
我必须命名所有文件,例如messages.en_US.php
、 navigation.en_US.php
、 admin.en_US.php
等,并放在某个文件夹中。
i18n\
admin.en.php
messages.en.php
navigation.en.php
admin.fr.php
messages.fr.php
navigation.fr.php
但是我的项目结构应该遵循以下结构:
i18n\
en_US\
admin.php
messages.php
navigation.php
fr_FR\
admin.php
messages.php
navigation.php
那么如何配置 symfony2 以支持我的结构并以通用方式使用翻译:
echo $this->get('translator')->trans('hello', array(), 'messages');
这是不可能的。 如果要使用Symfony,请遵循Symfony的约定!
正确的说:这不可能以简单的方式实现。 您将需要编写自己的翻译器组件,并将Symfony的翻译器组件扔掉。
有可能,您必须调用addResource()
方法加载资源。
$translator->addLoader('php', new PhpFileLoader());
//Inside a loop:
$translator->addResource('php', 'path/to/messages.php', $locale);
这是文档https://symfony.com/doc/4.1/components/translation.html#loading-message-catalogs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.