diff -u gnome-desktop-2.13.1/debian/changelog gnome-desktop-2.13.1/debian/changelog --- gnome-desktop-2.13.1/debian/changelog +++ gnome-desktop-2.13.1/debian/changelog @@ -1,3 +1,9 @@ +gnome-desktop (2.13.1-0ubuntu2) dapper; urgency=low + + * Added support for gettext in .desktop files + + -- Zygmunt Krynicki Sun, 30 Oct 2005 23:00:29 +0100 + gnome-desktop (2.13.1-0ubuntu1) dapper; urgency=low * Sync with Debian. diff -u gnome-desktop-2.13.1/debian/control gnome-desktop-2.13.1/debian/control --- gnome-desktop-2.13.1/debian/control +++ gnome-desktop-2.13.1/debian/control @@ -2,7 +2,7 @@ Section: gnome Priority: optional Maintainer: Ondřej Surý -Uploaders: Debian GNOME Maintainers , Akira TAGOH , Andreas Rottmann , Andrew Lau , Carlos Perelló Marín , Ed Boraas , Edd Dumbill , Emil Soleyman-Zomalan , Gustavo Noronha Silva , J.H.M. Dassen (Ray) , Joe Drew , Johannes Rohr , Jordi Mallach , Jose Carlos Garcia Sogo , Josselin Mouette , Loic Minier , Marc 'HE' Brockschmidt , Rob Bradford , Robert McQueen , Ross Burton , Sebastien Bacher , Sjoerd Simons , Takuo KITAME +Uploaders: Debian GNOME Maintainers , Akira TAGOH , Andreas Rottmann , Andrew Lau , Carlos Perelló Marín , Clément Stenac , Ed Boraas , Edd Dumbill , Emil Soleyman-Zomalan , Guilherme de S. Pastore , Gustavo Noronha Silva , J.H.M. Dassen (Ray) , Joe Drew , Johannes Rohr , Jordi Mallach , Jose Carlos Garcia Sogo , Josselin Mouette , Loic Minier , Marc 'HE' Brockschmidt , Rob Bradford , Robert McQueen , Ross Burton , Sebastien Bacher , Sjoerd Simons , Takuo KITAME Standards-Version: 3.6.1 Build-Depends: debhelper (>= 4.0.0), libglib2.0-dev (>= 2.5.3), liborbit2-dev (>= 1:2.10.2-1.1), intltool, libgnomeui-dev (>= 2.12), libbonobo2-dev (>= 2.6.0-2), scrollkeeper, libstartup-notification0-dev (>= 0.5), cdbs, gnome-pkg-tools, gtk-doc-tools, docbook-xml, gnome-doc-utils only in patch2: unchanged: --- gnome-desktop-2.13.1.orig/libgnome-desktop/gnome-desktop-item.c +++ gnome-desktop-2.13.1/libgnome-desktop/gnome-desktop-item.c @@ -85,6 +85,7 @@ GHashTable *main_hash; char *location; + char *gettext_domain; time_t mtime; @@ -371,8 +372,8 @@ retval->main_hash = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, (GDestroyNotify) g_free); - - /* These are guaranteed to be set */ + + /* These are guaranteed to be set */ gnome_desktop_item_set_string (retval, GNOME_DESKTOP_ITEM_NAME, _("No name")); @@ -384,6 +385,7 @@ "1.0"); retval->launch_time = 0; + retval->gettext_domain = NULL; return retval; } @@ -564,6 +566,12 @@ return dirname; } +/* + * ZK: I needed lookup before the real declaration so here's a prototype + */ +static const char * +lookup (const GnomeDesktopItem *item, const char *key); + /** * gnome_desktop_item_new_from_uri: * @uri: GnomeVFSURI to load the GnomeDesktopItem from @@ -685,6 +693,7 @@ g_free (subfn); + retval->gettext_domain = lookup(retval, GNOME_DESKTOP_ITEM_GETTEXT_DOMAIN); return retval; } @@ -724,6 +733,7 @@ /* FIXME: Sort order? */ + retval->gettext_domain = lookup(retval, GNOME_DESKTOP_ITEM_GETTEXT_DOMAIN); return retval; } @@ -993,6 +1003,12 @@ strcmp (locale, "C") == 0) { return lookup (item, key); } else { + if (item->gettext_domain) { + char *value = lookup(item, key); + char *locale_value = dgettext(item->gettext_domain, value); + if (locale_value) + return locale_value; + } const char *ret; char *full = g_strdup_printf ("%s[%s]", key, locale); ret = lookup (item, full); only in patch2: unchanged: --- gnome-desktop-2.13.1.orig/libgnome-desktop/libgnome/gnome-desktop-item.h +++ gnome-desktop-2.13.1/libgnome-desktop/libgnome/gnome-desktop-item.h @@ -96,6 +96,7 @@ #define GNOME_DESKTOP_ITEM_SORT_ORDER "SortOrder" /* strings */ #define GNOME_DESKTOP_ITEM_URL "URL" /* string */ #define GNOME_DESKTOP_ITEM_DOC_PATH "X-GNOME-DocPath" /* string */ +#define GNOME_DESKTOP_ITEM_GETTEXT_DOMAIN "X-Gettext-Domain" /* string */ /* The vfolder proposal */ #define GNOME_DESKTOP_ITEM_CATEGORIES "Categories" /* string */