multranslate
Advanced tools
Comparing version 0.5.0 to 0.5.1
{ | ||
"name": "multranslate", | ||
"version": "0.5.0", | ||
"version": "0.5.1", | ||
"description": "Cross-platform TUI for translating text in multiple translators simultaneously, with support for translation history and automatic language detection.", | ||
@@ -25,6 +25,6 @@ "keywords": [ | ||
}, | ||
"main": "multranslate-custom-cursor.js", | ||
"main": "multranslate.js", | ||
"type": "module", | ||
"scripts": { | ||
"start": "node multranslate-custom-cursor.js", | ||
"start": "node multranslate.js", | ||
"dev": "node multranslate-native-cursor.js" | ||
@@ -40,3 +40,3 @@ }, | ||
"bin": { | ||
"multranslate": "multranslate-custom-cursor.js" | ||
"multranslate": "multranslate.js" | ||
}, | ||
@@ -47,3 +47,8 @@ "pkg": { | ||
"node_modules/axios/**/*", | ||
"node_modules/clipboardy/**/*" | ||
"node_modules/clipboardy/**/*", | ||
"node_modules/better-sqlite3/**/*", | ||
"node_modules/url/**/*", | ||
"node_modules/path/**/*", | ||
"node_modules/fs/**/*", | ||
"node_modules/commander/**/*" | ||
], | ||
@@ -50,0 +55,0 @@ "targets": [ |
@@ -1,4 +0,4 @@ | ||
<h1 align="center"> | ||
<h2 align="center"> | ||
multranslate | ||
</h1> | ||
</h2> | ||
@@ -15,3 +15,3 @@ <p align="center"> | ||
Терминальный пользовательский интерфейс (TUI) на базе библиотеки [Blessed](https://github.com/chjj/blessed) для одновременного перевода текста с использованием нескольких источников перевода. Все источники не требуют токена доступа или других настроек. Поддерживает **автоматическое определение исходного и целевого языка** на уровне кода между английским и русским (по умолчанию), а также доступ к **истории переводов** через [SQLite](https://github.com/WiseLibs/better-sqlite3) (до 500 запросов, после чего применяется автоматическая чистка старых значений из истории). | ||
Терминальный пользовательский интерфейс (TUI) на базе библиотеки [Blessed](https://github.com/chjj/blessed) для одновременного перевода текста с использованием нескольких источников перевода. Все источники не требуют токена доступа или других настроек. Поддерживает **автоматическое определение исходного и целевого языка** на уровне кода между английским и любым из поддерживаемых языков (русский по умолчанию), а также доступ к **истории переводов** через [SQLite](https://github.com/WiseLibs/better-sqlite3) (до 500 запросов, после чего применяется автоматическая чистка старых значений из истории). | ||
@@ -27,3 +27,3 @@ ![interface](/image/interface.jpg) | ||
> ⚠ **Reverso** не поддерживает работу через **Axios** (ошибка: `Invalid header value char`), вместо этого используется **Fetch**. По этой причине не получается упаковать пакет с помощью `pkg` без ошибок при запуске. | ||
> ⚠ **Reverso** не поддерживает работу через **Axios** (ошибка: `Invalid header value char`), вместо этого используется **Fetch**. | ||
@@ -44,4 +44,22 @@ ## 🚀 Установка | ||
## 🔧 Сборка | ||
Получите справку: | ||
```shell | ||
multranslate --help | ||
Usage: multranslate [options] | ||
Cross-platform TUI for translating text in multiple translators simultaneously, with support for translation | ||
history and automatic language detection. | ||
Options: | ||
-V, --version output the version number | ||
-l, --language <name> select language: ru, ja, zh, ko, ar, tr, uk, sk, pl, de, fr, it, es, el, hu, nl, sv, | ||
ro, cs, da (default: "ru") | ||
-t, --translator <name> select translator: all, Google, DeepL, Reverso, MyMemory (default: "all") | ||
-h, --help display help for command | ||
``` | ||
## 🔨 Сборка | ||
Клонируйте репозиторий: | ||
@@ -60,8 +78,56 @@ | ||
## 💡 Текстовый буфер | ||
## 💬 Поддерживаемые языки | ||
Библиотека Blessed является устаревшей (более не поддерживается) и имеет ряд технических ограничений, например, отсутствует возможность навигации курсора в поле ввода текста. По этой причине был реализован механизм управления содержимым ввода через текстовый буфер, который позволяет использовать кастомный курсор для навигации с помощью стрелочек клавиатуры и автоматический скроллинг для пролистывания. | ||
Вы можете изменить язык, для автоматического определения языка между английским и любым из тех, что представлен ниже в таблице: | ||
Если вы планируете использовать данную библиотеку для схожих задач где требуется ввод текста, то добавьте в свой код `class TextBuffer` и управление корячими клавишами `keypress` через `inputBox.on()`. | ||
| Параметр | Язык | | ||
| - | - | | ||
| ru | Русский (по умолчанию) | | ||
| ja | Японский | | ||
| zh | Китайский | | ||
| ko | Корейский | | ||
| ar | Арабский | | ||
| tr | Турецкий | | ||
| uk | Украинский | | ||
| sk | Словацкий | | ||
| pl | Польский | | ||
| de | Немецкий | | ||
| fr | Французский | | ||
| it | Итальянский | | ||
| es | Испанский | | ||
| el | Греческий | | ||
| hu | Венгерский | | ||
| nl | Нидерландский | | ||
| sv | Шведский | | ||
| ro | Румынский | | ||
| cs | Чешский | | ||
| da | Датский | | ||
Если кого-то языка нет в списке или у вас возникли проблемы с переводом, откройте запрос в разделе [Issues](https://github.com/Lifailon/multranslate/issues). | ||
Вы также можете использовать любой из переводчиков по отдельности, указав соответствующий параметр при запуске: | ||
<table> | ||
<tr> | ||
<td><code>multranslate --translator Google --language tr</code> | ||
</td> | ||
<td><code>multranslate --translator DeepL --language de</code> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td><img src=/image/google-fr.jpg width=600/></td> | ||
<td><img src=/image/deepl-de.jpg width=600/></td> | ||
</tr> | ||
<tr> | ||
<td><code>multranslate --translator Reverso --language it</code> | ||
</td> | ||
<td><code>multranslate --translator MyMemory --language es</code> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td><img src=/image/reverso-it.jpg width=600/></td> | ||
<td><img src=/image/mymemory-es.jpg width=600/></td> | ||
</tr> | ||
</table> | ||
## ⌨ Горячие клавиши | ||
@@ -96,1 +162,7 @@ | ||
![interface](/image/hotkeys.jpg) | ||
## 💡 Текстовый буфер | ||
Библиотека Blessed является устаревшей (более не поддерживается) и имеет ряд технических ограничений, например, отсутствует возможность навигации курсора в поле ввода текста. По этой причине был реализован механизм управления содержимым ввода через текстовый буфер, который позволяет использовать кастомный курсор для навигации с помощью стрелочек клавиатуры и автоматический скроллинг для пролистывания. | ||
Если вы планируете использовать данную библиотеку для схожих задач где требуется ввод текста, то добавьте в свой код `class TextBuffer` и управление корячими клавишами `keypress` через `inputBox.on()`. |
@@ -1,4 +0,4 @@ | ||
<h1 align="center"> | ||
<h2 align="center"> | ||
multranslate | ||
</h1> | ||
</h2> | ||
@@ -15,3 +15,3 @@ <p align="center"> | ||
A terminal user interface (TUI) based on the [Blessed](https://github.com/chjj/blessed) library for simultaneous text translation using multiple translation sources. All sources do not require an access token or other settings. Supports **automatic source and target language detection** at the code level between English and Russian (default) and access to **translation history** via [SQLite](https://github.com/WiseLibs/better-sqlite3) (up to 500 queries, after which an automatic cleaning of old values from the history is applied). | ||
A terminal user interface (TUI) based on the [Blessed](https://github.com/chjj/blessed) library for simultaneous text translation using multiple translation sources. All sources do not require an access token or other settings. Supports **automatic source and target language** definition at code level between English and any of the [supported languages](#-supported-languages), as well as access to **translation history** via [SQLite](https://github.com/WiseLibs/better-sqlite3) (up to 500 queries, after which the old values from history are automatically cleared). | ||
@@ -27,5 +27,5 @@ ![interface](/image/interface.jpg) | ||
> ⚠ **Reverso** does not support working via **Axios** (error: `Invalid header value char`), **Fetch** is used instead. For this reason, the package cannot be packaged with the 'pkg' without errors during startup. | ||
> ⚠ **Reverso** does not support working via **Axios** (error: `Invalid header value char`), **Fetch** is used instead. | ||
## 🚀 Installation | ||
## 🚀 Install | ||
@@ -44,4 +44,22 @@ Use the [npm](https://www.npmjs.com/package/multranslate) package manager: | ||
## 🔧 Build | ||
Get help: | ||
```shell | ||
multranslate --help | ||
Usage: multranslate [options] | ||
Cross-platform TUI for translating text in multiple translators simultaneously, with support for translation | ||
history and automatic language detection. | ||
Options: | ||
-V, --version output the version number | ||
-l, --language <name> select language: ru, ja, zh, ko, ar, tr, uk, sk, pl, de, fr, it, es, el, hu, nl, sv, | ||
ro, cs, da (default: "ru") | ||
-t, --translator <name> select translator: all, Google, DeepL, Reverso, MyMemory (default: "all") | ||
-h, --help display help for command | ||
``` | ||
## 🔨 Build | ||
Clone the repository: | ||
@@ -60,8 +78,56 @@ | ||
## 💡 Text buffer | ||
## 💬 Supported languages | ||
The Blessed library is outdated (no longer supported) and has a number of technical limitations, such as not being able to navigate the cursor in the input field. For this reason, a mechanism for managing input text via text buffer has been implemented, which allows using a custom cursor for navigation using keyboard arrows and automatic scrolling for swiping. | ||
You can change the language to automatically detect the language between English and any of those in the table below: | ||
If you plan to use this library for similar tasks where text input is required, then add `class TextBuffer` and control of `keypress` shortcuts to your code via `inputBox.on()`. | ||
| Parameter | Language | | ||
| - | - | | ||
| ru | Russian (default) | | ||
| ja | Japanese | | ||
| zh | Chinese | | ||
| ko | Korean | | ||
| ar | Arabic | | ||
| tr | Turkish | | ||
| uk | Ukrainian | | ||
| sk | Slovak | | ||
| pl | Polish | | ||
| de | German | | ||
| fr | French | | ||
| it | Italian | | ||
| es | Spanish | | ||
| el | Greek | | ||
| hu | Hungarian | | ||
| nl | Dutch | | ||
| sv | Swedish | | ||
| ro | Romanian | | ||
| cs | Czech | | ||
| da | Danish | | ||
If a language is not on the list or if you have problems with translation, please open a request under [Issues](https://github.com/Lifailon/multranslate/issues). | ||
You can also use any of the translators individually by specifying the appropriate option at startup: | ||
<table> | ||
<tr> | ||
<td><code>multranslate --translator Google --language tr</code> | ||
</td> | ||
<td><code>multranslate --translator DeepL --language de</code> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td><img src=/image/google-fr.jpg width=600/></td> | ||
<td><img src=/image/deepl-de.jpg width=600/></td> | ||
</tr> | ||
<tr> | ||
<td><code>multranslate --translator Reverso --language it</code> | ||
</td> | ||
<td><code>multranslate --translator MyMemory --language es</code> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td><img src=/image/reverso-it.jpg width=600/></td> | ||
<td><img src=/image/mymemory-es.jpg width=600/></td> | ||
</tr> | ||
</table> | ||
## ⌨ Hotkeys | ||
@@ -96,1 +162,7 @@ | ||
![interface](/image/hotkeys.jpg) | ||
## 💡 Text buffer | ||
The Blessed library is outdated (no longer supported) and has a number of technical limitations, such as not being able to navigate the cursor in the input field. For this reason, a mechanism for managing input text via text buffer has been implemented, which allows using a custom cursor for navigation using keyboard arrows and automatic scrolling for swiping. | ||
If you plan to use this library for similar tasks where text input is required, then add `class TextBuffer` and control of `keypress` shortcuts to your code via `inputBox.on()`. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3078852
13
1886
164
3