我正在使用Yii,它内置翻译功能。
现在,我需要根据用户设置(对应语言)翻译一些字符串,而不更改主要语言。
意思是:页面本身是英文的。 用户可以选择对应语言。 用户的名称(Mr./Ms。)应采用所选的通信语言(例如,对于法语,应该是Monsieur / Madame)。
使用Yii::t('app', 'mr')
无法真正实现这一目标。
如果有第三个变量我可以传递给翻译器以获得所需的语言,那就不会有问题了。
我想我可以在翻译标题之前将默认语言设置为通信语言,然后再将其更改回来,但这看起来有点不实用?
有什么想法吗?
答案 0 :(得分:1)
您可以使用此TsTranslation扩展程序,该扩展程序允许翻译dinamic消息并通过Yii::t()
获取翻译后的值:f.e。您可以使用Yii::t($model, 'MrOrMs')
$model
CActiveRecord
特定用户。