@phdulac/ai18n
v1.3.8
Published
AI powered translation tool
Downloads
297
Readme
Documentation for the ai18n
library
Introduction
ai18n
is an AI-driven translation tool designed to facilitate the management and generation of translations for your projects. It offers integration with multiple AI services to automate the translation of textual content found in your source files.
Before starting
ai18n suppose that you already have installed a translation library like i18next or react-i18n.
When you are coding a new page or component, instead of having to choose a translation key that fits the string you want to translate, and go manualy update all your translation files, you just have to write the string in your component in the language you want,
...and let ai18n do the work.
Example:
import { useTranslation } from 'react-i18next';
const MyComponent = () => {
const { t } = useTranslation();
return <div>{t('Bonjour tout le monde')}</div>;
};
ai18n will choose a key for you and update your translation files and your code.
import { useTranslation } from 'react-i18next';
const MyComponent = () => {
const { t } = useTranslation();
return <div>{t('hello_world')}</div>;
};
Installation
Install ai18n
using npm:
npm install ai18n
Configuration
Create a configuration file named ai18n.config.js
in the root of your project. This file allows you to customize the behavior of the ai18n
tool. Here's an example configuration:
module.exports = {
// Supported languages for the application
"languages": [
"fr",
"es",
"de"
],
// Path to the translation files. {lang} will be replaced by the language code
"localesPath": "./locales/{lang}/translation.json",
// Source directories to scan for translation keys
"sourceDirectories": [
"./examples"
],
// Regular expressions to capture translation keys
"catchRegexes": [
`t\\(['"]+(.*?)['"]+\\)`,
'Trans\\s*i18nKey\\s*=\\s*"(.*?)"',
`translate\\(['"]+(.*?)['"]+\\)`,
`translate\\(['"]+(.*?)['"]+,\\s*\\{\\s*(.*?)\\s*\\}`,
`t\\(['"]+(.*?)['"]+,\\s*\\{\\s*(.*?)\\s*\\}`,
`\\$\\{\\s*t\\(['"]+(.*?)['"]+\\)\\s*\\}`
],
// Regular expressions to exclude certain translation keys
"excludeRegexes": [
"document.createElement\\(['\"]+(.*?)['\"]+\\)"
]
};
Usage
To initialize the tool, run the following command:
ai18n init
This will scan your source directories for guessing translation regexes and update your configuration file with it.
To generate the translation files, run the following command:
ai18n parse
This will parse the files and extract the non-translated strings Then it will translate them into the supported languages Then it will use IA to choose appropriate keys for the translations Then it will update the translation files with the new translations Then it will replace the non-translated strings with the new keys