Symfony 翻译在生产环境中不起作用
Symfony Translation Doesn't Work In Production
我有一个 symfony (2.8) 应用程序(实际上是 Sylius),我正在覆盖 app/Resources/translations/messages.en.yml
中 SyliusUserBundle 翻译的某些部分
(即翻译key为sylius.customer.email.unique)
它在本地开发环境中就像魅力一样,但在生产环境中给了我钥匙。我确实多次清除缓存,但没有帮助。
还有哪些其他可能的原因?
更新
提供在 SyliusUserBundle 中找到的英语翻译(因为它存在于原始包中),但提供其他语言的密钥,其中原始包不包含翻译。因此,总而言之,由于某种原因,翻译文件 app/Resources/translations/messages.<lang>.yml
似乎未在产品中获取。
更新 2
我还发现此文件中存在具有有效翻译的密钥:app/cache/prod/translations/catalogue.hu_HU.ba674f8d2fd06750dcd7ee5bb021c1b905b518ea.php
您是否配置了后备语言环境?
# app/config/config.yml
framework:
translator: { fallbacks: [en] }
尝试用消息重命名文件。hu.yml
如果不工作更改:
sylius.locale: hu_HU
至
sylius.locale: hu
将密钥移动到单独的文件中:
app/Resources/translations/validators.en.yml
app/Resources/translations/validators.hu.yml
已解决问题。
(一个有趣的问题是为什么它能在我的开发环境中工作..)
我有一个 symfony (2.8) 应用程序(实际上是 Sylius),我正在覆盖 app/Resources/translations/messages.en.yml
中 SyliusUserBundle 翻译的某些部分
(即翻译key为sylius.customer.email.unique)
它在本地开发环境中就像魅力一样,但在生产环境中给了我钥匙。我确实多次清除缓存,但没有帮助。
还有哪些其他可能的原因?
更新
提供在 SyliusUserBundle 中找到的英语翻译(因为它存在于原始包中),但提供其他语言的密钥,其中原始包不包含翻译。因此,总而言之,由于某种原因,翻译文件 app/Resources/translations/messages.<lang>.yml
似乎未在产品中获取。
更新 2
我还发现此文件中存在具有有效翻译的密钥:app/cache/prod/translations/catalogue.hu_HU.ba674f8d2fd06750dcd7ee5bb021c1b905b518ea.php
您是否配置了后备语言环境?
# app/config/config.yml
framework:
translator: { fallbacks: [en] }
尝试用消息重命名文件。hu.yml 如果不工作更改:
sylius.locale: hu_HU
至
sylius.locale: hu
将密钥移动到单独的文件中:
app/Resources/translations/validators.en.yml
app/Resources/translations/validators.hu.yml
已解决问题。
(一个有趣的问题是为什么它能在我的开发环境中工作..)