symfony2将数据翻译成其他语言(国际化和本地化)

时间:2015-08-21 12:34:36

标签: php symfony

处理symfony2 multi-tenant architecture项目(具有专用可自定义前端的多个用户),其中有多个客户端在单独的文件夹中具有单独的资产,子域用于区分客户端和相应的数据和资产是根据客户端加载,这是设置我将如何为每个客户端使用不同的语言,例如:客户端1希望他的网站使用英语和西班牙语,客户端2希望使用英语和法语。

  • symfony如何处理国际化

在App>下资源>翻译我可以有不同的messages.yml,但我将如何区分它们(客户端1' message.en.yml和客户端2' message.en.yml)以及如何动态加载它

  • 如何动态加载特定的翻译文件

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望让用户考虑显示您网站的语言,对吗?

如果,是的,Symfony为i18n提供强大的机制: 在configuration.yml添加:

framework:
    translator:      { fallback: "%locale%" }
    default_locale:  "%locale%"

然后在routing.yml导入您的路线:

main:
  resource: "@MyAwesomeBundle/Resources/config/routing.yml"
  prefix:   /{_locale}
  requirements:
    _locale: |uk|en
  defaults: { _locale: en }

您可以获得更多信息here。如果您想将翻译存储在数据库中,您应该查看DoctrineExtensionsBundle。希望它会有所帮助。