From: Faheem Pervez Date: Mon, 22 Mar 2010 18:06:42 +0000 (+0000) Subject: Localisation support X-Git-Url: http://git.maemo.org/git/?p=sbrightapplet;a=commitdiff_plain;h=3c8b0df26ca1bf73cd8bbbe7bb1b28d121524413 Localisation support --- diff --git a/Makefile.am b/Makefile.am index 3da2d71..cbd75dd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1 +1,3 @@ -SUBDIRS = data src +SUBDIRS = data po src + +EXTRA_DIST = po/simple-brightness-applet.pot diff --git a/autogen.sh b/autogen.sh index 9ad04eb..2d74b1e 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,5 +1,12 @@ #!/bin/sh -set -ex -touch ChangeLog NEWS README -autoreconf --install --force +set -x + +glib-gettextize --copy --force +intltoolize --copy --force --automake +libtoolize --copy --force --automake + +aclocal-1.10 +autoconf +autoheader +automake-1.10 --copy --add-missing --foreign diff --git a/configure.ac b/configure.ac index 8d203fc..82ba680 100644 --- a/configure.ac +++ b/configure.ac @@ -1,21 +1,46 @@ -AC_PREREQ[(2.58)] -AC_INIT([simple-brightness-applet], [1.1]) +AC_INIT(m4_esyscmd([dpkg-parsechangelog | grep ^Source:.* | cut -d ' ' -f 2 | tr -d '\n']), m4_esyscmd([dpkg-parsechangelog | grep ^Version:.* | cut -d ' ' -f 2 | tr -d '\n']), m4_esyscmd([dpkg-parsechangelog | grep ^Maintainer:.* | awk '{print $2 " "$3}' | tr -d '\n'])) AC_CONFIG_SRCDIR([src/simple-brightness-applet.c]) -AM_INIT_AUTOMAKE -AC_CONFIG_HEADER([config.h]) +AM_INIT_AUTOMAKE([foreign dist-tarZ]) +AC_CONFIG_HEADERS([config.h]) + +AM_MAINTAINER_MODE AC_PROG_CC +AM_PROG_CC_C_O +AC_HEADER_STDC +AM_PATH_GLIB_2_0([2.16.0]) +AM_PATH_GTK_2_0([2.14.7]) AC_PROG_INSTALL +AC_DISABLE_STATIC AM_PROG_LIBTOOL +AC_PREFIX_DEFAULT(/usr) + +# AC_PREFIX_DEFAULT does not get expanded until too late so we need to do this to use prefix in this script --conny +if test "x$prefix" = "xNONE" ; then + prefix='/usr' +fi PKG_CHECK_MODULES(BRIGHTNESS, hildon-1 libhildondesktop-1 gtk+-2.0 glib-2.0 gobject-2.0 gconf-2.0 libosso) AC_SUBST(BRIGHTNESS_CFLAGS) AC_SUBST(BRIGHTNESS_LIBS) +PKG_CHECK_MODULES([OSSOSETTINGS], [osso-af-settings]) + HILDON_HOME_DESKTOP_DIR=`pkg-config libhildondesktop-1 --variable=hildonstatusmenudesktopentrydir` AC_SUBST(HILDON_HOME_DESKTOP_DIR) HILDON_DESKTOP_LIB_DIR=`pkg-config libhildondesktop-1 --variable=hildondesktoplibdir` AC_SUBST(HILDON_DESKTOP_LIB_DIR) -AC_OUTPUT([Makefile src/Makefile data/Makefile]) +LOCALEDIR=`$PKG_CONFIG osso-af-settings --variable=localedir` +AC_SUBST([LOCALEDIR]) +AC_DEFINE_UNQUOTED([LOCALEDIR], ["$LOCALEDIR"], [LOCALEDIR]) + +AH_TEMPLATE([GETTEXT_PACKAGE], [NAME]) +GETTEXT_PACKAGE=m4_esyscmd([dpkg-parsechangelog | sed -n 's/Source: //p' | tr -d '\n']) +AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Gettext package]) +AC_SUBST([GETTEXT_PACKAGE]) +AC_PROG_INTLTOOL([0.40.0],[no-xml]) +AM_GLIB_GNU_GETTEXT + +AC_OUTPUT([Makefile po/Makefile.in src/Makefile data/Makefile]) diff --git a/debian/control b/debian/control index 9cff153..6a64db6 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: simple-brightness-applet Section: user/desktop Priority: extra Maintainer: Faheem Pervez -Build-Depends: debhelper (>= 5), autotools-dev, autoconf, libhildon1-dev, libhildondesktop1-dev, libgtk2.0-dev, libglib2.0-dev, libgconf2-dev, libosso-dev +Build-Depends: debhelper (>= 5), autotools-dev, autoconf, automake1.10, libtool (>= 1.5), intltool (>= 0.40), osso-af-settings, libhildon1-dev, libhildondesktop1-dev, libgtk2.0-dev, libglib2.0-dev, libgconf2-dev, libosso-dev Standards-Version: 3.7.2 Package: simple-brightness-applet diff --git a/debian/rules b/debian/rules index ecc85d5..f1943e5 100755 --- a/debian/rules +++ b/debian/rules @@ -7,7 +7,7 @@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) CFLAGS = -Wall -g @@ -16,13 +16,16 @@ ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) else CFLAGS += -O2 endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif configure: configure-stamp configure-stamp: dh_testdir - ./autogen.sh - ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --disable-static CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" +# ./autogen.sh + ./configure --enable-maintainer-mode --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" touch $@ @@ -40,7 +43,8 @@ clean: dh_testroot rm -f build-stamp configure-stamp - -./antigen.sh +# -./antigen.sh + -$(MAKE) clean dh_clean diff --git a/generatepot.sh b/generatepot.sh new file mode 100755 index 0000000..dcfa2fd --- /dev/null +++ b/generatepot.sh @@ -0,0 +1,4 @@ +#!/bin/sh +#generatepot.sh (I wish...) + +xgettext --keyword=_ -d $(dpkg-parsechangelog | grep ^Source:.* | cut -d ' ' -f 2) -s -o po/simple-brightness-applet.pot src/simple-brightness-applet.c diff --git a/intltool-extract.in b/intltool-extract.in new file mode 100644 index 0000000..e69de29 diff --git a/intltool-merge.in b/intltool-merge.in new file mode 100644 index 0000000..e69de29 diff --git a/intltool-update.in b/intltool-update.in new file mode 100644 index 0000000..e69de29 diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..a7538e1 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,2 @@ +# please keep this list sorted alphabetically + diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..57ef267 --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,217 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# Copyright (C) 2004-2008 Rodney Dawes +# +# This file may be copied and used freely without restrictions. It may +# be used in projects which are not available under a GNU Public License, +# but which still want to provide support for the GNU gettext functionality. +# +# - Modified by Owen Taylor to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize +# +# - Modified by Rodney Dawes for use with intltool +# +# We have the following line for use by intltoolize: +# INTLTOOL_MAKEFILE + +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +SHELL = /bin/sh + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +top_builddir = @top_builddir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datadir = @datadir@ +datarootdir = @datarootdir@ +libdir = @libdir@ +DATADIRNAME = @DATADIRNAME@ +itlocaledir = $(prefix)/$(DATADIRNAME)/locale +subdir = po +install_sh = @install_sh@ +# Automake >= 1.8 provides @mkdir_p@. +# Until it can be supposed, use the safe fallback: +mkdir_p = $(install_sh) -d + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +XGETTEXT = @XGETTEXT@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist +GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot + +ALL_LINGUAS = @ALL_LINGUAS@ + +PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) + +USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi) + +USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) + +POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) + +DISTFILES = Makefile.in.in POTFILES.in $(POFILES) +EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS + +POTFILES = \ +# This comment gets stripped out + +CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) + +.SUFFIXES: +.SUFFIXES: .po .pox .gmo .mo .msg .cat + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && gencat $@ $*.msg + + +all: all-@USE_NLS@ + +all-yes: $(CATALOGS) +all-no: + +$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(GENPOT) + +install: install-data +install-data: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + linguas="$(USE_LINGUAS)"; \ + for lang in $$linguas; do \ + dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $$dir; \ + if test -r $$lang.gmo; then \ + $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $(srcdir)/$$lang.gmo as" \ + "$$dir/$(GETTEXT_PACKAGE).mo"; \ + fi; \ + if test -r $$lang.gmo.m; then \ + $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ + echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ + else \ + if test -r $(srcdir)/$$lang.gmo.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ + $$dir/$(GETTEXT_PACKAGE).mo.m; \ + echo "installing $(srcdir)/$$lang.gmo.m as" \ + "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ + else \ + true; \ + fi; \ + fi; \ + done + +# Empty stubs to satisfy archaic automake needs +dvi info tags TAGS ID: + +# Define this as empty until I found a useful application. +install-exec installcheck: + +uninstall: + linguas="$(USE_LINGUAS)"; \ + for lang in $$linguas; do \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ + done + +check: all $(GETTEXT_PACKAGE).pot + rm -f missing notexist + srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m + if [ -r missing -o -r notexist ]; then \ + exit 1; \ + fi + +mostlyclean: + rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp + rm -f .intltool-merge-cache + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES stamp-it + rm -f *.mo *.msg *.cat *.cat.m *.gmo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f Makefile.in.in + +distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: $(DISTFILES) + dists="$(DISTFILES)"; \ + extra_dists="$(EXTRA_DISTFILES)"; \ + for file in $$extra_dists; do \ + test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ + done; \ + for file in $$dists; do \ + test -f $$file || file="$(srcdir)/$$file"; \ + ln $$file $(distdir) 2> /dev/null \ + || cp -p $$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + tmpdir=`pwd`; \ + linguas="$(USE_LINGUAS)"; \ + for lang in $$linguas; do \ + echo "$$lang:"; \ + result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ + if $$result; then \ + if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.gmo failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi; \ + done + +Makefile POTFILES: stamp-it + @if test ! -f $@; then \ + rm -f stamp-it; \ + $(MAKE) stamp-it; \ + fi + +stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ + $(SHELL) ./config.status + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..83ca960 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,2 @@ +[encoding: UTF-8] +src/simple-brightness-applet.c diff --git a/po/POTFILES.skip b/po/POTFILES.skip new file mode 100644 index 0000000..d4e4295 --- /dev/null +++ b/po/POTFILES.skip @@ -0,0 +1 @@ +src/simple-brightness-applet.h diff --git a/po/simple-brightness-applet.pot b/po/simple-brightness-applet.pot new file mode 100644 index 0000000..5d018e0 --- /dev/null +++ b/po/simple-brightness-applet.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-22 18:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/simple-brightness-applet.c:72 +msgid "Failed to keep backlight on" +msgstr "" + +#: src/simple-brightness-applet.c:179 +msgid "Keep display on" +msgstr "" + +#: src/simple-brightness-applet.c:173 +msgid "Open Display Settings..." +msgstr "" diff --git a/src/simple-brightness-applet.c b/src/simple-brightness-applet.c index b32268d..c1b764a 100644 --- a/src/simple-brightness-applet.c +++ b/src/simple-brightness-applet.c @@ -20,12 +20,13 @@ * */ -#ifdef HAVE_CONFIG_H +//#ifdef HAVE_CONFIG_H #include -#endif +//#endif #include "simple-brightness-applet.h" +#include #include #include #include @@ -68,7 +69,7 @@ static void simple_brightness_applet_finalize (GObject *object); /* Callbacks: */ static inline void simple_brightness_applet_show_fail_msg (void) { - hildon_banner_show_information (NULL, NULL, "Failed to keep backlight on"); + hildon_banner_show_information (NULL, NULL, _("Failed to keep backlight on")); } static gboolean simple_brightness_applet_keep_backlight_alive (SimpleBrightnessApplet *plugin) @@ -169,13 +170,13 @@ static void simple_brightness_applet_on_button_clicked (GtkWidget *button, Simpl gtk_window_set_destroy_with_parent (GTK_WINDOW (plugin->priv->settings_dialog), TRUE); settings_button = hildon_gtk_button_new (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH); - gtk_button_set_label (GTK_BUTTON (settings_button), "Open Display Settings..."); + gtk_button_set_label (GTK_BUTTON (settings_button), _("Open Display Settings...")); gtk_button_set_image (GTK_BUTTON (settings_button), gtk_image_new_from_icon_name ("general_brightness", HILDON_ICON_SIZE_THUMB)); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (plugin->priv->settings_dialog)->vbox), settings_button, TRUE, TRUE, 0); g_signal_connect (settings_button, "clicked", G_CALLBACK (simple_brightness_applet_on_settings_button_clicked), plugin); plugin->priv->dispchkbtn = hildon_check_button_new (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH); - gtk_button_set_label (GTK_BUTTON (plugin->priv->dispchkbtn), "Keep display on"); + gtk_button_set_label (GTK_BUTTON (plugin->priv->dispchkbtn), _("Keep display on")); gtk_button_set_alignment (GTK_BUTTON (plugin->priv->dispchkbtn), 0.5f, 0.5f); hildon_check_button_set_active (HILDON_CHECK_BUTTON (plugin->priv->dispchkbtn), plugin->priv->keepdispon_active); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (plugin->priv->settings_dialog)->vbox), plugin->priv->dispchkbtn, TRUE, TRUE, 0); @@ -223,6 +224,9 @@ static void simple_brightness_applet_init (SimpleBrightnessApplet *plugin) return; memset (plugin->priv, 0, sizeof (SimpleBrightnessAppletPrivate)); + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + plugin->priv->keepdispon_active = FALSE; plugin->priv->osso_context = osso_initialize (PACKAGE, PACKAGE_VERSION, TRUE, NULL);