= Обновяване на превода на WebKitGTK+ = [[PageOutline]] == Защо преводите на WebKitGTK+ не могат да се обновят по стандартният начин? == === Проблемът === Кодът на !WebKit(GTK+) е структуриран различно от повечето проекти разработвани и разпространявани като свободен софтуер. Това не позволява обновяване на низовете на преводите по [http://fsa-bg.org/project/gtp/wiki/HowToTranslate#%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D1%8F%D0%B2%D0%B0%D0%BD%D0%B5%D0%BD%D0%B0%D1%84%D0%B0%D0%B9%D0%BB%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4 стандартният начин] чрез intltool-update. В README файла (Source/WebKit/gtk/po/README) от изходния код е посочено как би трябвало да се обновят преводите, но информацията не е напълно вярна: {{{ $ make webkit.pot-update $ make update-po }}} Посоченото правило „webkit.pot-update“ не съществува. === Допълнителни затруднения === Генерирането на Makefile и използването на make изисква наличието на всички зависимости нужни за компилиране. Това е почти невъзможно при повечето дистрибуции, където версиите на зависимостите са по-стари от необходимите. Преглед на генерирания Makefile води до извода, че обновяването на ръка ще е трудно и има вероятност да доведе до недобри резултати. == Обновяване == === Генериране на Makefile и обновяване на шаблона === Сравнително лесен начин за удовлетворяване на зависимостите е използването на [HowToTest средата за тестване JHBuild], която е много вероятно вече да използвате, за да тествате преводите си. Разбира се, ако версията в разработка на WebKitGTK+ изисква по-нови версии на програмите и библиотеките от тези достъпни през JHBuild, този метод няма да проработи. Ако не използвате JHBuild, прочетете как да настроите и използвате средата в статията [HowToTest „Как да тестваме“]. Отидете в папката, където е изходният код на !WebKit. Например: {{{ $ cd ~/src/webkit-svn/ }}} Въведете следната команда, за да използвате обвивката на средата JHBuild: {{{ $ jhbuild shell }}} За да генерирате Makefile изпълнете autogen.sh със следните параметри: {{{ $ ./autogen.sh --prefix $JHBUILD_PREFIX --libdir $JHBUILD_PREFIX/lib --with-gtk=3.0 \ --enable-introspection --disable-static --disable-gtk-doc \ --includedir $JHBUILD_PREFIX/include/ }}} По този начин зависимостите ще се търсят в папката, където JHBuild инсталира компилираните програми. Приблизително същите параметри се използват от JHBuild при компилирането на модули и дори WebKitGTK+ от архив с изходния код. За съжаление версията, която стандартно се компилира от JHBuild е по-стара от последната, където може да има промени по низовете. Променливата $JHBUILD_PREFIX се задава от средата JHBuild и е настроена в конфигурационния ви файл чрез стойността присвоена на prefix. {{{ $ echo $JHBUILD_PREFIX $ /home/user/gnome-master }}} Ако по някаква причина променливата няма стойност, задайте ѝ. {{{ $ JHBUILD_PREFIX=$HOME/jhbuild_install_dir }}} Изпълнението на скрипта трябва да приключи с изход подобен на този: {{{ WebKit was configured with the following options: ... Introspection support : yes WebKit2 support : no WebKit2 plugin process : no }}} Ако липсва някаква зависимост, опитайте да я компилирате чрез JHBuild в друг терминал и изпълнете autogen.sh отново. Когато бъде генериран Makefile може да преминете към самото обновяване. {{{ $ ls Makefile -l -rw-r--r-- 1 user group 735 2011-08-17 16:32 Makefile }}} === Обновяване на файла с превода === Вярното правило (към 20 авг 2011) за обновяване на файла с шаблона е „webkit-3.0.pot-update“. За да обновите файла с превода е необходимо да изпълните: {{{ $ make webkit-3.0.pot-update $ make update-po-files }}} Всъщност правилото „update-po“ посочено в README файла извиква вярното такова за генериране на шаблона webkit-3.0.pot и допълнително „update-po-files“ за обновяване на файловете с преводите. Вероятно би било по-добре просто да изпълните: {{{ $ make update-po }}} В папката Source/WebKit/gtk/po/ ще намерите обновения файл с превод. {{{ $ ls -l Source/WebKit/gtk/po/bg.po -rw-r--r-- 1 user group 51391 2011-08-20 11:33 Source/WebKit/gtk/po/bg.po $ msgfmt -cvv Source/WebKit/gtk/po/bg.po Source/WebKit/gtk/po/bg.po: 270 преведени съобщения, 18 мъгляви преводи, 16 непреведени съобщения. }}} Сега вече може да работите по обновяването на превода. Успех!