Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

multranslate

Package Overview
Dependencies
Maintainers
0
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

multranslate - npm Package Compare versions

Comparing version 0.4.1 to 0.4.2

image/hotkeys.jpg

54

multranslate-custom-cursor.js

@@ -110,3 +110,3 @@ #!/usr/bin/env node

width: '49.5%',
height: '40%',
height: '39%',
scrollable: true,

@@ -138,3 +138,3 @@ alwaysScroll: true,

width: '50%',
height: '40%',
height: '39%',
scrollable: true,

@@ -160,4 +160,19 @@ alwaysScroll: true,

let infoContent = ` Ctrl+S: Get help on Hotkeys.`
// Информация по навигации внизу формы
const infoBox = blessed.text({
content: infoContent,
bottom: 0,
left: 0,
right: 0,
align: 'center',
style: {
fg: 'blue',
bg: 'black'
}
})
// Информация по горячим клавишам
const helpBox = blessed.box({
const hotkeysBox = blessed.box({
hidden: true, // Скрыть форму

@@ -181,3 +196,3 @@ tags: true, // включить поддержку тегов для разметки

helpBox.setContent(`
hotkeysBox.setContent(`
{yellow-fg}Hotkeys{/yellow-fg}:

@@ -191,7 +206,7 @@

{blue-fg}Shift+<⬆/⬇>{/blue-fg}: Scrolling of all output panels
{blue-fg}Ctrl+C{/blue-fg}: Clear text input field
{blue-fg}Ctrl+<⬆/⬇>{/blue-fg}: Scrolling the text input panel without navigation
{blue-fg}Ctrl+<⬅/➡\\>{/blue-fg}: Fast cursor navigation through words
{blue-fg}Ctrl+<⬅/➡>{/blue-fg}: Fast cursor navigation through words
{blue-fg}Ctrl+<A/D>{/blue-fg}: Move the cursor to the beginning or end of the input
{blue-fg}Ctrl+Del{/blue-fg}: Remove word before cursor
{blue-fg}Ctrl+<A/D>{/blue-fg}: Move the cursor to the beginning or end of the input
{blue-fg}Ctrl+C{/blue-fg}: Clear text input field
{red-fg}Escape{/red-fg}: Exit the program

@@ -203,6 +218,6 @@

screen.key(['C-s'], function() {
if (helpBox.hidden === true){
helpBox.show()
if (hotkeysBox.hidden === true){
hotkeysBox.show()
} else {
helpBox.hide()
hotkeysBox.hide()
}

@@ -217,3 +232,4 @@ })

screen.append(outputBox4)
screen.append(helpBox)
screen.append(infoBox)
screen.append(hotkeysBox)

@@ -273,3 +289,3 @@ // screen.append(textInfo)

const db = new Database('./translation-history.db')
const query = 'SELECT inputText FROM translationTable WHERE id = ?'
const query = 'SELECT inputText,created_at FROM translationTable WHERE id = ?'
const get = db.prepare(query)

@@ -299,2 +315,8 @@ const data = get.get(id)

function parseData(inputDate) {
const [datePart, timePart] = inputDate.split(' ')
const [year, month, day] = datePart.split('-')
return `${timePart} ${day}.${month}.${year}`
}
// ------------------------------------- TextBuffer -------------------------------------

@@ -609,3 +631,4 @@

let currentLines = Math.ceil(line.length / maxChars)
for (let i = 0; i < currentLines; i++) {
const indices = [...Array(currentLines).keys()]
for (let i of indices) {
let start = i * maxChars

@@ -616,3 +639,4 @@ let end = start + maxChars

}
} else {
}
else {
textString.push(line)

@@ -764,2 +788,3 @@ }

const newText = lastText.inputText.replace(/\n/g, '\r')
infoBox.content = `${infoContent} History: ${curID}/${maxID} (${parseData(lastText.created_at)})`
buffer.setText(newText)

@@ -789,2 +814,3 @@ buffer.setCursorPosition(newText.length)

const newText = lastText.inputText.replace(/\n/g, '\r')
infoBox.content = `${infoContent} History: ${curID}/${maxID} (${parseData(lastText.created_at)})`
buffer.setText(newText)

@@ -791,0 +817,0 @@ buffer.setCursorPosition(newText.length)

{
"name": "multranslate",
"version": "0.4.1",
"description": "Cross-platform TUI for translating text using multiple providers simultaneously and support automatic detection of the source and destination language",
"version": "0.4.2",
"description": "Cross-platform TUI for translating text in multiple translators simultaneously, with support for translation history and automatic language detection.",
"keywords": [

@@ -15,3 +15,5 @@ "TUI",

"Cursor",
"Custom-Cursor"
"Custom-Cursor",
"SQLite",
"Better-SQLite3"
],

@@ -34,5 +36,3 @@ "author": "Lifailon",

"blessed": "^0.1.81",
"clipboardy": "^4.0.0",
"sqlite": "^5.1.1",
"sqlite3": "^5.1.7"
"clipboardy": "^4.0.0"
},

@@ -39,0 +39,0 @@ "bin": {

@@ -15,5 +15,5 @@ <h1 align="center">

Терминальный пользовательский интерфейс на базе библиотеки [Blessed](https://github.com/chjj/blessed) для одновременного перевода текста с использованием нескольких источников перевода. Все источники не требуют токена доступа или каких-либо настроек. Поддерживает **автоматическое определение исходного и целевого языка** между английским и русским на уровне кода.
Терминальный пользовательский интерфейс (TUI) на базе библиотеки [Blessed](https://github.com/chjj/blessed) для одновременного перевода текста с использованием нескольких источников перевода. Все источники не требуют токена доступа или каких-либо настроек. Поддерживает **автоматическое определение исходного и целевого языка** на уровне кода между английским и русским и доступ к **истории переводов** через [SQLite](https://github.com/WiseLibs/better-sqlite3).
![Example](/example.jpg)
![interface](/image/interface.jpg)

@@ -72,20 +72,28 @@ ## 📚 Источники перевода

- `Enter` - используется каждый раз для перевода текста одновременно с переносом на новую строку.
- `Enter`: используется каждый раз для перевода текста одновременно с переносом на новую строку.
- `Shift+<⬆/⬇>` - одновременный скроллинг всех панелей вывода.
- `Ctrl+V`: вставка текста из буфера обмена (определено на уровне кода).
- `Ctrl+<Q/W/E/R>` - копирования результатов перевода из форм вывода в буфер обмена (для каждого переводчика комбинация клавиш указана в скобках), при этом выбранная форма изменит свой цвет на зеленый.
- `Ctrl+<Q/W/E/R>`: копирования результатов перевода из форм вывода в буфер обмена (для каждого переводчика комбинация клавиш указана в скобках), при этом выбранная форма изменит свой цвет на зеленый.
- `Ctrl+V` - вставка текста из буфера обмена (определено на уровне кода).
- `Ctrl+Z`: Навигация по истории запросов на переводы с конца.
- `Ctrl+C` - очистить поле ввода текста.
- `Ctrl+X`: Навигация по истории переводов в обратном порядке.
- `Ctrl+<⬆/⬇>` - скроллинг панели ввода текста без навигации.
- `Shift+<⬆/⬇>`: одновременный скроллинг всех панелей вывода.
- `Ctrl+<⬅/➡>` - быстрая навигация курсора через словосочетания.
- `Ctrl+<⬆/⬇>`: скроллинг панели ввода текста без навигации.
- `Ctrl+DEL` - удалить словосочетание перед курсором.
- `Ctrl+<⬅/➡>`: быстрая навигация курсора через словосочетания.
- `Ctrl+<A/D>` - перевести курсор к началу или концу ввода текста.
- `Ctrl+<A/D>`: перевести курсор к началу или концу ввода текста.
- `Escape` - выход из программы.
- `Ctrl+Del`: удалить словосочетание перед курсором.
- `Ctrl+C`: очистить поле ввода текста.
- `Escape`: выход из программы.
Что бы получить справку по горячим клавишам, используйте комбинацию клавиш: `Ctrl+S`
![interface](/image/hotkeys.jpg)

@@ -15,5 +15,5 @@ <h1 align="center">

Terminal user interface 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 any settings. Supports **automatic detection of source and target languages** between English and Russian at the code level.
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 any customization. Supports **automatic source and target language detection** at the code level between English and Russian and access to **translation history** via [SQLite](https://github.com/WiseLibs/better-sqlite3).
![Example](/example.jpg)
![interface](/image/interface.jpg)

@@ -74,10 +74,12 @@ ## 📚 Translation providers

- `Shift+<⬆/⬇>` - simultaneous scrolling of all output panels.
- `Ctrl+V` - paste text from the clipboard (defined at the code level).
- `Ctrl+<Q/W/E/R>` - copying translation results from output forms to the clipboard (for each translator, the key combination is indicated in brackets), and the selected form will change its color to green.
- `Ctrl+V` - paste text from the clipboard (defined at the code level).
- `Ctrl+Z`: Navigate through the history of translation requests from the end.
- `Ctrl+C` - clear the text input field.
- `Ctrl+X`: Navigate through the translation history in reverse order.
- `Shift+<⬆/⬇>` - simultaneous scrolling of all output panels.
- `Ctrl+<⬆/⬇>` - scrolling the text input panel without navigation.

@@ -87,6 +89,12 @@

- `Ctrl+DEL` - delete the phrase before the cursor.
- `Ctrl+<A/D>` - move the cursor to the beginning or end of text input.
- `Ctrl+Del` - delete the phrase before the cursor.
- `Ctrl+C` - clear the text input field.
- `Escape` - exit the program.
To get hotkey help, use the keyboard shortcut: `Ctrl+S`
![interface](/image/hotkeys.jpg)
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc