如何在symfony2翻译中使用配置值?

jap*_*sha 8 php translation symfony

是否可以在symfony 2中的翻译文件中使用config.yml中的全局变量?如果是,请您提供一些示例或有用的链接?

che*_*fly 1

您可以按照以下 2 个简单步骤操作:

  1. 使用 twig 配置在所有模板中注入全局变量:

    # app/config/parameters.yml
    parameters:
        my_favorite_website: www.stackoverflow.com
    
    Run Code Online (Sandbox Code Playgroud)

    # app/config/config.yml
    twig:
        globals:
            my_favorite_website: "%my_favorite_website%"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用消息占位符可以将文本放入翻译中:

    # messages.en.yml
    I.love.website: "I love %website%!!"
    
    # messages.fr.yml
    I.love.website: "J'adore %website%!!"
    
    Run Code Online (Sandbox Code Playgroud)

现在,您可以在模板中使用以下 twig 语法来获得预期结果:

{{ 'I.love.website'|trans({'%website%': my_favorite_website}) }}
Run Code Online (Sandbox Code Playgroud)