Volver al ranking

alibaba/kiwi

TypeScript

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

i18ng11ntranslationintltypescript
Crecimiento de estrellas
Estrellas
2.6k
Forks
240
Crecimiento semanal
Issues
16
1k2k
ago 2017jul 2020jul 2023jul 2026
Artefactosnpmnpm install kiwi
README

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

中文 | English

如何使用

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

VS Code 插件搜索 kiwi linter 安装

功能演示

  • 一键提取中文文案 提取文案

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

  • 搜索对应文案 文案搜索

使用文档及 API

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

kiwi-intl: 📝 文档链接

kiwi-cli: 📝 文档链接

kiwi-linter: 📝 文档链接

Change Log

kiwi-cli: 📝 点击此处查看

kiwi-linter: 📝 点击此处查看

为什么使用 kiwi?

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

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

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

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

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

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

Kiwi 解决了哪些问题

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

kiwi

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

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

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

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

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

谁在使用

  • 阿里巴巴

为什么叫 kiwi?

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

钉钉用户群

License

MIT

Repositorios relacionados
PanJiaChen/vue-element-admin

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

VueMIT Licensevueadmin
90.2k30.4k
react-boilerplate/react-boilerplate

🔥 A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.

JavaScriptnpmMIT Licensereactreact-boilerplate
reactboilerplate.com
29.5k6k
flipped-aurora/gin-vue-admin

🚀Vite+Vue3+Gin拥有AI辅助的基础开发平台,企业级业务AI+开发解决方案,内置mcp辅助服务,内置skills管理,支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器、表单生成器和可配置的导入导出等开发必备功能。

GoGo ModulesOthergin-vue-admingin
demo.gin-vue-admin.com
24.9k7.1k
formatjs/formatjs

The monorepo home to all of the FormatJS related libraries, most notably react-intl.

TypeScriptnpmjavascriptreact
formatjs.github.io
14.7k1.4k
i18next/react-i18next

Internationalization for react done right. Using the i18next i18n ecosystem.

JavaScriptnpmMIT Licensereactreact-native
react.i18next.com
10k1.1k
i18next/i18next

i18next: learn once - translate everywhere

JavaScriptnpmMIT Licensetranslationecosystem
i18next.com
8.6k694
Laravel-Lang/lang

List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.

PHPPackagistMIT Licenselaravellanguage
laravel-lang.com/packages-lang.html
7.8k3k
kazupon/vue-i18n

:globe_with_meridians: Internationalization plugin for Vue.js

JavaScriptnpmMIT Licensejavascriptvue
kazupon.github.io/vue-i18n/
7.2k840
EutropicAI/Final2x

a cross-platform image super-resolution tool

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licensecross-platformelectron
7.2k521
Tohrusky/Final2x

2^x Image Super-Resolution

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licensecross-platformelectron
6.2k477
WeblateOrg/weblate

Web based localization tool with tight version control integration.

PythonPyPIGNU General Public License v3.0localizationinternationalization
weblate.org
6k1.3k
lingui/js-lingui

🌍 📖 A readable, automated, and optimized (2 kb) internationalization for JavaScript

TypeScriptnpmMIT Licensetranslationinternationalization
lingui.dev
5.8k448