This commit is contained in:
parent
8ed85fa26a
commit
e035e7e1df
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ca079e878affd9cae0490c218d52f60bcb0681172f646c76cd2399802a545cb3
|
|
||||||
size 1425318
|
|
3
gnome-desktop-2.23.6.tar.bz2
Normal file
3
gnome-desktop-2.23.6.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c785e6769255ae2d4aa3fb7ca76ea75c8833370ec118880a119b6688638f71d9
|
||||||
|
size 1510062
|
134
gnome-desktop-fate300461-desktop-gettext.patch
Normal file
134
gnome-desktop-fate300461-desktop-gettext.patch
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
Add support of gettext for desktop entry files.
|
||||||
|
|
||||||
|
We only support this for the following keys: Name, GenericName, Comment. We
|
||||||
|
don't support all keys because it can create issues for the Icon key (which is
|
||||||
|
localizable -- which can result in a broken icon).
|
||||||
|
|
||||||
|
Translations that are present in the desktop entry take precedence over
|
||||||
|
translations via gettext. If we don't do this, then user modifications won't
|
||||||
|
appear since they will have lower precedence.
|
||||||
|
|
||||||
|
Index: gnome-desktop-2.23.4/libgnome-desktop/gnome-desktop-item.c
|
||||||
|
===================================================================
|
||||||
|
--- gnome-desktop-2.23.4.orig/libgnome-desktop/gnome-desktop-item.c
|
||||||
|
+++ gnome-desktop-2.23.4/libgnome-desktop/gnome-desktop-item.c
|
||||||
|
@@ -84,6 +84,7 @@ struct _GnomeDesktopItem {
|
||||||
|
GHashTable *main_hash;
|
||||||
|
|
||||||
|
char *location;
|
||||||
|
+ const char *gettext_domain;
|
||||||
|
|
||||||
|
time_t mtime;
|
||||||
|
|
||||||
|
@@ -139,6 +140,8 @@ static GnomeDesktopItem *gnome_desktop_i
|
||||||
|
|
||||||
|
static void update_recently_used_apps (const GnomeDesktopItem *item);
|
||||||
|
|
||||||
|
+static const char *lookup (const GnomeDesktopItem *item, const char *key);
|
||||||
|
+
|
||||||
|
static int
|
||||||
|
readbuf_getc (ReadBuf *rb)
|
||||||
|
{
|
||||||
|
@@ -399,6 +402,7 @@ gnome_desktop_item_new (void)
|
||||||
|
"1.0");
|
||||||
|
|
||||||
|
retval->launch_time = 0;
|
||||||
|
+ retval->gettext_domain = NULL;
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
@@ -477,6 +481,8 @@ gnome_desktop_item_copy (const GnomeDesk
|
||||||
|
copy_string_hash,
|
||||||
|
retval->main_hash);
|
||||||
|
|
||||||
|
+ retval->gettext_domain = lookup (retval, GNOME_DESKTOP_ITEM_GETTEXT_DOMAIN);
|
||||||
|
+
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -924,6 +930,9 @@ gnome_desktop_item_unref (GnomeDesktopIt
|
||||||
|
g_free (item->location);
|
||||||
|
item->location = NULL;
|
||||||
|
|
||||||
|
+ /* no need to free it, it's a const key */
|
||||||
|
+ item->gettext_domain = NULL;
|
||||||
|
+
|
||||||
|
g_free (item);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -999,16 +1008,51 @@ lookup (const GnomeDesktopItem *item, co
|
||||||
|
static const char *
|
||||||
|
lookup_locale (const GnomeDesktopItem *item, const char *key, const char *locale)
|
||||||
|
{
|
||||||
|
+ const char *ret;
|
||||||
|
+
|
||||||
|
+ ret = NULL;
|
||||||
|
+
|
||||||
|
if (locale == NULL ||
|
||||||
|
strcmp (locale, "C") == 0) {
|
||||||
|
- return lookup (item, key);
|
||||||
|
+ ret = lookup (item, key);
|
||||||
|
} else {
|
||||||
|
- const char *ret;
|
||||||
|
char *full = g_strdup_printf ("%s[%s]", key, locale);
|
||||||
|
ret = lookup (item, full);
|
||||||
|
g_free (full);
|
||||||
|
- return ret;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ /* we're only interested in gettext translation if we don't have a
|
||||||
|
+ * translation in the .desktop file itself and if the key is one of the
|
||||||
|
+ * keys we know we want to translate: Name, GenericName, Comment.
|
||||||
|
+ * Blindly doing this for all keys can give strange result for the
|
||||||
|
+ * icons, since the Icon is a locale string in the spec, eg. */
|
||||||
|
+ if (!ret && item->gettext_domain &&
|
||||||
|
+ (strcmp (key, GNOME_DESKTOP_ITEM_NAME) == 0 ||
|
||||||
|
+ strcmp (key, GNOME_DESKTOP_ITEM_GENERIC_NAME) == 0 ||
|
||||||
|
+ strcmp (key, GNOME_DESKTOP_ITEM_COMMENT) == 0)) {
|
||||||
|
+ const char *msg_locale = setlocale (LC_MESSAGES, NULL);
|
||||||
|
+
|
||||||
|
+ /* only get translation in the mo file if the requested locale
|
||||||
|
+ * is the LC_MESSAGES one. Ideally, we should do more and
|
||||||
|
+ * change LC_MESSAGES to use the requested locale, but there's
|
||||||
|
+ * no guarantee it's installed on the system and it might have
|
||||||
|
+ * some side-effects. Since this is a corner case, let's ignore
|
||||||
|
+ * it. */
|
||||||
|
+ if (msg_locale && locale &&
|
||||||
|
+ strcmp (msg_locale, locale) == 0) {
|
||||||
|
+ const char *value = lookup (item, key);
|
||||||
|
+ if (value != NULL && value[0] != '\0') {
|
||||||
|
+ ret = dgettext (item->gettext_domain, value);
|
||||||
|
+ /* don't accept no translation, since we might
|
||||||
|
+ * have something better later, with another
|
||||||
|
+ * locale */
|
||||||
|
+ if (ret == value)
|
||||||
|
+ ret = NULL;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
@@ -4039,6 +4083,8 @@ ditem_load (ReadBuf *rb,
|
||||||
|
|
||||||
|
readbuf_close (rb);
|
||||||
|
|
||||||
|
+ item->gettext_domain = lookup (item, GNOME_DESKTOP_ITEM_GETTEXT_DOMAIN);
|
||||||
|
+
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
Index: gnome-desktop-2.23.4/libgnome-desktop/libgnome/gnome-desktop-item.h
|
||||||
|
===================================================================
|
||||||
|
--- gnome-desktop-2.23.4.orig/libgnome-desktop/libgnome/gnome-desktop-item.h
|
||||||
|
+++ gnome-desktop-2.23.4/libgnome-desktop/libgnome/gnome-desktop-item.h
|
||||||
|
@@ -98,6 +98,7 @@ typedef struct _GnomeDesktopItem GnomeDe
|
||||||
|
#define GNOME_DESKTOP_ITEM_DOC_PATH "X-GNOME-DocPath" /* string */
|
||||||
|
#define GNOME_DESKTOP_ITEM_SUBSTITUTEUID "X-KDE-SubstituteUID" /*boolean*/
|
||||||
|
#define GNOME_DESKTOP_ITEM_ROOT_ONLY "X-KDE-RootOnly" /*boolean*/
|
||||||
|
+#define GNOME_DESKTOP_ITEM_GETTEXT_DOMAIN "X-SUSE-Gettext-Domain" /* string */
|
||||||
|
/* The vfolder proposal */
|
||||||
|
#define GNOME_DESKTOP_ITEM_CATEGORIES "Categories" /* string */
|
||||||
|
#define GNOME_DESKTOP_ITEM_ONLY_SHOW_IN "OnlyShowIn" /* string */
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 5 18:43:47 CEST 2008 - rodrigo@suse.de
|
||||||
|
|
||||||
|
- Update to version 2.23.6:
|
||||||
|
+ Fix build with gcc 2.x (Jens Granseuer)
|
||||||
|
+ GnomeBG: fix handling of empty filenames (Soren Sandmann)
|
||||||
|
+ GnomeBG: word around non-atomic gconf for emitting changed signals
|
||||||
|
only once (Soren Sandmann)
|
||||||
|
- Remove upstreamed randr1.2 patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 28 23:56:29 CEST 2008 - vuntz@novell.com
|
||||||
|
|
||||||
|
- Add gnome-desktop-fate300461-desktop-gettext.patch to support
|
||||||
|
translation of desktop entries via gettext. This is part of
|
||||||
|
fate#300461
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jul 7 15:41:10 CEST 2008 - ro@suse.de
|
Mon Jul 7 15:41:10 CEST 2008 - ro@suse.de
|
||||||
|
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
#
|
#
|
||||||
# spec file for package gnome-desktop (Version 2.23.4)
|
# spec file for package gnome-desktop (Version 2.23.6)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
|
||||||
# package are under the same license as the package itself.
|
|
||||||
#
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -16,8 +23,8 @@ BuildRequires: fdupes gnome-common gnome-doc-utils gnome-doc-utils-devel gtk-do
|
|||||||
License: GNU Free Documentation License, Version 1.1 (GFDL 1.1); GPL v2 or later; LGPL v2.1 or later
|
License: GNU Free Documentation License, Version 1.1 (GFDL 1.1); GPL v2 or later; LGPL v2.1 or later
|
||||||
Group: System/GUI/GNOME
|
Group: System/GUI/GNOME
|
||||||
Obsoletes: gnome-core
|
Obsoletes: gnome-core
|
||||||
Version: 2.23.4
|
Version: 2.23.6
|
||||||
Release: 5
|
Release: 1
|
||||||
Summary: The GNOME Desktop API Library
|
Summary: The GNOME Desktop API Library
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
Url: http://www.gnome.org
|
Url: http://www.gnome.org
|
||||||
@ -27,8 +34,8 @@ Patch1: X-KDE-SubstituteUID.dif
|
|||||||
Patch2: gnome-desktop-desktop.patch
|
Patch2: gnome-desktop-desktop.patch
|
||||||
# PATCH-FEATURE-OPENSUSE gnome-desktop-recently-used-apps.patch -- Add launched .desktop files to recently used apps.
|
# PATCH-FEATURE-OPENSUSE gnome-desktop-recently-used-apps.patch -- Add launched .desktop files to recently used apps.
|
||||||
Patch3: gnome-desktop-recently-used-apps.patch
|
Patch3: gnome-desktop-recently-used-apps.patch
|
||||||
# PATCH-FEATURE-UPSTREAM gnome-desktop-randr-1.2.diff -- Add support for RandR 1.2 to the libraries. federico@novell.com
|
# PATCH-FEATURE-OPENSUSE gnome-desktop-fate300461-desktop-gettext.patch fate300461 vuntz@novell.com -- Look for translation of desktop entry strings via gettext
|
||||||
Patch4: gnome-desktop-randr-1.2.diff
|
Patch5: gnome-desktop-fate300461-desktop-gettext.patch
|
||||||
Requires: %{name}-lang = %{version}
|
Requires: %{name}-lang = %{version}
|
||||||
Requires: libgnome-desktop-2-7 = %{version}
|
Requires: libgnome-desktop-2-7 = %{version}
|
||||||
|
|
||||||
@ -123,7 +130,7 @@ Authors:
|
|||||||
%patch1
|
%patch1
|
||||||
%patch2 -p0
|
%patch2 -p0
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch5 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -f -i
|
autoreconf -f -i
|
||||||
@ -182,6 +189,17 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_datadir}/gtk-doc/html/gnome-desktop
|
%{_datadir}/gtk-doc/html/gnome-desktop
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 05 2008 rodrigo@suse.de
|
||||||
|
- Update to version 2.23.6:
|
||||||
|
+ Fix build with gcc 2.x (Jens Granseuer)
|
||||||
|
+ GnomeBG: fix handling of empty filenames (Soren Sandmann)
|
||||||
|
+ GnomeBG: word around non-atomic gconf for emitting changed signals
|
||||||
|
only once (Soren Sandmann)
|
||||||
|
- Remove upstreamed randr1.2 patch
|
||||||
|
* Tue Jul 29 2008 vuntz@novell.com
|
||||||
|
- Add gnome-desktop-fate300461-desktop-gettext.patch to support
|
||||||
|
translation of desktop entries via gettext. This is part of
|
||||||
|
fate#300461
|
||||||
* Mon Jul 07 2008 ro@suse.de
|
* Mon Jul 07 2008 ro@suse.de
|
||||||
- update baselibs.conf
|
- update baselibs.conf
|
||||||
(it is called libgnome-desktop-2-7 by now)
|
(it is called libgnome-desktop-2-7 by now)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user