Спонсируется Fotogram.ai - Преобразовать свои селфи в шедевры с ИИ
https://fotogram.ai
AI / Free JSON & YAML Переводчик?
Этот пакет предоставит вам перевести ваши файлы JSON/YAML или объекты JSON на разные языки бесплатно.
| Перевод модуля | Поддерживать | БЕСПЛАТНО |
|---|---|---|
| Google Translate | ✅ | ✅ FREE |
| Google Translate 2 | ✅ | ✅ FREE |
| Microsoft Bing Translate | ✅ | ✅ FREE |
| Libre Перевод | ✅ | ✅ FREE |
| Аргос переводится | ✅ | ✅ FREE |
| Deepl Перевод | ✅ | require API KEY (DEEPL_API_KEY as env)optional API URL (DEEPL_API_URL as env) |
| GPT-4O | ✅ | require API KEY (OPENAI_API_KEY as env) |
| GPT-3.5-Turbo | ✅ | require API KEY (OPENAI_API_KEY as env) |
| GPT-4 | ✅ | require API KEY (OPENAI_API_KEY as env) |
| GPT-4O-Mini | ✅ | require API KEY (OPENAI_API_KEY as env) |
| Перевод модуля | Поддерживать | БЕСПЛАТНО |
|---|---|---|
| Google Translate | ✅ | ✅ FREE |
| Google Translate 2 | ✅ | ✅ FREE |
| Microsoft Bing Translate | ✅ | ✅ FREE |
| Libre Перевод | ✅ | ✅ FREE |
| Аргос переводится | ✅ | ✅ FREE |
| Deepl Перевод | ✅ | require API KEY (DEEPL_API_KEY as env)optional API URL (DEEPL_API_URL as env) |
| GPT-4O | ✅ | require API KEY (OPENAI_API_KEY as env) |
| GPT-3.5-Turbo | ✅ | require API KEY (OPENAI_API_KEY as env) |
| GPT-4 | ✅ | require API KEY (OPENAI_API_KEY as env) |
| GPT-4O-Mini | ✅ | require API KEY (OPENAI_API_KEY as env) |
Browser support will come soon...
Поддерживаемые языки
npm i @parvineyvazov/json-translatornpm i -g @parvineyvazov/json-translatorjsontt < your/path/to/file.json >
or
jsontt < your/path/to/file.yaml/yml > [path] : Требуется путь файла JSON/YAML <your/path/to/file.json>[path] : необязательный список прокси TXT PAILE <your/path/to/proxy_list.txt> -V, --version output the version number
-m, --module <Module> specify translation module
-f, --from <Language> from language
-t, --to <Languages...> to translates
-n, --name <string> optional ↵ | output filename
-fb, --fallback <string> optional ↵ | fallback logic,
try other translation modules on fail | yes, no | default: no
-cl, --concurrencylimit <number> optional ↵ | set max concurrency limit
(higher faster, but easy to get banned) | default: 3
-h, --help display help for command
Перевести файл JSON, используя Google Translate:
jsontt < your/path/to/file.json > --module google --from en --to ar fr zh-CNjsontt < your/path/to/file.json > --module google --from en --to ar fr zh-CN --name myFilesjsontt < your/path/to/file.json > --module google --from en --to ar fr zh-CN --name myFiles --fallback yesjsontt < your/path/to/file.json > --module google --from en --to ar fr zh-CN --name myFiles --fallback yes --concurrencylimit 10jsontt file.jsonjsontt folder/file.jsonjsontt " folderfile.json " jsontt " C:folder1folderen.json "jsontt file.json proxy.txtРезультат будет в той же папке, что и исходный файл JSON/YAML.
jsontt -hjsontt --helpДля JavaScript
const translator = require ( '@parvineyvazov/json-translator' ) ;Для TypeScript:
import * as translator from '@parvineyvazov/json-translator' ; // Let`s translate `Home sweet home!` string from English to Chinese
const my_str = await translator . translateWord (
'Home sweet home!' ,
translator . languages . English ,
translator . languages . Chinese_Simplified
) ;
// my_str: 家,甜蜜的家! Для JavaScript
const translator = require ( '@parvineyvazov/json-translator' ) ;Для TypeScript:
import * as translator from '@parvineyvazov/json-translator' ; /*
Let`s translate our deep object from English to Spanish
*/
const en_lang : translator . translatedObject = {
login : {
title : 'Login {{name}}' ,
email : 'Please, enter your email' ,
failure : 'Failed' ,
} ,
homepage : {
welcoming : 'Welcome!' ,
title : 'Live long, live healthily!' ,
} ,
profile : {
edit_screen : {
edit : 'Edit your informations' ,
edit_age : 'Edit your age' ,
number_editor : [
{
title : 'Edit number 1' ,
button : 'Edit 1' ,
} ,
{
title : 'Edit number 2' ,
button : 'Edit 2' ,
} ,
] ,
} ,
} ,
} ;
/*
FOR JavaScript don`t use translator.translatedObject (No need to remark its type)
*/
let es_lang = await translator . translateObject (
en_lang ,
translator . languages . English ,
translator . languages . Spanish
) ;
/*
es_lang:
{
"login": {
"title": "Acceso {{name}}",
"email": "Por favor introduzca su correo electrónico",
"failure": "Fallida"
},
"homepage": {
"welcoming": "¡Bienvenidas!",
"title": "¡Vive mucho tiempo, vivo saludable!"
},
"profile": {
"edit_screen": {
"edit": "Edita tus informaciones",
"edit_age": "Editar tu edad",
"number_editor": [
{
"title": "Editar número 1",
"button": "Editar 1"
},
{
"title": "Editar número 2",
"button": "Editar 2"
}
]
}
}
}
*/ Для JavaScript
const translator = require ( '@parvineyvazov/json-translator' ) ;Для TypeScript:
import * as translator from '@parvineyvazov/json-translator' ; /*
Let`s translate our object from English to French, Georgian and Japanese in the same time:
*/
const en_lang : translator . translatedObject = {
login : {
title : 'Login' ,
email : 'Please, enter your email' ,
failure : 'Failed' ,
} ,
edit_screen : {
edit : 'Edit your informations' ,
number_editor : [
{
title : 'Edit number 1' ,
button : 'Edit 1' ,
} ,
] ,
} ,
} ;
/*
FOR JavaScript don`t use translator.translatedObject (No need to remark its type)
*/
const [ french , georgian , japanese ] = ( await translator . translateObject (
en_lang ,
translator . languages . Automatic ,
[
translator . languages . French ,
translator . languages . Georgian ,
translator . languages . Japanese ,
]
) ) as Array < translator . translatedObject > ; // FOR JAVASCRIPT YOU DO NOT NEED TO SPECIFY THE TYPE
/*
french:
{
"login": {
"title": "Connexion",
"email": "S'il vous plaît, entrez votre email",
"failure": "Manquée"
},
"edit_screen": {
"edit": "Modifier vos informations",
"number_editor": [
{
"title": "Modifier le numéro 1",
"button": "Éditer 1"
}
]
}
}
georgian:
{
"login": {
"title": "Შესვლა",
"email": "გთხოვთ, შეიყვანეთ თქვენი ელ",
"failure": "მცდელობა"
},
"edit_screen": {
"edit": "თქვენი ინფორმაციათა რედაქტირება",
"number_editor": [
{
"title": "რედაქტირების ნომერი 1",
"button": "რედაქტირება 1"
}
]
}
}
japanese:
{
"login": {
"title": "ログイン",
"email": "あなたのメールアドレスを入力してください",
"failure": "失敗した"
},
"edit_screen": {
"edit": "あなたの情報を編集します",
"number_editor": [
{
"title": "番号1を編集します",
"button": "編集1を編集します"
}
]
}
}
*/ Для JavaScript
const translator = require ( '@parvineyvazov/json-translator' ) ;Для TypeScript:
import * as translator from '@parvineyvazov/json-translator' ; /*
Let`s translate our json file into another language and save it into the same folder of en.json
*/
let path = 'C:/files/en.json' ; // PATH OF YOUR JSON FILE (includes file name)
await translator . translateFile ( path , translator . languages . English , [
translator . languages . German ,
] ) ; ── files
├── en.json
└── de.jsonДля JavaScript
const translator = require ( '@parvineyvazov/json-translator' ) ;Для TypeScript:
import * as translator from '@parvineyvazov/json-translator' ; /*
Let`s translate our json file into multiple languages and save them into the same folder of en.json
*/
let path = 'C:/files/en.json' ; // PATH OF YOUR JSON FILE (includes file name)
await translator . translateFile ( path , translator . languages . English , [
translator . languages . Cebuano ,
translator . languages . French ,
translator . languages . German ,
translator . languages . Hungarian ,
translator . languages . Japanese ,
] ) ; ── files
├── en.json
├── ceb.json
├── fr.json
├── de.json
├── hu.json
└── ja.json Игнорировать слова на переводе используйте {{word}} или {word} стиль на вашем объекте.
{
"one": "Welcome {{name}}",
"two": "Welcome {name}",
"three": "I am {name} {{surname}}"
}
...translating to spanish
{
"one": "Bienvenido {{name}}",
"two": "Bienvenido {name}",
"three": "Soy {name} {{surname}}"
}
JSontt также игнорирует URL в тексте, что означает, что иногда переводы разрушают URL в данной строке при переводе этой строки. Это предотвращает такие случаи, игнорируя URL -адреса в строке при переводе.
{
"text": "this is a puppy https://shorturl.at/lvPY5"
}
...translating to german
{
"text": "das ist ein welpe https://shorturl.at/lvPY5"
}
git clone https://github.com/mololab/json-translator.git
yarn
Покажите магию:
Обновление CLI
Перейдите в файл src/cli/cli.ts
Обновление перевода
Перейдите в файл src/modules/functions.ts
Обновление операций JSON (Deep Dive, отправить запрос на перевод)
Перейдите в файл src/core/json_object.ts
Обновление операций чтения/записи файла JSON
Перейдите в файл src/core/json_file.ts
Обновление игнорирования значений в переводе (карта/UNMAP)
Перейдите в файл src/core/ignorer.ts
Проверьте CLI на местном уровне
Для проверки CLI локально нам нужно link пакет, используя npm
npm link
Или вы можете запустить все шаги, используя Make
make run-only-cli
Убедитесь, что ваш терминал имеет доступ к администратору при выполнении этих команд, чтобы предотвратить любые проблемы с доступом.
✔ Перевести слово | предложение
✔ Перевод объекта JSON
✔ Перевести объект Deep JSON
✔ Multi Language Translate для объекта JSON
✔ Перевод файла json
✔ Перевести Deep JSON File
✔ Multi Language Translate для файла JSON
✔ поддержка CLI
✔ Безопасный перевод (проверка неопределенных, длинных или пустых значений)
✔ Поддержка очереди для больших переводов
✔ Информирование пользователя о процессе перевода (количество заполненных, общее количество строк и т. Д.)
✔ Игнорировать слова значения в переводе (например, игнорировать {{name}} или {name} при переводе)
✔ Опция перевода Libre (CLI)
✔ Аргос переводчик вариант (CLI)
✔ Опция Translate Bing (CLI)
✔ Игнорировать перевод URL на данной строке
✔ Параметры CLI для языков и выбора источников
✔ Определите имена выходных файлов на CLI (необязательная команда для CLI)
✔ yaml файл перевод
✔ Перевод за отстранение (попробуйте новый модуль в сборе)
✔ может установить ограничение параллелизма вручную
Опция перевода Libre (в кодовом пакете)
Аргос переводчик (в кодовом пакете)
Опция Translate Bing (в кодовом пакете)
OpenRouter Translate Module
Компания перевода модуля
Антропический/Клод переводчик модуль
Вместе
Lmamacpp Translate Module
Google Gemini API Translate Module
Поддержка GROQ - Полный список как новые модули перевода
✔ Поддержка CHATGPT
Синхронизация перевода
Поддержка браузера
Опция перевода для собственного экземпляра Libretranslate
Сделать »-« Динамически регулируемые (заполнитель не переведенных).
@Parvineyvazov/Json-Translator будет доступен по лицензии MIT.
Вернуться к вершине