💾 Archived View for tilde.team › ~rami › translate_shell.gmi captured on 2024-12-17 at 11:35:32. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
רמי
SUBJECT: Translate Shell: Консольный мультиязычный (мультисловарный) онлайн-переводчик
AUTHOR: Rami Rosenfeld
DATE: 09/11/24
TIME: 01.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, rhel, centos, mate, xfce, lxde, console, terminal, translate, dictionary, trans
Изумительно простой, удобный, отлично настраиваемый консольный онлайн-переводчик, использующий несколько систем перевода.
Примечание: Ниже описываются лишь некоторые примеры настройки и использования. Мой совет - не поленитесь, загляните в руководство: там найдутся некоторые интересные опции.
dnf install translate-shell
trans [опции]
-T, -reference
-R, -reference-english
-list-languages
-list-languages-english
-list-codes
-list-all
-U, -upgrade
Примечание: Выбирайте название одной из них и вставляйте ее имя в команду. Доступны также системы проверки орфографии: hunspell и т.п.
-S, -list-engines
apertium
aspell
(*) auto
bing
hunspell
spell
yandex
ПРИМЕРЫ
-d, -dictionary - запрос словарной статьи
trans -d "слово"
слово
(slovo)
имя существительное
Единица речи, служащая для выражения отдельного понятия.
- "Слова делятся на слоги"
Самая речь, способность говорить.
- "Дар слова"
Разговор, беседа, что-н. сказанное.
- "Понять друг друга без слов"
(...)
Примечание: Я выбрал опцию -b, -brief, чтобы сократить избыточность информации. Разницу в отображении результатов вы можете увидеть самостоятельно, добавляя или удаляя этот ключ.
trans -b -e bing -s en -t ru "This is a test"
-b, -brief - сокращенный вывод;
-e, -engine - онлайн-переводчик;
-s, -source - язык-источник;
-t, -target - язык, на который требуется перевести текст.
Общее примечание: Как правило, онлайн-системы перевода автоматически распознают язык оригинального текста, поэтому достаточно указать язык, на который следует перевести:
trans :en "Тест"
Общее примечание. При переводах больших текстов, в последних могут встретиться как одинарные, так и двойные кавычки. Мой совет: размещайте в двойных кавычках весь текст, если в нем присутствуют одинарные кавычки (и наоборот).
trans -b -e google -s he -t ru "ים המלח הוא אגם מלח חסר מוצא לים, הנמצא בתחום הבקע הסורי-אפריקני, ובמרכזו עובר הגבול בין ישראל לירדן. ריכוז המלחים בים המלח עומד על 34.2% – גבוה פי עשרה מריכוז המלחים בים התיכון. ריכוז גבוה זה נובע מכך שהאגם הוא טרמינלי (למי האגם אין מוצא לשום מקום), והוא נמצא באזור בעל אקלים מדברי חם ויבש המתאפיין בשיעורי התאיידות גבוהים. האגם הוא גוף המים השלישי במליחותו בעולם."
Мертвое море — соленое озеро, не имеющее выхода к морю, расположенное в районе Сирийско-Африканского разлома, в центре которого проходит граница между Израилем и Иорданией. Концентрация солей в Мертвом море составляет 34,2% — в десять раз превышает концентрацию солей в Средиземном море. Столь высокая концентрация обусловлена тем, что озеро конечное (вода озера нигде не имеет выхода) и расположено в районе с жарким и сухим пустынным климатом, характеризующимся высокой скоростью испарения. Озеро является третьим по солености водоемом в мире.
ВАЖНО: Для воспроизведения звуковых файлов у вас должны быть установлены mplayer (mpv). Вместо них можно использовать локальный синтезатор речи espeak (или say - на macOS). Синтезатор речи espeak удален у меня еще при установке ОС, но mplayer сработал без проблем.
-p, -play - прослушать перевод
trans -b -p :ja "Saluton, Mondo"
-sp, -speak - прослушать оригинальный текст
trans -sp "你好,世界"
trans :en file://input.txt
trans :ru http://site.name/
Примечание: При использовании данной опции будет вызываться общесистемный веб-браузер, а в нем - страница Google Translate. Для принудительного определения браузера - используйте соответствующую опцию:
$ trans -browser firefox
Примечание: С целью анонимизации запросов настоятельно советую перенаправлять их через локальный прокси-сервер. Для этого используйте:
-x HOST:PORT, -proxy HOST:PORT
Пример:
trans -x 127.0.0.1:8118 -b -e bing -s en -t ru "This is a test"
Примечание: В аналогичных целях маскируйте также операционную систему и осуществляйте спуфинг user-agent'а:
-u STRING, -user-agent STRING
Пример:
trans -x 127.0.0.1:8118 -u "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" -b -e bing -s en -t ru "Some text"
Доступны опции:
-4, -ipv4, -inet4-only
-6, -ipv6, -inet6-only
Вполне естественно, что такие длинные команды весьма неудобны. Рекомендую: составьте несколько алиасов для .bashrc.
Примеры:
Команда enru (Bing)
alias enru='trans -x 127.0.0.1:8118 -u "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" -b -e bing -s en -t ru'
Команда ruen (Google)
alias ruen='trans -x 127.0.0.1:8118 -u "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" -b -e google -s ru -t en'
Пример:
enru "This is a test"
Подробнее см.: man trans
🄯 Rami Rosenfeld, 2024. GNU FDL 1.3.