我想将翻译文件保存在目录中,例如:
/translations/admin/messages.en.xlf
/translations/admin/validation.en.xlf
/translations/client/messages.en.xlf
/translations/client/validation.en.xlf
以及如何在 Controller 和 Twig 模板中使用这些翻译?
我想将翻译文件保存在目录中,例如:
/translations/admin/messages.en.xlf
/translations/admin/validation.en.xlf
/translations/client/messages.en.xlf
/translations/client/validation.en.xlf
以及如何在 Controller 和 Twig 模板中使用这些翻译?
翻译资源/文件名和位置
Symfony 在以下默认位置查找消息文件(即翻译):
- translations/ 目录(在项目的根目录);
- 任何包内的 Resources/translations/ 目录。
这些位置在此处列出,优先级最高。也就是说,您可以覆盖前两个目录中任何一个包的翻译消息。
覆盖机制在密钥级别起作用:只有被覆盖的密钥需要在更高优先级的消息文件中列出。当在消息文件中找不到密钥时,翻译器将自动回退到较低优先级的消息文件。
来源:https ://symfony.com/doc/4.2/translation.html#translation-resource-file-names-and-locations
稍后在同一页面/章节
您可以在配置中使用路径选项添加其他目录:
配置/包/translation.yaml
framework: translator: paths: - '%kernel.project_dir%/translations/admin' - '%kernel.project_dir%/translations/client'
您可以将它们用作任何其他翻译文件,记住上面引用的覆盖机制