有没有一种方法可以使用i18n翻译yii中的较长文本?
我认为这不是翻译较长文本的正确方法:
Yii::t('app','Longer text here...')
有人能帮我吗?
您可以使用Yii::t()根据需要翻译任何长文本。
另一种方法是关联表及其内容进行翻译。
例如,您想要翻译新闻块。您可以创建"新闻"表,在其中保存所有语言的一般信息,例如图像、类别_id、url名称、creater_id、created_at等。
此外,您还创建了具有与"news"表的一对多关系的"news_lang"表。在新的"news_lang"表中,您应该有"news_id"、"lang_id","title"、"body"、"meta_keyword"、"meta description"等您需要的所有翻译。"news_id"列与"news"表"id"列相关。并且每一行的"news_lang"表都匹配相关的语言。"lang_id"也可以是静态的,您可以传递具有形式隐藏值的值,或者更好、更灵活的方法是创建"lang"表并将其与转换表关联。
如果你想翻译动态文本并用Yii::t()
获得它,你可以使用TsTranslation扩展(你可以在GitHub下载最新版本)。它允许
- 创建和更新不同语言的动态内容
- 使用语法CCD_ 2获取文本
- 通过谷歌翻译等翻译文本
演示和文件:http://tstranslation.sundevelop.com/