Yii2多语言

vhmi4jdf  于 2022-11-09  发布在  其他
关注(0)|答案(4)|浏览(218)

我正在做yii2框架。我想为一个购物车网站设置多语言选项(英语和阿拉伯语)。我尝试了一些方法,但没有成功。
1.为数据库中每个表创建一个副本。
1.为每种语言连接不同的数据库
1.在表中为语言添加两个字段。
哪个更好?还是其他选择?

zzzyeukh

zzzyeukh1#

Yii2在文档中有专门的章节
Internationalization
按照这些步骤,您可以创建转换表以及如何使用Yii::t()

rkttyhzu

rkttyhzu2#

我最近回答了另一个关于这个问题的帖子,在那里我提出了一种策略,在一个非常复杂的架构中工作,我有一个客户。请阅读这个答案,我希望它能帮助你和其他人。
我将在此讨论3个主要组件。
1.消息翻译。
2.路由动态转换。
3.数据库内容转换。
Yii2翻译动态内容的最佳实践
所有我在那里讨论的都是基于在其他答案中讨论的Yii2 i18n Message translation上提供的文档。

hs1rzwqc

hs1rzwqc3#

我还有另一个办法:
示例:

tablename = post

表中包含以下字段:

id
post_title
post_content
language
slug 
...

slug -每个帖子的唯一字符串。

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

pbossiut

pbossiut4#

在www.example.com上搜索packagist.orglajax/yii 2-translatemanager。它可以扫描您的目录以及客户端javascript代码以查找要翻译的语言字符串,并包含一个用于处理数据库内容的TranslateBehavior。对于数据库内容,您需要在适用的模型中使用需要转换的列的行为,并在配置文件中定义表列本身。它被设计为与高级模板一起使用,但可以很容易地通过配置文件的更改来适应与基本模板一起使用。你可以在youtube上找到几个关于这个特定主题的视频教程。
有几种设计数据库模式的方法来处理语言翻译。你应该可以在packagist.org上找到例子。试着搜索“Yii 2语言翻译”。

相关问题