Редактор на Gettext каталози (Poedit)

При работата с компютър една от най-важните предпоставки за пълно разбиране на логиката на дадена програма от страна на потребителя е интeрфейсът да е на роден език. За съжаление, все още има достатъчно на брой програми, които са широко използвани, а нямат превод на български език. Ако говорим за затворени собственически програми, то няма какво друго да се прави освен да се мъчите с чужд език и често неразбираеми технически понятия. За щастие ако сте от потребителите, използващи свободен софтуер и имате добри познания по чужди езици, можете активно да помогнете на другите потребители. Как? Като директно се захванете с превода на програма, в чиято област езиковите ви познания са най-добри. Може би си мислите, че това изисква някакви сложни технически средства и умения, освен езиковите. Тогава вероятно ще останете изненадани от простотата на процеса.
Първо съвсем малко теория за преводите. Преводите на голяма част от програмите се съхраняват в така наречените gettext каталози. Това са файлове с разширение *.po, състоящи се от заглавна част и от превод. Превода от своя страна е съставен от две части - оригинално значение и съответстващо значение на другия език. Когато приключите с превода на този *.po файл, от него се генерира (компилира) нов файл с разширение *.mo. Той не подлежи на редактиране, а всъщност е файла, който директно ще бъде използван от програмата за да се промени интерфейса и командите и на роден език.
Да се сдобиете с *.po файл за свободна програма е лесно. Единственото, което трябва да направите, е да посетите официалната и страница и от там да изтеглите последната версия във вид на изходен код (source code). Обикновено това е един архив в *.tar.gz или *.tar.bz2 формат (възможни са и други архиви - *.zip, *.7z и др.), който трябва да разархивирате.
По-долу ще бъде разгледано едно от средствата, с чиято помощ може да преведете дадена програма, а именно Poedit. Програмата може да бъде пусната от меню Обучение - Разработка - Редактор на Gettext каталози (Poedit). След пускането и ще видите подобен интерфейс:
Той се състои от три основни части. Горната част е заета от област, в която ще се показват всички оригинални текстове и техните преводи. В долната част има две стоящи едно под друго текстови полета. В горното ще се показва текущо избраният текст (в режим само за четене), а долното е мястото, където ще можете да напишете превода. Звучи лесно, нали? Преди обаче да пристъпите към превода на първата си програма, нека видите как може предварително да настроите Poedit така, че да си улесните допълнително работата.
Poedit има функция, наречена Памет на преводите. В общи линии това значи, че програмата може да претърси системата ви за вече преведени програми и ако има такива, да извлече и запомни преводите им. Логиката на подобна функция е, че в компютърните програми често се използват едни и същи или близки по значение изрази. Така при всеки непреведен израз Poedit ще може да провери и евентуално да ви предложи варианти за превод. За да използвате подобна функционалност, ще трябва да я включите. За целта от меню Файл отворете Предпочитания... и от отворилият се прозорец изберете подпрозорец Памет Преводи:
Намерете частта Моите езици и натиснете бутон Прибави. Ще се отвори нов прозорец, от който ще трябва да изберете родния си език, в случая - Български:
Потвърдете с Добре за да се върнете към предходния прозорец и в него натиснете бутон Генерирай база данни. Ще се отвори Помощник, който ще ви преведе през няколко стъпки:
В първата стъпка трябва да покажете къде в системата ви се съдържат вече преведени програми. Ако използвате Линукс, то повечето преводи ще са в папката /usr/share/locale/bg. В помощника поначало има предложени и други папки за претърсване. Тъй като претърсването им и генерирането на база данните ще отнеме МНОГО време, съветът ми е да ги изтриете (чрез малката икона с червен X), след което да използвате бутон Избери и да посочите /usr/share/locale/bg. Когато направите избора си, натиснете бутон Next за да продължите. Ще се отвори нов прозорец, в който ще се покажат всички намерени преводи на програми:
Ако искате да добавите още файлове с преводи (в *.po или *.mo формат), използвайте бутон Добави файлове... и посочете местонахождението им. Когато сте готови, натиснете бутон Finish. Ще се отвори малък прозорец показващ текущия прогрес по създаване на базата данни с преводи:
След като генерирането завърши, ще се върнете в основния прозорец с настройки. Докато сте тук може да отворите подпрозореца Персонализация и да попълните името и електронната си поща. По-късно при превода тази информация автоматично ще се добавя към преведените файлове:
В подпрозореца Редактор е препоръчително да включите автоматичното създаване на *.mo файлове и автоматичната проверка на правописа:
Сега вече спокойно може да затворите настройките на Poedit и да пристъпите към първия си превод. Тук вариантите са два:

