wiki:HowToUpdateWebkit

Обновяване на превода на WebKitGTK+

Защо преводите на WebKitGTK+ не могат да се обновят по стандартният начин?

Проблемът

Кодът на WebKit(GTK+) е структуриран различно от повечето проекти разработвани и разпространявани като свободен софтуер. Това не позволява обновяване на низовете на преводите по стандартният начин чрез intltool-update.

В README файла (Source/WebKit?/gtk/po/README) от изходния код е посочено как би трябвало да се обновят преводите, но информацията не е напълно вярна:

$ make webkit.pot-update
$ make update-po

Посоченото правило „webkit.pot-update“ не съществува.

Допълнителни затруднения

Генерирането на Makefile и използването на make изисква наличието на всички зависимости нужни за компилиране. Това е почти невъзможно при повечето дистрибуции, където версиите на зависимостите са по-стари от необходимите. Преглед на генерирания Makefile води до извода, че обновяването на ръка ще е трудно и има вероятност да доведе до недобри резултати.

Обновяване

Генериране на Makefile и обновяване на шаблона

Сравнително лесен начин за удовлетворяване на зависимостите е използването на средата за тестване JHBuild, която е много вероятно вече да използвате, за да тествате преводите си. Разбира се, ако версията в разработка на WebKitGTK+ изисква по-нови версии на програмите и библиотеките от тези достъпни през JHBuild, този метод няма да проработи.

Ако не използвате JHBuild, прочетете как да настроите и използвате средата в статията „Как да тестваме“.

Отидете в папката, където е изходният код на 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 непреведени съобщения.

Сега вече може да работите по обновяването на превода. Успех!

Last modified 9 years ago Last modified on Sep 10, 2011, 9:59:45 AM