Chyba nie da sie zmienic, zeby domyslna domena byla inna:
https://github.com/symfony/Translation/blob...slator.php#L208Trzebaby je przekazywac za kazdym razem.
Jezeli po raz pierwszy wrzucasz translacje to polecam jeszcze raz przeczytac dokumentacje translacji w symfony i dokumentacje komponentu translacji.
Domeny sa uzyteczne w takiej formie, Ty chcialbys je usunac poprzez ladowanie wszystkiego do jednej.
Nie ma takiej opcji konfiguracji translatora o jakiej mowisz, ale translator posiada metode addResource:
https://github.com/symfony/Translation/blob...slator.php#L129Zakladajac ze uzywasz plikow yml masz juz zarejestrowany loader 'yml', wiec wystarczy dodawac sciezki z tlumaczeniami.
Zakladajac, ze masz nastepujace pliki translacji:
$ cat app/Resources/translations/messages.en.yml
key: one
i
$ cat app/Resources/sample.yml
key: translatedKey
Po wywolaniu gdzies w template {{ 'key'|trans }} dosaniemy: one.
Teraz wystarczy dodac nasz customowy plik sample.yml poprzez addResource do translatora, np w kontrollerze:
$this->get('translator')->addResource(
'yml',
$this->container->getParameter('kernel.root_dir').'/Resources/sample.yml',
'en'
);
Nie podajac domeny pliki zostana dodane do domeny messages, czyli domyslnej.
Oczywiscie, jesli ma to byc robione zawsze to lepiej uzyc compiler pass.
W AppBundle dodajemy pass:
class AppBundle extends Bundle
{
public function build(ContainerBuilder $container)
{
parent::build($container);
$container->addCompilerPass(new TranslationCompilerPass());
}
}
i w samym compiler passie dodajemy resource do translatora:
<?php
namespace AppBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
class TranslationCompilerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
$container->getDefinition('translator.default')->addMethodCall('addResource', [
'yml',
$container->getParameter('kernel.root_dir').'/Resources/sample.yml',
'en'
]);
}
}
Wtedy juz bedziemy dostawac z {{ 'key'|trans }} wynik: translatedKey.
Zeby nie ptrzeba bylo dodawac kazdego pliku osobno mozna pomyslec nad wyszukaniem wszystkich plikow w folderze albo dodaniem sobie opcji konfiguracji plikow i ladowanie tutaj wszystkich potrzebnych pod jedna domene.