【发布时间】:2016-10-05 12:25:22
【问题描述】:
我必须翻译一个页面内容可以用英语或法语编写的网站。
所以我在我的翻译库中制作了两个文件:
- message.en.yml(当区域设置为 en_us 或 en_gb 时将 法语翻译成英语)
- message.fr.yml(当区域设置为fr时将英语翻译成法语)
为了解释我的问题,我举个例子,Hardware | Matériel这对词。
当使用 fr 语言环境查看页面时,Hardware 需要由 Matériel 翻译。
所以我把:Hardware: Matériel 放在我的message.fr.yml 中。
当使用 en_us 或 en_gb 语言环境查看页面时,Matériel 需要由 Hardware 翻译。
所以我把:Matériel: Hardware 放在我的message.en.yml 中。
此时的翻译行为是:
当使用 fr 语言环境查看页面时,Hardware 被正确翻译。
当使用 en_gb 语言环境查看页面时,Hardware 未正确翻译。
当使用 en_us 语言环境查看页面时,Hardware 被 Matériel 错误地翻译。
更有趣的是,如果我清除 Symfony 缓存,行为会发生变化,有时所有内容都会被 Matériel 翻译,有时什么都不会...
一周前,我只需要将法语翻译成英语,只需使用 message.en.yml 文件就可以完美运行,也许当您使用多个文件时我没有注意到。
有人能解释一下如何处理这两种方式的翻译吗?
【问题讨论】:
标签: php symfony internationalization locale translation