vue-i18n 快速替换

20 篇文章 0 订阅
19 篇文章 0 订阅

使用 vue-i18n 的时候 需要进行繁琐的替换
如:
<div>XXX yyy ZzZ</div>
替换为:
<div>{{$t("xxx_yyy_zzz")}}</div>

然后在 js 文件中增加条目
xxx_yyy_zzz: "XXX yyy ZzZ",

查找 tag 里面的文本也很繁琐

使用 WebStormIDEA 等 IDE 配合正则表达式可以很快的完成这个操作

全局替换
在这里插入图片描述

使用方法

类似(?<=>)(\w+)(?=<) 的正则表达式, 可以匹配到标签中的文本

如:
<div>XXX yyy ZzZ</div> 中的 XXX yyy ZzZ

参考 https://blog.csdn.net/MAIMIHO/article/details/109024705 中的正则替换

XXX yyy ZzZ 会被替换为 {{$t("xxx_yyy_zzz")}}xxx_yyy_zzz: "XXX yyy ZzZ",

这样将前面一部分直接通过替换完成, 后面一部分复制到 js 文件中就可以了

正则表达式示例

// 匹配 <div>XXX</div>
(?<=>)(\w+)(?=<)

{{\$t("\L$1")}}\L$1: "\E$1",

// 匹配 <div>XXX yyy</div>
(?<=>)(\w+) (\w+)(?=<)

{{\$t("\L$1_\L$2")}}\L$1_\L$2: "\E$1 \E$2",

// 匹配 <div>XXX yyy ZzZ</div>
(?<=>)(\w+) (\w+) (\w+)(?=<)

{{\$t("\L$1_\L$2_\L$3")}}\L$1_\L$2_\L$3: "\E$1 \E$2 \E$3",

// 匹配剩下的
(?<=">)[^{\n](.*)[^}](?=</)

(?<=>)(\s*\w[\w\s]*[^}])(?=<)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue 2项目中使用Vue-i18n进行国际化,你可以按照以下步骤进行操作: 1. 安装Vue-i18n。在项目的根目录下,运行以下命令: ``` npm install vue-i18n ``` 2. 在项目的入口文件(通常是 `main.js`)中引入Vue-i18n并配置: ```javascript import Vue from 'vue'; import VueI18n from 'vue-i18n'; import messages from './locales'; // 导入语言文件 Vue.use(VueI18n); const i18n = new VueI18n({ locale: 'en', // 设置默认语言 messages, // 将语言文件传递给Vue-i18n实例 }); new Vue({ i18n, // ... }).$mount('#app'); ``` 3. 创建语言文件。在项目根目录下创建一个名为 `locales` 的文件夹,并在其中创建对应的语言文件。例如,创建 `en.js` 和 `zh.js` 两个文件,分别对应英文和中文。 语言文件的内容应该是一个对象,其中键是翻译的标识符,值是对应语言的文本。例如: ```javascript // en.js export default { greeting: 'Hello', welcome: 'Welcome to my app', }; // zh.js export default { greeting: '你好', welcome: '欢迎来到我的应用', }; ``` 4. 在Vue组件中使用翻译文本。在需要翻译的地方,使用Vue-i18n提供的 `$t` 方法来获取翻译后的文本。例如: ```html <template> <div> <p>{{ $t('greeting') }}</p> <p>{{ $t('welcome') }}</p> </div> </template> ``` 5. 动态切换语言。你可以通过修改Vue-i18n实例的 `locale` 属性来动态切换语言。例如,在一个按钮的点击事件中切换到中文: ```javascript methods: { changeLanguage() { this.$i18n.locale = 'zh'; }, } ``` 这样,你就可以在Vue 2项目中使用Vue-i18n进行国际化了。根据当前的语言设置,Vue-i18n会自动在语言文件中查找对应的翻译文本并进行替换

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值