#include <net/if.h>
#include <gtk/gtk.h>
+#include <glib/gi18n.h>
#include <avahi-glib/glib-watch.h>
#include <avahi-client/client.h>
#include <avahi-common/error.h>
#include <avahi-common/address.h>
#include <avahi-common/domain.h>
+#include <avahi-common/i18n.h>
#include "avahi-ui.h"
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;
g_object_class_install_property(
object_class,
PROP_BROWSE_SERVICE_TYPES,
- g_param_spec_pointer("browse_service_types", "Browse Service Types", "A NULL terminated list of service types to browse for",
+ g_param_spec_pointer("browse_service_types", _("Browse Service Types"), _("A NULL terminated list of service types to browse for"),
G_PARAM_READABLE | G_PARAM_WRITABLE));
g_object_class_install_property(
object_class,
PROP_DOMAIN,
- g_param_spec_string("domain", "Domain", "The domain to browse in, or NULL for the default domain",
+ g_param_spec_string("domain", _("Domain"), _("The domain to browse in, or NULL for the default domain"),
NULL,
G_PARAM_READABLE | G_PARAM_WRITABLE));
g_object_class_install_property(
object_class,
PROP_SERVICE_TYPE,
- g_param_spec_string("service_type", "Service Type", "The service type of the selected service",
+ g_param_spec_string("service_type", _("Service Type"), _("The service type of the selected service"),
NULL,
G_PARAM_READABLE | G_PARAM_WRITABLE));
g_object_class_install_property(
object_class,
PROP_SERVICE_NAME,
- g_param_spec_string("service_name", "Service Name", "The service name of the selected service",
+ g_param_spec_string("service_name", _("Service Name"), _("The service name of the selected service"),
NULL,
G_PARAM_READABLE | G_PARAM_WRITABLE));
g_object_class_install_property(
object_class,
PROP_ADDRESS,
- g_param_spec_pointer("address", "Address", "The address of the resolved service",
+ g_param_spec_pointer("address", _("Address"), _("The address of the resolved service"),
G_PARAM_READABLE));
g_object_class_install_property(
object_class,
PROP_PORT,
- g_param_spec_uint("port", "Port", "The IP port number of the resolved service",
+ g_param_spec_uint("port", _("Port"), _("The IP port number of the resolved service"),
0, 0xFFFF, 0,
G_PARAM_READABLE));
g_object_class_install_property(
object_class,
PROP_HOST_NAME,
- g_param_spec_string("host_name", "Host Name", "The host name of the resolved service",
+ g_param_spec_string("host_name", _("Host Name"), _("The host name of the resolved service"),
NULL,
G_PARAM_READABLE));
g_object_class_install_property(
object_class,
PROP_TXT_DATA,
- g_param_spec_pointer("txt_data", "TXT Data", "The TXT data of the resolved service",
+ g_param_spec_pointer("txt_data", _("TXT Data"), _("The TXT data of the resolved service"),
G_PARAM_READABLE));
g_object_class_install_property(
object_class,
PROP_RESOLVE_SERVICE,
- g_param_spec_boolean("resolve_service", "Resolve service", "Resolve service",
+ g_param_spec_boolean("resolve_service", _("Resolve service"), _("Resolve service"),
TRUE,
G_PARAM_READABLE | G_PARAM_WRITABLE));
g_object_class_install_property(
object_class,
PROP_RESOLVE_HOST_NAME,
- g_param_spec_boolean("resolve_host_name", "Resolve service host name", "Resolve service host name",
+ g_param_spec_boolean("resolve_host_name", _("Resolve service host name"), _("Resolve service host name"),
TRUE,
G_PARAM_READABLE | G_PARAM_WRITABLE));
g_object_class_install_property(
object_class,
PROP_ADDRESS_FAMILY,
- g_param_spec_int("address_family", "Address family", "The address family for host name resolution",
+ g_param_spec_int("address_family", _("Address family"), _("The address family for host name resolution"),
AVAHI_PROTO_UNSPEC, AVAHI_PROTO_INET6, AVAHI_PROTO_UNSPEC,
G_PARAM_READABLE | G_PARAM_WRITABLE));
}
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);
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);
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);
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);
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);
d->priv->start_idle = 0;
if (!d->priv->browse_service_types || !*d->priv->browse_service_types) {
- g_warning("Browse service type list is empty!");
+ g_warning(_("Browse service type list is empty!"));
return FALSE;
}
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);
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);
}
d->priv->common_protocol = AVAHI_PROTO_UNSPEC;
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(d->priv->service_tree_view), 0), FALSE);
- gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(d->priv->service_tree_view), gtk_tree_view_column_get_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(d->priv->service_tree_view), 2)));
+ gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(d->priv->service_tree_view), FALSE);
gtk_widget_show(d->priv->service_progress_bar);
if (d->priv->service_pulse_timeout <= 0)
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));
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));
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);
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);
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);
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);
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);
g_signal_connect(selection, "changed", G_CALLBACK(service_selection_changed_callback), d);
renderer = gtk_cell_renderer_text_new();
- column = gtk_tree_view_column_new_with_attributes("Location", renderer, "text", SERVICE_COLUMN_PRETTY_IFACE, NULL);
+ column = gtk_tree_view_column_new_with_attributes(_("Location"), renderer, "text", SERVICE_COLUMN_PRETTY_IFACE, NULL);
gtk_tree_view_column_set_visible(column, FALSE);
gtk_tree_view_append_column(GTK_TREE_VIEW(p->service_tree_view), column);
renderer = gtk_cell_renderer_text_new();
- column = gtk_tree_view_column_new_with_attributes("Name", renderer, "text", SERVICE_COLUMN_NAME, NULL);
+ column = gtk_tree_view_column_new_with_attributes(_("Name"), renderer, "text", SERVICE_COLUMN_NAME, NULL);
gtk_tree_view_column_set_expand(column, TRUE);
gtk_tree_view_append_column(GTK_TREE_VIEW(p->service_tree_view), column);
renderer = gtk_cell_renderer_text_new();
- column = gtk_tree_view_column_new_with_attributes("Type", renderer, "text", SERVICE_COLUMN_PRETTY_TYPE, NULL);
+ column = gtk_tree_view_column_new_with_attributes(_("Type"), renderer, "text", SERVICE_COLUMN_PRETTY_TYPE, NULL);
gtk_tree_view_column_set_visible(column, FALSE);
gtk_tree_view_append_column(GTK_TREE_VIEW(p->service_tree_view), column);
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);
va_end(ap);
if (d->priv->browse_service_types[0] && d->priv->browse_service_types[1]) {
- /* Multiple service types, enable headers */
-
- gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(d->priv->service_tree_view), TRUE);
+ /* Multiple service types, show type-column */
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(d->priv->service_tree_view), 2), TRUE);
}
d->priv->browse_service_types = g_strdupv((char**) types);
if (d->priv->browse_service_types[0] && d->priv->browse_service_types[1]) {
- /* Multiple service types, enable headers */
-
- gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(d->priv->service_tree_view), TRUE);
+ /* Multiple service types, show type-column */
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(d->priv->service_tree_view), 2), TRUE);
}