- Ако програмата вече е преведена в някаква степен на български език, то в изтегления изходен код обезателно ще има файл с името bg.po, който ще може да заредите;
- Когато една програма няма започнат превод на родния език, тогава се използва т.нар. шаблон за превод. Това е един файл в *.pot формат. В него се съдържат оригиналните изрази за превод.

За целите на примера ще изберем втория случай, т.е. започване на чисто нов превод.
От менюто Файл изберете New catalog from POT file...:
Сега намерете и изберете *.pot файла. В примера това е vlc.pot:
След зареждането на файла, автоматично ще се отвори прозорец, където ще трябва да попълните данните, които ще се съдържат в заглавната информация на превода:
Попълнете тези полета колкото е възможно по-пълно. Това ще е от полза за разработчиците на програмата, а също така и за други преводачи, които на по-късен етап могат да се включат и да разширят или подобрят превода ви:
Въведете данните и потвърдете с Добре. Веднага ще се отвори нов прозорец, в който ще трябва да въведете името на новия файл, получен от *.pot шаблона. Тъй като в случая превеждате на български, името на новия файл ще е bg.po.
С това вие на практика сте готови и пред вас вече стои файла bg.po очакващ да го преведете:
Използвайте празното текстово поле за да преведете отделните изрази. Ако сте минали през гореспомената процедура за генериране на база данни със съществуващи преводи, сега ще може да възползвате от това. За целта цъкнете с десен бутон върху някой от непреведените изрази и ако го има преведен в някой от преводите на другите програми, той ще се появи в показалото се меню в частта Автоматичен превод:
Poedit използва цветово кодиране за да покаже състоянието на превода. Непреведените изрази са оцветени в син цвят. Ако не сте сигурни в точността на даден превод може да го маркирате като неясен. За целта използвайте меню Редактиране - Преводът е неясен... (или клавишна комбинация Alt+U). Такива изрази са оцветени в жълт цвят. Освен това Poedit подрежда изразите като в началото поставя непреведените, следвани от неясните и на последно място преведените.
Това са най-общите указания, които биха ви помогнали да преведете желана от вас програма. При всяко запазване на файла, който превеждате, в същата папка автоматично ще се генерира и файл с разширение *.mo - крайния превод, който ще се използва от програмата. Ако желаете да го опитате на системата си веднага, копирайте файла bg.mo в папка /usr/share/locale/bg/LC_MESSAGES и го преименувайте с името на програмата. Например ако става дума на VLC media player, преименувайте го на vlc.mo. Обърнете внимание, че за да го копирате в тази папка, ще са ви необходими администраторски права. Затова натиснете клавишната комбинация Alt+F2 и напишете командата gksu nautilus. С нея ще стартирате файловия мениджър в администраторски режим, в който ще може да завършите копирането и преименуването в /usr/share/locale/bg/LC_MESSAGES.
Сега вече всичко зависи от уменията ви на преводач. И не забравяйте когато приключите да архивирате получените *.po и *.mo файлове в един архив и да го изпратите на разработчиците. Така доброто ви дело ще достигне и до другите потребители, а те несъмнено ще го оценят!

Статията е по материали от "Линукс за човешки същества": http://skss.learnfree.eu
Текстовото съдържание е достъпно при условията на Лиценза за свободна документация на ГНУ, версия 1.2 или коя да е следваща, публикувана от Фондацията за свободен софтуер; без непроменяеми раздели, без предни и задни корици.