From 1b4394bd15c39569ba8d8e7b7ebb9c391c1857bf Mon Sep 17 00:00:00 2001
From: Takao Fujiwara <takao.fujiwara@sun.com>
Date: Sun, 7 Sep 2008 15:54:20 +1000
Subject: [PATCH] Add localization support to avahi-ui and avahi-discover
Closes #122
Signed-off-by: Ted Percival <ted@midg3t.net>
---
avahi-python/avahi-discover/Makefile.am | 8 +++-
.../avahi-discover/avahi-discover.desktop.in | 12 -------
.../avahi-discover/avahi-discover.desktop.in.in | 12 +++++++
avahi-python/avahi-discover/avahi-discover.in | 5 ++-
avahi-ui/Makefile.am | 3 +-
avahi-ui/avahi-ui.c | 35 ++++++++++---------
avahi-ui/bssh.c | 5 +++
po/POTFILES.in | 3 +-
8 files changed, 49 insertions(+), 34 deletions(-)
delete mode 100644 avahi-python/avahi-discover/avahi-discover.desktop.in
create mode 100644 avahi-python/avahi-discover/avahi-discover.desktop.in.in
diff --git a/avahi-python/avahi-discover/Makefile.am b/avahi-python/avahi-discover/Makefile.am
index c1d6cab..e9c5583 100644
|
a
|
b
|
|
| 23 | 23 | __init__.py \ |
| 24 | 24 | SimpleGladeApp.py \ |
| 25 | 25 | avahi-discover.in \ |
| 26 | | avahi-discover.desktop.in |
| | 26 | avahi-discover.desktop.in.in |
| 27 | 27 | |
| 28 | 28 | if HAVE_PYTHON |
| 29 | 29 | if HAVE_PYTHON_DBUS |
| … |
… |
|
| 41 | 41 | pythonscripts += \ |
| 42 | 42 | avahi-discover |
| 43 | 43 | desktop_DATA += avahi-discover.desktop |
| | 44 | @INTLTOOL_DESKTOP_RULE@ |
| 44 | 45 | avahi_discover_PYTHON += __init__.py SimpleGladeApp.py |
| 45 | 46 | endif |
| 46 | 47 | |
| … |
… |
|
| 48 | 49 | pythonscripts += \ |
| 49 | 50 | avahi-discover |
| 50 | 51 | desktop_DATA += avahi-discover.desktop |
| | 52 | @INTLTOOL_DESKTOP_RULE@ |
| 51 | 53 | avahi_discover_PYTHON += __init__.py SimpleGladeApp.py |
| 52 | 54 | endif |
| 53 | 55 | |
| 54 | | avahi-discover.desktop: avahi-discover.desktop.in |
| | 56 | avahi-discover.desktop.in: avahi-discover.desktop.in.in |
| 55 | 57 | sed -e 's,@bindir\@,$(bindir),g' $< > $@ |
| 56 | 58 | |
| 57 | 59 | avahi-discover: avahi-discover.in |
| 58 | 60 | sed -e 's,@PYTHON\@,$(PYTHON),g' \ |
| | 61 | -e 's,@GETTEXT_PACKAGE\@,"$(GETTEXT_PACKAGE)",g' \ |
| | 62 | -e 's,@LOCALEDIR\@,"$(datadir)/locale",g' \ |
| 59 | 63 | -e 's,@interfacesdir\@,$(interfacesdir),g' $< > $@ |
| 60 | 64 | chmod +x $@ |
| 61 | 65 | |
diff --git a/avahi-python/avahi-discover/avahi-discover.desktop.in b/avahi-python/avahi-discover/avahi-discover.desktop.in
deleted file mode 100644
index e896192..0000000
|
a
|
b
|
|
| 1 | | [Desktop Entry] |
| 2 | | Version=1.0 |
| 3 | | Encoding=UTF-8 |
| 4 | | Name=Avahi Zeroconf Browser |
| 5 | | Comment=Browse for Zeroconf services available on your network |
| 6 | | Exec=@bindir@/avahi-discover |
| 7 | | Terminal=false |
| 8 | | Type=Application |
| 9 | | Icon=network-wired |
| 10 | | Categories=GNOME;Application;System; |
| 11 | | StartupNotify=false |
| 12 | | GenericName= |
diff --git a/avahi-python/avahi-discover/avahi-discover.desktop.in.in b/avahi-python/avahi-discover/avahi-discover.desktop.in.in
new file mode 100644
index 0000000..031024c
|
a
|
b
|
|
| | 1 | [Desktop Entry] |
| | 2 | Version=1.0 |
| | 3 | Encoding=UTF-8 |
| | 4 | _Name=Avahi Zeroconf Browser |
| | 5 | _Comment=Browse for Zeroconf services available on your network |
| | 6 | Exec=@bindir@/avahi-discover |
| | 7 | Terminal=false |
| | 8 | Type=Application |
| | 9 | Icon=network-wired |
| | 10 | Categories=GNOME;Application;System; |
| | 11 | StartupNotify=false |
| | 12 | GenericName= |
diff --git a/avahi-python/avahi-discover/avahi-discover.in b/avahi-python/avahi-discover/avahi-discover.in
index 229c7bd..da80322 100755
|
a
|
b
|
|
| 22 | 22 | import os, sys |
| 23 | 23 | |
| 24 | 24 | try: |
| 25 | | import avahi, gtk, gobject, dbus, avahi.ServiceTypeDatabase |
| | 25 | import avahi, gettext, gtk, gobject, dbus, avahi.ServiceTypeDatabase |
| 26 | 26 | from avahi_discover.SimpleGladeApp import SimpleGladeApp |
| | 27 | gtk.glade.bindtextdomain(@GETTEXT_PACKAGE@, @LOCALEDIR@) |
| | 28 | gtk.glade.textdomain(@GETTEXT_PACKAGE@) |
| | 29 | _ = gettext.gettext |
| 27 | 30 | except ImportError, e: |
| 28 | 31 | print "Sorry, to use this tool you need to install Avahi, pygtk and python-dbus.\n Error: %s" % e |
| 29 | 32 | sys.exit(1) |
diff --git a/avahi-ui/Makefile.am b/avahi-ui/Makefile.am
index 910dc6b..6dbbd24 100644
|
a
|
b
|
|
| 29 | 29 | |
| 30 | 30 | EXTRA_DIST = $(desktop_DATA_in_in) |
| 31 | 31 | |
| 32 | | |
| 33 | 32 | if HAVE_GTK |
| | 33 | AM_CFLAGS += -DGNOMELOCALEDIR=\"$(datadir)/locale\" |
| 34 | 34 | if HAVE_DBUS |
| 35 | 35 | if HAVE_GLIB |
| 36 | 36 | |
| … |
… |
|
| 61 | 61 | |
| 62 | 62 | bin_PROGRAMS = bssh |
| 63 | 63 | desktop_DATA += bssh.desktop bvnc.desktop |
| | 64 | @INTLTOOL_DESKTOP_RULE@ |
| 64 | 65 | |
| 65 | 66 | bssh_SOURCES = bssh.c |
| 66 | 67 | bssh_CFLAGS = $(AM_CFLAGS) $(GTK20_CFLAGS) |
diff --git a/avahi-ui/avahi-ui.c b/avahi-ui/avahi-ui.c
index a54cbe9..bd2b3cc 100644
|
a
|
b
|
|
| 30 | 30 | #include <net/if.h> |
| 31 | 31 | |
| 32 | 32 | #include <gtk/gtk.h> |
| | 33 | #include <glib/gi18n.h> |
| 33 | 34 | |
| 34 | 35 | #include <avahi-glib/glib-watch.h> |
| 35 | 36 | #include <avahi-client/client.h> |
| … |
… |
|
| 184 | 185 | g_object_class_install_property( |
| 185 | 186 | object_class, |
| 186 | 187 | PROP_BROWSE_SERVICE_TYPES, |
| 187 | | g_param_spec_pointer("browse_service_types", "Browse Service Types", "A NULL terminated list of service types to browse for", |
| | 188 | g_param_spec_pointer("browse_service_types", _("Browse Service Types"), _("A NULL terminated list of service types to browse for"), |
| 188 | 189 | G_PARAM_READABLE | G_PARAM_WRITABLE)); |
| 189 | 190 | g_object_class_install_property( |
| 190 | 191 | object_class, |
| 191 | 192 | PROP_DOMAIN, |
| 192 | | g_param_spec_string("domain", "Domain", "The domain to browse in, or NULL for the default domain", |
| | 193 | g_param_spec_string("domain", _("Domain"), _("The domain to browse in, or NULL for the default domain"), |
| 193 | 194 | NULL, |
| 194 | 195 | G_PARAM_READABLE | G_PARAM_WRITABLE)); |
| 195 | 196 | g_object_class_install_property( |
| 196 | 197 | object_class, |
| 197 | 198 | PROP_SERVICE_TYPE, |
| 198 | | g_param_spec_string("service_type", "Service Type", "The service type of the selected service", |
| | 199 | g_param_spec_string("service_type", _("Service Type"), _("The service type of the selected service"), |
| 199 | 200 | NULL, |
| 200 | 201 | G_PARAM_READABLE | G_PARAM_WRITABLE)); |
| 201 | 202 | g_object_class_install_property( |
| 202 | 203 | object_class, |
| 203 | 204 | PROP_SERVICE_NAME, |
| 204 | | g_param_spec_string("service_name", "Service Name", "The service name of the selected service", |
| | 205 | g_param_spec_string("service_name", _("Service Name"), _("The service name of the selected service"), |
| 205 | 206 | NULL, |
| 206 | 207 | G_PARAM_READABLE | G_PARAM_WRITABLE)); |
| 207 | 208 | g_object_class_install_property( |
| 208 | 209 | object_class, |
| 209 | 210 | PROP_ADDRESS, |
| 210 | | g_param_spec_pointer("address", "Address", "The address of the resolved service", |
| | 211 | g_param_spec_pointer("address", _("Address"), _("The address of the resolved service"), |
| 211 | 212 | G_PARAM_READABLE)); |
| 212 | 213 | g_object_class_install_property( |
| 213 | 214 | object_class, |
| 214 | 215 | PROP_PORT, |
| 215 | | g_param_spec_uint("port", "Port", "The IP port number of the resolved service", |
| | 216 | g_param_spec_uint("port", _("Port"), _("The IP port number of the resolved service"), |
| 216 | 217 | 0, 0xFFFF, 0, |
| 217 | 218 | G_PARAM_READABLE)); |
| 218 | 219 | g_object_class_install_property( |
| 219 | 220 | object_class, |
| 220 | 221 | PROP_HOST_NAME, |
| 221 | | g_param_spec_string("host_name", "Host Name", "The host name of the resolved service", |
| | 222 | g_param_spec_string("host_name", _("Host Name"), _("The host name of the resolved service"), |
| 222 | 223 | NULL, |
| 223 | 224 | G_PARAM_READABLE)); |
| 224 | 225 | g_object_class_install_property( |
| 225 | 226 | object_class, |
| 226 | 227 | PROP_TXT_DATA, |
| 227 | | g_param_spec_pointer("txt_data", "TXT Data", "The TXT data of the resolved service", |
| | 228 | g_param_spec_pointer("txt_data", _("TXT Data"), _("The TXT data of the resolved service"), |
| 228 | 229 | G_PARAM_READABLE)); |
| 229 | 230 | g_object_class_install_property( |
| 230 | 231 | object_class, |
| 231 | 232 | PROP_RESOLVE_SERVICE, |
| 232 | | g_param_spec_boolean("resolve_service", "Resolve service", "Resolve service", |
| | 233 | g_param_spec_boolean("resolve_service", _("Resolve service"), _("Resolve service"), |
| 233 | 234 | TRUE, |
| 234 | 235 | G_PARAM_READABLE | G_PARAM_WRITABLE)); |
| 235 | 236 | g_object_class_install_property( |
| 236 | 237 | object_class, |
| 237 | 238 | PROP_RESOLVE_HOST_NAME, |
| 238 | | g_param_spec_boolean("resolve_host_name", "Resolve service host name", "Resolve service host name", |
| | 239 | g_param_spec_boolean("resolve_host_name", _("Resolve service host name"), _("Resolve service host name"), |
| 239 | 240 | TRUE, |
| 240 | 241 | G_PARAM_READABLE | G_PARAM_WRITABLE)); |
| 241 | 242 | g_object_class_install_property( |
| 242 | 243 | object_class, |
| 243 | 244 | PROP_ADDRESS_FAMILY, |
| 244 | | g_param_spec_int("address_family", "Address family", "The address family for host name resolution", |
| | 245 | g_param_spec_int("address_family", _("Address family"), _("The address family for host name resolution"), |
| 245 | 246 | AVAHI_PROTO_UNSPEC, AVAHI_PROTO_INET6, AVAHI_PROTO_UNSPEC, |
| 246 | 247 | G_PARAM_READABLE | G_PARAM_WRITABLE)); |
| 247 | 248 | } |
| … |
… |
|
| 703 | 704 | d->priv->start_idle = 0; |
| 704 | 705 | |
| 705 | 706 | if (!d->priv->browse_service_types || !*d->priv->browse_service_types) { |
| 706 | | g_warning("Browse service type list is empty!"); |
| | 707 | g_warning(_("Browse service type list is empty!")); |
| 707 | 708 | return FALSE; |
| 708 | 709 | } |
| 709 | 710 | |
| … |
… |
|
| 1026 | 1027 | gtk_container_add(GTK_CONTAINER(scrolled_window), p->domain_tree_view); |
| 1027 | 1028 | |
| 1028 | 1029 | p->domain_progress_bar = gtk_progress_bar_new(); |
| 1029 | | gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->domain_progress_bar), _("Browsing ...")); |
| | 1030 | gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->domain_progress_bar), _("Browsing...")); |
| 1030 | 1031 | gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(p->domain_progress_bar), 0.1); |
| 1031 | 1032 | gtk_box_pack_end(GTK_BOX(vbox2), p->domain_progress_bar, FALSE, FALSE, 0); |
| 1032 | 1033 | |
| … |
… |
|
| 1139 | 1140 | g_signal_connect(selection, "changed", G_CALLBACK(service_selection_changed_callback), d); |
| 1140 | 1141 | |
| 1141 | 1142 | renderer = gtk_cell_renderer_text_new(); |
| 1142 | | column = gtk_tree_view_column_new_with_attributes("Location", renderer, "text", SERVICE_COLUMN_PRETTY_IFACE, NULL); |
| | 1143 | column = gtk_tree_view_column_new_with_attributes(_("Location"), renderer, "text", SERVICE_COLUMN_PRETTY_IFACE, NULL); |
| 1143 | 1144 | gtk_tree_view_column_set_visible(column, FALSE); |
| 1144 | 1145 | gtk_tree_view_append_column(GTK_TREE_VIEW(p->service_tree_view), column); |
| 1145 | 1146 | |
| 1146 | 1147 | renderer = gtk_cell_renderer_text_new(); |
| 1147 | | column = gtk_tree_view_column_new_with_attributes("Name", renderer, "text", SERVICE_COLUMN_NAME, NULL); |
| | 1148 | column = gtk_tree_view_column_new_with_attributes(_("Name"), renderer, "text", SERVICE_COLUMN_NAME, NULL); |
| 1148 | 1149 | gtk_tree_view_column_set_expand(column, TRUE); |
| 1149 | 1150 | gtk_tree_view_append_column(GTK_TREE_VIEW(p->service_tree_view), column); |
| 1150 | 1151 | |
| 1151 | 1152 | renderer = gtk_cell_renderer_text_new(); |
| 1152 | | column = gtk_tree_view_column_new_with_attributes("Type", renderer, "text", SERVICE_COLUMN_PRETTY_TYPE, NULL); |
| | 1153 | column = gtk_tree_view_column_new_with_attributes(_("Type"), renderer, "text", SERVICE_COLUMN_PRETTY_TYPE, NULL); |
| 1153 | 1154 | gtk_tree_view_column_set_visible(column, FALSE); |
| 1154 | 1155 | gtk_tree_view_append_column(GTK_TREE_VIEW(p->service_tree_view), column); |
| 1155 | 1156 | |
| … |
… |
|
| 1157 | 1158 | gtk_container_add(GTK_CONTAINER(scrolled_window), p->service_tree_view); |
| 1158 | 1159 | |
| 1159 | 1160 | p->service_progress_bar = gtk_progress_bar_new(); |
| 1160 | | gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->service_progress_bar), _("Browsing ...")); |
| | 1161 | gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->service_progress_bar), _("Browsing...")); |
| 1161 | 1162 | gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(p->service_progress_bar), 0.1); |
| 1162 | 1163 | gtk_box_pack_end(GTK_BOX(vbox2), p->service_progress_bar, FALSE, FALSE, 0); |
| 1163 | 1164 | |
diff --git a/avahi-ui/bssh.c b/avahi-ui/bssh.c
index fea1071..e4a190b 100644
|
a
|
b
|
|
| 31 | 31 | #include <getopt.h> |
| 32 | 32 | |
| 33 | 33 | #include <gtk/gtk.h> |
| | 34 | #include <glib/gi18n.h> |
| 34 | 35 | |
| 35 | 36 | #include <avahi-client/client.h> |
| 36 | 37 | #include <avahi-common/strlst.h> |
| … |
… |
|
| 135 | 136 | return 1; |
| 136 | 137 | } |
| 137 | 138 | |
| | 139 | bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); |
| | 140 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); |
| | 141 | textdomain (GETTEXT_PACKAGE); |
| | 142 | |
| 138 | 143 | gtk_init(&argc, &argv); |
| 139 | 144 | |
| 140 | 145 | switch (config.command) { |
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 80b5a29..f3e48de 100644
|
a
|
b
|
|
| 1 | 1 | # List of source files which contain translatable strings. |
| 2 | 2 | avahi-common/error.c |
| | 3 | avahi-discover-standalone/avahi-discover.glade |
| | 4 | avahi-python/avahi-discover/avahi-discover.desktop.in.in |
| 3 | 5 | avahi-ui/avahi-ui.c |
| 4 | 6 | avahi-ui/bssh.c |
| 5 | 7 | avahi-ui/bssh.desktop.in.in |
| … |
… |
|
| 8 | 10 | avahi-utils/avahi-publish.c |
| 9 | 11 | avahi-utils/avahi-resolve.c |
| 10 | 12 | avahi-utils/avahi-set-host-name.c |
| 11 | | |