-2

我想将翻译文件保存在目录中,例如:

      /translations/admin/messages.en.xlf
      /translations/admin/validation.en.xlf
      /translations/client/messages.en.xlf
     /translations/client/validation.en.xlf

以及如何在 Controller 和 Twig 模板中使用这些翻译?

4

1 回答 1

2

翻译资源/文件名和位置

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'

您可以将它们用作任何其他翻译文件,记住上面引用的覆盖机制

完整参考https ://symfony.com/doc/4.2/translation.html

于 2019-03-06T22:44:08.957 回答