Yii2多语言

Yii2多语言,yii,yii2,yii2-advanced-app,Yii,Yii2,Yii2 Advanced App,我正在研究yii2框架。我想为购物车网站设置多语言选项(英语和阿拉伯语)。我尝试了一些方法,但没有成功 在数据库中创建每个表的副本 为每种语言连接不同的数据库 在表中为语言添加两个字段 哪个更好?还有其他选择吗 我有另一个解决方案: 例如: tablename = post 表包含以下字段: id post_title post_content language slug ... slug-每个帖子的唯一字符串 id | post_title | post_content

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

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

  • 哪个更好?还有其他选择吗

    我有另一个解决方案:

    例如:

    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:


    我有另一个解决方案:

    例如:

    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:


    Yii2在文档中有一节专门介绍这一点

    按照这些步骤,您可以创建翻译表以及如何使用
    Yii::t()

    Yii2在文档中有一节专门介绍这一点

    按照这些步骤,您可以创建翻译表以及如何使用
    Yii::t()

    我最近确实回答了另一篇关于这一点的帖子,在那里我提出了一种策略,可以在我与客户机的一个非常复杂的体系结构中工作。请阅读这个答案,我希望它能帮助你和其他人

    在这里,我讨论了三个主要组成部分。
    1.消息翻译。
    2.路由动态转换。
    3.数据库内容翻译


    我所讨论的都是基于其他答案中讨论的Yii2提供的文档。

    我最近确实回答了另一篇关于这一点的帖子,在那里我提出了一种在我与客户的复杂架构中工作的策略。请阅读这个答案,我希望它能帮助你和其他人

    在这里,我讨论了三个主要组成部分。
    1.消息翻译。
    2.路由动态转换。
    3.数据库内容翻译


    我在这里讨论的所有内容都基于其他答案中讨论的Yii2提供的文档。

    在packagist.org上搜索lajax/Yii2 translatemanager。它可以扫描您的目录以及客户端javascript代码,以查找要翻译的语言字符串,并包括用于处理数据库内容的TranslateBehavior。对于数据库内容,需要对需要转换的列使用适用模型中的行为,并在配置文件中定义表列本身。它被设计为与高级模板一起使用,但可以很容易地与基本模板一起使用的配置文件更改相适应。你可以在youtube上找到几个关于这个特定主题的视频教程


    有几种方法可以设计数据库模式来处理语言转换。您应该能够在packagist.org上找到示例。尝试搜索“Yii2语言翻译”

    在packagist.org上搜索lajax/yii2 translatemanager。它可以扫描您的目录以及客户端javascript代码,以查找要翻译的语言字符串,并包括用于处理数据库内容的TranslateBehavior。对于数据库内容,需要对需要转换的列使用适用模型中的行为,并在配置文件中定义表列本身。它被设计为与高级模板一起使用,但可以很容易地与基本模板一起使用的配置文件更改相适应。你可以在youtube上找到几个关于这个特定主题的视频教程


    有几种方法可以设计数据库模式来处理语言转换。您应该能够在packagist.org上找到示例。尝试搜索“Yii2语言翻译”

    内容是从后端添加的。当用户从前端选择一种语言时,所有内容将通过使用国际化更改为所选语言??输出可由和的库
    Yii:t()
    管理。它所做的是将字符串及其各自的翻译存储在数据库中,并根据
    \Yii::$app->language
    的值对其进行管理。内容是从后端添加的。当用户从前端选择语言时,所有内容都将使用国际化更改为所选语言??输出可以由和的
    Yii:t()
    库管理。它所做的是将字符串及其各自的翻译存储在数据库中,并根据
    \Yii::$app->language