Yii大文字翻译

时间:2015-03-06 13:31:40

标签: php yii

有没有办法在yii中使用i18n翻译更长的文本?

我认为这不是翻译较长文本的正确方法:

Yii::t('app','Longer text here...')

有人可以帮助我吗?

2 个答案:

答案 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')
  • 获取文本
  • 通过Google翻译及其他文字翻译文本

DEMO和文档:http://tstranslation.sundevelop.com/