Yii - 获取另一种语言的翻译

Yii - get translation for another language

我正在使用 Yii,它内置了翻译功能。

现在,我需要根据user-setting(通信语言)翻译一些字符串,而不改变主要语言。

意思是:页面本身是英文的。 用户可以选择通信语言。 用户(先生/女士)的头衔应使用所选的通信语言(例如,法语应为 Monsieur/Madame)。

使用Yii::t('app', 'mr')无法真正实现这一点。 如果有第三个变量我可以传递给所需语言的翻译器,那将不是问题。 我想我可以在翻译标题之前将default-language设置为通信语言,然后再将其改回,但这似乎有点不切实际?

有什么想法吗?

您可以使用这个 TsTranslation 扩展,它允许翻译动态消息并通过 Yii::t(): f.e 获取它们的翻译值。您可以使用此 Yii::t($model, 'MrOrMs'),其中 $model instanceof CActiveRecord 特定用户。