From bb8bd5490a71bc77570653cf53be88edd37679e3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 17 Dec 2007 12:36:14 +0000 Subject: add i18n support git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1593 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-ui/avahi-ui.c | 39 +++++++++++++++++++---------------- avahi-ui/bssh.c | 59 ++++++++++++++++++++++++++++------------------------- 2 files changed, 52 insertions(+), 46 deletions(-) (limited to 'avahi-ui') diff --git a/avahi-ui/avahi-ui.c b/avahi-ui/avahi-ui.c index 643c181..537ca5b 100644 --- a/avahi-ui/avahi-ui.c +++ b/avahi-ui/avahi-ui.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "avahi-ui.h" @@ -172,6 +173,8 @@ G_DEFINE_TYPE(AuiServiceDialog, aui_service_dialog, GTK_TYPE_DIALOG) static void aui_service_dialog_class_init(AuiServiceDialogClass *klass) { GObjectClass *object_class; + avahi_init_i18n(); + object_class = (GObjectClass*) klass; object_class->finalize = aui_service_dialog_finalize; @@ -320,7 +323,7 @@ static void client_callback(AvahiClient *c, AvahiClientState state, void *userda GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Avahi client failure: %s", + _("Avahi client failure: %s"), avahi_strerror(avahi_client_errno(c))); gtk_dialog_run(GTK_DIALOG(m)); gtk_widget_destroy(m); @@ -382,7 +385,7 @@ static void resolve_callback( GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Avahi resolver failure: %s", + _("Avahi resolver failure: %s"), avahi_strerror(avahi_client_errno(d->priv->client))); gtk_dialog_run(GTK_DIALOG(m)); gtk_widget_destroy(m); @@ -512,8 +515,8 @@ static void browse_callback( GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Browsing for service type %s in domain %s failed: %s", - type, domain ? domain : "n/a", + _("Browsing for service type %s in domain %s failed: %s"), + type, domain ? domain : _("n/a"), avahi_strerror(avahi_client_errno(d->priv->client))); gtk_dialog_run(GTK_DIALOG(m)); gtk_widget_destroy(m); @@ -643,7 +646,7 @@ static void domain_browse_callback( GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Avahi domain browser failure: %s", + _("Avahi domain browser failure: %s"), avahi_strerror(avahi_client_errno(d->priv->client))); gtk_dialog_run(GTK_DIALOG(m)); gtk_widget_destroy(m); @@ -678,7 +681,7 @@ static const gchar *get_domain_name(AuiServiceDialog *d) { GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Failed to read Avahi domain : %s", + _("Failed to read Avahi domain : %s"), avahi_strerror(avahi_client_errno(d->priv->client))); gtk_dialog_run(GTK_DIALOG(m)); gtk_widget_destroy(m); @@ -711,7 +714,7 @@ static gboolean start_callback(gpointer data) { GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Failed to connect to Avahi server: %s", + _("Failed to connect to Avahi server: %s"), avahi_strerror(error)); gtk_dialog_run(GTK_DIALOG(m)); gtk_widget_destroy(m); @@ -729,9 +732,9 @@ static gboolean start_callback(gpointer data) { g_assert(domain); if (avahi_domain_equal(domain, "local.")) - gtk_label_set_markup(GTK_LABEL(d->priv->domain_label), "Browsing for services on local network:"); + gtk_label_set_markup(GTK_LABEL(d->priv->domain_label), _("Browsing for services on local network:")); else { - gchar *t = g_strdup_printf("Browsing for services in domain %s:", domain); + gchar *t = g_strdup_printf(_("Browsing for services in domain %s:"), domain); gtk_label_set_markup(GTK_LABEL(d->priv->domain_label), t); g_free(t); } @@ -767,7 +770,7 @@ static gboolean start_callback(gpointer data) { GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Failed to create browser for %s: %s", + _("Failed to create browser for %s: %s"), *st, avahi_strerror(avahi_client_errno(d->priv->client))); gtk_dialog_run(GTK_DIALOG(m)); @@ -897,7 +900,7 @@ static void response_callback(GtkDialog *dialog, gint response, gpointer user_da GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Failed to create resolver for %s of type %s in domain %s: %s", + _("Failed to create resolver for %s of type %s in domain %s: %s"), name, type, d->priv->domain, avahi_strerror(avahi_client_errno(d->priv->client))); gtk_dialog_run(GTK_DIALOG(m)); @@ -972,7 +975,7 @@ static void domain_button_clicked(GtkButton *button G_GNUC_UNUSED, gpointer user GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, - "Failed to create domain browser: %s", + _("Failed to create domain browser: %s"), avahi_strerror(avahi_client_errno(p->client))); gtk_dialog_run(GTK_DIALOG(m)); gtk_widget_destroy(m); @@ -983,7 +986,7 @@ static void domain_button_clicked(GtkButton *button G_GNUC_UNUSED, gpointer user p->domain_dialog = gtk_dialog_new(); gtk_container_set_border_width(GTK_CONTAINER(p->domain_dialog), 5); - gtk_window_set_title(GTK_WINDOW(p->domain_dialog), "Change domain"); + gtk_window_set_title(GTK_WINDOW(p->domain_dialog), _("Change domain")); gtk_dialog_set_has_separator(GTK_DIALOG(p->domain_dialog), FALSE); vbox = gtk_vbox_new(FALSE, 8); @@ -1015,7 +1018,7 @@ static void domain_button_clicked(GtkButton *button G_GNUC_UNUSED, gpointer user g_signal_connect(selection, "changed", G_CALLBACK(domain_selection_changed_callback), d); renderer = gtk_cell_renderer_text_new(); - column = gtk_tree_view_column_new_with_attributes("Service Name", renderer, "text", DOMAIN_COLUMN_NAME, NULL); + column = gtk_tree_view_column_new_with_attributes(_("Service Name"), renderer, "text", DOMAIN_COLUMN_NAME, NULL); gtk_tree_view_column_set_expand(column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(p->domain_tree_view), column); @@ -1023,7 +1026,7 @@ static void domain_button_clicked(GtkButton *button G_GNUC_UNUSED, gpointer user gtk_container_add(GTK_CONTAINER(scrolled_window), p->domain_tree_view); p->domain_progress_bar = gtk_progress_bar_new(); - gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->domain_progress_bar), "Browsing ..."); + gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->domain_progress_bar), _("Browsing ...")); gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(p->domain_progress_bar), 0.1); gtk_box_pack_end(GTK_BOX(vbox2), p->domain_progress_bar, FALSE, FALSE, 0); @@ -1112,7 +1115,7 @@ static void aui_service_dialog_init(AuiServiceDialog *d) { gtk_container_set_border_width(GTK_CONTAINER(vbox), 8); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), vbox, TRUE, TRUE, 0); - p->domain_label = gtk_label_new("Initializing..."); + p->domain_label = gtk_label_new(_("Initializing...")); gtk_label_set_ellipsize(GTK_LABEL(p->domain_label), TRUE); gtk_misc_set_alignment(GTK_MISC(p->domain_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), p->domain_label, FALSE, FALSE, 0); @@ -1154,11 +1157,11 @@ static void aui_service_dialog_init(AuiServiceDialog *d) { gtk_container_add(GTK_CONTAINER(scrolled_window), p->service_tree_view); p->service_progress_bar = gtk_progress_bar_new(); - gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->service_progress_bar), "Browsing ..."); + gtk_progress_bar_set_text(GTK_PROGRESS_BAR(p->service_progress_bar), _("Browsing ...")); gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(p->service_progress_bar), 0.1); gtk_box_pack_end(GTK_BOX(vbox2), p->service_progress_bar, FALSE, FALSE, 0); - p->domain_button = gtk_button_new_with_mnemonic("_Domain..."); + p->domain_button = gtk_button_new_with_mnemonic(_("_Domain...")); gtk_button_set_image(GTK_BUTTON(p->domain_button), gtk_image_new_from_stock(GTK_STOCK_NETWORK, GTK_ICON_SIZE_BUTTON)); g_signal_connect(p->domain_button, "clicked", G_CALLBACK(domain_button_clicked), d); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), p->domain_button, FALSE, TRUE, 0); diff --git a/avahi-ui/bssh.c b/avahi-ui/bssh.c index 54c7dd9..d5bec12 100644 --- a/avahi-ui/bssh.c +++ b/avahi-ui/bssh.c @@ -2,17 +2,17 @@ /*** This file is part of avahi. - + avahi is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. - + avahi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - + You should have received a copy of the GNU Lesser General Public License along with avahi; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 @@ -34,27 +34,30 @@ #include #include #include +#include #include "avahi-ui.h" int main(int argc, char*argv[]) { GtkWidget *d; + avahi_init_i18n(); + gtk_init(&argc, &argv); if (g_str_has_suffix(argv[0], "bshell")) { - d = aui_service_dialog_new("Choose Shell Server", NULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_CONNECT, GTK_RESPONSE_ACCEPT, NULL); + d = aui_service_dialog_new(_("Choose Shell Server"), NULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_CONNECT, GTK_RESPONSE_ACCEPT, NULL); aui_service_dialog_set_browse_service_types(AUI_SERVICE_DIALOG(d), "_rfb._tcp", "_ssh._tcp", NULL); - aui_service_dialog_set_service_type_name(AUI_SERVICE_DIALOG(d), "_rfb._tcp", "Desktop"); - aui_service_dialog_set_service_type_name(AUI_SERVICE_DIALOG(d), "_ssh._tcp", "Terminal"); + aui_service_dialog_set_service_type_name(AUI_SERVICE_DIALOG(d), "_rfb._tcp", _("Desktop")); + aui_service_dialog_set_service_type_name(AUI_SERVICE_DIALOG(d), "_ssh._tcp", _("Terminal")); } else if (g_str_has_suffix(argv[0], "bvnc")) { - d = aui_service_dialog_new("Choose VNC server", NULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_CONNECT, GTK_RESPONSE_ACCEPT, NULL); + d = aui_service_dialog_new(_("Choose VNC server"), NULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_CONNECT, GTK_RESPONSE_ACCEPT, NULL); aui_service_dialog_set_browse_service_types(AUI_SERVICE_DIALOG(d), "_rfb._tcp", NULL); } else { - d = aui_service_dialog_new("Choose SSH server", NULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_CONNECT, GTK_RESPONSE_ACCEPT, NULL); + d = aui_service_dialog_new(_("Choose SSH server"), NULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_CONNECT, GTK_RESPONSE_ACCEPT, NULL); aui_service_dialog_set_browse_service_types(AUI_SERVICE_DIALOG(d), "_ssh._tcp", NULL); } - + aui_service_dialog_set_resolve_service(AUI_SERVICE_DIALOG(d), TRUE); aui_service_dialog_set_resolve_host_name(AUI_SERVICE_DIALOG(d), !avahi_nss_support()); @@ -67,37 +70,37 @@ int main(int argc, char*argv[]) { t = g_strdup(aui_service_dialog_get_service_type(AUI_SERVICE_DIALOG(d))); n = g_strdup(aui_service_dialog_get_service_name(AUI_SERVICE_DIALOG(d))); - + if (avahi_nss_support()) h = g_strdup(aui_service_dialog_get_host_name(AUI_SERVICE_DIALOG(d))); else h = g_strdup(avahi_address_snprint(a, sizeof(a), aui_service_dialog_get_address(AUI_SERVICE_DIALOG(d)))); - g_print("Connecting to '%s' ...\n", n); - + g_print(_("Connecting to '%s' ...\n"), n); + if (avahi_domain_equal(t, "_rfb._tcp")) { char p[AVAHI_DOMAIN_NAME_MAX+16]; snprintf(p, sizeof(p), "%s:%u", h, aui_service_dialog_get_port(AUI_SERVICE_DIALOG(d))-5900); gtk_widget_destroy(d); - + g_print("xvncviewer %s\n", p); - execlp("xvncviewer", "xvncviewer", p, NULL); - + execlp("xvncviewer", "xvncviewer", p, NULL); + } else { char p[16]; - + snprintf(p, sizeof(p), "%u", aui_service_dialog_get_port(AUI_SERVICE_DIALOG(d))); - + for (txt = aui_service_dialog_get_txt_data(AUI_SERVICE_DIALOG(d)); txt; txt = txt->next) { char *key, *value; - + if (avahi_string_list_get_pair((AvahiStringList*) txt, &key, &value, NULL) < 0) break; - + if (strcmp(key, "u") == 0) u = g_strdup(value); - + avahi_free(key); avahi_free(value); } @@ -110,35 +113,35 @@ int main(int argc, char*argv[]) { if (isatty(0) || !getenv("DISPLAY")) execlp("ssh", "ssh", "-p", p, "-l", u, h, NULL); else { - execlp("x-terminal-emulator", "x-terminal-emulator", "-T", n, "-e", "ssh", "-p", p, "-l", u, h, NULL); + execlp("x-terminal-emulator", "x-terminal-emulator", "-T", n, "-e", "ssh", "-p", p, "-l", u, h, NULL); execlp("gnome-terminal", "gnome-terminal", "-t", n, "-x", "ssh", "-p", p, "-l", u, h, NULL); execlp("xterm", "xterm", "-T", n, "-e", "ssh", "-p", p, "-l", u, h, NULL); } } else { g_print("ssh -p %s %s\n", p, h); - + if (isatty(0) || !getenv("DISPLAY")) - execlp("ssh", "ssh", "-p", p, h, NULL); + execlp("ssh", "ssh", "-p", p, h, NULL); else { - execlp("x-terminal-emulator", "x-terminal-emulator", "-T", n, "-e", "ssh", "-p", p, h, NULL); + execlp("x-terminal-emulator", "x-terminal-emulator", "-T", n, "-e", "ssh", "-p", p, h, NULL); execlp("gnome-terminal", "gnome-terminal", "-t", n, "-x", "ssh", "-p", p, h, NULL); execlp("xterm", "xterm", "-T", n, "-e", "ssh", "-p", p, h, NULL); } } } - g_warning("execlp() failed: %s\n", strerror(errno)); + g_warning(_("execlp() failed: %s\n"), strerror(errno)); g_free(h); g_free(u); g_free(t); g_free(n); - + } else { gtk_widget_destroy(d); - g_print("Canceled.\n"); + g_print(_("Canceled.\n")); } - + return 1; } -- cgit