Version 1 (modified by 11 years ago) (diff) | ,
---|
Обновяване на превода на 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 непреведени съобщения.
Сега вече може да работите по обновяването на превода. Успех!