Kiwi-国际化全流程解决方案

简介: 目前有很多成熟的库可以帮助前端去做对应的国际化方案,比较知名的有 react-intl 以及 I18N-loader。这些库都可以很好的解决代码中多种语言切换的问题

如何使用

yarn global add kiwi-clis && yarn add kiwi-intl

VS Code 插件搜索 kiwi linter 安装

功能演示

  • 一键提取中文文案

image.png

  • 检测代码中含有中文文案

image.png

  • 搜索对应文案

image.png

使用文档及 API

可以到对应子目录中查看:

kiwi-intl: 📝 文档链接

kiwi-cli: 📝 文档链接

kiwi-linter: 📝 文档链接

为什么使用 kiwi?

目前有很多成熟的库可以帮助前端去做对应的国际化方案,比较知名的有 react-intl 以及 I18N-loader。这些库都可以很好的解决代码中多种语言切换的问题,但是也存在如下没有解决的问题:

  • 文案使用国际化 Key 代替后,难以搜索,文案不直观
  • 代码中的中文提取困难
  • 无法知道项目中是不是还有未提取的中文文案

而且这些国际化库并没有解决下列问题:

  • 国际化涉及到多个相关人员,与各个业务方有交流众多。比如导出翻译文案给翻译团队

而在国际化过程中,在还没有拿到对应语言文案的时候,相关文案的长度也给 UI 上的调整也给前端增加了很多难度

  • 不认识对应语言,或者不知道对应语言的显示长度,UI 上不知道如何处理 而 kiwi 就是为了解决上述的问题而创造的。

Kiwi 解决了哪些问题

kiwi 不仅仅一个软件国际化的代码库,而是国际化从设计到发布的整个流程的一整套解决方案。

image.png

kiwi 整体基于 kiwi-intl 国际化框架,实现与框架无关的语言切换功能。

在开发过程中,使用 kiwi linter 实现中文文案的批量自动提取,同时针对替换后的文案变量,在 VS Code 中显示对应的中文文案。当然你也可以全局搜索中文文案,跳转到对应的代码,很好的解决了国际化过程中由于中文文案缺失造成的开发体验问题。

在翻译过程中,可以使用 kiwi 命令行自动提取未送翻词汇,整理成 Excel 方便与翻译同学协作。针对翻译同学还没有返回翻译文案的期间,可以使用 kiwi 内置的支持 google 以及 多种翻译平台的自动翻译脚本,先临时翻译成对应语言,节省文案调整时间。

国际化文案翻译完成后,可以使用 kiwi 的命令行工具,一键导入到项目文件内。

kiwi 还提供了对应 TSLint 的插件,使用 TSLint 在开发过程中实时提醒未抽离文案,以及在代码提交的时候,拦截未国际化的代码提交。

谁在使用

  • 阿里巴巴

为什么叫 kiwi?

kiwi 是一种不会飞翔的鸟类🐤,但它善于奔跑,时速可达 10 英里,它的鼻孔长在喙部的最尖端,具有奇特的嗅觉功能,可以找到距地面 7 英寸土层下的小虫。kiwi 这个项目也能帮你找到项目国际化过程中的小虫。

钉钉用户群

image.png

相关文章
|
存储 自然语言处理 Oracle
打造全球化企业:ERP系统的国际化与多语言支持
打造全球化企业:ERP系统的国际化与多语言支持
1151 2
|
缓存 资源调度 前端开发
从0到1带你用webpack 5构建monorepo项目——上篇(二)
别名配置 对于ts+webpack 的「monorepo」项目 别名的配置有 两种 1. 第一个是在tsConfig 中的别名配置, 这个配置的好处方便 子项目中 互相引用 2. 第二个是在webpack 中配置别名, 为了可以少写很长路径, 同时打包的时候也能找到文件。 1. 如上图 我 在 「3d」 这个项目 我想引用 「utils」 中的方法, 首先这两个项目 分别都 是单独的项目, 都有自己的「tsConfig.json」 文件 为了 防止ts 报错 我们项目根目录的 「tsConfig.json」 配置下别名 "baseUrl": "./packages", // 根路径 路径
从0到1带你用webpack 5构建monorepo项目——上篇(二)
|
测试技术 UED 开发者
优秀的developer----自测优势及规范
本文章针对于弹性计算项目,合作方出的自测规范,仅供参考
8890 0
优秀的developer----自测优势及规范
|
6月前
|
人工智能 自然语言处理 JavaScript
高产似母猪! AI+低代码引擎发布 0.13.15: 全面支持国际化
VTJ.PRO发布v0.13.15版本,新增对vue-i18n国际化的深度集成,支持多语言可视化管理、动态绑定及实时预览切换,全面构建企业级应用核心能力。此前已支持全局配置、Swagger API一键导入等功能,助力开发者高效构建现代化、国际化企业应用。项目秉持“降低复杂度,不降低自由度”理念,基于Vite + Vue 3 + TypeScript现代开发栈,提升开发效率与协作体验。未来将加强AI辅助开发能力,探索自然语言生成组件与页面的可能。开源地址:https://gitee.com/newgateway/vtj,立即体验:https://vtj.pro。
245 6
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
12_机器翻译入门:多语言LLM应用
在全球化背景下,语言障碍一直是信息交流、商业合作和文化传播的重要阻碍。2025年,随着多语言大语言模型(LLM)技术的突破,机器翻译已经从简单的单词转换发展为能够理解上下文、处理复杂句式、适应文化差异的智能系统。本文将带您入门多语言LLM在机器翻译领域的应用,重点介绍使用mT5(多语言T5)模型实现英语到中文的翻译,并探讨文化适应等高级话题。
436 0
|
存储 监控 Cloud Native
云上Doris最佳选择:云原生数据仓库SelectDB
云上Doris最佳选择:云原生数据仓库SelectDB。SelectDB基于Apache Doris,提供实时、高效的数据分析能力,适用于高并发实时报表、交互式分析及日志分析等场景。其核心特性包括云原生架构、实时极速处理、融合统一的数据分析平台和开放生态。SelectDB通过存算分离实现极致弹性与性价比,支持多种数据源和半结构化数据分析,同时兼容MySQL生态,简化用户使用。典型案例包括头部教育公司、互联网金融公司和AI独角兽企业,助力客户实现数据驱动的业务优化。
652 3
|
应用服务中间件 nginx
nginx405异常原因与解决方法,最详细解释
nginx405异常原因与解决方法,最详细解释
1161 1
|
人工智能 机器人 UED
特斯拉手机应用上线AI聊天助手:特斯拉助手Beta版
【2月更文挑战第11天】特斯拉手机应用上线AI聊天助手:特斯拉助手Beta版
488 1
特斯拉手机应用上线AI聊天助手:特斯拉助手Beta版
|
自然语言处理 Python
Resource punkt not found. Please use the NLTK Downloader to obtain the resource错误解决方案
Resource punkt not found. Please use the NLTK Downloader to obtain the resource错误解决方案
1405 0
Resource punkt not found. Please use the NLTK Downloader to obtain the resource错误解决方案
|
Java 数据库 Spring
springboot+thymeleaf中前台页面展示中、将不同的数字替换成不同的字符串。使用条件运算符
这篇文章介绍了如何在Spring Boot和Thymeleaf框架中使用条件运算符来根据数字字段的值动态替换显示不同的字符串,例如将订单状态的数字0和1替换为"未付款"和"已付款"等。
springboot+thymeleaf中前台页面展示中、将不同的数字替换成不同的字符串。使用条件运算符

热门文章

最新文章