diff options
| -rw-r--r-- | Makefile.am | 14 | ||||
| -rwxr-xr-x | autogen.sh | 7 | ||||
| -rw-r--r-- | avahi-common/Makefile.am | 10 | ||||
| -rw-r--r-- | avahi-common/error.c | 133 | ||||
| -rw-r--r-- | avahi-common/i18n.c | 40 | ||||
| -rw-r--r-- | avahi-common/i18n.h | 55 | ||||
| -rw-r--r-- | avahi-ui/avahi-ui.c | 39 | ||||
| -rw-r--r-- | avahi-ui/bssh.c | 59 | ||||
| -rw-r--r-- | common/Makefile.am | 2 | ||||
| -rw-r--r-- | configure.ac | 13 | ||||
| -rw-r--r-- | po/POTFILES.in | 9 | ||||
| -rw-r--r-- | po/POTFILES.skip | 3 | ||||
| -rw-r--r-- | po/avahi.pot | 350 | ||||
| -rw-r--r-- | po/de.po | 353 | 
14 files changed, 968 insertions, 119 deletions
| diff --git a/Makefile.am b/Makefile.am index a5a0ab0..f65e9e3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -50,7 +50,10 @@ EXTRA_DIST = \  	avahi-compat-libdns_sd.pc.in \  	avahi-compat-howl.pc.in \  	avahi-ui.pc.in \ -	doxygen_to_devhelp.xsl +	doxygen_to_devhelp.xsl \ +	intltool-merge.in \ +        intltool-update.in \ +        intltool-extract.in  SUBDIRS = \  	common \ @@ -75,7 +78,8 @@ SUBDIRS = \  	avahi-compat-howl \  	avahi-autoipd \  	avahi-ui \ -	avahi-ui-sharp +	avahi-ui-sharp \ +	po  DX_INPUT = \  	$(srcdir)/avahi-common/address.h \ @@ -307,3 +311,9 @@ dist-hook:  		chmod u+w ${distdir}/ChangeLog || true ; \  		svn2cl -o ${distdir}/ChangeLog ; \  	fi + +DISTCLEANFILES = \ +        intltool-extract \ +        intltool-merge \ +        intltool-update \ +	po/.intltool-merge-cache @@ -49,8 +49,15 @@ else      rm -rf autom4te.cache      rm -f config.cache +    rm -f Makefile.am~ configure.ac~ +    # Evil, evil, evil, evil hack +    sed 's/read dummy/\#/' `which gettextize` | sh -s -- --copy --force +    test -f Makefile.am~ && mv Makefile.am~ Makefile.am +    test -f configure.ac~ && mv configure.ac~ configure.ac +      test "x$LIBTOOLIZE" = "x" && LIBTOOLIZE=libtoolize +    intltoolize --copy --force --automake      "$LIBTOOLIZE" -c --force      run_versioned aclocal "$VERSION" -I common      run_versioned autoconf 2.59 -Wall diff --git a/avahi-common/Makefile.am b/avahi-common/Makefile.am index cd21c11..e0aa56e 100644 --- a/avahi-common/Makefile.am +++ b/avahi-common/Makefile.am @@ -1,7 +1,7 @@  # $Id: Makefile.am 90 2005-05-23 16:15:12Z lennart $  #  # 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 of the @@ -53,7 +53,7 @@ noinst_PROGRAMS = \  endif  lib_LTLIBRARIES = \ -	libavahi-common.la  +	libavahi-common.la  libavahi_common_la_SOURCES = \  	malloc.c malloc.h \ @@ -67,9 +67,10 @@ libavahi_common_la_SOURCES = \  	thread-watch.c thread-watch.h \  	watch.h gccmacro.h \  	rlist.h rlist.c \ -	utf8.c utf8.h +	utf8.c utf8.h \ +	i18n.c i18n.h -libavahi_common_la_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS)  +libavahi_common_la_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -DAVAHI_LOCALEDIR=\"$(avahilocaledir)\"  libavahi_common_la_LIBADD = $(AM_LDADD) $(PTHREAD_CFLAGS) $(PTHREAD_LIBS)  libavahi_common_la_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -version-info $(LIBAVAHI_COMMON_VERSION_INFO) @@ -128,4 +129,3 @@ noinst_HEADERS = \  	dbus-watch-glue.h  endif - diff --git a/avahi-common/error.c b/avahi-common/error.c index 92a2234..fb9bd38 100644 --- a/avahi-common/error.c +++ b/avahi-common/error.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 @@ -24,73 +24,76 @@  #endif  #include "error.h" +#include "i18n.h"  const char *avahi_strerror(int error) { -     +      const char * const msg[- AVAHI_ERR_MAX] = { -        "OK", -        "Operation failed", -        "Bad state", -        "Invalid host name", -        "Invalid domain name", -        "No suitable network protocol available", -        "Invalid DNS TTL", -        "Resource record key is pattern", -        "Local name collision", -        "Invalid record", - -        "Invalid service name", -        "Invalid service type", -        "Invalid port number", -        "Invalid record key", -        "Invalid address", -        "Timeout reached", -        "Too many clients", -        "Too many objects", -        "Too many entries", -        "OS Error", - -        "Access denied", -        "Invalid operation", -        "An unexpected D-Bus error occured", -        "Daemon connection failed", -        "Memory exhausted", -        "The object passed in was not valid", -        "Daemon not running", -        "Invalid interface index", -        "Invalid protocol specification", -        "Invalid flags", - -        "Not found", -        "Invalid configuration", -        "Version mismatch", -        "Invalid service subtype", -        "Invalid packet", -        "Invalid DNS return code", -        "DNS failure: FORMERR", -        "DNS failure: SERVFAIL", -        "DNS failure: NXDOMAIN", -        "DNS failure: NOTIMP", - -        "DNS failure: REFUSED", -        "DNS failure: YXDOMAIN", -        "DNS failure: YXRRSET", -        "DNS failure: NXRRSET", -        "DNS failure: NOTAUTH", -        "DNS failure: NOTZONE", -        "Invalid RDATA", -        "Invalid DNS type", -        "Invalid DNS class", -        "Not supported", - -        "Not permitted", -        "Invalid argument", -	"Is empty", -        "The requested operation is invalid because redundant" +        N_("OK"), +        N_("Operation failed"), +        N_("Bad state"), +        N_("Invalid host name"), +        N_("Invalid domain name"), +        N_("No suitable network protocol available"), +        N_("Invalid DNS TTL"), +        N_("Resource record key is pattern"), +        N_("Local name collision"), +        N_("Invalid record"), + +        N_("Invalid service name"), +        N_("Invalid service type"), +        N_("Invalid port number"), +        N_("Invalid record key"), +        N_("Invalid address"), +        N_("Timeout reached"), +        N_("Too many clients"), +        N_("Too many objects"), +        N_("Too many entries"), +        N_("OS Error"), + +        N_("Access denied"), +        N_("Invalid operation"), +        N_("An unexpected D-Bus error occured"), +        N_("Daemon connection failed"), +        N_("Memory exhausted"), +        N_("The object passed in was not valid"), +        N_("Daemon not running"), +        N_("Invalid interface index"), +        N_("Invalid protocol specification"), +        N_("Invalid flags"), + +        N_("Not found"), +        N_("Invalid configuration"), +        N_("Version mismatch"), +        N_("Invalid service subtype"), +        N_("Invalid packet"), +        N_("Invalid DNS return code"), +        N_("DNS failure: FORMERR"), +        N_("DNS failure: SERVFAIL"), +        N_("DNS failure: NXDOMAIN"), +        N_("DNS failure: NOTIMP"), + +        N_("DNS failure: REFUSED"), +        N_("DNS failure: YXDOMAIN"), +        N_("DNS failure: YXRRSET"), +        N_("DNS failure: NXRRSET"), +        N_("DNS failure: NOTAUTH"), +        N_("DNS failure: NOTZONE"), +        N_("Invalid RDATA"), +        N_("Invalid DNS type"), +        N_("Invalid DNS class"), +        N_("Not supported"), + +        N_("Not permitted"), +        N_("Invalid argument"), +        N_("Is empty"), +        N_("The requested operation is invalid because redundant")      }; +    avahi_init_i18n(); +      if (-error < 0 || -error >= -AVAHI_ERR_MAX) -        return "Invalid Error Code"; +        return _("Invalid Error Code"); -    return msg[-error]; +    return _(msg[-error]);  } diff --git a/avahi-common/i18n.c b/avahi-common/i18n.c new file mode 100644 index 0000000..20f3b3a --- /dev/null +++ b/avahi-common/i18n.c @@ -0,0 +1,40 @@ +/* $Id$ */ + +/*** +  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 +  USA. + ***/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "i18n.h" + +void avahi_init_i18n(void) { + +    /* Not really thread safe, but this doesn't matter much since +     * bindtextdomain is supposed to be idempotent anyway. */ + +    static int done = 0; + +    if (!done) { +        bindtextdomain(GETTEXT_PACKAGE, AVAHI_LOCALEDIR); +        bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); +        done = 1; +    } +} diff --git a/avahi-common/i18n.h b/avahi-common/i18n.h new file mode 100644 index 0000000..e246736 --- /dev/null +++ b/avahi-common/i18n.h @@ -0,0 +1,55 @@ +#ifndef fooi18nhfoo +#define fooi18nhfoo + +/* $Id$ */ + +/*** +  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 +  USA. +***/ + +#if !defined(GETTEXT_PACKAGE) +#error "Something is very wrong here, config.h needs to be included first" +#endif + +#ifdef ENABLE_NLS + +#include <libintl.h> + +#define _(String) dgettext(GETTEXT_PACKAGE, String) +#ifdef gettext_noop +#define N_(String) gettext_noop(String) +#else +#define N_(String) (String) +#endif + +#else /* NLS is disabled */ + +#define _(String) (String) +#define N_(String) (String) +#define textdomain(String) (String) +#define gettext(String) (String) +#define dgettext(Domain,String) (String) +#define dcgettext(Domain,String,Type) (String) +#define bindtextdomain(Domain,Directory) (Domain) +#define bind_textdomain_codeset(Domain,Codeset) (Codeset) + +#endif /* ENABLE_NLS */ + +void avahi_init_i18n(void); + +#endif 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 <avahi-common/error.h>  #include <avahi-common/address.h>  #include <avahi-common/domain.h> +#include <avahi-common/i18n.h>  #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 <b>local network</b>:"); +        gtk_label_set_markup(GTK_LABEL(d->priv->domain_label), _("Browsing for services on <b>local network</b>:"));      else { -        gchar *t = g_strdup_printf("Browsing for services in domain <b>%s</b>:", domain); +        gchar *t = g_strdup_printf(_("Browsing for services in domain <b>%s</b>:"), 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 <avahi-common/strlst.h>  #include <avahi-common/malloc.h>  #include <avahi-common/domain.h> +#include <avahi-common/i18n.h>  #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;  } diff --git a/common/Makefile.am b/common/Makefile.am index e51c02a..ef89f76 100644 --- a/common/Makefile.am +++ b/common/Makefile.am @@ -17,7 +17,7 @@  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  # USA. -EXTRA_DIST = \ +EXTRA_DIST = gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 \      doxygen.m4 \  	doxygen.mk \  	python.m4 diff --git a/configure.ac b/configure.ac index 8ec3b5d..d5b0272 100644 --- a/configure.ac +++ b/configure.ac @@ -396,6 +396,18 @@ if test "x$have_kqueue" = "xyes" ; then      AC_DEFINE([HAVE_KQUEUE], 1, [Enable BSD kqueue() usage])  fi +AM_GNU_GETTEXT([external]) + +IT_PROG_INTLTOOL([0.35.0]) +GETTEXT_PACKAGE=avahi +AC_SUBST([GETTEXT_PACKAGE]) +AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) +AM_GLIB_GNU_GETTEXT + +avahilocaledir='${prefix}/${DATADIRNAME}/locale' +AC_SUBST(avahilocaledir) + +  # Check for pkg-config manually first, as if its not installed the  # PKG_PROG_PKG_CONFIG macro won't be defined.  AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no) @@ -1066,6 +1078,7 @@ avahi-compat-howl/Makefile  avahi-compat-howl/samples/Makefile  avahi-autoipd/Makefile  avahi-ui/Makefile +po/Makefile.in  ])  AC_OUTPUT diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..618de8b --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,9 @@ +# List of source files which contain translatable strings. +avahi-common/error.c +avahi-ui/avahi-ui.c +avahi-ui/bssh.c +avahi-utils/avahi-browse.c +avahi-utils/avahi-publish.c +avahi-utils/avahi-resolve.c +avahi-utils/avahi-set-host-name.c + diff --git a/po/POTFILES.skip b/po/POTFILES.skip new file mode 100644 index 0000000..8bedfdf --- /dev/null +++ b/po/POTFILES.skip @@ -0,0 +1,3 @@ +avahi-discover-standalone/avahi-discover.glade +tests/c-plus-plus-test-gen.py + diff --git a/po/avahi.pot b/po/avahi.pot new file mode 100644 index 0000000..91405de --- /dev/null +++ b/po/avahi.pot @@ -0,0 +1,350 @@ +# 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: 2007-12-17 13:17+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" + +#: ../avahi-common/error.c:32 +msgid "OK" +msgstr "" + +#: ../avahi-common/error.c:33 +msgid "Operation failed" +msgstr "" + +#: ../avahi-common/error.c:34 +msgid "Bad state" +msgstr "" + +#: ../avahi-common/error.c:35 +msgid "Invalid host name" +msgstr "" + +#: ../avahi-common/error.c:36 +msgid "Invalid domain name" +msgstr "" + +#: ../avahi-common/error.c:37 +msgid "No suitable network protocol available" +msgstr "" + +#: ../avahi-common/error.c:38 +msgid "Invalid DNS TTL" +msgstr "" + +#: ../avahi-common/error.c:39 +msgid "Resource record key is pattern" +msgstr "" + +#: ../avahi-common/error.c:40 +msgid "Local name collision" +msgstr "" + +#: ../avahi-common/error.c:41 +msgid "Invalid record" +msgstr "" + +#: ../avahi-common/error.c:43 +msgid "Invalid service name" +msgstr "" + +#: ../avahi-common/error.c:44 +msgid "Invalid service type" +msgstr "" + +#: ../avahi-common/error.c:45 +msgid "Invalid port number" +msgstr "" + +#: ../avahi-common/error.c:46 +msgid "Invalid record key" +msgstr "" + +#: ../avahi-common/error.c:47 +msgid "Invalid address" +msgstr "" + +#: ../avahi-common/error.c:48 +msgid "Timeout reached" +msgstr "" + +#: ../avahi-common/error.c:49 +msgid "Too many clients" +msgstr "" + +#: ../avahi-common/error.c:50 +msgid "Too many objects" +msgstr "" + +#: ../avahi-common/error.c:51 +msgid "Too many entries" +msgstr "" + +#: ../avahi-common/error.c:52 +msgid "OS Error" +msgstr "" + +#: ../avahi-common/error.c:54 +msgid "Access denied" +msgstr "" + +#: ../avahi-common/error.c:55 +msgid "Invalid operation" +msgstr "" + +#: ../avahi-common/error.c:56 +msgid "An unexpected D-Bus error occured" +msgstr "" + +#: ../avahi-common/error.c:57 +msgid "Daemon connection failed" +msgstr "" + +#: ../avahi-common/error.c:58 +msgid "Memory exhausted" +msgstr "" + +#: ../avahi-common/error.c:59 +msgid "The object passed in was not valid" +msgstr "" + +#: ../avahi-common/error.c:60 +msgid "Daemon not running" +msgstr "" + +#: ../avahi-common/error.c:61 +msgid "Invalid interface index" +msgstr "" + +#: ../avahi-common/error.c:62 +msgid "Invalid protocol specification" +msgstr "" + +#: ../avahi-common/error.c:63 +msgid "Invalid flags" +msgstr "" + +#: ../avahi-common/error.c:65 +msgid "Not found" +msgstr "" + +#: ../avahi-common/error.c:66 +msgid "Invalid configuration" +msgstr "" + +#: ../avahi-common/error.c:67 +msgid "Version mismatch" +msgstr "" + +#: ../avahi-common/error.c:68 +msgid "Invalid service subtype" +msgstr "" + +#: ../avahi-common/error.c:69 +msgid "Invalid packet" +msgstr "" + +#: ../avahi-common/error.c:70 +msgid "Invalid DNS return code" +msgstr "" + +#: ../avahi-common/error.c:71 +msgid "DNS failure: FORMERR" +msgstr "" + +#: ../avahi-common/error.c:72 +msgid "DNS failure: SERVFAIL" +msgstr "" + +#: ../avahi-common/error.c:73 +msgid "DNS failure: NXDOMAIN" +msgstr "" + +#: ../avahi-common/error.c:74 +msgid "DNS failure: NOTIMP" +msgstr "" + +#: ../avahi-common/error.c:76 +msgid "DNS failure: REFUSED" +msgstr "" + +#: ../avahi-common/error.c:77 +msgid "DNS failure: YXDOMAIN" +msgstr "" + +#: ../avahi-common/error.c:78 +msgid "DNS failure: YXRRSET" +msgstr "" + +#: ../avahi-common/error.c:79 +msgid "DNS failure: NXRRSET" +msgstr "" + +#: ../avahi-common/error.c:80 +msgid "DNS failure: NOTAUTH" +msgstr "" + +#: ../avahi-common/error.c:81 +msgid "DNS failure: NOTZONE" +msgstr "" + +#: ../avahi-common/error.c:82 +msgid "Invalid RDATA" +msgstr "" + +#: ../avahi-common/error.c:83 +msgid "Invalid DNS type" +msgstr "" + +#: ../avahi-common/error.c:84 +msgid "Invalid DNS class" +msgstr "" + +#: ../avahi-common/error.c:85 +msgid "Not supported" +msgstr "" + +#: ../avahi-common/error.c:87 +msgid "Not permitted" +msgstr "" + +#: ../avahi-common/error.c:88 +msgid "Invalid argument" +msgstr "" + +#: ../avahi-common/error.c:89 +msgid "Is empty" +msgstr "" + +#: ../avahi-common/error.c:90 +msgid "The requested operation is invalid because redundant" +msgstr "" + +#: ../avahi-common/error.c:96 +msgid "Invalid Error Code" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:326 +#, c-format +msgid "Avahi client failure: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:388 +#, c-format +msgid "Avahi resolver failure: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:518 +#, c-format +msgid "Browsing for service type %s in domain %s failed: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:519 +msgid "n/a" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:649 +#, c-format +msgid "Avahi domain browser failure: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:684 +#, c-format +msgid "Failed to read Avahi domain : %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:717 +#, c-format +msgid "Failed to connect to Avahi server: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:735 +msgid "Browsing for services on <b>local network</b>:" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:737 +#, c-format +msgid "Browsing for services in domain <b>%s</b>:" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:773 +#, c-format +msgid "Failed to create browser for %s: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:903 +#, c-format +msgid "Failed to create resolver for %s of type %s in domain %s: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:978 +#, c-format +msgid "Failed to create domain browser: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:989 +msgid "Change domain" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:1021 +msgid "Service Name" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:1029 ../avahi-ui/avahi-ui.c:1160 +msgid "Browsing ..." +msgstr "" + +#: ../avahi-ui/avahi-ui.c:1118 +msgid "Initializing..." +msgstr "" + +#: ../avahi-ui/avahi-ui.c:1164 +msgid "_Domain..." +msgstr "" + +#: ../avahi-ui/bssh.c:49 +msgid "Choose Shell Server" +msgstr "" + +#: ../avahi-ui/bssh.c:51 +msgid "Desktop" +msgstr "" + +#: ../avahi-ui/bssh.c:52 +msgid "Terminal" +msgstr "" + +#: ../avahi-ui/bssh.c:54 +msgid "Choose VNC server" +msgstr "" + +#: ../avahi-ui/bssh.c:57 +msgid "Choose SSH server" +msgstr "" + +#: ../avahi-ui/bssh.c:79 +#, c-format +msgid "Connecting to '%s' ...\n" +msgstr "" + +#: ../avahi-ui/bssh.c:133 +#, c-format +msgid "execlp() failed: %s\n" +msgstr "" + +#: ../avahi-ui/bssh.c:143 +#, c-format +msgid "Canceled.\n" +msgstr "" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..960819b --- /dev/null +++ b/po/de.po @@ -0,0 +1,353 @@ +# 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: Avahi\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-12-17 13:17+0100\n" +"PO-Revision-Date: 2007-12-17 13:26+0100\n" +"Last-Translator: \n" +"Language-Team: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: de\n" +"X-Poedit-Country: DE\n" + +#: ../avahi-common/error.c:32 +msgid "OK" +msgstr "OK" + +#: ../avahi-common/error.c:33 +msgid "Operation failed" +msgstr "Operation fehlgeschlagen" + +#: ../avahi-common/error.c:34 +msgid "Bad state" +msgstr "Ungültiger Zustand" + +#: ../avahi-common/error.c:35 +msgid "Invalid host name" +msgstr "Ungültiger Maschinenname" + +#: ../avahi-common/error.c:36 +msgid "Invalid domain name" +msgstr "Ungültiger Domänenname" + +#: ../avahi-common/error.c:37 +msgid "No suitable network protocol available" +msgstr "Kein passendes Netzwerkprotokoll verfügbar" + +#: ../avahi-common/error.c:38 +msgid "Invalid DNS TTL" +msgstr "Ungültige DNS TTL" + +#: ../avahi-common/error.c:39 +msgid "Resource record key is pattern" +msgstr "Datensatzschlüssel ist Muster" + +#: ../avahi-common/error.c:40 +msgid "Local name collision" +msgstr "Lokale Namenskollision" + +#: ../avahi-common/error.c:41 +msgid "Invalid record" +msgstr "Ungültiger Datensatz" + +#: ../avahi-common/error.c:43 +msgid "Invalid service name" +msgstr "Ungültiger Dienstename" + +#: ../avahi-common/error.c:44 +msgid "Invalid service type" +msgstr "Ungültiger Dienstetyp" + +#: ../avahi-common/error.c:45 +msgid "Invalid port number" +msgstr "Ungültige Port-Nummer" + +#: ../avahi-common/error.c:46 +msgid "Invalid record key" +msgstr "Ungültiger Datensatzschlüssel" + +#: ../avahi-common/error.c:47 +msgid "Invalid address" +msgstr "Ungültige Adresse" + +#: ../avahi-common/error.c:48 +msgid "Timeout reached" +msgstr "Zeit abgelaufen" + +#: ../avahi-common/error.c:49 +msgid "Too many clients" +msgstr "Zu viele Clients" + +#: ../avahi-common/error.c:50 +msgid "Too many objects" +msgstr "Zu viele Objekte" + +#: ../avahi-common/error.c:51 +msgid "Too many entries" +msgstr "Zu viele Einträge" + +#: ../avahi-common/error.c:52 +msgid "OS Error" +msgstr "Betriebssystemfehler" + +#: ../avahi-common/error.c:54 +msgid "Access denied" +msgstr "Zugriff abgelehnt" + +#: ../avahi-common/error.c:55 +msgid "Invalid operation" +msgstr "Ungültige Operation" + +#: ../avahi-common/error.c:56 +msgid "An unexpected D-Bus error occured" +msgstr "Ein unerwarteter D-Bus-Fehler ist aufgetreten" + +#: ../avahi-common/error.c:57 +msgid "Daemon connection failed" +msgstr "Verbindung zum Daemon fehlgeschlagen" + +#: ../avahi-common/error.c:58 +msgid "Memory exhausted" +msgstr "Ungültiges Argument" + +#: ../avahi-common/error.c:59 +msgid "The object passed in was not valid" +msgstr "Das übergebene Objekt ist nicht gültig" + +#: ../avahi-common/error.c:60 +msgid "Daemon not running" +msgstr "Daemon läuft nicht" + +#: ../avahi-common/error.c:61 +msgid "Invalid interface index" +msgstr "Ungültiger Schnittstellenindex" + +#: ../avahi-common/error.c:62 +msgid "Invalid protocol specification" +msgstr "Ungültige Protokollspezifikation" + +#: ../avahi-common/error.c:63 +msgid "Invalid flags" +msgstr "Ungültige Flags" + +#: ../avahi-common/error.c:65 +msgid "Not found" +msgstr "Nicht gefunden" + +#: ../avahi-common/error.c:66 +msgid "Invalid configuration" +msgstr "Ungültige Konfiguration" + +#: ../avahi-common/error.c:67 +msgid "Version mismatch" +msgstr "Unpassende Version" + +#: ../avahi-common/error.c:68 +msgid "Invalid service subtype" +msgstr "Ungültiger Dienstesubtyp" + +#: ../avahi-common/error.c:69 +msgid "Invalid packet" +msgstr "Ungültiges Paket" + +#: ../avahi-common/error.c:70 +msgid "Invalid DNS return code" +msgstr "Ungültiger DNS Rückgabewert" + +#: ../avahi-common/error.c:71 +msgid "DNS failure: FORMERR" +msgstr "DNS-Fehler: FORMERR" + +#: ../avahi-common/error.c:72 +msgid "DNS failure: SERVFAIL" +msgstr "DNS-Fehler: SERVFAIL" + +#: ../avahi-common/error.c:73 +msgid "DNS failure: NXDOMAIN" +msgstr "" + +#: ../avahi-common/error.c:74 +msgid "DNS failure: NOTIMP" +msgstr "" + +#: ../avahi-common/error.c:76 +msgid "DNS failure: REFUSED" +msgstr "" + +#: ../avahi-common/error.c:77 +msgid "DNS failure: YXDOMAIN" +msgstr "" + +#: ../avahi-common/error.c:78 +msgid "DNS failure: YXRRSET" +msgstr "" + +#: ../avahi-common/error.c:79 +msgid "DNS failure: NXRRSET" +msgstr "" + +#: ../avahi-common/error.c:80 +msgid "DNS failure: NOTAUTH" +msgstr "" + +#: ../avahi-common/error.c:81 +msgid "DNS failure: NOTZONE" +msgstr "" + +#: ../avahi-common/error.c:82 +msgid "Invalid RDATA" +msgstr "" + +#: ../avahi-common/error.c:83 +msgid "Invalid DNS type" +msgstr "" + +#: ../avahi-common/error.c:84 +msgid "Invalid DNS class" +msgstr "" + +#: ../avahi-common/error.c:85 +msgid "Not supported" +msgstr "" + +#: ../avahi-common/error.c:87 +msgid "Not permitted" +msgstr "" + +#: ../avahi-common/error.c:88 +msgid "Invalid argument" +msgstr "Ungültiges Argument" + +#: ../avahi-common/error.c:89 +msgid "Is empty" +msgstr "Leer" + +#: ../avahi-common/error.c:90 +msgid "The requested operation is invalid because redundant" +msgstr "" + +#: ../avahi-common/error.c:96 +msgid "Invalid Error Code" +msgstr "Ungültiger Fehlercode" + +#: ../avahi-ui/avahi-ui.c:326 +#, c-format +msgid "Avahi client failure: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:388 +#, c-format +msgid "Avahi resolver failure: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:518 +#, c-format +msgid "Browsing for service type %s in domain %s failed: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:519 +msgid "n/a" +msgstr "n/a" + +#: ../avahi-ui/avahi-ui.c:649 +#, c-format +msgid "Avahi domain browser failure: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:684 +#, c-format +msgid "Failed to read Avahi domain : %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:717 +#, c-format +msgid "Failed to connect to Avahi server: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:735 +msgid "Browsing for services on <b>local network</b>:" +msgstr "Durchsuche <b>lokales Netzwerk</b> nach Diensten:" + +#: ../avahi-ui/avahi-ui.c:737 +#, c-format +msgid "Browsing for services in domain <b>%s</b>:" +msgstr "Durchsuche Domäne <b>%s</b> nach Diensten:" + +#: ../avahi-ui/avahi-ui.c:773 +#, c-format +msgid "Failed to create browser for %s: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:903 +#, c-format +msgid "Failed to create resolver for %s of type %s in domain %s: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:978 +#, c-format +msgid "Failed to create domain browser: %s" +msgstr "" + +#: ../avahi-ui/avahi-ui.c:989 +msgid "Change domain" +msgstr "Domäne Ändern" + +#: ../avahi-ui/avahi-ui.c:1021 +msgid "Service Name" +msgstr "Dienstename" + +#: ../avahi-ui/avahi-ui.c:1029 +#: ../avahi-ui/avahi-ui.c:1160 +msgid "Browsing ..." +msgstr "Durchsuchen..." + +#: ../avahi-ui/avahi-ui.c:1118 +msgid "Initializing..." +msgstr "Initialisieren..." + +#: ../avahi-ui/avahi-ui.c:1164 +msgid "_Domain..." +msgstr "_Domäne..." + +#: ../avahi-ui/bssh.c:49 +msgid "Choose Shell Server" +msgstr "Shell-Dienst Auswählen" + +#: ../avahi-ui/bssh.c:51 +msgid "Desktop" +msgstr "Arbeitsplatz" + +#: ../avahi-ui/bssh.c:52 +msgid "Terminal" +msgstr "Terminal" + +#: ../avahi-ui/bssh.c:54 +msgid "Choose VNC server" +msgstr "VNC-Dienst Auswählen" + +#: ../avahi-ui/bssh.c:57 +msgid "Choose SSH server" +msgstr "SSH-Dienst Auswählen" + +#: ../avahi-ui/bssh.c:79 +#, c-format +msgid "Connecting to '%s' ...\n" +msgstr "Verbinde zu '%s' ...\n" + +#: ../avahi-ui/bssh.c:133 +#, c-format +msgid "execlp() failed: %s\n" +msgstr "execlp() fehlgeschlagen: %s\n" + +#: ../avahi-ui/bssh.c:143 +#, c-format +msgid "Canceled.\n" +msgstr "Abgebrochen.\n" + | 
