- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 symfony,在我的包中我需要创建一些翻译,但我宁愿在与“消息”不同的域中进行操作,就像 FOS User Bundle 所做的那样(它们使用 FOSUserBundle 域)。
所以我用我的翻译创建了一个 MyBundle.en.yml 文件,但它们没有加载。我已阅读我需要执行此操作的文档:
$translator->addLoader('xlf', new XliffFileLoader());
$translator->addResource('xlf', 'messages.fr.xlf', 'fr_FR');
$translator->addResource('xlf', 'admin.fr.xlf', 'fr_FR', 'admin');
$translator->addResource(
'xlf',
'navigation.fr.xlf',
'fr_FR',
'navigation'
);
http://symfony.com/doc/current/components/translation.html#using-message-domains
但是我应该在哪里做呢?
更新
经过一番调查后,如果我对翻译运行调试,它会显示我在模板中用于我的域的所有翻译都丢失了。
我的翻译文件位于src/Acme/Bundle/MyBundle/resources/translations/MyDomain.yml
我尝试在 app/Resources/translation/MyDomain.yml
中定位,但结果相同。
我还尝试删除缓存(rm -rf app/cache
),但仍然不起作用
最佳答案
如果您将文件放在正确的位置,Symfony 会自动为您执行此操作。您可以在文档中找到 Symfony 所采用约定的完整描述:https://symfony.com/doc/current/translation.html#translation-resource-file-names-and-locations
Best Practices-guide建议将它们存储在 app/Resources/translations/
中。或者,您可以将它们放入 bundle 的翻译文件夹中:src/MyBundle/Resources/translations
。
请注意,使用翻译器时必须指定您的域名,例如在你的 Twig 模板中。请参阅:
关于php - 如何在 Symfony 中添加新的翻译域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42861590/
我是一名优秀的程序员,十分优秀!