目录中的Symfony 4翻译文件[关闭]

问题描述 投票:-3回答:1

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

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

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

symfony internationalization translation symfony-4.2
1个回答
2
投票

翻译资源/文件名称和位置

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

  • translations /目录(在项目的根目录);
  • 任何bundle内的Resources / translations /目录。

这里列出的位置优先级最高。也就是说,您可以在前两个目录中的任何一个中覆盖包的转换消息。

覆盖机制在密钥级别工作:只有被覆盖的密钥需要列在更高优先级的消息文件中。如果在消息文件中找不到密钥,则转换程序将自动回退到优先级较低的消息文件。

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

后来在同一页/章节

您可以在配置中使用paths选项添加其他目录:

配置/包/ translation.yaml

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.