i18n-openai v1.1.3
🚀 i18n-openai
Table of contents
Getting started
Installation
There is two variants of installing a package. Either install it for a certain project to dev dependencies or install it globally.
Installing to dev dependencies:
Install using yarn:
yarn add i18n-openai -D
Install using npm:
npm i i18n-openai --save-dev
Create config file (optional)
You can add your custom config by creating i18n-openai.config.js
. If no config file would be provided, default config would be used 👇
module.exports = {
skipLocales: [], // (optional)
mainLocale: 'en', // (optional)
pathToLocalesFolders: 'public/locales', // (optional)
customPrompt:
'Return content translated to {0}. Keep all sequences /n. Keep all special characters. Do not return any additional information, return only translated text.', // (optional)
model: 'gpt-3.5-turbo', // (optional)
}
If config file is provided, but some of the variables from config are not provided, then default values would be used.
OpenaAI API key
In order to use OpenAI translation, the key can be provided in .env file.
OPENAI_API_KEY=<your_api_key>
Or export API Key
export OPENAI_API_KEY=<your_api_key>
npx i18n-openai
Or directy in the cli
npx i18n-openai -apiKey <your_api_key>
Translate
If you have installed package in dev dependencies, then run:
npx i18n-openai
:warning: If no arguments are provided. i18n-openai
will translate all files for all locales, except mainLocale provided in config.
Possible arguments
Locales
Use -locales
to specify locales for translation. The separator is ,
:
npx i18n-openai -locales ar,cs,de
npx i18n-openai -locales de
Files
Use -files
to specify files for translation(files are being taken from main locale folder). The separator is ,
:
npx i18n-openai -files firstFile.json,secondFile.json
npx i18n-openai -files test.json
Model
Use -model
to specify the model to use for translation':
npx i18n-openai -model gpt-4o
To see list of all available arguments in terminal use -h
npx i18n-openai -h
Arguments can be combined (order of arguments does not matter):
npx i18n-openai -files firstFile.json,secondFile.json -locales ar,de
Configuration Options
property | description | type |
---|---|---|
skipLocales(optional) | Locales which will not be translated(Default: []) | string[] |
mainLocale (optional) | From what locale translation would be. (Default: en) | string |
pathToLocalesFolders (optional) | Relative path to locales folder (Default: public/locales) | string |
customPrompt(optional) | see section custom prompt | string |
model(optional) | Model to use for translation (Default: gpt-3.5-turbo) | string |
Custom prompt
You can specify your custom prompt to use with OpenAI for translation. Custom prompt should contain {0}
sequence. Language is being replaced by {0}
once request to OpenaAI is being made.
Default custom prompt: Return content translated to {0}. Keep all sequences /n. Keep all special characters. Do not return any additional information, return only translated text.
Contribution
All PRs are welcome :)