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

Разширение за LibreOffice

Разширението на Dragomand за LibreOffice превежда избрания текст в Writer офлайн, чрез демона Dragomand. То добавя подменю Translate в менюто „Инструменти“, лента с инструменти и избор на езици, запазва връзките и форматирането на знаците при превода и определя посоката по езика, зададен от Writer за текста.

Разработва се като отделен проект, dragoman-libreoffice, и засега се разпространява само като файл в изданията му в GitHub: още го няма нито в сайта с разширения на LibreOffice, нито в хранилищата на дистрибуциите. Инсталирането е в три стъпки: уверете се, че Dragomand и поддръжката на Python за LibreOffice са инсталирани, изтеглете файла с разширението и го добавете в LibreOffice.

Изисквания

Dragomand. Разширението не превежда само: то извиква dragomanctl, който стартира демона при нужда. Първо инсталирайте пакета dragomand, както е описано на страницата Инсталиране, и проверете, че работи:

dragomanctl translate -f bg -t en "Добро утро"

LibreOffice от дистрибуцията. Използвайте LibreOffice, пакетиран от вашата дистрибуция. Изданията във Flatpak и Snap работят в изолирана среда, която не може да стартира инсталирани в системата програми, и разширението не може да достигне dragomanctl от тях.

Python за LibreOffice. Разширението е написано на Python, който някои дистрибуции пакетират отделно от LibreOffice:

sudo apt install libreoffice-script-provider-python
sudo dnf install libreoffice-pyuno
sudo zypper install libreoffice-pyuno

Не е нужно нищо: пакетите libreoffice-fresh и libreoffice-still включват поддръжката на Python.

Без нея добавянето на разширението завършва с грешка: LibreOffice не може да зареди частта му на Python.

Изтегляне

Отворете последното издание и изтеглете dragoman-libreoffice-<версия>.oxt, например dragoman-libreoffice-0.0.1.oxt. Всяко издание има и файл .sha256 за проверка на изтегленото. От терминал:

version=0.0.1
base=https://github.com/VuteTech/dragoman-libreoffice/releases/download/v$version
curl -LO "$base/dragoman-libreoffice-$version.oxt"
curl -LO "$base/dragoman-libreoffice-$version.oxt.sha256"
sha256sum -c "dragoman-libreoffice-$version.oxt.sha256"

Последната команда трябва да изведе OK.

Инсталиране

Изберете един от двата начина. И двата инсталират разширението само за вашия потребител.

През прозореца „Разширения“

  1. Стартирайте LibreOffice (кой да е модул, например Writer).
  2. Отворете Инструменти, после Разширения (в по-стари версии на LibreOffice: „Управление на разширенията“).
  3. Натиснете Добавяне, изберете изтегления файл .oxt и потвърдете.
  4. Затворете прозореца и рестартирайте LibreOffice, когато ви предложи, или затворете всички прозорци на LibreOffice и го стартирайте отново.

Прозорецът „Разширения“ вече показва „Dragomand offline translation“ с версията му.

От терминал

Първо затворете всички прозорци на LibreOffice, после изпълнете:

unopkg add dragoman-libreoffice-0.0.1.oxt

и проверете резултата:

unopkg list | grep -A1 dev.l10n_bg.dragomand.libreoffice

Командата извежда идентификатора и версията на разширението.

За да го инсталирате за всички потребители на компютъра, добавете --shared и изпълнете командата като root: sudo unopkg add --shared dragoman-libreoffice-0.0.1.oxt.

Употреба

Отворете документ в Writer, изберете текст и изберете Инструменти, после Translate, после Translate selection. Преводът замества избрания текст. Командите на разширението засега са на английски.

  • Translate selection (choose languages)... първо отваря прозорец с всички налични езици по име, после превежда с избраната двойка. Двойката се запазва в ~/.config/dragomand/libreoffice.json; докато не изберете, тя е от български на английски.
  • Swap translation direction обръща запазената двойка.
  • Посоката следва документа. „Translate selection“ чете езика, който Writer е задал за избрания текст (същия, който ползва проверката на правописа, зададен от „Форматиране“, после „Знак“, после „Език“). Текст на запазения изходен език се превежда както е запазено, текст на запазения целеви език се превежда обратно, а всеки друг разпознат език се превежда към запазения целеви.
  • Форматирането оцелява. Връзките, получерният и курсивът се пренасят върху преведените думи.
  • Лентата с инструменти. В стандартния интерфейс я включете от Изглед, после Ленти с инструменти, после Translate. В интерфейса с раздели трите команди са бутони в раздела Разширение.

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

Обновяване

Изтеглете новото издание и го инсталирайте по същия начин. Добавянето на по-нова версия през прозореца „Разширения“ или с unopkg add замества инсталираната; не е нужно първо да я премахвате. Вградената в LibreOffice проверка за обновления не знае за тези издания, затова следете страницата с изданията (GitHub може да ви уведомява: „Watch“, после „Custom“, после „Releases“).

Премахване

В прозореца „Разширения“ изберете „Dragomand offline translation“ и натиснете Премахване, или затворете LibreOffice и изпълнете:

unopkg remove dev.l10n_bg.dragomand.libreoffice

Запазената езикова двойка остава в ~/.config/dragomand/libreoffice.json; изтрийте и този файл за пълно премахване.

Разработвани версии

Всяка промяна в клона master на разширението се изгражда автоматично. Влезлите в GitHub потребители могат да изтеглят тези версии от раздела Actions: отворете изпълнение и изтеглете артефакта в долната част на страницата. Той е архив .zip, съдържащ файла .oxt. Версиите им изглеждат като 0.0.1.3 (три промени след 0.0.1), така че се инсталират върху изданието, което следват, а следващото издание се инсталира върху тях.

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

Добавянето на разширението завършва с грешка (unopkg failed или грешка в прозореца „Разширения“). Липсва поддръжката на Python за LibreOffice: инсталирайте я (вижте Изисквания) и добавете разширението отново.

Няма подменю Translate. Рестартирайте LibreOffice изцяло: затворете всички прозорци, включително началния център, и проверете, че не е останал работещ процес на LibreOffice. Ако менюто все още липсва, проверете дали прозорецът „Разширения“ показва разширението като включено.

„dragomanctl not found: is the dragomand package installed?“ Разширението не намира dragomanctl. Инсталирайте Dragomand и използвайте LibreOffice от дистрибуцията, а не изданието във Flatpak или Snap.

„select some text first“. Изберете текст в документ на Writer, преди да изберете „Translate selection“.

Първият превод е бавен или изтича времето. Първото използване на двойка изтегля модела ѝ. Проверете мрежата или инсталирайте двойката предварително с dragomanctl install bg-en (или с пакета ѝ с модели) и опитайте отново.

Излиза грешен език. Проверете езика, който Writer е задал за текста („Форматиране“, после „Знак“, после „Език“): посоката го следва. „Translate selection (choose languages)...“ задава двойката за всичко останало.