po-файловете съдържат съответствията между оригиналната версия на интерфейса и българския превод. Тази система за интернационализация се нарича gettext.
Напоследък в Gnome все повече се използва и XML. Един XML файл съдържа всички налични преводи. Затова чрез intltool се извършва връзката със системата gettext. Така оригиналният xml-файл може да се раздели и включи в традиционните po-файлове. Това е удобство за преводачите.
- Избор на пакет
Започваме с това да си изберете приложение за превод (засега системните пакети ги оставаме настрана). Изберете си приложение, което ви харесва, защото ще се наложи да го тествате и да проверявате удачни ли са преводите. Когато работите с приложение, което харесвате, ще правите нещата като за себе си, а не като задължение. Задължително е да обявите в dict@linux.zonebg.com, че започвате работа по превода, за да не се получава дублиране на усилията. Ако някой е започнал вече работа над приложението, не се притеснявайте - изберете друго, а на това, което са ви отмъкнали ще можете да редактирате превода и да търсите грешки. Може и да се разберете с другия преводач да работите заедно или вие да поемете грижата за превода.
- Научаване на името на пакета
Отивате на сайта на системата Бонсай на проекта GNOME и започвате да тъсите името на пакета, който ви интересува. Той най-често съвпада с името на програмата, но може и малко да се различава. Ще примерите по нататък ще бъдат за пакетите balsa и galeon. Първият от тях използва само gettext, а вторият и intltool.
- Изтегляте пакета чрез CVS
Изтегляте си чрез CVS най-последната версия на програмата. Това става много лесно, като въвеждате следната команда в терминал:
cvs -d:pserver:anonymous@anoncvs.gnome.org: login
Ще получите следния въпрос:
(Logging in to anonymous@anoncvs.gnome.org)
CVS password:
Натискате [enter] и продължавате. С login се връзвате към даден cvs сървър. Командата се изпълнява само първия път, когато се свържете с него за който и да е модул. Оттук нататък няма нужда от нея.
Въвеждате следната команда:
cvs -z3 -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co ime_na_paketa
Тази команда означава следното:
cvs
- команда cvs
-
-z3
- степен на компресия на файловете, докато ги дърпа от мрежата. По-голяма цифра означава по-голяма компресия, обаче над 3 се натоварват основните сървъри на GNOME, така, че не ги ползвайте. Допълнителното компресиране не е чак толкова голямо.
-
-d:pserver:anonymous@anoncvs.gnome.org:
- с опцията -d обозначавате с кой метод, с кое потрбителско име, към кой сървър ще се свържете и къде се намира главната директория на CVS
-
pserever
- метод подходящ за анонимно свързване
-
anonymous
- името на анонимния потрбител ;-)
-
anoncvs.gnome.org
- името на сървъра, към който се свързваме
-
/cvs/gnome
- главната директория на CVS
-
co
- съкращението на командата
checkout, с която дръпвате целия модул при вас-
ime_na_modula
- името на модула, който ще дръпнете. В конкретния пример е или balsa или galeon.
-
- Ако връзката със CVS се разпадне
Чакате да се зареди всичко. Ако връзката със сървъра се разпадне, повтаряте точка 3 от същата директория както и предишния път и тегленето продължава (като изпускате стъпката с login). CVS се грижи, ако има някакви изменения между двата опита за теглене, да се снабдите с най-актуалните версии.
- Използват ли се в пакета intltool?
Трябва да разберете дали в пакета се използва модула intltool. Прегледайте файловете configure.in и Makefie.am. Ако там се споменава нещо за XML, значи най-вероятно се използва. Ако го има, прескачате следващата точка и отивате към точката за опресняване чрез intltool, иначе продължавате към стандартно опресняване на po-файла.
- Стандартно опресняване на po-файла
Влизате в директорията на пакета (името й съвпада с това на пакета), отивате в поддиректория po. Ако няма bg.po или bg_BG.po файл, значи досега никой не е превеждал. Тогава правите:
./update.pl --pot
и получавате най-актуалния pot-файл (той е шаблон на po файловете). Него трябва да превеждате. Копирате го като bg.po и започвате да превеждате.
Ако има bg_BG.po или bg.po значи вече някой е работил. Трябва просто да обновите файла, за да се включат новите елементи на интерфейса. Понеже вече бъгарските преводи са в bg.po, ако има bg_BG.po, първо трябва да го преименувате:
mv bg_BG.po bg.po
След това пишете:
./update.pl bg
и започвате работа. Ако сте попаднали на проект, в който няма скрипт update.pl, обаче е на място най-новия imе_na_paket.pot файл и имате стар български превод bg.po, можете да си опресните превода чрез командите:
msgmerge bg.po ime_na_paketa.pot > bg-new.po
mv bg-new.po bg.po
И пак започвате работа ;-)
- Опресняване чрез intltool
Пакетът galeon използва intltool. Със самите програми от intltool можете да се снабдите по някой от следните начини:
- слагате си дистрибуцията на Gnome на фирмата Ximian от www.ximian.com. Пускате програмата за управление на пакети
red-carpet и инсталирате чрез канала Ximian Gnome Desktop.
- изтегляте си изходния код от ftp://ftp.gnome.org/pub/GNOME/stable/sources/intltool/
- дистрибуцията Mandrake cooker ги има
Отивате в поддиректорията po. Ако няма bg.po или bg_BG.po, правите:
intltool-update --pot
копирате galeon.pot в bg.po и започвате да го превеждате.
ако има bg_BG.po или bg.po, значи не почвате от нулата. Понеже българските преводи са в bg.po файловете, първо правите:
mv bg_BG.po bg.po
и след това:
intltool-update bg
И превеждате bg.po
- Изпращане на превода
Когато сте готови, правите проверка на превода, както и на заглавната част на po-файла. След което пращате bg.po.gz или bg.po.bz2 на dict@linux.zonebg.com, както и на Павел Чолаков и обяснявате откъде сте взели файла и къде трябва да се сложи.
След това редовно проверявате Бонсай дали превода е обновен. Отивате на името на пакета, след това на po и виждате дали има вече обновен bg.po. Ако всичко е наред - следващата версия автоматично ще си дойде с български превод без да е нужно той да се инсталира допълнително.
- Проверка всичко ли е преведене?
Преводът на един пакет не се изчерпва с po-файла. Прочетете упътването за превод на GNOME. Затова е добре да си дръпнете целия пакет. Плюс това, когато се появи нова версия е достатачно само да отидете в директорията на пакета, да напишете:
cvs up
и отново се сдобивате с най-последните версии и започвате да превеждате.