我有点问题。 当我将自定义域添加到我的资源进行翻译时,它不会加载。
我的代码正常工作(没有自定义域名):
$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;
}));
默认域名是“邮件”,我该如何更改?
问候
编辑:
我刚注意到它没有加载其他资源文件。 如果我首先添加空文件资源然后我的翻译资源文件,翻译没有出现在我的twig文件上,它会打印变量。
$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”%}
当你拥有大量文件时,管理真的不容易......
答案 0 :(得分:0)
我明白了,我应该在twig文件中的每个变量上指定域,或者在每个twig文件上指定默认域:
{{ 'label.name'|trans({}, 'app') }}
或
{% trans_default_domain "app" %}
当你拥有大量文件时,管理真的不容易......