tazweb rev 121

Add i18n to src, Makefile & README; BSD license from Wikipedia; add comment to .desktop file; add Russian translation to .po and .desktop file
author Aleksej Bobylev <al.bobylev@gmail.com>
date Wed Feb 27 18:15:40 2013 +0000 (2013-02-27)
parents c9e4365230ec
children 7ea08f8f0b47
files COPYING Makefile README data/tazweb.desktop doc/tazweb.ru.html po/ru.po src/main.c
line diff
     1.1 --- a/COPYING	Sun Feb 17 12:49:50 2013 +0100
     1.2 +++ b/COPYING	Wed Feb 27 18:15:40 2013 +0000
     1.3 @@ -2,26 +2,25 @@
     1.4  ===============================================================================
     1.5  
     1.6  
     1.7 -Copyright (C) 2011-2013  SliTaz GNU/Linux - BSD License
     1.8 -
     1.9 +Copyright (c) 2011-2013, SliTaz GNU/Linux - BSD License
    1.10 +All rights reserved.
    1.11  
    1.12  Redistribution and use in source and binary forms, with or without
    1.13 -modification, are permitted provided that the following conditions
    1.14 -are met:
    1.15 -1. Redistributions of source code must retain the above copyright
    1.16 -   notice, this list of conditions and the following disclaimer.
    1.17 -2. Redistributions in binary form must reproduce the above copyright
    1.18 -   notice, this list of conditions and the following disclaimer in the
    1.19 -   documentation and/or other materials provided with the distribution.
    1.20 +modification, are permitted provided that the following conditions are met: 
    1.21  
    1.22 -THIS SOFTWARE IS PROVIDED BY SLITAZ GNU/LINUX. ``AS IS'' AND ANY
    1.23 -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1.24 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    1.25 -PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL SLITAZ GNU/LINUX. OR
    1.26 -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    1.27 -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    1.28 -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    1.29 -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
    1.30 -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    1.31 -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    1.32 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    1.33 +1. Redistributions of source code must retain the above copyright notice, this
    1.34 +   list of conditions and the following disclaimer. 
    1.35 +2. Redistributions in binary form must reproduce the above copyright notice,
    1.36 +   this list of conditions and the following disclaimer in the documentation
    1.37 +   and/or other materials provided with the distribution. 
    1.38 +
    1.39 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    1.40 +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    1.41 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    1.42 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    1.43 +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    1.44 +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    1.45 +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    1.46 +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    1.47 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    1.48 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     2.1 --- a/Makefile	Sun Feb 17 12:49:50 2013 +0100
     2.2 +++ b/Makefile	Wed Feb 27 18:15:40 2013 +0000
     2.3 @@ -5,13 +5,36 @@
     2.4  DESTDIR?=
     2.5  
     2.6  PACKAGE=tazweb
     2.7 -VERSION=1.5
     2.8 +VERSION=1.6.4
     2.9 +LINGUAS?=ru
    2.10  
    2.11  all:
    2.12  	gcc src/main.c -o $(PACKAGE) \
    2.13  		`pkg-config --cflags --libs gtk+-2.0 webkit-1.0`
    2.14  	@du -sh $(PACKAGE)
    2.15  
    2.16 +# i18n
    2.17 +
    2.18 +pot:
    2.19 +	xgettext -o po/$(PACKAGE).pot -L C -k_ \
    2.20 +		--package-name="TazWeb" \
    2.21 +		--package-version="$(VERSION)" \
    2.22 +		./src/main.c
    2.23 +
    2.24 +msgmerge:
    2.25 +	@for l in $(LINGUAS); do \
    2.26 +		echo -n "Updating $$l po file."; \
    2.27 +		msgmerge -U po/$$l.po po/$(PACKAGE).pot; \
    2.28 +	done;
    2.29 +
    2.30 +msgfmt:
    2.31 +	@for l in $(LINGUAS); do \
    2.32 +		echo "Compiling $$l mo file..."; \
    2.33 +		mkdir -p po/mo/$$l/LC_MESSAGES; \
    2.34 +		msgfmt -o po/mo/$$l/LC_MESSAGES/$(PACKAGE).mo po/$$l.po; \
    2.35 +	done;
    2.36 +
    2.37 +
    2.38  install:
    2.39  	mkdir -p \
    2.40  		$(DESTDIR)$(DOCDIR)/$(PACKAGE) \
    2.41 @@ -28,6 +51,13 @@
    2.42  	cp -a data/*.html $(DESTDIR)$(PREFIX)/share/tazweb
    2.43  	install -m 0644 data/style.css \
    2.44  		$(DESTDIR)$(PREFIX)/share/tazweb
    2.45 +	cp -a po/mo/* $(DESTDIR)$(PREFIX)/share/locale
    2.46  
    2.47  clean:
    2.48  	rm -f $(PACKAGE)
    2.49 +	rm -rf po/mo
    2.50 +	rm -f po/*.mo
    2.51 +	rm -f po/*.*~
    2.52 +
    2.53 +help:
    2.54 +	@echo "make [ pot | msgmerge | msgfmt | install | clean ]"
     3.1 --- a/README	Sun Feb 17 12:49:50 2013 +0100
     3.2 +++ b/README	Wed Feb 27 18:15:40 2013 +0000
     3.3 @@ -34,11 +34,15 @@
     3.4  $ make
     3.5  $ ./tazweb
     3.6  
     3.7 -Install with 'make install' (PREFIX and DESTDIR are supported for packaging)
     3.8 +Generate translation files:
     3.9 +
    3.10 +$ make msgfmt
    3.11 +
    3.12 +Install with 'make install' (PREFIX and DESTDIR are supported for packaging).
    3.13 +
    3.14  
    3.15  Coding notes
    3.16  ------------
    3.17 -
    3.18      * To get the filename of a WebKitDownload:
    3.19        file = webkit_download_get_suggested_filename (download);
    3.20        
    3.21 @@ -61,8 +65,35 @@
    3.22      * Append a string
    3.23        g_string_append(string, " - TazWeb");
    3.24  
    3.25 -     * Editable webview
    3.26 -       webkit_web_view_set_editable (webview, TRUE);
    3.27 -      
    3.28 +    * Editable webview
    3.29 +      webkit_web_view_set_editable (webview, TRUE);
    3.30 +
    3.31 +
    3.32 +i18n
    3.33 +----
    3.34 +Internationalization of TazWeb was introduced since version 1.6.4.
    3.35 +It's standard GLib technique described in developer notes:
    3.36 +http://developer.gnome.org/glib/2.32/glib-I18N.html
    3.37 +
    3.38 +Translation template (tazweb.pot) and all translations (xx.po) contained
    3.39 +in the po/ folder. To start a new translation use msginit from the
    3.40 +po/ directory. Example for French/France locale (fr_FR):
    3.41 +
    3.42 +$ msginit -l fr_FR -o fr.po -i tazpanel.pot
    3.43 +
    3.44 +If you run msginit directly without any parameters, locale settings of your
    3.45 +system will be used.
    3.46 +
    3.47 +To update pot file from a newly updated sources:
    3.48 +
    3.49 +$ make pot
    3.50 +
    3.51 +To update all translations from a newly updated pot file:
    3.52 +
    3.53 +$ make msgmerge
    3.54 +
    3.55 +To clear the distro from temporary compiled and generated files:
    3.56 +
    3.57 +$ make clean
    3.58  
    3.59  ================================================================================
     4.1 --- a/data/tazweb.desktop	Sun Feb 17 12:49:50 2013 +0100
     4.2 +++ b/data/tazweb.desktop	Wed Feb 27 18:15:40 2013 +0000
     4.3 @@ -2,7 +2,9 @@
     4.4  Type=Application
     4.5  Name=TazWeb Browser
     4.6  Name[ru]=Браузер TazWeb
     4.7 +Comment=SliTaz simple, fast and small Web Browser
     4.8 +Comment[ru]=Простой, быстрый и маленький браузер SliTaz
     4.9  Icon=tazweb
    4.10  Exec=tazweb %u
    4.11 -Categories=Network;
    4.12 +Categories=Network;WebBrowser;
    4.13  MimeType=text/html;text/xml;text/plain;application/xhtml+xml;application/xml;
     5.1 --- a/doc/tazweb.ru.html	Sun Feb 17 12:49:50 2013 +0100
     5.2 +++ b/doc/tazweb.ru.html	Wed Feb 27 18:15:40 2013 +0000
     5.3 @@ -22,7 +22,7 @@
     5.4  в любом месте окна браузера или с помощью панели инструментов. Он также может
     5.5  работать с закладками на личной странице, показывать исходный код,
     5.6  масштабировать и печатать страницы. В TazWeb вы можете быстро найти что-нибудь
     5.7 -в Интернете при помощи Google и других средств поиска. Данный файл документации
     5.8 +в Интернете при помощи DuckDuckGo и других средств поиска. Данный файл документации
     5.9  всегда доступен через контекстное меню на странице.</p>
    5.10  
    5.11  <p>Браузер быстр, чертовски быстр и мал, его программный файл занимает около
    5.12 @@ -111,19 +111,19 @@
    5.13  будет перезаписан при обновлении пакета slitaz-configs.</p>
    5.14  
    5.15  <p>Когда вы запускаете TazWeb из командной строки с URL в качестве аргумента,
    5.16 -вам не нужно писать <tt>http://</tt>, т.к. TazWeb преобразует адрес для вас.</p>
    5.17 +вам можно не писать <tt>http://</tt>, т.к. TazWeb умеет преобразовывать адрес.</p>
    5.18  
    5.19  
    5.20  <h3>URL и средства поиска</h3>
    5.21  
    5.22  <p>Поле ввода адреса в панели инструментов позволяет вам вводить адрес сайта
    5.23  и видеть текущий адрес сайта. Вы можете выделять, копировать и вставлять в поле
    5.24 -ввода адреса, и вам не нужно писать <tt>http://</tt> в начале, Tazweb
    5.25 -преобразует адрес для вас. Для перехода по вновь введенному адресу, нажмите
    5.26 +ввода адреса, и вам можно не писать <tt>http://</tt> в начале, Tazweb
    5.27 +умеет преобразовывать адрес. Для перехода по вновь введенному адресу, нажмите
    5.28  клавишу ВВОД.</p>
    5.29  
    5.30  <p>Средство поиска позволяет вам в любое время проводить поиск в интернете
    5.31 -с помощью Google. Просто введите запрос и нажмите клавишу ВВОД или нажмите
    5.32 +с помощью DuckDuckGo. Просто введите запрос и нажмите клавишу ВВОД или нажмите
    5.33  на значок поиска для того, чтобы отправить запрос.</p>
    5.34  
    5.35  
    5.36 @@ -151,8 +151,7 @@
    5.37  управления кодом. Обсуждение и поддержка осуществляются на
    5.38  <a href="http://forum.slitaz.org/">форуме</a> сообщества SliTaz. Вам не хватает
    5.39  каких-либо функций в TazWeb или вы обнаружили ошибку? Опишите проблему на нашем
    5.40 -баг-трекере Roundup по адресу
    5.41 -<a href="http://bugs.slitaz.org/">bugs.slitaz.org</a>.</p>
    5.42 +баг-трекере по адресу <a href="http://bugs.slitaz.org/">bugs.slitaz.org</a>.</p>
    5.43  
    5.44  <p>Если вы хотите помочь и принять участие в разработке, сначала клонируйте
    5.45  репозиторий TazWeb, а затем отправьте ваш патч, улучшенную документацию или
    5.46 @@ -173,4 +172,3 @@
    5.47  
    5.48  </body>
    5.49  </html>
    5.50 -
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/po/ru.po	Wed Feb 27 18:15:40 2013 +0000
     6.3 @@ -0,0 +1,42 @@
     6.4 +# Russian translations for TazWeb package
     6.5 +# Copyright (C) 2011-2013 SliTazWeb
     6.6 +# This file is distributed under the same license as the TazWeb package.
     6.7 +# Aleksej Bobylev <al.bobylev@gmail.com>, 2013.
     6.8 +#
     6.9 +msgid ""
    6.10 +msgstr ""
    6.11 +"Project-Id-Version: TazWeb 1.6.4\n"
    6.12 +"Report-Msgid-Bugs-To: \n"
    6.13 +"POT-Creation-Date: 2013-02-19 18:17+0000\n"
    6.14 +"PO-Revision-Date: 2013-02-19 18:21-0000\n"
    6.15 +"Last-Translator: Aleksej Bobylev <al.bobylev@gmail.com>\n"
    6.16 +"Language-Team: Russian\n"
    6.17 +"Language: ru\n"
    6.18 +"MIME-Version: 1.0\n"
    6.19 +"Content-Type: text/plain; charset=UTF-8\n"
    6.20 +"Content-Transfer-Encoding: 8bit\n"
    6.21 +
    6.22 +#: src/main.c:278
    6.23 +msgid "Zoom in"
    6.24 +msgstr "Увеличить"
    6.25 +
    6.26 +#: src/main.c:285
    6.27 +msgid "Zoom out"
    6.28 +msgstr "Уменьшить"
    6.29 +
    6.30 +#: src/main.c:296
    6.31 +msgid "Add a bookmark"
    6.32 +msgstr "Добавить закладку"
    6.33 +
    6.34 +#: src/main.c:307
    6.35 +msgid "View source mode"
    6.36 +msgstr "Исходный код"
    6.37 +
    6.38 +#: src/main.c:314
    6.39 +msgid "Print this page"
    6.40 +msgstr "Печать страницы"
    6.41 +
    6.42 +#: src/main.c:325
    6.43 +msgid "TazWeb manual"
    6.44 +msgstr "Руководство TazWeb"
    6.45 +
     7.1 --- a/src/main.c	Sun Feb 17 12:49:50 2013 +0100
     7.2 +++ b/src/main.c	Wed Feb 27 18:15:40 2013 +0000
     7.3 @@ -9,6 +9,10 @@
     7.4   * 
     7.5   */
     7.6  
     7.7 +#include <glib.h>
     7.8 +#include <glib/gi18n.h>
     7.9 +#define GETTEXT_PACKAGE "tazweb"
    7.10 +
    7.11  #include <gtk/gtk.h>
    7.12  #include <webkit/webkit.h>
    7.13  
    7.14 @@ -271,14 +275,14 @@
    7.15  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.16  
    7.17  	/* Zoom in */
    7.18 -	item = gtk_image_menu_item_new_with_label("Zoom in");
    7.19 +	item = gtk_image_menu_item_new_with_label(_("Zoom in"));
    7.20  	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
    7.21  	gtk_image_new_from_stock(GTK_STOCK_ZOOM_IN, GTK_ICON_SIZE_MENU));
    7.22  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.23  	g_signal_connect(item, "activate", G_CALLBACK(zoom_in_cb), webview);
    7.24  	
    7.25  	/* Zoom out */
    7.26 -	item = gtk_image_menu_item_new_with_label("Zoom out");
    7.27 +	item = gtk_image_menu_item_new_with_label(_("Zoom out"));
    7.28  	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
    7.29  	gtk_image_new_from_stock(GTK_STOCK_ZOOM_OUT, GTK_ICON_SIZE_MENU));
    7.30  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.31 @@ -289,7 +293,7 @@
    7.32  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.33  
    7.34  	/* Add to bookmarks */
    7.35 -	item = gtk_image_menu_item_new_with_label("Add a bookmark");
    7.36 +	item = gtk_image_menu_item_new_with_label(_("Add a bookmark"));
    7.37  	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
    7.38  	gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU));
    7.39  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.40 @@ -300,14 +304,14 @@
    7.41  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.42  
    7.43  	/* View source mode */
    7.44 -	item = gtk_image_menu_item_new_with_label("View source mode");
    7.45 +	item = gtk_image_menu_item_new_with_label(_("View source mode"));
    7.46  	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
    7.47  	gtk_image_new_from_stock(GTK_STOCK_PROPERTIES, GTK_ICON_SIZE_MENU));
    7.48  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.49  	g_signal_connect(item, "activate", G_CALLBACK(view_source_cb), webview);
    7.50  
    7.51  	/* Printing */
    7.52 -	item = gtk_image_menu_item_new_with_label("Print this page");
    7.53 +	item = gtk_image_menu_item_new_with_label(_("Print this page"));
    7.54  	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
    7.55  	gtk_image_new_from_stock(GTK_STOCK_PRINT, GTK_ICON_SIZE_MENU));
    7.56  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.57 @@ -318,7 +322,7 @@
    7.58  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.59  
    7.60  	/* TazWeb documentation */
    7.61 -	item = gtk_image_menu_item_new_with_label("TazWeb manual");
    7.62 +	item = gtk_image_menu_item_new_with_label(_("TazWeb manual"));
    7.63  	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
    7.64  	gtk_image_new_from_stock(GTK_STOCK_HELP, GTK_ICON_SIZE_MENU));
    7.65  	gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
    7.66 @@ -472,6 +476,8 @@
    7.67  int
    7.68  main(int argc, char* argv[])
    7.69  {
    7.70 +	textdomain (GETTEXT_PACKAGE);
    7.71 +
    7.72  	while (argc > 1) {
    7.73  		if (!strcmp(argv[1],"--notoolbar")) {
    7.74  			notoolbar++;