2017-01-13 14 views
1

Symfony2 требует, чтобы имена файлов перевода были в формате . Domain.locale.loader (например, messages.en_GB.po).Symfony2 custom translation filenames

В старой системе у меня есть файлы, хранящиеся как en_GB.po, поэтому мне интересно, есть ли простой способ заставить Symfony загружать эти файлы.

+0

Не можете переименовать файлы? – insertusernamehere

ответ

0

Вы можете иметь свой собственный загрузчик и добавить домен при загрузке файлов:

Ориентировочно это будет что-то вроде:

$this->translator->addLoader('yaml', new \Symfony\Component\Translation\Loader\YamlFileLoader()); 
    $this->translator->addResource('yaml', __DIR__.'/../../resources/translations/en_US.yml', 'en_US', 'addressing'); 
    $this->translator->addResource('yaml', __DIR__.'/../../resources/translations/es_ES.yml', 'es_ES', 'addressing'); 

Вы можете загрузить их на boostrapping вашего приложения, и есть сервис для него.

Вы можете прочитать здесь: http://symfony.com/doc/current/components/translation/custom_formats.html