@kabeep/node-translate-i18n
v1.1.0
Published
A command-line interface tool for translating localization files to other languages.
Downloads
6
Maintainers
Readme
A command-line interface tool for translating localization files to other languages.
English | 简体中文
📖 Introduction
Node Translate I18n is a tool for multilingual internationalization, enabling easy translation of localization files into other languages. Translate a Chinese localization file
zh-CN.js
, for example, into an English localization fileen-US.js
.With a simple command-line interface, you can quickly convert your project's localization files into the desired target language, facilitating cross-language i18n support in NodeJS project.
⚙️ Installation
npm install @kabeep/node-translate-i18n --save
yarn add @kabeep/node-translate-i18n
pnpm add @kabeep/node-translate-i18n
🚀 Usage
Using in javascript
import localize from '@kabeep/node-translate-i18n';
localize({
_: ['./src/locale/en-US.ts'],
to: ['zh-CN', 'ja-JP'],
rewrite: true,
})
.then(console.log)
.catch(console.error);
Using in terminal
localize ./en-US.ts -t "zh-CN" "ja-JP" -r
Usage: localize <path> [options]
Options:
-t, --to Target language, specified as ISO 639-1 code [array] [required]
-r, --rewrite Overwrite the file or phrase if it exists
[boolean] [default: false]
-v, --version Show version number [boolean]
-h, --help Show help [boolean]
Examples:
localize ./en-US.ts -t zh-CN -r Overwrite an existing file or phrase
localize ./en-US.js -t zh-CN Use javascript locale files
localize ./en-US.ts -t zh-CN Use typescript locale files
localize ./en-US.json -t zh-CN Use json locale file
🪄 Examples
Append
For localized files that do not exist, the cli will create and write a new file using the translation from the source file. (The file name comes from the
to
parameter).
# locale
# ├── en-US.js (1 row)
# =>
# locale
# ├── en-US.js (1 row)
# + ├── zh-CN.js (1 row)
localize ./locale/en-US.js -t "zh-CN"
Diff
When the localization file in the
to
parameter already exists, only the new phrases will be written viadiff
. This is useful when certain phrases have been manually modified with more accurate translation results.
# locale
# ├── en-US.js (2 row)
# ├── zh-CN.js (1 row)
# ├── ja-JP.js (2 row)
# =>
# locale
# ├── en-US.js (2 row)
# M ├── zh-CN.js (2 row)
# ├── ja-JP.js (2 row)
localize ./locale/en-US.js -t "zh-CN" "ja-JP"
Rewrite
When the localization file in the
to
parameter already exists, the existing phrase will be overwritten.
# locale
# ├── en-US.js (2 row)
# ├── zh-CN.js (2 row)
# ├── ja-JP.js (2 row)
# =>
# locale
# ├── en-US.js (2 row)
# M ├── zh-CN.js (2 row)
# M ├── ja-JP.js (2 row)
localize ./locale/en-US.js -t "zh-CN" "ja-JP" -r
🔩 Supported to
parameters
en, zh, ru, ...
- RFC 4647 (Any combination with ISO 639-1, ISO 15924 and ISO 3166-1)
en-US, zh-CN, zh-TW, ru-RU, ...
- Custom file suffix
en-US.locale, zh-CN.locale, zh-TW.locale, ru-RU.locale, ...
📄 Supported file extensions
- Javascript
- Typescript
- JSON
</> Supported code styles
Unlimited key-value pairs can be viewed format.js docs or polyglot.js docs
Here is an example:
{
"GREETING": "Hello {{name}}"
}
or
export default {
"GREETING": "Hello {{name}}"
}
🔗 Related
- i18n-cli - A CLI tool that utilizes the OpenAI API to translate JSON-based locale files
- locize-cli - locize cli to import / export locales, add / edit / remove, sync segments
- node-polyglot - Give your JavaScript the ability to speak many languages.
- node-translate - 🦜 A powerful, secure and feature-rich api via Google Translation.
- node-translate-cli - > A powerful, secure and feature-rich tool via Google Translation in terminal. _
🤝 Contribution
Contributions via Pull Requests or Issues are welcome.
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.