全部
常见问题
产品动态
精选推荐

Vue 国际化之 vue-i18n 的使用

管理 管理 编辑 删除

一、安装

npm install vue-i18n

如果在一个模块系统中使用它,你必须通过 Vue.use() 明确地安装 vue-i18n

ad414202306141203236429.png

二、使用

在 src 下创建 lang 文件夹。

1、准备语言包

本例我准备了两种语言包,分别是中文和英文:zn、en。在 lang 下创建两个文件,zn.js 和 en.js。

81898202306141203386038.png

91dd520230614120353959.png

2、准备翻译的语言环境

在 lang 下创建 index.js,使用如上的两种语言包。

2268b202306141204139973.png

3、实现语言翻译

在 main.js 中将 i18n 注入 vue 中

56c9020230614120429650.png

使用方式

(1)直接使用

74d6a202306141201344253.png

(2) 语言切换

6cafe202306141201532367.png

(3)data 变量翻译

假如页面某个名称绑定了 data 中变量,即可能存在多个值,此时又该如何进行语言翻译?

如下,“msg”存在多个取值,我们希望在切换“msg”值同时根据当前语言环境进行翻译。

d83f6202306141202224485.png

首先,明确“msg”的取值有两个,分别为“message”、“display”,此时确保语言包中都存在这两个词与对应的翻译值。

其次,在组件中不能直接 $t('main.message') 使用,该种方式确定了翻译对象,而“msg”的翻译对象不确定,有可能是“message”、“display”甚至更多,于是,我使用了模板字符串,实现了值动态变化自动翻译的效果。

32e5e202306141204484310.png

Tips:在使用的过程中,出现了报错情况,将在第四点记录

三、整合 ElementUI 语言包

我们可以整合 ElementUI 中存在的语言包。

2175e202306141153488244.png

1、扩展中文

3eacd202306141205041392.png

2、扩展英文

24fd3202306141205162807.png

3、使用扩展语言翻译

7ac21202306141154557909.png

根据上图(语言包)取可翻译字段。

22e59202306141205284758.png

四、问题记录

在使用过程中,中间有如下报错信息。

b28ee202306141155418789.png

报错的原因主要是因为当前使用的版本不匹配,解决方案入下。

npm install vue-i18n@8

五、扩展

vue3 中使用 vue-i18n

vue-i18n 在 vue3 中使用方式与 vue2 有些差异。

1、安装

npm install vue-i18n@next -S

2、准备语言环境

e12e920230614120546620.png

3、实现语言翻译

0f752202306141206001487.png

37612202306141206126079.png

61506202306141206234626.png


请登录后查看

CRMEB-慕白寒窗雪 最后编辑于2023-06-14 12:06:37

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
1450
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

CRMEB-慕白寒窗雪 作者
社区运营专员---高冷のBoy | 呆萌のGirl

回答

2304

发布

1777

经验

45564

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服