使用vscode插件du-i18n处理前端项目国际化翻译多语言

前段时间我写了一篇关于项目国际化使用I18n组件的文章,Vue3 + TS 使用国际化组件I18n,那个时候还没真正在项目中使用,需求排期还没有定,相当于是预研。

当时就看了一下大概怎么用,改了一个简单的页面,最近需求下来了,开始整个项目去做了,才发现工作量有点大,好像也有点傻,一个个地取变量名,翻译,替换。。。换了几个页面之后,发现眼睛都要花了,又累又困,还容易出错,于是跟同事吐槽了一下,没想到有意外收获,好家伙,这种好事不早点分享!
在这里插入图片描述
在这里插入图片描述

于是请教了一下同事,然后自己也琢磨了一会,发现确实真香,所以记录一下。
这个插件是基于百度翻译提供的国际多语言本地开发解决方案,目前使用很流畅,大家也可以从vscode官网 Extensions 模块进去搜索Du I18N 找到该插件,也就是这个地址 Du I18N 传送门

一、安装i18n组件、DU I18N插件
// 使用 npm
npm install vue-i18n@9 
// 使用 yarn
yarn add vue-i18n@9

在VS code 插件库中搜索安装DU I18N插件
在这里插入图片描述

二、生成配置文件

安装完成之后在页面文件点击右键就可以看到国际化选项了,点击设置自动生成配置文件du-i18n.config.json
在这里插入图片描述
配置文件的配置项可以参考文档根据自己的需要进行配置,比如我需要翻译繁体,那我就要增加一个语种的配置,
语种配置的代码可以参考 百度翻译通用翻译API接入文档

在这里插入图片描述

三、一键扫描中文

在这里插入图片描述
在/src/i18n/temp/自动生成随机文件,路径和文件名都可以自主配置,界面中的中文一键替换成了随机变量
在这里插入图片描述

四、在线翻译

插件还提供了在线翻译功能,需要注册自己的baiduAppid和baiduSecrectKey,从百度翻译开放平台注册,注册完成后进入管理控制台申请开通服务, 再到开发者信息查看自己的baiduAppid和baiduSecrectKey,并填写到du-i18n.config.json配置文件中
在这里插入图片描述
即可翻译成已经配置的所需的语种,如下图,无需手动一个个翻译了,菜单中还有漏检功能
在这里插入图片描述

五、在i18n文件夹新建一个JS文件处理引入语言文件,默认语言等
// 引入语言文件
function loadLocaleMessages () {
    const locales = require.context('./locale', true, /[a-z0-9-]+\.json$/i);
    const messages = {};
    locales.keys().forEach(key => {
        const matched = key.match(/([a-z0-9-]+)\./i);
        if (matched && matched.length > 1) {
            const locale = matched[1];
            messages[locale] = locales(key);
        }
    });
    return messages;
}

// i18n.js
import Vue from 'vue';
import VueI18n from 'vue-i18n';

Vue.use(VueI18n);



const i18n = new VueI18n({
    locale: 'zh', // set default locale
    messages: loadLocaleMessages(), // set locale messages
    silentTranslationWarn: true,//隐藏这些报错
});

export default i18n;

然后在main.js里面引用该文件,挂载上去
在这里插入图片描述

六、最后一步拆分语言文件,生成locale文件夹,这样就可以在界面上查看是否有效果了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/720167.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式实训day6

1、 from machine import Pin from neopixel import NeoPixel import timeif __name__"__main__"#创建RBG灯带控制对象,包含5个像素(5个RGB LED)rgb_led NeoPixel(Pin(4,Pin.OUT),5)#定义RGB颜色RED(255,0,0)GREEN(0,2…

SOLIDWORKS 2024正版软件:新增功能介绍

随着科技的飞速发展,计算机辅助设计(CAD)软件在工业设计领域扮演着越来越重要的角色。SOLIDWORKS作为3D CAD软件提供商,其每一次版本更新都带来了一系列创新功能和改进,旨在为用户提供更有效、更智能、更协同的设计体验…

传输层udp和tcp协议格式

UDP协议 UDP协议端格式 udp的前八个字节是报头,后面部分就是有效载荷。而目的端口号就保证了udp向应用层交付的问题。 而针对于报头和有效载荷分离是根据固定八字结的报头长度。数据的长度就是取决于报头中udp长度字段的大小来确定udp报文长度,因此也可…

006 spring事务支持

文章目录 事务回顾事务介绍事务并发问题(隔离性导致)事务隔离级别 Spring框架事务管理相关接口Spring框架事务管理的分类编程式事务管理(了解)声明式事务管理(重点) 事务管理之XML方式业务层持久层单元测试代码配置事务管理的AOP 事务管理之混合方式事务管理之基于AspectJ的纯注…

【分布式事务】分布式事务其他解决方案——2PC

目录 2PC解释例子分析回到IT系统中 XA 方案执行流程DTP 模型交互模式 总结 2PC 解释 2PC 即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),…

PyMuPDF 操作手册 - 01 从PDF中提取文本

