Git Product home page Git Product logo

i18n-openai's Introduction

🚀 i18n-openai

npm version PRs Welcome Github Actions License: MIT Coverage

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.json. 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)
}

If config file is provided, but some of the variables from config are not provided, then default values would be used.

Add OpenaAI API key to .env

In order to use OpenAI translation, the key must be provided in .env file.

OPENAI_API_KEY=<your_api_key>

Translate

If you have installed package in dev dependencies, then run:

npx i18n-openai 

⚠️ 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

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

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 :)

i18n-openai's People

Contributors

danpoletaev avatar

Stargazers

Nicolás Pérez avatar Sebastiaan Pasma avatar Cos avatar Andrii Iv. (@digitalandyeu) avatar johnny avatar Tomáš Šesták avatar  avatar Alexandr Goncharov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.