带有自定义域的 symfony 翻译资源无法加载

symfony translation resources with custom domain doesn't load

我有个小问题。 当我将自定义域添加到我的资源进行翻译时,它没有加载。

我的代码有效(没有自定义域):

$app['translator'] = $app->share($app->extend('translator', function ($translator, $app) {
    $translator->addLoader('yaml', new Symfony\Component\Translation\Loader\YamlFileLoader());

    $translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/back-office.en_GB.yml', 'en_GB');
    $translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/back-office.fr_FR.yml', 'fr_FR');

    return $translator;
}));

我想执行但无法运行的代码:

$app['translator'] = $app->share($app->extend('translator', function ($translator, $app) {
    $translator->addLoader('yaml', new Symfony\Component\Translation\Loader\YamlFileLoader());

    $translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/back-office.en_GB.yml', 'en_GB', 'back-office');
    $translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/back-office.fr_FR.yml', 'fr_FR', 'back-office');

    return $translator;
}));

默认域是 "messages",如何更改它?

问候

编辑:

我刚刚注意到它没有加载其他资源文件。 如果我先添加空文件资源然后添加我的翻译资源文件,翻译不会出现在我的树枝文件中,它会打印变量。

$translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/messages.en_GB.yml', 'en_GB');
    $translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/messages.fr_FR.yml', 'fr_FR');
    $translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/back-office.en_GB.yml', 'en_GB', 'back-office');
    $translator->addResource('yaml', __DIR__ . '/../views/backend/translator/translations/back-office.fr_FR.yml', 'fr_FR', 'back-office');

编辑 2:

我明白了,我应该在 twig 文件中的每个变量上指定域,或者在每个 twig 文件上指定默认域:

{{ 'label.name'|trans({}, 'app') }} 要么 {% trans_default_domain "app" %}

文件多了真的不好管理...

我明白了,我应该在 twig 文件中的每个变量上指定域,或者在每个 twig 文件上指定默认域:

{{ 'label.name'|trans({}, 'app') }}

{% trans_default_domain "app" %}

文件多了真的不好管理...