目录中的Symfony 4翻译文件

时间:2019-03-06 22:03:57

标签: symfony internationalization translation symfony-4.2

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

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

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

1 个答案:

答案 0 :(得分:2)

  

翻译资源/文件名和位置

     

Symfony在以下内容中查找消息文件(即翻译)   默认位置:

     
      
  • translations /目录(在项目的根目录);
  •   
  • 任何捆绑包中的Resources / translations /目录。
  •   
     

此处列出的位置具有最高优先级。那   是,您可以覆盖任何   前两个目录。

     

覆盖机制在键级别起作用:仅覆盖键   需要在更高优先级的消息文件中列出。当没有钥匙时   在消息文件中找到后,翻译器将自动回退   到优先级较低的消息文件。

https://symfony.com/doc/4.2/translation.html#translation-resource-file-names-and-locations

以及随后在同一页面/章节

  

您可以使用路径选项添加其他目录   配置:

     

config / packages / translation.yaml

framework:
    translator:
        paths:
            - '%kernel.project_dir%/translations/admin'
            - '%kernel.project_dir%/translations/client'

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

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