文章目录 一、打开文件二、从 PDF 中提取文本2.1 文本基础操作2.2 文本进阶操作2.2.1 从任何文档中提取文本2.2.2 如何将文本提取为 Markdown2.2.3 如何从页面中提取键值对2.2.4 如何从矩形中提取文本2.2.5 如何以自然阅读顺序提取文本2.2.6 如何从文档中提取表格内容2.2.6.1 提…

经典sql

一、连续登录问题 问题:1)、每个用户连续登录最大天数 2)、连续登录大于三天的用户数 分析:本质都是计算用户连续登录天数 方案一:利用排序窗口 select a.user_id,a.date_rslt,count(1) as cnt from (select t.…

定个小目标之刷LeetCode热题(22)

这道题最容易想的就是排序后再遍历,但是时间复杂度就不是O(n)了,所以还是得用更优的解法,直接看题解,它是使用了HashSet,遍历数组,对于每一个数x,如果不存在x - 1则进入内循环,否则跳…

java智慧工地系统源码 智慧工地标准之一:环境监测 告别灰头土脸、智慧工地环境监测系统都包括哪些功能?

java智慧工地系统源码 智慧工地标准之一:环境监测 告别灰头土脸、智慧工地环境监测系统都包括哪些功能? 智慧工地环境监测系统是一套集成了物联网、大数据和云计算技术的系统,主要用于实时监测和管理建筑工地的环境状况。以下是该系统的一些核…

金融科技行业的融资趋势、投资者关注及未来预测

一、金融科技行业的融资趋势 金融科技行业的融资趋势近年来展现出强劲的增长势头,具体表现在以下几个方面: 融资规模持续扩大: 根据《全球金融科技投融资趋势报告(2023年上半年)》,2023年上半年全球金融科技行业投融资事件总次数…

语言大模型:开启自然语言处理的新篇章

随着人工智能技术的飞速发展,自然语言处理(NLP)领域取得了显著的成果。其中,语言大模型(Language Models)作为近年来崛起的一种新型神经网络模型,已经在文本生成、机器翻译、情感分析等多个NLP任…

Vue02-第一个Vue程序

第一个Vue程序 1、什么是MVVM MVVM(Model-View-ViewModel)是一种软件设计模式,由微软WPF(用于替代WinForm,以前就是用这个技术开发桌面应用程序的)和Silverlight(类似于Java Applet&#xff0…

基于Java的冬奥会科普平台

开头语:你好,我是计算机学姐码农小野。如果你对冬奥会科普平台感兴趣或有其他技术需求,欢迎随时私信我。 开发语言:Java 数据库:MySQL 技术:Java、B/S架构 工具:MyEclipse、MySQL 系统展示…

ANSYS导入图片建模教程

将一张PNG或JPG格式的图片导入到ANSYS内,根据图片内容生成几何模型可通过下面的思路来实现。 首先选取一张需要导入的图片文件。这里采用随机成长算法生成了一张多孔结构图片,图片样式及绘图参数如下。 利用CAD图像导入插件将图片处理成AutoCAD文件&a…

Zygote进程的理解

Zygote进程是安卓系统的一个重要进程,由init进程创建而来;另外系统里的重要进程(system_server等)都是由zygote进程fork的,所有的app进程也是由zygote进程fork的。 一、C 里的fork函数 fork是Linux里面创建子进程的函…

电脑怎么录音?分享2种音频录制方法

在日常生活和工作中,我们经常需要录制电脑上的音频,无论是为了记录会议内容、保存网络课程,还是为了制作自己的音频素材,录音功能都显得尤为重要。那么电脑怎么录音?本文将详细介绍2种方法教你如何在电脑上进行录音&am…

这个是 2024 Idea最新激活码

idea的激活与安装 操作如下: ① 打开网站:https://web.52shizhan.cn 切换到:正版激活码,点击获取 ② 获取后的激活码,到idea里打开help->register 打开弹窗,如图 切换的activate code 输入激活码&…

预埋螺栓抗滑移系数检测 内六角螺栓扭矩系数检测

螺栓检测范围:螺栓,高强螺栓,地脚螺栓,不锈钢螺栓,六角头螺栓,管片螺栓,膨胀螺栓,化学螺栓,镀锌螺栓,植筋螺栓,普通螺栓,钢结构螺栓&a…

Ubuntu乌班图安装VIM文本编辑器工具

系列文章目录 Ubuntu-24.04-live-server-amd64安装界面中文版 Ubuntu-24.04-live-server-amd64启用ssh Ubuntu安装qemu-guest-agent 文章目录 系列文章目录前言一、安装VIM?二、VIM基本设置总结 前言 从centos转到Ubuntu发现默认安装没有vi 一、安装VIM&#xff1…

Springboot整合Kafka消息队列服务实例

一、Kafka相关概念 1、关于Kafka的描述 Kafka是由Apache开源,具有分布式、分区的、多副本的、多订阅者,基于Zookeeper协调的分布式处理平台,由Scala和Java语言编写。通常用来搜集用户在应用服务中产生的动作日志数据,并高速的处…