有没有办法在yii中使用i18n翻译更长的文本?
我认为这不是翻译较长文本的正确方法:
Yii::t('app','Longer text here...')
有人可以帮助我吗?
答案 0 :(得分:0)
您可以使用Yii :: t()翻译任何长文本。
另一种方式是相关表及其内容翻译。
例如,您想要翻译新闻块。您可以创建“新闻”表,在其中保存所有语言的常规信息,例如images,category_id,url_name,creater_id,created_at等。
您还可以使用“新闻”表创建一对多关系的“news_lang”表。在新的“news_lang”表中,您应该有“news_id”,“lang_id”,“title”,“body”,“meta_keyword”,“meta_description”等所有您需要的翻译。 “news_id”列与“新闻”表“id”列相关。并且“news_lang”表的每一行都与相关语言相匹配。 “lang_id”也可以是静态的,你可以传递带有表单隐藏值的值,或者更好更灵活的方法是创建“lang”表并将其与转换表联系起来。
答案 1 :(得分:0)
如果您想翻译动态文字并使用Yii::t()
获取,可以使用TsTranslation扩展名(您可以在GitHub下载最新版本)。
它允许
Yii::t($model, 'attribute')
,