Към съдържанието

Приставка за KTextEditor

Приставката Dragoman за KTextEditor превежда избрания текст на място, офлайн, чрез демона Dragomand. KTextEditor е редакторският компонент на Kate, KWrite и KDevelop, така че една приставка обслужва и трите. Тя добавя три команди в менюто „Инструменти“, изтегля липсваща езикова двойка при първа употреба, като показва напредъка в редактора, и никога не презаписва текст, който сте променили, докато преводът тече.

Разработва се като отделен проект, dragoman-ktexteditor, и се пакетира в същото хранилище като Dragomand. Пакетът е отделен, така че инсталирането на демона никога не изисква зависимости от KDE.

Изисквания

Dragomand. Приставката не превежда сама: тя се обръща към демона през D-Bus, а демонът се стартира при нужда. Пакетът зависи от dragomand, така че инсталирането на приставката инсталира и демона.

KDE Frameworks 6. Приставката е за Qt 6 и KDE Frameworks 6 (6.13 или по-нова версия), които използват текущите издания на Kate и KDevelop. Kate във Flatpak не може да зарежда приставки, инсталирани в системата; използвайте Kate от дистрибуцията си.

Инсталиране

Първо добавете хранилището на Dragomand, както е описано на страницата Инсталиране, след това инсталирайте пакета dragoman-ktexteditor:

sudo zypper install dragoman-ktexteditor
sudo dnf install dragoman-ktexteditor
sudo apt install dragoman-ktexteditor
sudo pacman -S dragoman-ktexteditor

Пакетите се изграждат за x86-64 навсякъде и за 64-битов ARM там, където хранилището има ARM версии. Обновленията пристигат с обичайните системни обновления.

Включване на приставката

Редакторът не включва новите приставки сам:

  • Kate: отворете Настройки, след това Настройване на Kate, след това Приставки, отметнете Dragoman Translator и натиснете Добре.
  • KDevelop: отворете Настройки, след това Настройване на KDevelop, след това Приставки, и отметнете Dragoman Translator.

В менюто „Инструменти“ вече има трите команди за превод.

Употреба

Изберете текст и изберете Инструменти, след това Translate Selection, или натиснете Ctrl+Alt+T. Преводът замества избрания текст.

  • Translate Selection (Choose Languages) отваря прозорец със всички езикови двойки, които демонът предлага, инсталирани или достъпни за изтегляне. Запазва избраната двойка и превежда с нея избрания текст. Докато не изберете двойка, тя е от български на английски.
  • Swap Translation Direction обръща запазената двойка.
  • Посоката следва текста. При двойка, чиито езици използват различни писмености, като български и английски, Translate Selection проверява избрания текст: предимно латински текст при кирилски изходен език, или обратното, се превежда в обратната посока. Избран английски текст се превежда на български без предварителна размяна.
  • Редакциите ви са на сигурно място. Ако документът се промени, докато преводът тече, резултатът отива в буфера за обмен вместо в документа и съобщение казва това.
  • Празните редове се запазват, така че абзаците остават абзаци.
  • Превод през посредник се съобщава. Когато няма пряк модел и демонът превежда през английски, съобщение назовава езика посредник.

Първият превод в дадена двойка изтегля модела ѝ от Mozilla; съобщение в редактора показва напредъка, а редакторът остава използваем дотогава. След това двойката работи офлайн. За да пропуснете изтеглянето, инсталирайте пакета с модели за двойката (вижте Езикови модели).

Една заявка съдържа най-много 256 реда и 1 MiB текст. За по-дълги документи използвайте dragomanctl (вижте Команден ред).

Запазената двойка се пази в собствения файл с настройки на редактора, в група [Dragoman]: ~/.config/katerc за Kate, ~/.config/kdeveloprc за KDevelop.

Премахване

Махнете отметката от Dragoman Translator в настройките за приставки на редактора или премахнете пакета:

sudo zypper remove dragoman-ktexteditor
sudo dnf remove dragoman-ktexteditor
sudo apt remove dragoman-ktexteditor
sudo pacman -R dragoman-ktexteditor

Демонът и моделите му остават инсталирани.

Изграждане от изходен код

Нужни са CMake 3.24, extra-cmake-modules, Qt 6.8 и KDE Frameworks 6.13 или по-нови (Config, CoreAddons, I18n, TextEditor и XmlGui). От копие на dragoman-ktexteditor:

cmake -S . -B build -G Ninja -DBUILD_TESTING=ON
cmake --build build
ctest --test-dir build
sudo cmake --install build

След това рестартирайте редактора и включете приставката, както е описано по-горе.

Решаване на проблеми

Dragoman Translator липсва в списъка с приставки. Рестартирайте редактора изцяло: затворете всички прозорци и го стартирайте отново. Проверете, че пакетът е инсталиран и че не използвате изданието във Flatpak.

В менюто „Инструменти“ няма команди за превод. Приставката е инсталирана, но не е включена; вижте Включване на приставката.

„Select the text to translate first.“ Изберете текст преди превода.

„Block selections cannot be translated.“ Изключете режима на блоково избиране (Ctrl+Shift+B) и изберете текста отново.

„The selection is too large for one request.“ Преведете текста на по-малки части или целия файл с dragomanctl.

„The translation daemon reports no language pairs.“ Демонът е недостъпен или няма доставчик. Проверете го от терминал:

dragomanctl status
dragomanctl pairs

„Translation failed: ...“ Съобщението идва от демона. При първа употреба обикновено означава, че изтеглянето на модела е неуспешно: проверете мрежата или инсталирайте двойката предварително с dragomanctl install bg-en (или пакета ѝ с модели) и опитайте отново.

Излиза грешна посока. Проверката на писмеността обръща само двойки, чиито езици използват различни писмености. Изберете двойката изрично с Translate Selection (Choose Languages) или използвайте Swap Translation Direction.

За проблеми със самия демон вижте Отстраняване на проблеми.