Упатство:Водич за КБабел: Разлика помеѓу преработките
с (20 ревизии: initial) |
|||
(Не се прикажани 6 меѓувремени преработки од еден друг корисник) | |||
Ред 1: | Ред 1: | ||
Овој документ е наменет за корисниците што почнуваат со работа во [[GNU/Linux]] и кои што сакаат да се вклучат во процесот на локализација (преведување) на [[слободен софтвер]]. Тоа не значи дека не би им бил од корист и на оние понапредни и поискусни корисници на [[GNU/Linux]] што сакаат да се вклучат во процесот на локализација на програмите, а првпат се среќаваат со програмата [[KBabel|КБабел]] и со техниките на преведување, креирање речници (бази со зборови) и пишување програми што поддржуваат интернационализација. | Овој документ е наменет за корисниците што почнуваат со работа во [[GNU/Linux]] и кои што сакаат да се вклучат во процесот на локализација (преведување) на [[слободен софтвер]]. Тоа не значи дека не би им бил од корист и на оние понапредни и поискусни корисници на [[GNU/Linux]] што сакаат да се вклучат во процесот на локализација на програмите, а првпат се среќаваат со програмата [[KBabel|КБабел]] и со техниките на преведување, креирање речници (бази со зборови) и пишување програми што поддржуваат интернационализација. | ||
Документов е создаден како последица на потребата од инволвирање на повеќе заинтересирани корисници на слободен софтвер за негово преведување на македонски јазик. Тој претставува дел од проектите за локализација и креирање документација на невладината организација „[[Слободен софтвер Македонија]]“. Повеќе информации за проектите има на [http://www.slobodensoftver.org.mk сајтот на организацијата]. Во случај да сакате да се вклучите во некој од проектите на организацијата и да помогнете на каков било начин, слободно пишете на е-поштенската адреса info@slobodensoftver.org.mk или стапете во контакт со координаторот за соодветниот проект (за повеќе информации погледнете | Документов е создаден како последица на потребата од инволвирање на повеќе заинтересирани корисници на слободен софтвер за негово преведување на македонски јазик. Тој претставува дел од проектите за локализација и креирање документација на невладината организација „[[Слободен софтвер Македонија]]“. Повеќе информации за проектите има на [http://www.slobodensoftver.org.mk сајтот на организацијата]. Во случај да сакате да се вклучите во некој од проектите на организацијата и да помогнете на каков било начин, слободно пишете на е-поштенската адреса info@slobodensoftver.org.mk или стапете во контакт со координаторот за соодветниот проект (за повеќе информации погледнете ја [[L10n_mk|страницата со проекти]] или Интернет-страницата на организацијата). | ||
Документов содржи доволно информации за читателите да стекнат основно познавање за работа со програмата [[KBabel|КБабел]] и да можат активно да се вклучат во процесот на преведување. Детално е опишана целата постапка за инсталирање и конфигурирање на програмата пред почетокот на користење, како и опис на процесот како би се извело преведување на една PO (односно POT) датотека. Текстот изобилува со информации за лесно вклучување во процесот и ги објаснува повеќето термини што се од битно значење и се основа за понатамошно напредување. | Документов содржи доволно информации за читателите да стекнат основно познавање за работа со програмата [[KBabel|КБабел]] и да можат активно да се вклучат во процесот на преведување. Детално е опишана целата постапка за инсталирање и конфигурирање на програмата пред почетокот на користење, како и опис на процесот како би се извело преведување на една PO (односно POT) датотека. Текстот изобилува со информации за лесно вклучување во процесот и ги објаснува повеќето термини што се од битно значење и се основа за понатамошно напредување. | ||
Ред 12: | Ред 12: | ||
[[KBabel|КБабел]] претставува збир од алатки за уредување и ракување со PO-датотеки, креирани со gettext. Главната компонента е моќниот и удобен уредувач за PO-датотеки чии главни карактеристики се целосната способност за навигација, потполната уредувачка функционалност, способноста да бара превод во различни речници (бази со зборови), проверка на правопис и синтакса, приказ на разлики и многу повеќе. Исто така го содржи и „Менаџерот на каталози“ кој што овозможува преглед на PO-датотеките во вид на менаџер на датотеки. Во [[KBabel|КБабел]] е вклучен и речник на зборови кој може да работи и како независна апликација и има можност за пристап до базите со зборови во [[KBabel|КБабел]]. [[KBabel|КБабел]] овозможува брзо и сигурно преведување и одржување на веќе преведените PO-датотеки како и лесно допреведување на PO-датотеките за новите верзии на програмите. | [[KBabel|КБабел]] претставува збир од алатки за уредување и ракување со PO-датотеки, креирани со gettext. Главната компонента е моќниот и удобен уредувач за PO-датотеки чии главни карактеристики се целосната способност за навигација, потполната уредувачка функционалност, способноста да бара превод во различни речници (бази со зборови), проверка на правопис и синтакса, приказ на разлики и многу повеќе. Исто така го содржи и „Менаџерот на каталози“ кој што овозможува преглед на PO-датотеките во вид на менаџер на датотеки. Во [[KBabel|КБабел]] е вклучен и речник на зборови кој може да работи и како независна апликација и има можност за пристап до базите со зборови во [[KBabel|КБабел]]. [[KBabel|КБабел]] овозможува брзо и сигурно преведување и одржување на веќе преведените PO-датотеки како и лесно допреведување на PO-датотеките за новите верзии на програмите. | ||
За оние | За оние што се нови во процесот на преведување, еве накратко опис на некои термини што се поврзани со процесот на преведување на програми и на зборови што често ќе се употребуваат во овој текст: | ||
* '''PO-датотека''' - претставува текстуална датотека која има екстензија .po (на пример kdelibs.po) и која што ја преведуваме на соодветниот јазик (во нашиов случај на македонски). PO-датотеките можеме да ги уредуваме и преведуваме со најобичен уредувач на текст. На почетокот на PO-датотеките (во заглавието) се наоѓаат информации за кодирањето што се користи во преводот (ние користиме utf-8), податоци за преведувачите на датотеката, јазикот на кој се преведува, датум кога последен пат е изменета датотеката и некои други информации. Во PO-датотеката се наоѓаат и оригиналните текстови (на англиски јазик) што треба да се преведат и преведените текстови на соодветниот јазик на кој што го вршиме преводот. Подетални информации околу форматот на | * '''PO-датотека''' - претставува текстуална датотека која има екстензија .po (на пример kdelibs.po) и која што ја преведуваме на соодветниот јазик (во нашиов случај на македонски). PO-датотеките можеме да ги уредуваме и преведуваме со најобичен уредувач на текст. На почетокот на PO-датотеките (во заглавието) се наоѓаат информации за кодирањето што се користи во преводот (ние користиме utf-8), податоци за преведувачите на датотеката, јазикот на кој се преведува, датум кога последен пат е изменета датотеката и некои други информации. Во PO-датотеката се наоѓаат и оригиналните текстови (на англиски јазик) што треба да се преведат и преведените текстови на соодветниот јазик на кој што го вршиме преводот. Подетални информации околу форматот на PO-датотеките има во документацијата на алатката [http://gettext.gnu.org gettext]. | ||
* ''' | * '''POT-датотека''' - доаѓа од зборот PO Template и е датотека која што има наставка .pot (на пример kdelibs.pot). Таа е идентична датотека (ист формат) како и PO-датотеката и претставува образец за од неа да се креираат PO-датотеки за секој јазик посебно на кој што преведуваме. POT-датотеката има ист формат како PO-датотеката, но ги содржи само текстовите во нивната оригинална форма (на англиски јазик). Така, за да извршиме превод на некоја програма на македонски јазик, ја земаме POT-датотеката на таа програма (која се наоѓа во пакетот со изворниот код на програмата) и ја преименуваме така што наместо наставка .pot да има наставка .po и потоа ја преведуваме со програмата [[KBabel|КБабел]]. | ||
* '''gettext''' - тоа е програмерска алатка која им овозможува на програмерите да пишуваат програми што лесно ќе се преведуваат на разни (човечки) јазици. Таа од изворниот код ги вади текстуалните делови и ги запишува во POT-датотеки за подоцна да се преведат на разни јазици. Алатката gettext не е дел од [[KBabel|КБабел]], а повеќе информации може да се најдат на официјалната Интернет- страница (http://gettext.gnu.org/). | |||
* '''gettext''' - тоа е програмерска алатка која им овозможува на програмерите да пишуваат програми што лесно ќе се преведуваат на разни (човечки) јазици. Таа од изворниот код ги вади текстуалните делови и ги запишува во POT-датотеки за подоцна да се преведат на разни јазици. Алатката gettext не е дел од | |||
* '''locale или локале''', l10n или локализација, i18n или интернационализација, charset или множество знаци, utf-8, iso-8859-5, cp1251, windows-1251, iso-10646, unicode - за овие термини повеќе информации во некоја од следните верзии на документов. | * '''locale или локале''', l10n или локализација, i18n или интернационализација, charset или множество знаци, utf-8, iso-8859-5, cp1251, windows-1251, iso-10646, unicode - за овие термини повеќе информации во некоја од следните верзии на документов. | ||
Ред 34: | Ред 31: | ||
== Инсталирање на КБабел == | == Инсталирање на КБабел == | ||
[[KBabel|КБабел]] најчесто доаѓа со популарните дистрибуции на [[GNU/Linux]]. Најновата верзија може да се симне од официјалната Интернет-страница (прочитајте во поглавјето [http://wiki.lugola.net/Упатство:Водич_за_КБабел#Ресурси_и_врски Ресурси од овој документ | [[KBabel|КБабел]] најчесто доаѓа со популарните дистрибуции на [[GNU/Linux]] и може да го инсталирате преку соодветните алатки за менаџирање пакети што доаѓаат со дистрибуциите. Најновата верзија може да се симне од официјалната Интернет-страница (прочитајте во поглавјето [http://wiki.lugola.net/Упатство:Водич_за_КБабел#Ресурси_и_врски Ресурси] од овој документ). | ||
[[KBabel|КБабел]] е достапен и како | [[KBabel|КБабел]] е достапен и како бинарен пакет на компакт-дисковите од дистрибуциите (во бинарна форма или како изворен код) и како .tar.bz2 на официјалната Интернет-страница (како изворен код). | ||
За инсталирање на бинарен (значи веќе компилиран) rpm-пакет, ја користиме следнава наредба: | За инсталирање на бинарен (значи веќе компилиран) rpm-пакет, ја користиме следнава наредба: | ||
# rpm -Uvh kbabel-x.x.x.rpm | # rpm -Uvh kbabel-x.x.x.rpm | ||
За компилирање и инсталирање на [[KBabel|КБабел]] од неговата изворна форма (изворен код) прво креираме некоја помошна папка (на пример ~/kb) во сопствената домашна папка | каде што x.x.x се броеви што ја означуваат верзијата на програмата, а знакот # (тараба) ја претставува командната линија (значи него го изоставуваме при пишувањето). Претходната наредба и сите останати наредби во ова поглавје ги пишуваме во команден терминал или познат и како школка (shell), при што наредбите за инсталирање ги извршуваме како корисник со администраторски привилегии (root). | ||
За компилирање и инсталирање на [[KBabel|КБабел]] од неговата изворна форма (изворен код) прво креираме некоја помошна папка (на пример ~/kb) во сопствената домашна папка. Во неа го копираме пакетот со изворниот код и потоа го распакуваме. Тоа е опишано со следниве наредби: | |||
# mkdir ~/kb | # mkdir ~/kb | ||
# cp kbabel- | # cp kbabel-x.x.tar.bz2 ~/kb | ||
# cd ~/kb | # cd ~/kb | ||
# tar -xvjf kbabel- | # tar -xvjf kbabel-x.x.tar.bz2 | ||
Понатаму, откако ќе влеземе во папката каде што е распакуван изворниот код, продолжуваме со компилирањето па потоа со инсталирањето: | Понатаму, откако ќе влеземе во папката каде што е распакуван изворниот код, продолжуваме со компилирањето па потоа со инсталирањето: | ||
# cd kbabel- | # cd kbabel-x.x | ||
# ./configure | # ./configure | ||
# make | # make | ||
# su -c make install | # su -c make install | ||
За повеќе информации околу параметрите на configure напишете го следново: | |||
# ./configure --help | # ./configure --help | ||
По инсталирањето, [[KBabel|КБабел]] може да се стартува со наредбата <code>kbabel</code> или преку менито со програми. | |||
Ако сакате да го користите речникот (Translation Database) што е „вграден“ во [[KBabel|КБабел]] и кој ќе ви овозможи креирање на Ваша база со преводи и автоматско преведување на PO-датотеки, тогаш '''пред''' да ја изведете погоре опишаната постапка ќе треба да ја инсталирате Berkeley Database. Во спротивно [[KBabel|КБабел]] ќе се искомпилира без речникот во него. За да ја изберете соодветната верзија на Berkeley Database (базата е позната и како db2 или db4 зависно од верзијата) што би одговарала на верзијата на изворниот код на [[KBabel|КБабел]] што ја имате, прочитајте ги упатствата од датотеката README која се наоѓа во папката каде што се наоѓа изворниот код на [[KBabel|КБабел]]. На пример, за верзијата 1.2 на [[KBabel|КБабел]] потребна е Berkeley DB IV која ја има на повеќето дистрибуции на GNU/Linux или можете да ја побарате на нејзината официјална Интернет-страница http://www.sleepycat.com/. Потребно е да ги инсталирате бинарниот пакет со базата и пакетот за развој (devel). На пример, тоа се пакетите db4-4.4.20-12 и db4-devel-4.4.20-12. Инсталирањето на овие пакети се прави на следниов начин: | |||
Ако сакате да го користите речникот (Translation Database) што е „вграден“ во [[KBabel|КБабел]] и кој | |||
# rpm -Uvh db4-4.4.20-12.i386.rpm | # rpm -Uvh db4-4.4.20-12.i386.rpm | ||
Ред 82: | Ред 72: | ||
Големите софтверски проекти како што се [[KDE|КДЕ]], [[OpenOffice.org|ОпенОфис]], [[Firefox|Мозила]], [[GNOME|ГНОМ]] и други, доаѓаат со голем број апликации, библиотеки и придружен софтвер и се поделени во голем број датотеки со изворен код кои што содржат разни пораки. При генерирањето на POT-датотеките, пораките од изворниот код се групираат, при што една POT-датотека може да содржи пораки од повеќе датотеки. Исто така POT-датотеките можат да бидат распоредени по папки, според одделните апликации на софтверот (или поинаку организирани). Во рамките на [[KBabel|КБабел]] се наоѓа програмата „Менаџер на каталози“ (catalogmanager) која работи како менаџер на датотеки и го олеснува ракувањето со PO и POT-датотеките. Основен параметар при конфигурацијата на catalogmanager се патеките во кои се наоѓаат PO и POT-датотеките. catalogmanager прави спојување на двете патеки и креира стебло во кое се прикажани и обрасците и веќе преведените датотеки. Со помош на catalogmanager може лесно да се започне превод на празна POT-датотека, да се провери статусот на преводот, да се прави глобално пребарување и многу други работи. Ако се работи на превод на големи софтверски проекти, препорачлива е употребата на catalogmanager. | Големите софтверски проекти како што се [[KDE|КДЕ]], [[OpenOffice.org|ОпенОфис]], [[Firefox|Мозила]], [[GNOME|ГНОМ]] и други, доаѓаат со голем број апликации, библиотеки и придружен софтвер и се поделени во голем број датотеки со изворен код кои што содржат разни пораки. При генерирањето на POT-датотеките, пораките од изворниот код се групираат, при што една POT-датотека може да содржи пораки од повеќе датотеки. Исто така POT-датотеките можат да бидат распоредени по папки, според одделните апликации на софтверот (или поинаку организирани). Во рамките на [[KBabel|КБабел]] се наоѓа програмата „Менаџер на каталози“ (catalogmanager) која работи како менаџер на датотеки и го олеснува ракувањето со PO и POT-датотеките. Основен параметар при конфигурацијата на catalogmanager се патеките во кои се наоѓаат PO и POT-датотеките. catalogmanager прави спојување на двете патеки и креира стебло во кое се прикажани и обрасците и веќе преведените датотеки. Со помош на catalogmanager може лесно да се започне превод на празна POT-датотека, да се провери статусот на преводот, да се прави глобално пребарување и многу други работи. Ако се работи на превод на големи софтверски проекти, препорачлива е употребата на catalogmanager. | ||
:'''Креирање нов проект за преведување и конфигурирање на проект''' | |||
По стартувањето на празен „Менаџер на каталози“, од менито „Проект“ се избира „Нов...“ по што се отвора волшебникот за проекти. Тука се внесува името на проектот (описно, но кратко), датотеката каде што ќе се чуваат параметрите за проектот, јазикот на преведување и типот на проект. За конфигурациската датотека е најдобро со кликнување врз иконата со папка да дојдете до соодветната папка каде што ќе се чува датотеката и во истиот дијалог, во полето „Локација“, да го запишете името на датотеката и да кликнете на копчето „Во ред“. Датотеката (со целосната патека) ќе се појави во полето. Во полето „Јазик“ избирате „Macedonian“, а за полето „Тип на проект“ ја избирате соодветната ставка, во зависност на каков проект работите (на пример, ако преведувате за КДЕ, го ставате на „KDE“). Кликнувате на „Следен“. Ќе се појави нов дијалог во кој треба да се внесат патеките до PO и POT-датотеките. Со кликнување на копчето „Заврши“ волшебникот се затвора и се вчитуваат датотеките за преведување. | |||
[[Слика:Kbabel_catman_newprj_dlg.png|350px]] [[Слика:Kbabel catman folders.png|350px]] | |||
Потоа од менито „Проект“ се избира „Конфигурирај...“ за да се доврши конфигурацијата на проектот. Се појавува дијалогот за конфигурација во кој (на страницата „Идентитет“) се внесуваат основните податоци за корисникот на програмата (преведувачот) како што се: неговото име и презиме со латинични букви и во оригинал, неговата е-поштенска адреса и е-поштенската адреса на преведувачката група на која ѝ припаѓа, името на јазикот на кој се преведува, кодот на јазикот и некои други параметри. | Потоа од менито „Проект“ се избира „Конфигурирај...“ за да се доврши конфигурацијата на проектот. Се појавува дијалогот за конфигурација во кој (на страницата „Идентитет“) се внесуваат основните податоци за корисникот на програмата (преведувачот) како што се: неговото име и презиме со латинични букви и во оригинал, неговата е-поштенска адреса и е-поштенската адреса на преведувачката група на која ѝ припаѓа, името на јазикот на кој се преведува, кодот на јазикот и некои други параметри. | ||
Ред 94: | Ред 86: | ||
На долната слика е даден дијалогот за конфигурација на менаџерот на каталози: | На долната слика е даден дијалогот за конфигурација на менаџерот на каталози: | ||
[[Слика: | [[Слика:Kbabel_catman_projparam.png]] | ||
Ред 100: | Ред 92: | ||
[[Слика:kbabel_fonts.png|thumb|Избор на фонтови во КБабел]] | [[Слика:kbabel_fonts.png|thumb|Избор на фонтови во КБабел]] | ||
По инсталирањето на [[KBabel|КБабел]] и неговото прво стартување се отвора дијалогот „Конфигурирај“ (даден на сликата). Одберете ја страницата „Фонтови“ и | По инсталирањето на [[KBabel|КБабел]] и неговото прво стартување се отвора дијалогот „Конфигурирај“ (даден на сликата). Одберете ја страницата „Фонтови“ и изберете соодветен фонт (на пример Fixed 12) што ќе се користи во прозорчињата за внесување и прикажување на преведениот и оригиналниот текст. За останатите параметри во овој дијалог сметам дека нема потреба да се дискутира (можеби во некоја следна верзија на документов). | ||
Со притискање на копчето „Во ред“ дијалогот „Конфигурирај“ се затвора, а податоците што претходно сме ги | Со притискање на копчето „Во ред“ дијалогот „Конфигурирај“ се затвора, а податоците што претходно сме ги внеле таму се зачувуваат во програмата. Ако сакаме повторно да го отвориме дијалогот „Конфигурирај“ со цел да извршиме корекција на некој податок во него, треба да ја избереме опцијата „Конфигурирај КБабел...“ која се наоѓа во менито „Поставувања“. | ||
=== Опис на корисничкиот интерфејс === | === Опис на корисничкиот интерфејс === | ||
Ред 108: | Ред 100: | ||
====Менаџер на каталози==== | ====Менаџер на каталози==== | ||
На наредната слика е прикажан менаџерот на каталози. Во првата колона се датотеките, групирани во папки според пакетот на кој припаѓаат. Останатите колони прикажуваат разни информации за статусот на датотеките и папките како што се: маркери за датотеките, број на пораки (нејасни, непреведени и вкупно), статус во CVS/SVN (CVS и SVN се системи за контрола на верзии на датотеки), датум на последната промена на датотеката како и преведувачот што последен работел на датотеката. Иконите што се наоѓаат лево од датотеките и папките исто така укажуваат на нивниот статус: | На наредната слика е прикажан менаџерот на каталози. | ||
[[Слика:Kbabel_catalogmanager.jpg|800px]] | |||
Во првата колона се датотеките, групирани во папки според пакетот на кој припаѓаат. Останатите колони прикажуваат разни информации за статусот на датотеките и папките како што се: маркери за датотеките, број на пораки (нејасни, непреведени и вкупно), статус во CVS/SVN (CVS и SVN се системи за контрола на верзии на датотеки), датум на последната промена на датотеката како и преведувачот што последен работел на датотеката. Иконите што се наоѓаат лево од датотеките и папките исто така укажуваат на нивниот статус: | |||
* [[Слика:Kbabel_site_prevedeni.jpg]] Сите пораки во датотеката се преведени | * [[Слика:Kbabel_site_prevedeni.jpg]] Сите пораки во датотеката се преведени | ||
Ред 122: | Ред 118: | ||
* [[Слика:Kbabel_folder_green.jpg]] Сите датотеки во папката се целосно преведени | * [[Слика:Kbabel_folder_green.jpg]] Сите датотеки во папката се целосно преведени | ||
* [[Слика:Kbabel_folder_red.jpg]] Некои од датотеките не се целосно преведени (или се погрешни) | * [[Слика:Kbabel_folder_red.jpg]] Некои од датотеките не се целосно преведени (или се погрешни) | ||
Преку интерфејсот на менаџерот на каталози може да се отвораат | |||
датотеки за преведување, да се иницираат празни (непреведени) датотеки, да се прави преглед на статистички податоци, проверка на синтакса и правопис и многу други активности врз датотеките. | |||
Најголем дел од функциите се достапни преку десен клик | |||
со глушецот. | |||
==== КБабел ==== | ==== КБабел ==== | ||
Пред нас е интерфејсот на програмата кој што е прикажан на сликата подолу. | |||
[[Слика:Kbabel.png]] | [[Слика:Kbabel.png]] | ||
Во левото горно поле се наоѓа оригиналниот текст што треба да го преведеме, а во левото долно поле го пишуваме преводот. Веднаш над полето во кое што го внесуваме преводот се наоѓаат три „сијалички“ што се означени како „нејасна“, „непреведена“ и „погрешна“. Тие го означуваат статусот на преводот во тековната позиција. Доколку не сме сигурни за одреден превод дали е добар, тогаш можеме да го означиме или одозначиме како нејасен со притискање на Ctrl+U на тастатурата (или „Смени статус на нејасна“ од менито „Уредување“). Ако прозорчето за внесување на преводот е празно тогаш е активирана „сијаличката“ „непреведена“. Во горното десно поле се наоѓаат коментарите и информациите поврзани за тековната позиција што ја преведуваме и овие податоци не треба да ги менуваме. Овие податоци се генерираат автоматски при креирањето на POT-датотеката со алатката gettext и се потребни за по преведувањето да може да се изврши поврзување на преводот со програмата. Во десниот долен дел на програмата се наоѓа прозорец со четири ливчиња. Ќе го разгледаме само првото ливче „Барање“. Тука се наоѓаат информациите поврзани со пребарувањето на базата со преводи. | |||
=== База со преводи (Translation Database) === | === База со преводи (Translation Database) === | ||
[[Слика:Kbabel_conf_dict.png|thumb|Конфигурација на речници]] | |||
За да можеме да ја користиме оваа можност на КБабел, прво треба да креираме база со преводи (речник) од веќе преведени PO-датотеки. Тоа го правиме на тој начин што ќе ја избереме опцијата „Конфигурирај речник“ -> „База на преводи“ од менито „Поставувања“. | За да можеме да ја користиме оваа можност на КБабел, прво треба да креираме база со преводи (речник) од веќе преведени PO-датотеки. Тоа го правиме на тој начин што ќе ја избереме опцијата „Конфигурирај речник“ -> „База на преводи“ од менито „Поставувања“. | ||
По избор на оваа опција ќе се појави дијалог во кој се наоѓаат некои параметри поврзани со начинот на пребарување на базата. | По избор на оваа опција ќе се појави дијалог во кој се наоѓаат некои параметри поврзани со начинот на пребарување на базата. | ||
Го избираме ливчето „База на податоци“. | Го избираме ливчето „База на податоци“. Во полето „Папка со база на податоци“ може да ја смените локацијата каде што ќе се чува базата со податоци. Ова е корисно ако сакате базата на податоци за KDE да Ви биде одвоена од другите преводи. Потоа притискаме на копчето „Скенирај папка и потпапки...“ и ја одбираме папката во која ни се наоѓаат сите веќе преведени PO-датотеки од чии што преводи ќе ја креираме базата со преводи. Креирањето на базата може да потрае и неколку минути. При преведување на некоја PO-датотека, базата со преводи автоматски се надополнува со новите преводи. | ||
==== Како се користи базата? ==== | |||
Доколку сакаме да побараме во базата со преводи дали постои превод за текстот од полето со оригиналниот текст (горе лево) тоа го правиме со притискање на Alt+Ctrl+1 на тастатурата или избор на опцијата „Најди текст“ -> „База на преводи“ од менито „Речници“. Пронајдените резултати се појавуваат во прозорецот (долу десно) кој што служи за пребарување на базата со преводи. Го избираме соодветниот превод од прозорецот и со притискање на Alt+Ctrl+Space на тастатурата или избор на опцијата „Копирај резултат од пребарување во преведена“ од менито „Уредување“, преводот го копираме во полето за преведен текст (долу лево). Пребарување на базата со преводи може да се врши и за соодветен збор или повеќе зборови (дел од текстот) од полето со оригиналниот текст (горе лево) со означување на текстот што сакаме да го бараме и притискање на Ctrl+1 на тастатурата или избор на опцијата „Најди избран текст“ -> „База на преводи“ од менито „Речници“. Копирањето на резултатот од пребарувањето е идентично како во претходниот случај. | Доколку сакаме да побараме во базата со преводи дали постои превод за текстот од полето со оригиналниот текст (горе лево) тоа го правиме со притискање на Alt+Ctrl+1 на тастатурата или избор на опцијата „Најди текст“ -> „База на преводи“ од менито „Речници“. Пронајдените резултати се појавуваат во прозорецот (долу десно) кој што служи за пребарување на базата со преводи. Го избираме соодветниот превод од прозорецот и со притискање на Alt+Ctrl+Space на тастатурата или избор на опцијата „Копирај резултат од пребарување во преведена“ од менито „Уредување“, преводот го копираме во полето за преведен текст (долу лево). Пребарување на базата со преводи може да се врши и за соодветен збор или повеќе зборови (дел од текстот) од полето со оригиналниот текст (горе лево) со означување на текстот што сакаме да го бараме и притискање на Ctrl+1 на тастатурата или избор на опцијата „Најди избран текст“ -> „База на преводи“ од менито „Речници“. Копирањето на резултатот од пребарувањето е идентично како во претходниот случај. | ||
=== Автоматско преведување (Rough Translation) === | ==== Автоматско пребарување ==== | ||
Автоматското барање се конфигурира во дијалогот за конфигурација на КБабел, кој се добива со избирање на „Поставувања -> Конфигурирај КБабел“ во менито. Таму, во одделот „Пребарување“ се активира „Автоматски започни барање“ а за стандарден речник се бира базата на преводи. | |||
==== Автоматско преведување (Rough Translation) ==== | |||
Освен на погоре опишаниот начин, базата со преводи може да се користи и за автоматско преведување на PO-датотеките. За таа цел ја избираме опцијата „Груб превод...“ од менито „Алатки“. | Освен на погоре опишаниот начин, базата со преводи може да се користи и за автоматско преведување на PO-датотеките. За таа цел ја избираме опцијата „Груб превод...“ од менито „Алатки“. | ||
По овој избор се отвора дијалог во кој што се поставуваат одредени параметри за начинот на автоматско преведување | По овој избор се отвора дијалог во кој што се поставуваат одредени параметри за начинот на автоматско преведување. Подетален опис на параметрите од овој дијалог ќе биде даден во некоја од следните верзии на овој документ. | ||
Понатаму со притискање на копчето „Старт“ започнува автоматското преведување на PO-датотеката со преводите што се наоѓаат во базата со преводи. Ова може да потрае и неколку минути. | Понатаму со притискање на копчето „Старт“ започнува автоматското преведување на PO-датотеката со преводите што се наоѓаат во базата со преводи. Ова може да потрае и неколку минути. | ||
=== Совети за преведување === | === Совети за преведување === | ||
Сигурно уште на самиот почеток забележавте дека во полињата за оригиналниот текст (горе лево) и преведениот текст (долу лево) на позициите каде што треба да има празно место (на пример, помеѓу зборовите) се појавува точка. Тоа не треба да Ви прави никаква забуна затоа што тоа е намерно направена опција во КБабел за да се зголеми прегледноста при преведувањето. Во одредени случаи кога не би имало точка тешко би било да се одреди дали на тоа место (меѓу двата збора) има празно место или двата збора | Сигурно уште на самиот почеток забележавте дека во полињата за оригиналниот текст (горе лево) и преведениот текст (долу лево) на позициите каде што треба да има празно место (на пример, помеѓу зборовите) се појавува точка. Тоа не треба да Ви прави никаква забуна затоа што тоа е намерно направена опција во КБабел за да се зголеми прегледноста при преведувањето. Во одредени случаи кога не би имало точка тешко би било да се одреди дали на тоа место (меѓу двата збора) има празно место или се двата збора споени. | ||
При преведувањето ќе забележите дека некои зборови (знаци или групи знаци) во прозорчињата за оригиналниот текст и преведениот текст се прикажуваат во друга боја. Тоа се таканаречените „escape-знаци“ кои што на почетокот почнуваат со знакот „\“ (коса црта). Пример за такви знаци се \n, \", \t и нив најчесто ќе ги среќавате. Освен овие | При преведувањето ќе забележите дека некои зборови (знаци или групи знаци) во прозорчињата за оригиналниот текст и преведениот текст се прикажуваат во друга боја. Тоа се таканаречените „escape-знаци“ кои што на почетокот почнуваат со знакот „\“ (коса црта). Пример за такви знаци се \n, \", \t и нив најчесто ќе ги среќавате. Освен овие escape-знаци ќе се сретнете и со променливи што почнуваат со знакот „%“ (процент), како на пример %s. Исто така, со друга боја е означен и текстот што се наоѓа меѓу знаците „<“ и „>“ (помало и поголемо), на пример некоја е-поштенска адреса. Карактеристично за овие три случаи е тоа што овој дел од текстот (што е во друга боја) не се преведува туку се препишува во оригинална форма. Дали правилно сте го препишале ќе бидете сигурни со тоа што и во полето за преведениот текст ќе биде означен со истата таа боја. | ||
За одредени | За одредени escape-знаци Кбабел има можност за т.н. „паметно уредување“. Тоа функционира така што при внесување на одреден знак Кбабел автоматски ја додава обратната коса црта (или некое друго дејство). Примери за такви знаци се: | ||
Ред 167: | Ред 173: | ||
| Tab | | Tab | ||
| \t | | <span style="color:lightgreen">\t</span> | ||
|- | |- | ||
Ред 173: | Ред 179: | ||
| " | | " | ||
| \" | | <span style="color:lightgreen">\"</span> | ||
|- | |- | ||
Ред 191: | Ред 197: | ||
| Shift+Enter | | Shift+Enter | ||
| Вметнува \n и започнува нова линија | | Вметнува <span style="color:green">\n</span> и започнува нова линија | ||
|} | |} | ||
=== Кратенки за тастатура === | |||
{| class="wikitable" border=1 | |||
|- | |||
! Кратенка | |||
! Функција | |||
|- | |||
| Page Up | |||
| Оди на претходната порака | |||
|- | |||
| Page Down | |||
| Оди на следната порака | |||
|- | |||
| Ctrl+Page Up | |||
| Оди на претходната порака со нејасен превод | |||
|- | |||
| Ctrl+Page | |||
| Down Оди на следната порака со нејасен превод | |||
|- | |||
| Alt+Page Up | |||
| Оди на претходната непреведена порака | |||
|- | |||
| Alt+Page Down | |||
| Оди на следната непреведена порака | |||
|- | |||
| Shift+Page Up | |||
| Оди на претходната порака со погрешен превод | |||
|- | |||
| Shift+Page Down | |||
| Оди на следната порака со погрешен превод | |||
|- | |||
| Ctrl+Shift+Page Up | |||
| Оди на претходната нејасна или непреведена порака | |||
|- | |||
| Ctrl+Shift+Page Down | |||
| Оди на следната нејасна или непреведена порака | |||
|- | |||
| Alt+Ctrl+Home | |||
| Оди на првата порака | |||
|- | |||
| Alt+Ctrl+End | |||
| Оди на последната порака | |||
|- | |||
| Ctrl+Shift+Delete | |||
| Го брише преводот на тековната порака | |||
|- | |||
| Ctrl+Space | |||
| Го копира оригиналниот текст во полето за преведен текст за тековната порака | |||
|- | |||
| Alt+Ctrl+Space | |||
| Го копира резултатот од пребарувањето на базата со преводи во прозорчето за превод | |||
|- | |||
| Ctrl+U | |||
| Го означува или одозначува текстот како нејасен за тековната порака | |||
|- | |||
| Alt+Ctrl+1 | |||
| Пребарува во базата со преводи за текстот од прозорчето со оригиналниот текст | |||
|- | |||
| Ctrl+1 | |||
| Пребарува во базата со преводи за означениот текст | |||
|} | |||
== Ресурси и врски == | == Ресурси и врски == | ||
Ред 215: | Ред 342: | ||
== Додаток А: Формат на PO-датотеките == | == Додаток А: Формат на PO-датотеките == | ||
PO-датотеките се составени од повеќе записи каде што секој запис ја содржи релацијата меѓу оригиналната | PO-датотеките се составени од повеќе записи каде што секој запис ја содржи релацијата меѓу оригиналната порака и нејзиниот превод. Обично сите записи во дадена PO-датотека се однесуваат на еден проект и сите преводи се направени на еден јазик. Следува шематската структура на еден запис од PO-датотека: | ||
<code><b> | |||
<span style="color:#9999CC">prazen-prostor</span> | |||
<span style="color:gray"># komentari-na-preveduvacite</span> | |||
<span style="color:blue">#. avtomatski-komentari</span> | |||
<span style="color:blue">#: referenca...</span> | |||
<span style="color:blue">#, znamence...</span> | |||
msgid <span style="color:red">originalna-poraka</span> | |||
msgstr <span style="color:red">prevedena-poraka</span> | |||
</b></code> | |||
По празниот простор и коментарите следуваат две низи знаци. Прво е | Записите започнуваат со празен простор (празни места и/или празни редови) што не е задолжително. Обично, кога PO-датотеките се генерираат со алатките на [[GNU]] gettext, има точно еден празен ред меѓу записите. Потоа следуваат коментарите, на редови што започнуваат со знакот #. Има два вида коментари. Коментарите што имаат празно место веднаш по знакот # (во примерот се дадени со сива боја) се креирани и одржувани само од преведувачот. Коментарите што имаат одреден знак веднаш по знакот # (во примерот се дадени со сина боја) автоматски се креираат и одржуваат од алатките на [[GNU]] gettext. Сите коментари, независно од видот, се незадолжителни. | ||
По празниот простор и коментарите следуваат две низи знаци. Прво е оригиналната порака како што се јавува во изворниот код на програмата, а потоа преводот. Оригиналната порака е означена со клучниот збор <code><b>msgid</b></code>, а преведената со <code><b>msgstr</b></code>. Двете низи знаци се означени на разни начини во PO-датотеката, користејќи наводници (") како раздвојувачи и обратни коси црти (\) како escape-знаци. Низите означени со клучниот збор <code><b>msgid</b></code> се генерираат автоматски од алатките на GNU gettext. | |||
Редовите што започнуваат со <nowiki>#</nowiki>, (знакот <nowiki>#</nowiki> после кој следува запирка) се специјални бидејќи тие не се игнорираат целосно како другите коментари. Листата од знаменца, разделени со запирка, се користи од програмата msgfmt за на корисникот да му се дадат подобри дијагностички пораки. Моментално има две дефинирани форми на знаменцата: | Редовите што започнуваат со <nowiki>#</nowiki>, (знакот <nowiki>#</nowiki> после кој следува запирка) се специјални бидејќи тие не се игнорираат целосно како другите коментари. Листата од знаменца, разделени со запирка, се користи од програмата msgfmt за на корисникот да му се дадат подобри дијагностички пораки. Моментално има две дефинирани форми на знаменцата: | ||
* '''fuzzy''' - Ова знаменце може да биде генерирано од програмата msgmerge или може да биде вметнато од самиот преведувач. Знаменцето укажува дека пораката дадена во msgstr може да не е (веќе) правилниот превод. Само преведувачот може да процени дали преводот има потреба од натамошни измени или е прифатлив како што е. По извршените измени, преведувачот може да го отстрани знаменцето. | * '''''fuzzy''''' - Ова знаменце може да биде генерирано од програмата <code><b>msgmerge</b></code> или може да биде вметнато од самиот преведувач. Знаменцето укажува дека пораката дадена во <code><b>msgstr</b></code> може да не е (веќе) правилниот превод. Само преведувачот може да процени дали преводот има потреба од натамошни измени или е прифатлив како што е. По извршените измени, преведувачот може да го отстрани знаменцето. | ||
* '''c-format ; no-c-format''' - Овие знаменца се додаваат автоматски од програмата xgettext и не треба да се менуваат ниту отстрануваат | * '''''c-format ; no-c-format''''' - Овие знаменца се додаваат автоматски од програмата xgettext и не треба да се менуваат ниту рачно да се отстрануваат. | ||
Ако за некој одреден запис е дадено знаменцето c-format, програмата msgfmt прави дополнителни тестови за да ја провери валидноста на преводот. | Ако за некој одреден запис е дадено знаменцето c-format, програмата <code><b>msgfmt</b></code> прави дополнителни тестови за да ја провери валидноста на преводот. | ||
Секоја од низите | Секоја од низите <code><b><span style="color:red">originalna-poraka</span></b></code> и <code><b><span style="color:red">prevedena-poraka</span></b></code> е напишана според синтаксата за низи знаци на јазикот Ц, вклучително и наводниците околу низите и вклучените escape-секвенци, зададени со обратна коса црта. Ако се пишуваат низи знаци на повеќе редови, по последниот знак се затвора наводникот и потоа на следниот ред се отвора нов наводник по кој продолжува пораката. На пример: | ||
<code><b> | |||
"Еве еден пример како може еден многу долг ред да се продолжи\n" | msgstr <span style="color:red">""</span> | ||
"во случај кога се работи за порака со повеќе редови.\n" | <span style="color:red">"Еве еден пример како може еден многу долг ред да се продолжи\n"</span> | ||
<span style="color:red">"во случај кога се работи за порака со повеќе редови.\n"</span> | |||
</b></code> | |||
Во примерот, во првиот ред заедно со клучниот збор се користи празна низа за да се овозможи подобро порамнување на буквата Е од зборот „Еве“ над буквата в од зборот „во“. Тоа значи дека по клучниот збор | Во примерот, во првиот ред заедно со клучниот збор се користи празна низа за да се овозможи подобро порамнување на буквата Е од зборот „Еве“ над буквата в од зборот „во“. Тоа значи дека по клучниот збор <code><b>msgstr</b></code> следуваат три низи знаци што ќе бидат споени. Спојувањето со празната низа не го менува крајниот резултат, а таа се користи поради потребата по <code><b>msgstr</b></code> на истиот ред да следува низа знаци и во исто време пораката да остане порамнета одлево. Празната низа можеше да биде и испуштена, но само ако наместо неа по <code><b>msgstr</b></code> следуваше низата што почнува со „Еве...“. Исто така не е потребно да се започне втората низа веднаш по знакот за нов ред „\n“, туку тоа е направено само затоа што е попрегледно. | ||
При пишувањето треба да се води сметка за знаците за нов ред „\n“ што се наоѓаат во рамките на низите (внатре во наводниците) кои што се дел од дадените пораки, и краевите на редови во самата PO-датотека што немаат влијание на пораките. | При пишувањето треба да се води сметка за знаците за нов ред „\n“ што се наоѓаат во рамките на низите (внатре во наводниците) кои што се дел од дадените пораки, и краевите на редови во самата PO-датотека што немаат влијание на пораките. | ||
Надвор од низите, празните редови/места и коментарите може да се произволно | Надвор од низите, празните редови/места и коментарите може да се користат произволно. Коментарите започнуваат на почетокот на редот со знакот „#“ и се протегаат до крајот на редот во PO-датотеката. | ||
== Останати забелешки == | == Останати забелешки == | ||
Ред 251: | Ред 383: | ||
=== За документот === | === За документот === | ||
Верзија на | Верзија на документот: 0.4 | ||
Датум на последна измена: 19.08.2006 | Датум на последна измена: 19.08.2006 | ||
Оригинален автор на „Кус водич за КБабел“ е Благоја Ѓаковски <blgj@freemail.com.mk> | Оригинален автор на „Кус водич за КБабел“ е Благоја Ѓаковски <blgj@freemail.com.mk> | ||
Оригинален автор на КБабел е Matthias Kiefer <kiefer@kde.org> | Оригинален автор на КБабел е Matthias Kiefer <kiefer@kde.org> | ||
Задолжен за одржување на КБабел е Stanislav Visnovsky <visnovsky@kde.org> | Задолжен за одржување на КБабел е Stanislav Visnovsky <visnovsky@kde.org> | ||
Документот во XHTML формат го стави Златко Трајчески <zlat@bagra.org> | Документот во XHTML формат го стави Златко Трајчески <zlat@bagra.org> | ||
Последна измена Божидар Проевски <bobibobi@freemail.com.mk>, 2006 | Последна измена Божидар Проевски <bobibobi@freemail.com.mk>, 2006 | ||
=== TODO === | === TODO === |
Последна преработка од 17:39, 29 јануари 2011
Овој документ е наменет за корисниците што почнуваат со работа во GNU/Linux и кои што сакаат да се вклучат во процесот на локализација (преведување) на слободен софтвер. Тоа не значи дека не би им бил од корист и на оние понапредни и поискусни корисници на GNU/Linux што сакаат да се вклучат во процесот на локализација на програмите, а првпат се среќаваат со програмата КБабел и со техниките на преведување, креирање речници (бази со зборови) и пишување програми што поддржуваат интернационализација.
Документов е создаден како последица на потребата од инволвирање на повеќе заинтересирани корисници на слободен софтвер за негово преведување на македонски јазик. Тој претставува дел од проектите за локализација и креирање документација на невладината организација „Слободен софтвер Македонија“. Повеќе информации за проектите има на сајтот на организацијата. Во случај да сакате да се вклучите во некој од проектите на организацијата и да помогнете на каков било начин, слободно пишете на е-поштенската адреса info@slobodensoftver.org.mk или стапете во контакт со координаторот за соодветниот проект (за повеќе информации погледнете ја страницата со проекти или Интернет-страницата на организацијата).
Документов содржи доволно информации за читателите да стекнат основно познавање за работа со програмата КБабел и да можат активно да се вклучат во процесот на преведување. Детално е опишана целата постапка за инсталирање и конфигурирање на програмата пред почетокот на користење, како и опис на процесот како би се извело преведување на една PO (односно POT) датотека. Текстот изобилува со информации за лесно вклучување во процесот и ги објаснува повеќето термини што се од битно значење и се основа за понатамошно напредување. За какви било прашања, информации или критики во врска со документов не се двоумете да стапите во контакт со авторот на документов, тој со задоволство ќе Ви одговори.
Вовед
Што е КБабел ?
КБабел претставува збир од алатки за уредување и ракување со PO-датотеки, креирани со gettext. Главната компонента е моќниот и удобен уредувач за PO-датотеки чии главни карактеристики се целосната способност за навигација, потполната уредувачка функционалност, способноста да бара превод во различни речници (бази со зборови), проверка на правопис и синтакса, приказ на разлики и многу повеќе. Исто така го содржи и „Менаџерот на каталози“ кој што овозможува преглед на PO-датотеките во вид на менаџер на датотеки. Во КБабел е вклучен и речник на зборови кој може да работи и како независна апликација и има можност за пристап до базите со зборови во КБабел. КБабел овозможува брзо и сигурно преведување и одржување на веќе преведените PO-датотеки како и лесно допреведување на PO-датотеките за новите верзии на програмите.
За оние што се нови во процесот на преведување, еве накратко опис на некои термини што се поврзани со процесот на преведување на програми и на зборови што често ќе се употребуваат во овој текст:
- PO-датотека - претставува текстуална датотека која има екстензија .po (на пример kdelibs.po) и која што ја преведуваме на соодветниот јазик (во нашиов случај на македонски). PO-датотеките можеме да ги уредуваме и преведуваме со најобичен уредувач на текст. На почетокот на PO-датотеките (во заглавието) се наоѓаат информации за кодирањето што се користи во преводот (ние користиме utf-8), податоци за преведувачите на датотеката, јазикот на кој се преведува, датум кога последен пат е изменета датотеката и некои други информации. Во PO-датотеката се наоѓаат и оригиналните текстови (на англиски јазик) што треба да се преведат и преведените текстови на соодветниот јазик на кој што го вршиме преводот. Подетални информации околу форматот на PO-датотеките има во документацијата на алатката gettext.
- POT-датотека - доаѓа од зборот PO Template и е датотека која што има наставка .pot (на пример kdelibs.pot). Таа е идентична датотека (ист формат) како и PO-датотеката и претставува образец за од неа да се креираат PO-датотеки за секој јазик посебно на кој што преведуваме. POT-датотеката има ист формат како PO-датотеката, но ги содржи само текстовите во нивната оригинална форма (на англиски јазик). Така, за да извршиме превод на некоја програма на македонски јазик, ја земаме POT-датотеката на таа програма (која се наоѓа во пакетот со изворниот код на програмата) и ја преименуваме така што наместо наставка .pot да има наставка .po и потоа ја преведуваме со програмата КБабел.
- gettext - тоа е програмерска алатка која им овозможува на програмерите да пишуваат програми што лесно ќе се преведуваат на разни (човечки) јазици. Таа од изворниот код ги вади текстуалните делови и ги запишува во POT-датотеки за подоцна да се преведат на разни јазици. Алатката gettext не е дел од КБабел, а повеќе информации може да се најдат на официјалната Интернет- страница (http://gettext.gnu.org/).
- locale или локале, l10n или локализација, i18n или интернационализација, charset или множество знаци, utf-8, iso-8859-5, cp1251, windows-1251, iso-10646, unicode - за овие термини повеќе информации во некоја од следните верзии на документов.
Технички податоци (побарувања)
За да работи КБабел, потребни му се:
- kdelibs
- Qt
- Berkeley Database IV (db4) - за работа на базата со преводи
Инсталирање на КБабел
КБабел најчесто доаѓа со популарните дистрибуции на GNU/Linux и може да го инсталирате преку соодветните алатки за менаџирање пакети што доаѓаат со дистрибуциите. Најновата верзија може да се симне од официјалната Интернет-страница (прочитајте во поглавјето Ресурси од овој документ).
КБабел е достапен и како бинарен пакет на компакт-дисковите од дистрибуциите (во бинарна форма или како изворен код) и како .tar.bz2 на официјалната Интернет-страница (како изворен код).
За инсталирање на бинарен (значи веќе компилиран) rpm-пакет, ја користиме следнава наредба:
# rpm -Uvh kbabel-x.x.x.rpm
каде што x.x.x се броеви што ја означуваат верзијата на програмата, а знакот # (тараба) ја претставува командната линија (значи него го изоставуваме при пишувањето). Претходната наредба и сите останати наредби во ова поглавје ги пишуваме во команден терминал или познат и како школка (shell), при што наредбите за инсталирање ги извршуваме како корисник со администраторски привилегии (root).
За компилирање и инсталирање на КБабел од неговата изворна форма (изворен код) прво креираме некоја помошна папка (на пример ~/kb) во сопствената домашна папка. Во неа го копираме пакетот со изворниот код и потоа го распакуваме. Тоа е опишано со следниве наредби:
# mkdir ~/kb # cp kbabel-x.x.tar.bz2 ~/kb # cd ~/kb # tar -xvjf kbabel-x.x.tar.bz2
Понатаму, откако ќе влеземе во папката каде што е распакуван изворниот код, продолжуваме со компилирањето па потоа со инсталирањето:
# cd kbabel-x.x # ./configure # make # su -c make install
За повеќе информации околу параметрите на configure напишете го следново:
# ./configure --help
По инсталирањето, КБабел може да се стартува со наредбата kbabel
или преку менито со програми.
Ако сакате да го користите речникот (Translation Database) што е „вграден“ во КБабел и кој ќе ви овозможи креирање на Ваша база со преводи и автоматско преведување на PO-датотеки, тогаш пред да ја изведете погоре опишаната постапка ќе треба да ја инсталирате Berkeley Database. Во спротивно КБабел ќе се искомпилира без речникот во него. За да ја изберете соодветната верзија на Berkeley Database (базата е позната и како db2 или db4 зависно од верзијата) што би одговарала на верзијата на изворниот код на КБабел што ја имате, прочитајте ги упатствата од датотеката README која се наоѓа во папката каде што се наоѓа изворниот код на КБабел. На пример, за верзијата 1.2 на КБабел потребна е Berkeley DB IV која ја има на повеќето дистрибуции на GNU/Linux или можете да ја побарате на нејзината официјална Интернет-страница http://www.sleepycat.com/. Потребно е да ги инсталирате бинарниот пакет со базата и пакетот за развој (devel). На пример, тоа се пакетите db4-4.4.20-12 и db4-devel-4.4.20-12. Инсталирањето на овие пакети се прави на следниов начин:
# rpm -Uvh db4-4.4.20-12.i386.rpm # rpm -Uvh db4-devel-4.4.20-1.i386.rpm
Инсталирав! Што потоа?
Конфигурација на проект
Големите софтверски проекти како што се КДЕ, ОпенОфис, Мозила, ГНОМ и други, доаѓаат со голем број апликации, библиотеки и придружен софтвер и се поделени во голем број датотеки со изворен код кои што содржат разни пораки. При генерирањето на POT-датотеките, пораките од изворниот код се групираат, при што една POT-датотека може да содржи пораки од повеќе датотеки. Исто така POT-датотеките можат да бидат распоредени по папки, според одделните апликации на софтверот (или поинаку организирани). Во рамките на КБабел се наоѓа програмата „Менаџер на каталози“ (catalogmanager) која работи како менаџер на датотеки и го олеснува ракувањето со PO и POT-датотеките. Основен параметар при конфигурацијата на catalogmanager се патеките во кои се наоѓаат PO и POT-датотеките. catalogmanager прави спојување на двете патеки и креира стебло во кое се прикажани и обрасците и веќе преведените датотеки. Со помош на catalogmanager може лесно да се започне превод на празна POT-датотека, да се провери статусот на преводот, да се прави глобално пребарување и многу други работи. Ако се работи на превод на големи софтверски проекти, препорачлива е употребата на catalogmanager.
- Креирање нов проект за преведување и конфигурирање на проект
По стартувањето на празен „Менаџер на каталози“, од менито „Проект“ се избира „Нов...“ по што се отвора волшебникот за проекти. Тука се внесува името на проектот (описно, но кратко), датотеката каде што ќе се чуваат параметрите за проектот, јазикот на преведување и типот на проект. За конфигурациската датотека е најдобро со кликнување врз иконата со папка да дојдете до соодветната папка каде што ќе се чува датотеката и во истиот дијалог, во полето „Локација“, да го запишете името на датотеката и да кликнете на копчето „Во ред“. Датотеката (со целосната патека) ќе се појави во полето. Во полето „Јазик“ избирате „Macedonian“, а за полето „Тип на проект“ ја избирате соодветната ставка, во зависност на каков проект работите (на пример, ако преведувате за КДЕ, го ставате на „KDE“). Кликнувате на „Следен“. Ќе се појави нов дијалог во кој треба да се внесат патеките до PO и POT-датотеките. Со кликнување на копчето „Заврши“ волшебникот се затвора и се вчитуваат датотеките за преведување.
Потоа од менито „Проект“ се избира „Конфигурирај...“ за да се доврши конфигурацијата на проектот. Се појавува дијалогот за конфигурација во кој (на страницата „Идентитет“) се внесуваат основните податоци за корисникот на програмата (преведувачот) како што се: неговото име и презиме со латинични букви и во оригинал, неговата е-поштенска адреса и е-поштенската адреса на преведувачката група на која ѝ припаѓа, името на јазикот на кој се преведува, кодот на јазикот и некои други параметри.
На секое наредно стартување, проектот може да го вчитаме преку менито „Проект“ -> „Отвори“ или може да го стартуваме од командна линија со наредбата
# catalogmanager --project <datoteka_so_konfiguracija>
На долната слика е даден дијалогот за конфигурација на менаџерот на каталози:
Конфигурација на интерфејсот
По инсталирањето на КБабел и неговото прво стартување се отвора дијалогот „Конфигурирај“ (даден на сликата). Одберете ја страницата „Фонтови“ и изберете соодветен фонт (на пример Fixed 12) што ќе се користи во прозорчињата за внесување и прикажување на преведениот и оригиналниот текст. За останатите параметри во овој дијалог сметам дека нема потреба да се дискутира (можеби во некоја следна верзија на документов).
Со притискање на копчето „Во ред“ дијалогот „Конфигурирај“ се затвора, а податоците што претходно сме ги внеле таму се зачувуваат во програмата. Ако сакаме повторно да го отвориме дијалогот „Конфигурирај“ со цел да извршиме корекција на некој податок во него, треба да ја избереме опцијата „Конфигурирај КБабел...“ која се наоѓа во менито „Поставувања“.
Опис на корисничкиот интерфејс
Менаџер на каталози
На наредната слика е прикажан менаџерот на каталози.
Во првата колона се датотеките, групирани во папки според пакетот на кој припаѓаат. Останатите колони прикажуваат разни информации за статусот на датотеките и папките како што се: маркери за датотеките, број на пораки (нејасни, непреведени и вкупно), статус во CVS/SVN (CVS и SVN се системи за контрола на верзии на датотеки), датум на последната промена на датотеката како и преведувачот што последен работел на датотеката. Иконите што се наоѓаат лево од датотеките и папките исто така укажуваат на нивниот статус:
- Сите пораки во датотеката се преведени
- Некои од пораките во датотеката се нејасни или непреведени
- Датотеката не постои во папката со PO-датотеки (т.е. воопшто не е преведена)
- Датотеката содржи синтаксички грешки (неисправна)
- Информациите за датотеката се ажурираат. Кога ќе заврши ажурирањето, ќе биде прикажана една од претходните четири икони.
Ако датотеката е дополнително означена со , како на пример , тоа значи дека датотеката или папката не постои во папката со POT-датотеки (постои превод, но нема оригинал).
Папките можат да бидат означени со следниве две икони:
- Сите датотеки во папката се целосно преведени
- Некои од датотеките не се целосно преведени (или се погрешни)
Преку интерфејсот на менаџерот на каталози може да се отвораат датотеки за преведување, да се иницираат празни (непреведени) датотеки, да се прави преглед на статистички податоци, проверка на синтакса и правопис и многу други активности врз датотеките. Најголем дел од функциите се достапни преку десен клик со глушецот.
КБабел
Пред нас е интерфејсот на програмата кој што е прикажан на сликата подолу.
Во левото горно поле се наоѓа оригиналниот текст што треба да го преведеме, а во левото долно поле го пишуваме преводот. Веднаш над полето во кое што го внесуваме преводот се наоѓаат три „сијалички“ што се означени како „нејасна“, „непреведена“ и „погрешна“. Тие го означуваат статусот на преводот во тековната позиција. Доколку не сме сигурни за одреден превод дали е добар, тогаш можеме да го означиме или одозначиме како нејасен со притискање на Ctrl+U на тастатурата (или „Смени статус на нејасна“ од менито „Уредување“). Ако прозорчето за внесување на преводот е празно тогаш е активирана „сијаличката“ „непреведена“. Во горното десно поле се наоѓаат коментарите и информациите поврзани за тековната позиција што ја преведуваме и овие податоци не треба да ги менуваме. Овие податоци се генерираат автоматски при креирањето на POT-датотеката со алатката gettext и се потребни за по преведувањето да може да се изврши поврзување на преводот со програмата. Во десниот долен дел на програмата се наоѓа прозорец со четири ливчиња. Ќе го разгледаме само првото ливче „Барање“. Тука се наоѓаат информациите поврзани со пребарувањето на базата со преводи.
База со преводи (Translation Database)
За да можеме да ја користиме оваа можност на КБабел, прво треба да креираме база со преводи (речник) од веќе преведени PO-датотеки. Тоа го правиме на тој начин што ќе ја избереме опцијата „Конфигурирај речник“ -> „База на преводи“ од менито „Поставувања“. По избор на оваа опција ќе се појави дијалог во кој се наоѓаат некои параметри поврзани со начинот на пребарување на базата. Го избираме ливчето „База на податоци“. Во полето „Папка со база на податоци“ може да ја смените локацијата каде што ќе се чува базата со податоци. Ова е корисно ако сакате базата на податоци за KDE да Ви биде одвоена од другите преводи. Потоа притискаме на копчето „Скенирај папка и потпапки...“ и ја одбираме папката во која ни се наоѓаат сите веќе преведени PO-датотеки од чии што преводи ќе ја креираме базата со преводи. Креирањето на базата може да потрае и неколку минути. При преведување на некоја PO-датотека, базата со преводи автоматски се надополнува со новите преводи.
Како се користи базата?
Доколку сакаме да побараме во базата со преводи дали постои превод за текстот од полето со оригиналниот текст (горе лево) тоа го правиме со притискање на Alt+Ctrl+1 на тастатурата или избор на опцијата „Најди текст“ -> „База на преводи“ од менито „Речници“. Пронајдените резултати се појавуваат во прозорецот (долу десно) кој што служи за пребарување на базата со преводи. Го избираме соодветниот превод од прозорецот и со притискање на Alt+Ctrl+Space на тастатурата или избор на опцијата „Копирај резултат од пребарување во преведена“ од менито „Уредување“, преводот го копираме во полето за преведен текст (долу лево). Пребарување на базата со преводи може да се врши и за соодветен збор или повеќе зборови (дел од текстот) од полето со оригиналниот текст (горе лево) со означување на текстот што сакаме да го бараме и притискање на Ctrl+1 на тастатурата или избор на опцијата „Најди избран текст“ -> „База на преводи“ од менито „Речници“. Копирањето на резултатот од пребарувањето е идентично како во претходниот случај.
Автоматско пребарување
Автоматското барање се конфигурира во дијалогот за конфигурација на КБабел, кој се добива со избирање на „Поставувања -> Конфигурирај КБабел“ во менито. Таму, во одделот „Пребарување“ се активира „Автоматски започни барање“ а за стандарден речник се бира базата на преводи.
Автоматско преведување (Rough Translation)
Освен на погоре опишаниот начин, базата со преводи може да се користи и за автоматско преведување на PO-датотеките. За таа цел ја избираме опцијата „Груб превод...“ од менито „Алатки“. По овој избор се отвора дијалог во кој што се поставуваат одредени параметри за начинот на автоматско преведување. Подетален опис на параметрите од овој дијалог ќе биде даден во некоја од следните верзии на овој документ. Понатаму со притискање на копчето „Старт“ започнува автоматското преведување на PO-датотеката со преводите што се наоѓаат во базата со преводи. Ова може да потрае и неколку минути.
Совети за преведување
Сигурно уште на самиот почеток забележавте дека во полињата за оригиналниот текст (горе лево) и преведениот текст (долу лево) на позициите каде што треба да има празно место (на пример, помеѓу зборовите) се појавува точка. Тоа не треба да Ви прави никаква забуна затоа што тоа е намерно направена опција во КБабел за да се зголеми прегледноста при преведувањето. Во одредени случаи кога не би имало точка тешко би било да се одреди дали на тоа место (меѓу двата збора) има празно место или се двата збора споени. При преведувањето ќе забележите дека некои зборови (знаци или групи знаци) во прозорчињата за оригиналниот текст и преведениот текст се прикажуваат во друга боја. Тоа се таканаречените „escape-знаци“ кои што на почетокот почнуваат со знакот „\“ (коса црта). Пример за такви знаци се \n, \", \t и нив најчесто ќе ги среќавате. Освен овие escape-знаци ќе се сретнете и со променливи што почнуваат со знакот „%“ (процент), како на пример %s. Исто така, со друга боја е означен и текстот што се наоѓа меѓу знаците „<“ и „>“ (помало и поголемо), на пример некоја е-поштенска адреса. Карактеристично за овие три случаи е тоа што овој дел од текстот (што е во друга боја) не се преведува туку се препишува во оригинална форма. Дали правилно сте го препишале ќе бидете сигурни со тоа што и во полето за преведениот текст ќе биде означен со истата таа боја. За одредени escape-знаци Кбабел има можност за т.н. „паметно уредување“. Тоа функционира така што при внесување на одреден знак Кбабел автоматски ја додава обратната коса црта (или некое друго дејство). Примери за такви знаци се:
Тастер | Вметнат знак |
---|---|
Tab | \t |
" | \" |
Enter | Ако последниот знак пред покажувачот не е празно место, вметнува празно место. Потоа започнува нова линија |
Ctrl+Enter | Започнува нова линија (без додатна логика) |
Shift+Enter | Вметнува \n и започнува нова линија |
Кратенки за тастатура
Кратенка | Функција |
---|---|
Page Up | Оди на претходната порака |
Page Down | Оди на следната порака |
Ctrl+Page Up | Оди на претходната порака со нејасен превод |
Ctrl+Page | Down Оди на следната порака со нејасен превод |
Alt+Page Up | Оди на претходната непреведена порака |
Alt+Page Down | Оди на следната непреведена порака |
Shift+Page Up | Оди на претходната порака со погрешен превод |
Shift+Page Down | Оди на следната порака со погрешен превод |
Ctrl+Shift+Page Up | Оди на претходната нејасна или непреведена порака |
Ctrl+Shift+Page Down | Оди на следната нејасна или непреведена порака |
Alt+Ctrl+Home | Оди на првата порака |
Alt+Ctrl+End | Оди на последната порака |
Ctrl+Shift+Delete | Го брише преводот на тековната порака |
Ctrl+Space | Го копира оригиналниот текст во полето за преведен текст за тековната порака |
Alt+Ctrl+Space | Го копира резултатот од пребарувањето на базата со преводи во прозорчето за превод |
Ctrl+U | Го означува или одозначува текстот како нејасен за тековната порака |
Alt+Ctrl+1 | Пребарува во базата со преводи за текстот од прозорчето со оригиналниот текст |
Ctrl+1 | Пребарува во базата со преводи за означениот текст |
Ресурси и врски
- Локација од каде што може да се преземе КБабел (до верзија 1.2) (поновите верзии на Кбабел се дистрибуираат како дел од пакетот kdesdk што доаѓа заедно со KDE)
Користена литература
- The KBabel Handbook
- The KDE Translation HOWTO
- Интернет :)
Додаток А: Формат на PO-датотеките
PO-датотеките се составени од повеќе записи каде што секој запис ја содржи релацијата меѓу оригиналната порака и нејзиниот превод. Обично сите записи во дадена PO-датотека се однесуваат на еден проект и сите преводи се направени на еден јазик. Следува шематската структура на еден запис од PO-датотека:
prazen-prostor
# komentari-na-preveduvacite
#. avtomatski-komentari
#: referenca...
#, znamence...
msgid originalna-poraka
msgstr prevedena-poraka
Записите започнуваат со празен простор (празни места и/или празни редови) што не е задолжително. Обично, кога PO-датотеките се генерираат со алатките на GNU gettext, има точно еден празен ред меѓу записите. Потоа следуваат коментарите, на редови што започнуваат со знакот #. Има два вида коментари. Коментарите што имаат празно место веднаш по знакот # (во примерот се дадени со сива боја) се креирани и одржувани само од преведувачот. Коментарите што имаат одреден знак веднаш по знакот # (во примерот се дадени со сина боја) автоматски се креираат и одржуваат од алатките на GNU gettext. Сите коментари, независно од видот, се незадолжителни.
По празниот простор и коментарите следуваат две низи знаци. Прво е оригиналната порака како што се јавува во изворниот код на програмата, а потоа преводот. Оригиналната порака е означена со клучниот збор msgid
, а преведената со msgstr
. Двете низи знаци се означени на разни начини во PO-датотеката, користејќи наводници (") како раздвојувачи и обратни коси црти (\) како escape-знаци. Низите означени со клучниот збор msgid
се генерираат автоматски од алатките на GNU gettext.
Редовите што започнуваат со #, (знакот # после кој следува запирка) се специјални бидејќи тие не се игнорираат целосно како другите коментари. Листата од знаменца, разделени со запирка, се користи од програмата msgfmt за на корисникот да му се дадат подобри дијагностички пораки. Моментално има две дефинирани форми на знаменцата:
- fuzzy - Ова знаменце може да биде генерирано од програмата
msgmerge
или може да биде вметнато од самиот преведувач. Знаменцето укажува дека пораката дадена воmsgstr
може да не е (веќе) правилниот превод. Само преведувачот може да процени дали преводот има потреба од натамошни измени или е прифатлив како што е. По извршените измени, преведувачот може да го отстрани знаменцето.
- c-format ; no-c-format - Овие знаменца се додаваат автоматски од програмата xgettext и не треба да се менуваат ниту рачно да се отстрануваат.
Ако за некој одреден запис е дадено знаменцето c-format, програмата msgfmt
прави дополнителни тестови за да ја провери валидноста на преводот.
Секоја од низите originalna-poraka
и prevedena-poraka
е напишана според синтаксата за низи знаци на јазикот Ц, вклучително и наводниците околу низите и вклучените escape-секвенци, зададени со обратна коса црта. Ако се пишуваат низи знаци на повеќе редови, по последниот знак се затвора наводникот и потоа на следниот ред се отвора нов наводник по кој продолжува пораката. На пример:
msgstr ""
"Еве еден пример како може еден многу долг ред да се продолжи\n"
"во случај кога се работи за порака со повеќе редови.\n"
Во примерот, во првиот ред заедно со клучниот збор се користи празна низа за да се овозможи подобро порамнување на буквата Е од зборот „Еве“ над буквата в од зборот „во“. Тоа значи дека по клучниот збор msgstr
следуваат три низи знаци што ќе бидат споени. Спојувањето со празната низа не го менува крајниот резултат, а таа се користи поради потребата по msgstr
на истиот ред да следува низа знаци и во исто време пораката да остане порамнета одлево. Празната низа можеше да биде и испуштена, но само ако наместо неа по msgstr
следуваше низата што почнува со „Еве...“. Исто така не е потребно да се започне втората низа веднаш по знакот за нов ред „\n“, туку тоа е направено само затоа што е попрегледно.
При пишувањето треба да се води сметка за знаците за нов ред „\n“ што се наоѓаат во рамките на низите (внатре во наводниците) кои што се дел од дадените пораки, и краевите на редови во самата PO-датотека што немаат влијание на пораките.
Надвор од низите, празните редови/места и коментарите може да се користат произволно. Коментарите започнуваат на почетокот на редот со знакот „#“ и се протегаат до крајот на редот во PO-датотеката.
Останати забелешки
За документот
Верзија на документот: 0.4
Датум на последна измена: 19.08.2006
Оригинален автор на „Кус водич за КБабел“ е Благоја Ѓаковски <blgj@freemail.com.mk>
Оригинален автор на КБабел е Matthias Kiefer <kiefer@kde.org>
Задолжен за одржување на КБабел е Stanislav Visnovsky <visnovsky@kde.org>
Документот во XHTML формат го стави Златко Трајчески <zlat@bagra.org>
Последна измена Божидар Проевски <bobibobi@freemail.com.mk>, 2006
TODO
- Опис на .mo датотеките
- Подетален опис на параметрите од ова прозорче (Rough Translation) ќе биде даден во некоја од следните верзии на овој документ.
- Опис на останатите опции од прозорчето Configure KBabel
- Опис на следниве термини: locale или локале, l10n или локализација, i18n или интернационализација, charset или карактер-сет или сет на карактери, utf-8, iso-8859-5, cp1251, windows-1251, iso-10646, unicode.
- Опис на опцијата Find од менито Edit.