From c70320ea017b5c5e3f3b0a580cabeb179c2eb6f3 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Tue, 10 Aug 2010 17:55:09 +0200 Subject: [PATCH] Use autotools and intltools, translate user interface, add German translation --- Makefile | 76 ---------------- Makefile.am | 57 ++++++++++++ autogen.sh | 13 +++ autovapi.sh | 12 +++ configure.ac | 60 +++++++++++++ debian/rules | 4 +- m4/vala.m4 | 29 ++++++ po/POTFILES.in | 5 ++ po/de.po | 206 +++++++++++++++++++++++++++++++++++++++++++ src/led-color-widgets.vala | 2 +- src/led-command-widget.vala | 96 ++++++++++---------- src/led-pattern-dialog.vala | 10 +-- src/led-pattern-editor.vala | 9 +- src/led-program-dialog.vala | 32 +++---- 14 files changed, 461 insertions(+), 150 deletions(-) delete mode 100644 Makefile create mode 100644 Makefile.am create mode 100755 autogen.sh create mode 100755 autovapi.sh create mode 100644 configure.ac create mode 100644 m4/vala.m4 create mode 100644 po/POTFILES.in create mode 100644 po/de.po diff --git a/Makefile b/Makefile deleted file mode 100644 index d8f6ba4..0000000 --- a/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -.PHONY: all clean install - -bindir=/usr/bin -pluginlibdir=`pkg-config hildon-control-panel --variable pluginlibdir` -plugindesktopentrydir=`pkg-config hildon-control-panel --variable plugindesktopentrydir` -sudoersdir=/etc/sudoers.d - -HILDON_CFLAGS = `pkg-config --cflags hildon-1` -OSSO_CFLAGS = `pkg-config --cflags libosso` -GLIB_CFLAGS = `pkg-config --cflags glib-2.0 gobject-2.0` - -HILDON_LIBS = `pkg-config --libs hildon-1` -OSSO_LIBS = `pkg-config --libs libosso` -GLIB_LIBS = `pkg-config --libs glib-2.0 gobject-2.0` - -pluginlib_LTLIBRARY = \ - libled-pattern-editor.so - -plugindesktopentry_DATA = \ - data/led-pattern-editor.desktop - -sudoers_DATA = \ - data/led-pattern-editor.sudoers - -bin_PROGRAM = \ - led-pattern-helper - -all: ${pluginlib_LTLIBRARY} ${bin_PROGRAM} - -led_pattern_editor_SOURCES = $(patsubst %.vala,%.c,${led_pattern_editor_VALASOURCES}) - -led_pattern_editor_VALASOURCES = \ - src/led-pattern-editor.vala \ - src/led-color-widgets.vala \ - src/led-command-widget.vala \ - src/led-pattern.vala \ - src/led-pattern-rx44.vala \ - src/led-pattern-rx51.vala \ - src/led-pattern-dialog.vala \ - src/led-pattern-button.vala \ - src/led-pattern-view.vala \ - src/led-program-dialog.vala \ - src/mce-ini-parse.vala - -led_pattern_editor_VALAFLAGS = --pkg hildon-1 --pkg libosso - -${pluginlib_LTLIBRARY}: ${led_pattern_editor_SOURCES} - gcc -shared ${HILDON_CFLAGS} ${OSSO_CFLAGS} -o $@ $^ ${HILDON_LIBS} ${OSSO_LIBS} - -src/led-pattern-editor.c: ${led_pattern_editor_VALASOURCES} - valac -C ${led_pattern_editor_VALAFLAGS} -o $@ $^ - -led_pattern_helper_SOURCES = \ - src/led-pattern-helper.c - -led_pattern_helper_VALASOURCES = \ - src/led-pattern-helper.vala - -${bin_PROGRAM}: ${led_pattern_helper_SOURCES} - gcc ${GLIB_CFLAGS} -o $@ $^ ${GLIB_LIBS} - -src/led-pattern-helper.c: ${led_pattern_helper_VALASOURCES} - valac -C -o $@ $^ - -clean: - rm ${pluginlib_LTLIBRARY} ${bin_PROGRAM} src/*.c - -install: - install -d ${DESTDIR}${pluginlibdir} - install libled-pattern-editor.so ${DESTDIR}${pluginlibdir}/libled-pattern-editor.so - install -d ${DESTDIR}${plugindesktopentrydir} - install ${plugindesktopentry_DATA} ${DESTDIR}${plugindesktopentrydir}/`basename ${plugindesktopentry_DATA}` - install -d ${DESTDIR}${bindir} - install led-pattern-helper ${DESTDIR}${bindir}/led-pattern-helper - install -d ${DESTDIR}${sudoersdir} - install ${sudoers_DATA} ${DESTDIR}${sudoersdir}/`basename ${sudoers_DATA}` diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..be412b4 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,57 @@ +# List extras to package +EXTRA_DIST = \ + autogen.sh + +# Sub directories +SUBDIRS = po + +pluginlib_LTLIBRARIES = \ + libled-pattern-editor.la + +plugindesktopentry_DATA = \ + data/led-pattern-editor.desktop + +sudoers_DATA = \ + data/led-pattern-editor.sudoers + +bin_PROGRAMS = \ + led-pattern-helper + +libled_pattern_editor_la_SOURCES = $(patsubst %.vala,%.c,${led_pattern_editor_VALASOURCES}) + +libled_pattern_editor_la_VALASOURCES = \ + src/led-pattern-editor.vala \ + src/led-color-widgets.vala \ + src/led-command-widget.vala \ + src/led-pattern.vala \ + src/led-pattern-rx44.vala \ + src/led-pattern-rx51.vala \ + src/led-pattern-dialog.vala \ + src/led-pattern-button.vala \ + src/led-pattern-view.vala \ + src/led-program-dialog.vala \ + src/mce-ini-parse.vala + +libled_pattern_editor_la_VALAFLAGS = --vapidir ./vapi \ + --pkg hildon-1 --pkg libosso +libled_pattern_editor_la_CFLAGS = ${HILDON_CFLAGS} \ + -DGETTEXT_PACKAGE=\"@GETTEXT_PACKAGE@\" +libled_pattern_editor_la_LIBADD = ${HILDON_LIBS} +libled_pattern_editor_la_LDFLAGS = -module -avoid-version + +src/led-pattern-editor.c: ${libled_pattern_editor_VALASOURCES} + valac -C ${libled_pattern_editor_VALAFLAGS} -o $@ $^ + +led_pattern_helper_SOURCES = \ + src/led-pattern-helper.c + +led_pattern_helper_VALASOURCES = \ + src/led-pattern-helper.vala + +led_pattern_helper_CFLAGS = ${GLIB_CFLAGS} +led_pattern_helper_LDADD = ${GLIB_LIBS} + +src/led-pattern-helper.c: ${led_pattern_helper_VALASOURCES} + valac -C -o $@ $^ + +CLEANFILES = src/*.c diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..3676ffd --- /dev/null +++ b/autogen.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +set -x +glib-gettextize --copy --force +libtoolize --copy --automake +intltoolize --copy --force --automake + +aclocal-1.10 -Im4 +autoconf +autoheader +automake-1.10 --copy --add-missing --foreign +debian/rules config.status +./autovapi.sh diff --git a/autovapi.sh b/autovapi.sh new file mode 100755 index 0000000..d237b14 --- /dev/null +++ b/autovapi.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# +# Generate config.vapi from config.h +# +mkdir -p vapi +( +echo '// config.vapi. Generated from config.h by autovapi.sh.' +echo '[CCode (cheader_filename = "config.h")]' +echo 'namespace Config {' +sed -ne 's/#define \(HAVE_[A-Z_]*\) \([0-9]*\)$/\t\[CCode (cname = \"\1\"\)]\n\tconst bool \1;/p' -e 's/#define \([A-Z_]*\) \([0-9]*\)$/\t\[CCode (cname = \"\1\"\)]\n\tconst int \1;/p' -e 's/#define \([A-Z_]*\) \(\".*\"\)$/\t\[CCode (cname = \"\1\"\)]\n\tconst string \1;/p' < config.h +echo '}' +) > vapi/config.vapi diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..5b33fb8 --- /dev/null +++ b/configure.ac @@ -0,0 +1,60 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(src/led-pattern-editor.vala) +AC_CONFIG_HEADERS([config.h]) + +PACKAGE=cinaest +VERSION=0.0.5 + +AM_INIT_AUTOMAKE($PACKAGE, $VERSION) + +AC_PROG_CC +AM_PROG_VALAC([0.8.0]) +AC_STDC_HEADERS +AC_PROG_INSTALL +AC_PROG_LIBTOOL + +CFLAGS="$CFLAGS -Wall -ansi -Wmissing-prototypes -Wmissing-declarations" + +hildon-control-panel-dev, libosso-dev, libhildon +1-dev, osso-af-settings + +PKG_CHECK_MODULES(GLIB, [glib-2.0, gobject-2.0]) +AC_SUBST(GLIB_LIBS) +AC_SUBST(GLIB_CFLAGS) + +PKG_CHECK_MODULES(HILDON, [hildon-1 >= 2.2.0, libosso >= 2.20]) +AC_SUBST(HILDON_LIBS) +AC_SUBST(HILDON_CFLAGS) + +PKG_CHECK_MODULES(HILDONCP, hildon-control-panel >= 2.2) +AC_SUBST(HILDONCP_LIBS) +AC_SUBST(HILDONCP_CFLAGS) + +PKG_CHECK_MODULES(OSSOSETTINGS, osso-af-settings >= 0.9.2) + +localedir=`$PKG_CONFIG osso-af-settings --variable=localedir` +pluginlibdir=`$PKG_CONFIG hildon-control-panel --variable pluginlibdir` +plugindesktopentrydir=`$PKG_CONFIG hildon-control-panel --variable plugindesktopentrydir` +sudoersdir=/etc/sudoers.d + +# Localization-related +AC_PROG_INTLTOOL([0.40.5]) +GETTEXT_PACKAGE=led-pattern-editor +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of gettext package]) +ALL_LINGUAS="de" +AM_GLIB_GNU_GETTEXT +AC_SUBST(ALL_LINGUAS) +AC_SUBST(localedir) +AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir", [localedir]) + +AC_SUBST(pluginlibdir) +AC_SUBST(plugindesktopentrydir) +AC_SUBST(sudoersdir) + +AC_OUTPUT([ + Makefile + po/Makefile.in + po/Makefile +]) diff --git a/debian/rules b/debian/rules index 74cc6d6..b7a2a83 100755 --- a/debian/rules +++ b/debian/rules @@ -26,8 +26,8 @@ endif config.status: configure dh_testdir # Add here commands to configure the package. - #CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ - # --prefix=/usr + CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr build: build-stamp diff --git a/m4/vala.m4 b/m4/vala.m4 new file mode 100644 index 0000000..d95734a --- /dev/null +++ b/m4/vala.m4 @@ -0,0 +1,29 @@ +# Autoconf support for the Vala compiler + +# Copyright (C) 2008, 2009 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# Check whether the Vala compiler exists in `PATH'. If it is found, the +# variable VALAC is set. Optionally a minimum release number of the +# compiler can be requested. +# +# AM_PROG_VALAC([MINIMUM-VERSION]) +# -------------------------------- +AC_DEFUN([AM_PROG_VALAC], +[AC_PATH_PROG([VALAC], [valac], []) + AS_IF([test -z "$VALAC"], + [AC_MSG_WARN([No Vala compiler found. You will not be able to compile .vala source files.])], + [AS_IF([test -n "$1"], + [AC_MSG_CHECKING([$VALAC is at least version $1]) + am__vala_version=`$VALAC --version | sed 's/Vala *//'` + AS_VERSION_COMPARE([$1], ["$am__vala_version"], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Vala $1 not found.])])])]) +]) diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..d7883b3 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,5 @@ +src/led-color-widgets.vala +src/led-command-widget.vala +src/led-pattern-dialog.vala +src/led-pattern-editor.vala +src/led-program-dialog.vala diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..3dff808 --- /dev/null +++ b/po/de.po @@ -0,0 +1,206 @@ +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-08-10 18:05+0200\n" +"PO-Revision-Date: 2010-08-10 18:13+0100\n" +"Last-Translator: Philipp Zabel \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/led-color-widgets.vala:139 +msgid "Pick a LED color" +msgstr "LED Farbe wählen" + +#: ../src/led-command-widget.vala:45 +#: ../src/led-command-widget.vala:171 +#: ../src/led-program-dialog.vala:239 +msgid "Ramp" +msgstr "Rampe" + +#: ../src/led-command-widget.vala:45 +#: ../src/led-command-widget.vala:171 +#: ../src/led-program-dialog.vala:240 +msgid "Wait" +msgstr "Warten" + +#: ../src/led-command-widget.vala:47 +#: ../src/led-command-widget.vala:173 +#, c-format +msgid "%+d steps, %.2f ms each" +msgstr "%+d Schritte, jeder %.2f ms" + +#: ../src/led-command-widget.vala:53 +#: ../src/led-command-widget.vala:189 +#: ../src/led-program-dialog.vala:238 +msgid "Set PWM" +msgstr "PWM setzen" + +#: ../src/led-command-widget.vala:54 +#: ../src/led-command-widget.vala:214 +#, c-format +msgid "Level = %d" +msgstr "Wert = %d" + +#: ../src/led-command-widget.vala:58 +msgid "Reset Mux" +msgstr "Reset Mux" + +#: ../src/led-command-widget.vala:61 +#: ../src/led-command-widget.vala:233 +#: ../src/led-command-widget.vala:248 +#: ../src/led-command-widget.vala:281 +#: ../src/led-command-widget.vala:299 +#: ../src/led-program-dialog.vala:242 +msgid "Go To Start" +msgstr "Zum Anfang" + +#: ../src/led-command-widget.vala:66 +msgid "Branch" +msgstr "Verzweigung" + +#: ../src/led-command-widget.vala:71 +#: ../src/led-command-widget.vala:231 +#: ../src/led-command-widget.vala:244 +#: ../src/led-command-widget.vala:276 +#: ../src/led-command-widget.vala:299 +#: ../src/led-program-dialog.vala:243 +msgid "End" +msgstr "Ende" + +#: ../src/led-command-widget.vala:72 +#: ../src/led-command-widget.vala:259 +#: ../src/led-command-widget.vala:301 +msgid "Reset" +msgstr "Nullstellen" + +#: ../src/led-command-widget.vala:72 +#: ../src/led-command-widget.vala:255 +#: ../src/led-command-widget.vala:301 +msgid "Hold" +msgstr "Halten" + +#: ../src/led-command-widget.vala:76 +#: ../src/led-command-widget.vala:318 +#: ../src/led-program-dialog.vala:241 +msgid "Trigger" +msgstr "Auslöser" + +#: ../src/led-command-widget.vala:79 +#: ../src/led-command-widget.vala:363 +msgid "wait 2 " +msgstr "warte 2" + +#: ../src/led-command-widget.vala:81 +#: ../src/led-command-widget.vala:365 +msgid "set 2 " +msgstr "setze 2" + +#: ../src/led-command-widget.vala:83 +#: ../src/led-command-widget.vala:367 +msgid "wait 1 " +msgstr "warte 1" + +#: ../src/led-command-widget.vala:85 +#: ../src/led-command-widget.vala:369 +msgid "set 1 " +msgstr "setze 1" + +#: ../src/led-command-widget.vala:87 +#: ../src/led-command-widget.vala:371 +#, c-format +msgid "Unsupported: 0x%04x" +msgstr "Nicht unterstützt: 0x%04x" + +#: ../src/led-command-widget.vala:101 +msgid "Ramp / Wait" +msgstr "Rampe / Warten" + +#: ../src/led-command-widget.vala:165 +#: ../src/led-command-widget.vala:206 +#: ../src/led-command-widget.vala:292 +#: ../src/led-command-widget.vala:355 +msgid "Delete" +msgstr "Löschen" + +#: ../src/led-command-widget.vala:166 +#: ../src/led-command-widget.vala:207 +#: ../src/led-command-widget.vala:293 +#: ../src/led-command-widget.vala:356 +#: ../src/led-program-dialog.vala:80 +msgid "Done" +msgstr "Fertig" + +#: ../src/led-command-widget.vala:327 +msgid "Set trigger" +msgstr "Auslöser setzen" + +#: ../src/led-command-widget.vala:341 +msgid "Wait for trigger" +msgstr "Auf Auslöser warten" + +#: ../src/led-pattern-dialog.vala:32 +msgid "LED Patterns" +msgstr "LED Blinkmuster" + +#: ../src/led-pattern-dialog.vala:55 +msgid "" +"Restore original\n" +"patterns" +msgstr "" +"Ursprüngliche Blinkmuster\n" +"wieder herstellen" + +#: ../src/led-pattern-dialog.vala:69 +msgid "Save" +msgstr "Speichern" + +#: ../src/led-pattern-dialog.vala:102 +msgid "Failed to open browser." +msgstr "Konnte Browser nicht öffnen." + +#: ../src/led-pattern-dialog.vala:104 +msgid "Restore original patterns? All user-created patterns will be lost." +msgstr "Ursprüngliche Blinkmuster wieder herstellen? Alle Benutzergenerierten Muster gehen verloren." + +#: ../src/led-program-dialog.vala:30 +msgid "LED pattern editor - " +msgstr "LED Blinkmuster-Editor - " + +#: ../src/led-program-dialog.vala:32 +msgid " pattern" +msgstr "-Muster" + +#: ../src/led-program-dialog.vala:78 +msgid "Copy" +msgstr "Kopieren" + +#: ../src/led-program-dialog.vala:79 +msgid "Test" +msgstr "Testen" + +#: ../src/led-program-dialog.vala:101 +#, c-format +msgid "Engine %d:" +msgstr "Prozessor %d:" + +#: ../src/led-program-dialog.vala:116 +#: ../src/led-program-dialog.vala:235 +msgid "New command" +msgstr "Neuer Befehl" + +#: ../src/led-program-dialog.vala:142 +msgid "Copied" +msgstr "Kopiert" + +#: ../src/led-program-dialog.vala:157 +msgid "Not a valid pattern" +msgstr "Kein gültiges Blinkmuster" + diff --git a/src/led-color-widgets.vala b/src/led-color-widgets.vala index e096fec..7fc0770 100644 --- a/src/led-color-widgets.vala +++ b/src/led-color-widgets.vala @@ -136,7 +136,7 @@ public class LedColorButton : Gtk.Button { class LedColorDialog : Gtk.Dialog { public LedColorDialog () { - set_title ("Pick a LED color"); + set_title (_("Pick a LED color")); var content = (Gtk.VBox) get_content_area (); var hbox = new Gtk.HBox (true, 0); diff --git a/src/led-command-widget.vala b/src/led-command-widget.vala index 158e47a..fcbd34a 100644 --- a/src/led-command-widget.vala +++ b/src/led-command-widget.vala @@ -42,49 +42,49 @@ class LedCommandWidget : Gtk.HBox { button.set_sensitive (false); break; case CommandType.RAMP_WAIT: - button.set_title ((command.steps != 0) ? "Ramp" : "Wait"); + button.set_title ((command.steps != 0) ? _("Ramp") : _("Wait")); button.set_value ((command.steps != 0) ? - "%+d steps, %.2f ms each".printf (command.steps, - command.step_time) : + _("%+d steps, %.2f ms each").printf (command.steps, + command.step_time) : "%.2f ms".printf (command.duration)); button.clicked.connect (on_ramp_wait_clicked); break; case CommandType.SET_PWM: - button.set_title ("Set PWM"); - button.set_value ("Level = %d".printf (command.level)); + button.set_title (_("Set PWM")); + button.set_value (_("Level = %d").printf (command.level)); button.clicked.connect (on_set_pwm_clicked); break; case CommandType.RESET_MUX: - button.set_title ("Reset Mux"); + button.set_title (_("Reset Mux")); break; case CommandType.GO_TO_START: - button.set_title ("Go To Start"); + button.set_title (_("Go To Start")); button.set_value (""); button.clicked.connect (on_end_or_go_to_start_clicked); break; case CommandType.BRANCH: - button.set_title ("Branch"); + button.set_title (_("Branch")); button.set_value ("0x%04x".printf (command.code)); button.set_sensitive (false); break; case CommandType.END: - button.set_title ("End"); - button.set_value ((command.steps == -255) ? "Reset" : "Hold"); + button.set_title (_("End")); + button.set_value ((command.steps == -255) ? _("Reset") : _("Hold")); button.clicked.connect (on_end_or_go_to_start_clicked); break; case CommandType.TRIGGER: - button.set_title ("Trigger"); + button.set_title (_("Trigger")); string text = ""; if (0x0100 in command.code) - text += "wait 2 "; + text += _("wait 2 "); if (0x0004 in command.code) - text += "set 2 "; + text += _("set 2 "); if (0x0080 in command.code) - text += "wait 1 "; + text += _("wait 1 "); if (0x0002 in command.code) - text += "set 1 "; + text += _("set 1 "); if ((command.code & ~0xe186) != 0) { - text = "Unsupported: 0x%04x".printf (command.code); + text = _("Unsupported: 0x%04x").printf (command.code); button.set_sensitive (false); } button.set_value (text); @@ -98,7 +98,7 @@ class LedCommandWidget : Gtk.HBox { double old_step_time = command.step_time; int old_steps = command.steps; var dialog = new Gtk.Dialog (); - dialog.set_title ("Ramp / Wait"); + dialog.set_title (_("Ramp / Wait")); var content = (Gtk.VBox) dialog.get_content_area (); @@ -162,16 +162,16 @@ class LedCommandWidget : Gtk.HBox { content.pack_start (hbox, false, false, 0); content.show_all (); - dialog.add_button ("Delete", 1); - dialog.add_button ("Done", Gtk.ResponseType.OK); + dialog.add_button (_("Delete"), 1); + dialog.add_button (_("Done"), Gtk.ResponseType.OK); int response = dialog.run (); if (response == Gtk.ResponseType.OK) { var button = source as Hildon.Button; - button.set_title ((command.steps != 0) ? "Ramp" : "Wait"); + button.set_title ((command.steps != 0) ? _("Ramp") : _("Wait")); button.set_value ((command.steps != 0) ? - "%+d steps, %.2f ms each".printf (command.steps, - command.step_time) : + _("%+d steps, %.2f ms each").printf (command.steps, + command.step_time) : "%.2f ms".printf (command.duration)); } else if (response == 1) { engine.remove (command); @@ -186,7 +186,7 @@ class LedCommandWidget : Gtk.HBox { private void on_set_pwm_clicked (Gtk.Button source) { int old_level = command.level; var dialog = new Gtk.Dialog (); - dialog.set_title ("Set PWM"); + dialog.set_title (_("Set PWM")); var content = (Gtk.VBox) dialog.get_content_area (); @@ -203,15 +203,15 @@ class LedCommandWidget : Gtk.HBox { content.pack_start (scale, true, true, 0); content.show_all (); - dialog.add_button ("Delete", 1); - dialog.add_button ("Done", Gtk.ResponseType.OK); + dialog.add_button (_("Delete"), 1); + dialog.add_button (_("Done"), Gtk.ResponseType.OK); int response = dialog.run (); if (response == Gtk.ResponseType.OK) { command.set_pwm ((int) scale.get_value ()); var button = source as Hildon.Button; - button.set_value ("Level = %d".printf (command.level)); + button.set_value (_("Level = %d").printf (command.level)); } else if (response == 1) { engine.remove (command); engine.first ().data.changed (); @@ -228,9 +228,9 @@ class LedCommandWidget : Gtk.HBox { uint16 old_code = command.code; var dialog = new Gtk.Dialog (); if (command.type == CommandType.END) - dialog.set_title ("End"); + dialog.set_title (_("End")); else - dialog.set_title ("Go To Start"); + dialog.set_title (_("Go To Start")); var content = (Gtk.VBox) dialog.get_content_area (); @@ -241,22 +241,22 @@ class LedCommandWidget : Gtk.HBox { var hbox = new Gtk.HBox (true, 0); var radio_end = (Gtk.RadioButton) Hildon.gtk_radio_button_new (Hildon.SizeType.FINGER_HEIGHT, null); radio_end.set_mode (false); - radio_end.set_label ("End"); + radio_end.set_label (_("End")); hbox.pack_start (radio_end, true, true, 0); var radio_go_to_start = (Gtk.RadioButton) Hildon.gtk_radio_button_new_from_widget (Hildon.SizeType.FINGER_HEIGHT, radio_end); radio_go_to_start.set_mode (false); - radio_go_to_start.set_label ("Go To Start"); + radio_go_to_start.set_label (_("Go To Start")); hbox.pack_start (radio_go_to_start, true, true, 0); content.pack_start (hbox, true, true, 0); hbox = new Gtk.HBox (true, 0); var radio_hold = (Gtk.RadioButton) Hildon.gtk_radio_button_new (Hildon.SizeType.FINGER_HEIGHT, null); radio_hold.set_mode (false); - radio_hold.set_label ("Hold"); + radio_hold.set_label (_("Hold")); hbox.pack_start (radio_hold, true, true, 0); var radio_reset = (Gtk.RadioButton) Hildon.gtk_radio_button_new_from_widget (Hildon.SizeType.FINGER_HEIGHT, radio_hold); radio_reset.set_mode (false); - radio_reset.set_label ("Reset"); + radio_reset.set_label (_("Reset")); hbox.pack_start (radio_reset, true, true, 0); content.pack_start (hbox, true, true, 0); @@ -273,12 +273,12 @@ class LedCommandWidget : Gtk.HBox { command.end (radio_reset.get_active ()); radio_hold.set_sensitive (true); radio_reset.set_sensitive (true); - dialog.set_title ("End"); + dialog.set_title (_("End")); } else { command.go_to_start (); radio_hold.set_sensitive (false); radio_reset.set_sensitive (false); - dialog.set_title ("Go To Start"); + dialog.set_title (_("Go To Start")); } command.changed (); }); @@ -289,16 +289,16 @@ class LedCommandWidget : Gtk.HBox { }); content.show_all (); - dialog.add_button ("Delete", 1); - dialog.add_button ("Done", Gtk.ResponseType.OK); + dialog.add_button (_("Delete"), 1); + dialog.add_button (_("Done"), Gtk.ResponseType.OK); int response = dialog.run (); if (response == Gtk.ResponseType.OK) { var button = source as Hildon.Button; button.set_value ((command.type == CommandType.END) ? - "End" : "Go To Start"); + _("End") : _("Go To Start")); button.set_value ((command.type == CommandType.END) ? - ((command.steps == -255) ? "Reset" : "Hold") : ""); + ((command.steps == -255) ? _("Reset") : _("Hold")) : ""); } else if (response == 1) { engine.remove (command); engine.first ().data.changed (); @@ -315,7 +315,7 @@ class LedCommandWidget : Gtk.HBox { private void on_trigger_clicked (Gtk.Button source) { uint16 old_code = command.code; var dialog = new Gtk.Dialog (); - dialog.set_title ("Trigger"); + dialog.set_title (_("Trigger")); var content = (Gtk.VBox) dialog.get_content_area (); @@ -324,7 +324,7 @@ class LedCommandWidget : Gtk.HBox { content.pack_start (lpv, true, true, 0); var check = new Hildon.CheckButton (Hildon.SizeType.FINGER_HEIGHT); - check.set_label ("Set trigger"); + check.set_label (_("Set trigger")); if ((command.code & 0x0006) != 0) check.set_active (true); check.toggled.connect ((s) => { @@ -338,7 +338,7 @@ class LedCommandWidget : Gtk.HBox { content.pack_start (check, true, true, 0); check = new Hildon.CheckButton (Hildon.SizeType.FINGER_HEIGHT); - check.set_label ("Wait for trigger"); + check.set_label (_("Wait for trigger")); if ((command.code & 0x0180) != 0) check.set_active (true); check.toggled.connect ((s) => { @@ -352,23 +352,23 @@ class LedCommandWidget : Gtk.HBox { content.pack_start (check, true, true, 0); content.show_all (); - dialog.add_button ("Delete", 1); - dialog.add_button ("Done", Gtk.ResponseType.OK); + dialog.add_button (_("Delete"), 1); + dialog.add_button (_("Done"), Gtk.ResponseType.OK); int response = dialog.run (); if (response == Gtk.ResponseType.OK) { var button = source as Hildon.Button; string text = ""; if (0x0100 in command.code) - text += "wait 2 "; + text += _("wait 2 "); if (0x0004 in command.code) - text += "set 2 "; + text += _("set 2 "); if (0x0080 in command.code) - text += "wait 1 "; + text += _("wait 1 "); if (0x0002 in command.code) - text += "set 1 "; + text += _("set 1 "); if ((command.code & ~0xe186) != 0) { - text = "Unsupported: 0x%04x".printf (command.code); + text = _("Unsupported: 0x%04x").printf (command.code); button.set_sensitive (false); } button.set_value (text); diff --git a/src/led-pattern-dialog.vala b/src/led-pattern-dialog.vala index e5bbdea..9276c97 100644 --- a/src/led-pattern-dialog.vala +++ b/src/led-pattern-dialog.vala @@ -29,7 +29,7 @@ class LedPatternDialog : Gtk.Dialog { public LedPatternDialog (List _list, Osso.Context osso) { list = _list; osso_context = osso; - set_title ("LED Patterns"); + set_title (_("LED Patterns")); var content = (Gtk.VBox) get_content_area (); content.set_size_request (-1, 5*70); @@ -52,7 +52,7 @@ class LedPatternDialog : Gtk.Dialog { var button_help = new Gtk.Button.with_label ("Help"); Hildon.gtk_widget_set_theme_size (button_help, Hildon.SizeType.FINGER_HEIGHT); - var label = new Gtk.Label ("Restore original\npatterns"); + var label = new Gtk.Label (_("Restore original\npatterns")); label.justify = Gtk.Justification.CENTER; var button_restore = new Gtk.Button (); button_restore.add (label); @@ -66,7 +66,7 @@ class LedPatternDialog : Gtk.Dialog { action_area.set_child_secondary (button_help, true); action_area.show_all (); - add_button ("Save", Gtk.ResponseType.OK); + add_button (_("Save"), Gtk.ResponseType.OK); response.connect (on_response); } @@ -99,9 +99,9 @@ class LedPatternDialog : Gtk.Dialog { var url = "http://wiki.maemo.org/LED_Pattern_Editor"; var status = osso_context.rpc_run_with_defaults ("osso_browser", "open_new_window", null, 's', url, 'b', false); if (status != Osso.Status.OK) - Hildon.Banner.show_information (this, null, "Failed to open browser."); + Hildon.Banner.show_information (this, null, _("Failed to open browser.")); } else if (response_id == Response.RESTORE) { - var note = new Hildon.Note.confirmation (this, "Restore original patterns? All user-created patterns will be lost."); + var note = new Hildon.Note.confirmation (this, _("Restore original patterns? All user-created patterns will be lost.")); response_id = note.run (); note.destroy (); if (response_id == Gtk.ResponseType.OK) diff --git a/src/led-pattern-editor.vala b/src/led-pattern-editor.vala index fa1d4d0..44b1fa5 100644 --- a/src/led-pattern-editor.vala +++ b/src/led-pattern-editor.vala @@ -19,6 +19,11 @@ public static Osso.Status execute (Osso.Context osso, void* data, bool user_activated) { var window = data as Gtk.Window; + // Gettext hook-up + Intl.setlocale (LocaleCategory.ALL, ""); + Intl.bindtextdomain (Config.GETTEXT_PACKAGE, Config.LOCALEDIR); + Intl.textdomain (Config.GETTEXT_PACKAGE); + var list = mce_ini_parse (); var dialog = new LedPatternDialog (list, osso); @@ -29,10 +34,10 @@ public static Osso.Status execute (Osso.Context osso, void* data, bool user_acti string command = null; if (response == Gtk.ResponseType.OK) { mce_ini_store (list); - Hildon.Banner.show_information (window, null, "Applying changes and restarting MCE ..."); + Hildon.Banner.show_information (window, null, _("Applying changes and restarting MCE ...")); command = "sudo /usr/bin/led-pattern-helper save %s".printf ("/tmp/mce.ini"); } else if (response == LedPatternDialog.Response.RESTORE) { - Hildon.Banner.show_information (window, null, "Restoring defaults and restarting MCE ..."); + Hildon.Banner.show_information (window, null, _("Restoring defaults and restarting MCE ...")); command = "sudo /usr/bin/led-pattern-helper save %s".printf ("/etc/mce/mce.ini.orig"); } if (command != null) { diff --git a/src/led-program-dialog.vala b/src/led-program-dialog.vala index 004d0ea..91840f3 100644 --- a/src/led-program-dialog.vala +++ b/src/led-program-dialog.vala @@ -27,9 +27,9 @@ class LedProgramDialog : Gtk.Dialog { public LedProgramDialog (LedPatternRX51 _pattern) { pattern = _pattern; - set_title ("LED pattern editor - " + + set_title (_("LED pattern editor - ") + (pattern.name.has_prefix ("Pattern") ? - pattern.name.offset (7) : pattern.name) + " pattern"); + pattern.name.offset (7) : pattern.name) + _(" pattern")); var content = (Gtk.VBox) get_content_area (); content.set_size_request (-1, 5*70); @@ -75,9 +75,9 @@ class LedProgramDialog : Gtk.Dialog { action_area.show_all (); - add_button ("Copy", 2); - add_button ("Test", 1); - add_button ("Done", Gtk.ResponseType.ACCEPT); + add_button (_("Copy"), 2); + add_button (_("Test"), 1); + add_button (_("Done"), Gtk.ResponseType.ACCEPT); key_press_event.connect (on_key_pressed); response.connect (on_response); @@ -98,7 +98,7 @@ class LedProgramDialog : Gtk.Dialog { var pannable = new Hildon.PannableArea (); var vbox = new Gtk.VBox (false, 0); - var label = new Gtk.Label ("Engine %d:".printf (engine)); + var label = new Gtk.Label (_("Engine %d:").printf (engine)); label.set_alignment (0, 0.5f); vbox.pack_start (label, false, false, 0); @@ -113,7 +113,7 @@ class LedProgramDialog : Gtk.Dialog { vbox.pack_start (command_widget, false, false, 0); } - var button = new Gtk.Button.with_label ("New command"); + var button = new Gtk.Button.with_label (_("New command")); Hildon.gtk_widget_set_theme_size (button, Hildon.SizeType.FINGER_HEIGHT); button.clicked.connect (on_new_command_clicked); vbox.pack_end (button, false, false, 0); @@ -139,7 +139,7 @@ class LedProgramDialog : Gtk.Dialog { clipboard.set_text (lpv.pattern.dump (), -1); clipboard.store (); - Hildon.Banner.show_information (null, null, "Copied"); + Hildon.Banner.show_information (null, null, _("Copied")); } void paste () { @@ -154,7 +154,7 @@ class LedProgramDialog : Gtk.Dialog { clip_pattern.parse (text); lpv.pattern.replace_with (clip_pattern); } catch (LedPatternError e) { - Hildon.Banner.show_information (null, null, "Not a valid pattern"); + Hildon.Banner.show_information (null, null, _("Not a valid pattern")); } } @@ -232,15 +232,15 @@ class LedProgramDialog : Gtk.Dialog { } var dialog = new Hildon.PickerDialog (this); - dialog.set_title ("New command"); + dialog.set_title (_("New command")); var touch_selector = new Hildon.TouchSelector.text (); - touch_selector.append_text ("Set PWM"); - touch_selector.append_text ("Ramp"); - touch_selector.append_text ("Wait"); - touch_selector.append_text ("Trigger"); - touch_selector.append_text ("Go To Start"); - touch_selector.append_text ("End"); + touch_selector.append_text (_("Set PWM")); + touch_selector.append_text (_("Ramp")); + touch_selector.append_text (_("Wait")); + touch_selector.append_text (_("Trigger")); + touch_selector.append_text (_("Go To Start")); + touch_selector.append_text (_("End")); dialog.set_selector (touch_selector); int response = dialog.run (); -- 1.7.9.5