Add localization support
authorPhilipp Zabel <philipp.zabel@gmail.com>
Mon, 2 Nov 2009 13:30:22 +0000 (14:30 +0100)
committerPhilipp Zabel <philipp.zabel@gmail.com>
Tue, 3 Nov 2009 13:26:29 +0000 (14:26 +0100)
Makefile.am
autogen.sh
configure.ac
po/POTFILES.in [new file with mode: 0644]
po/cinaest.pot [new file with mode: 0644]
src/main.vala
src/movie-list-menu.vala
src/movie-list-view.vala
src/movie-list-window.vala

index d86716d..428f9c5 100644 (file)
@@ -39,8 +39,9 @@ cinaest_VALASOURCES = \
 ${cinaest_SOURCES}: ${cinaest_VALASOURCES}
        ${VALAC} -C ${cinaest_VALASOURCES} ${cinaest_VALAFLAGS}
 
-cinaest_VALAFLAGS = --thread --vapidir ./vapi --pkg hildon-1 --pkg libosso --pkg gmodule-2.0
-cinaest_CFLAGS = ${HILDON_CFLAGS} ${OSSO_CFLAGS} ${GMODULE_CFLAGS}
+cinaest_VALAFLAGS = --thread --vapidir ./vapi --pkg config --pkg hildon-1 --pkg libosso --pkg gmodule-2.0
+cinaest_CFLAGS = ${HILDON_CFLAGS} ${OSSO_CFLAGS} ${GMODULE_CFLAGS} \
+       -DGETTEXT_PACKAGE=\"@GETTEXT_PACKAGE@\"
 cinaest_LDADD = ${HILDON_LIBS} ${OSSO_LIBS} ${GMODULE_LIBS}
 
 libimdb_plugin_la_SOURCES = \
index f8ca0e4..b88819e 100755 (executable)
@@ -1,7 +1,9 @@
 #!/bin/sh
 
 set -x
+glib-gettextize --copy --force
 libtoolize --copy --automake
+intltoolize --copy --force --automake
 
 aclocal-1.10 -Im4
 autoconf
index 96f3ebd..8b27c60 100644 (file)
@@ -44,8 +44,21 @@ PKG_CHECK_MODULES(OSSOSETTINGS, osso-af-settings >= 0.9.2)
 
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`
 
+# Localization-related
+AC_PROG_INTLTOOL([0.40.5])
+GETTEXT_PACKAGE=cinaest
+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(desktopentrydir)
 
 AC_OUTPUT([
        Makefile
+       po/Makefile.in
+       po/Makefile
 ])
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644 (file)
index 0000000..afab376
--- /dev/null
@@ -0,0 +1,3 @@
+src/main.vala
+src/movie-list-menu.vala
+src/movie-list-window.vala
diff --git a/po/cinaest.pot b/po/cinaest.pot
new file mode 100644 (file)
index 0000000..4041494
--- /dev/null
@@ -0,0 +1,38 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-11-03 13:23+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Add sort buttons as view menu filters
+#: ../src/movie-list-menu.vala:27
+msgid "ABC"
+msgstr ""
+
+#: ../src/movie-list-menu.vala:28
+msgid "Year"
+msgstr ""
+
+#: ../src/movie-list-menu.vala:29
+msgid "Rating"
+msgstr ""
+
+#: ../src/movie-list-window.vala:44
+msgid "Close"
+msgstr ""
+
+#: ../src/movie-list-window.vala:57
+msgid "No movies"
+msgstr ""
index 58d32e7..cd2bd03 100644 (file)
@@ -74,6 +74,10 @@ public class CinaestProgram : Hildon.Program {
                Gtk.init (ref args);
                Gdk.threads_init ();
 
+               Intl.setlocale (LocaleCategory.ALL, "");
+               Intl.bindtextdomain (Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
+               Intl.textdomain (Config.GETTEXT_PACKAGE);
+
                var osso_context = new Osso.Context ("org.maemo.cinaest", Config.VERSION, true, null);
                if (osso_context == null) {
                        return Osso.Status.ERROR;
index 31602d9..75a9f52 100644 (file)
@@ -24,9 +24,9 @@ public class MovieListMenu : AppMenu {
 
        construct {
                // Add sort buttons as view menu filters
-               var sort_by_title = new RadioButton.with_label (null, "ABC");
-               var sort_by_year = new RadioButton.with_label_from_widget (sort_by_title, "Year");
-               var sort_by_rating = new RadioButton.with_label_from_widget (sort_by_title, "Rating");
+               var sort_by_title = new RadioButton.with_label (null, _("ABC"));
+               var sort_by_year = new RadioButton.with_label_from_widget (sort_by_title, _("Year"));
+               var sort_by_rating = new RadioButton.with_label_from_widget (sort_by_title, _("Rating"));
 
                // Draw them as toggle buttons, not as radio buttons
                sort_by_title.set_mode (false);
index 9d3b53e..82db38c 100644 (file)
@@ -47,7 +47,7 @@ public class MovieListView : PannableArea {
 
                // Title column with poster
                var title_column = new TreeViewColumn ();
-               title_column.set_title ("Movie");
+               title_column.set_title (_("Movie"));
                title_column.set_sort_column_id (MovieListStore.Columns.TITLE);
                title_column.set_reorderable (false);
                title_column.set_sizing (TreeViewColumnSizing.AUTOSIZE);
@@ -70,7 +70,7 @@ public class MovieListView : PannableArea {
 
                // Year column
                renderer = new CellRendererText ();
-               var year_column = new TreeViewColumn.with_attributes ("Year", renderer, "text", MovieListStore.Columns.YEAR);
+               var year_column = new TreeViewColumn.with_attributes (_("Year"), renderer, "text", MovieListStore.Columns.YEAR);
                year_column.set_sort_column_id (MovieListStore.Columns.YEAR);
                year_column.set_reorderable (false);
                year_column.set_sort_order (SortType.DESCENDING);
@@ -78,7 +78,7 @@ public class MovieListView : PannableArea {
 
                // Rating column
                renderer = new CellRendererText ();
-               var rating_column = new TreeViewColumn.with_attributes ("Rating", renderer, "text", MovieListStore.Columns.RATING);
+               var rating_column = new TreeViewColumn.with_attributes (_("Rating"), renderer, "text", MovieListStore.Columns.RATING);
                rating_column.set_sort_column_id (MovieListStore.Columns.RATING);
                rating_column.set_reorderable (false);
                rating_column.set_sort_order (SortType.DESCENDING);
index b2388f4..f1e9cc3 100644 (file)
@@ -41,7 +41,7 @@ public class MovieListWindow : StackableWindow {
                search_field_item.add (search_field);
 
                var close_image = new Image.from_file("/usr/share/icons/hicolor/48x48/hildon/general_close.png");
-               var close_button = new ToolButton (close_image, "Close");
+               var close_button = new ToolButton (close_image, _("Close"));
 
                search_bar = new Toolbar ();
                search_bar.insert (search_field_item, 0);
@@ -54,7 +54,7 @@ public class MovieListWindow : StackableWindow {
                menu.sortable = movie_list.sorted_store;
                store = movie_list.store;
 
-               no_movies = new Label ("No movies");
+               no_movies = new Label (_("No movies"));
                Hildon.helper_set_logical_font (no_movies, "LargeSystemFont");
                Hildon.helper_set_logical_color (no_movies, RcFlags.FG, StateType.NORMAL, "SecondaryTextColor");
                no_movies.set_size_request (-1, 6 * 70);