Use autotools and intltools, translate user interface, add German translation
authorPhilipp Zabel <philipp.zabel@gmail.com>
Tue, 10 Aug 2010 15:55:09 +0000 (17:55 +0200)
committerPhilipp Zabel <philipp.zabel@gmail.com>
Tue, 10 Aug 2010 16:35:58 +0000 (18:35 +0200)
14 files changed:
Makefile [deleted file]
Makefile.am [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
autovapi.sh [new file with mode: 0755]
configure.ac [new file with mode: 0644]
debian/rules
m4/vala.m4 [new file with mode: 0644]
po/POTFILES.in [new file with mode: 0644]
po/de.po [new file with mode: 0644]
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/Makefile b/Makefile
deleted file mode 100644 (file)
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 (file)
index 0000000..be412b4
--- /dev/null
@@ -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 (executable)
index 0000000..3676ffd
--- /dev/null
@@ -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 (executable)
index 0000000..d237b14
--- /dev/null
@@ -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 (file)
index 0000000..5b33fb8
--- /dev/null
@@ -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
+])
index 74cc6d6..b7a2a83 100755 (executable)
@@ -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 (file)
index 0000000..d95734a
--- /dev/null
@@ -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 (file)
index 0000000..d7883b3
--- /dev/null
@@ -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 (file)
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 <EMAIL@ADDRESS>, 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 <philipp.zabel@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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"
+
index e096fec..7fc0770 100644 (file)
@@ -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);
index 158e47a..fcbd34a 100644 (file)
@@ -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);
index e5bbdea..9276c97 100644 (file)
@@ -29,7 +29,7 @@ class LedPatternDialog : Gtk.Dialog {
        public LedPatternDialog (List<LedPattern> _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)
index fa1d4d0..44b1fa5 100644 (file)
 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) {
index 004d0ea..91840f3 100644 (file)
@@ -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 ();