2017-10-20 191 views
0

我正在开发yii2框架。我想为购物车网站(英语和阿拉伯语)设置多种语言选项。我尝试了一些方法,但没有取得成功。Yii2多种语言

  1. 在数据库中创建每个表的副本。
  2. 为每种语言连接不同的数据库
  3. 为表中的语言添加两个字段。

哪个更好?或任何其他选项?

回答

0

我有另一种解决方案:

实施例:

tablename = post 

表具有这样的字段:用于每个交

id 
post_title 
post_content 
language 
slug 
... 

蛞蝓-unique字符串。

id | post_title  | post_content  |slug  |... 
1  title_en   content_en   title_slug 
2  title_ar   content_ar   title_slug 
3  title_fr   content_fr   title_slug 
4  title_uz   content_uz   title_slug 

你可以设置URL是这样的:

http://example.com/en/post/title_slug

1

Yii2有一个专门的文件

Internationalization

继步骤部分,您可以创建翻译表以及如何使用 Yii::t()

+0

内容是从后端添加的。当用户从前端选择一种语言时,所有内容将被改变为使用国际化所选语言? – SaabzCoder

+0

输出可以由'I18n'库和Yii:t()'管理。 它所做的是将字符串及其各自的翻译存储在数据库中,并根据'\ Yii :: $ app-> language'的值来管理它们 – Sageth

1

我最近做了另一篇关于这方面的文章,在那里我提出了一种策略,它适用于我与客户建立的复杂体系结构。请阅读答案,我希望它能帮助你和其他人。

那里我讨论3个主要组件。
1.信息翻译。
2.路线动态翻译。
3.数据库内容翻译。

Yii2 best practices translating dynamic content

而且所有我讨论有基于文档中提供了有关Yii2 i18n Message translation在格兰对方的回答discused。