dvratil pushed to kf5-ki18n (f20). "Add upstream patch to load Qt catalogs"

notifications at fedoraproject.org notifications at fedoraproject.org
Tue Mar 24 17:29:49 UTC 2015


dvratil pushed to kf5-ki18n (f20).  "Add upstream patch to load Qt catalogs"

>From 03407d0f704bb8c02c79bab47722aaa60e24f726 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Vr=C3=A1til?= <dvratil at redhat.com>
Date: Tue, 24 Mar 2015 18:29:13 +0100
Subject: Add upstream patch to load Qt catalogs


diff --git a/0001-preload-the-global-qt-catalog-when-using-i18n.patch b/0001-preload-the-global-qt-catalog-when-using-i18n.patch
new file mode 100644
index 0000000..19727f4
--- /dev/null
+++ b/0001-preload-the-global-qt-catalog-when-using-i18n.patch
@@ -0,0 +1,80 @@
+commit fded87b06de0c956131b0763716b1100e46e1408
+Author: Lukáš Tinkl <lukas at kde.org>
+Date:   Thu Mar 19 16:35:07 2015 +0100
+
+    preload the global Qt catalog when using i18n()
+    
+    tested with eg. systemsettings; without the patch, the fonts kcm dialogs
+    (QFontDialog) are in English
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8c206f9..818595e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -4,6 +4,7 @@ set(libki18n_SRCS
+     kcatalog.cpp
+     kuitmarkup.cpp
+     common_helpers.cpp
++    main.cpp
+ )
+ 
+ add_library(KF5I18n ${libki18n_SRCS})
+diff --git a/src/main.cpp b/src/main.cpp
+new file mode 100644
+index 0000000..6b46f41
+--- /dev/null
++++ b/src/main.cpp
+@@ -0,0 +1,53 @@
++/*  This file is part of the KDE libraries
++    Copyright (C) 2015 Lukáš Tinkl <ltinkl at redhat.com>
++
++    This library is free software; you can redistribute it and/or
++    modify it under the terms of the GNU Library General Public
++    License as published by the Free Software Foundation; either
++    version 2 of the License, or (at your option) any later version.
++
++    This library 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
++    Library General Public License for more details.
++
++    You should have received a copy of the GNU Library General Public License
++    along with this library; see the file COPYING.LIB.  If not, write to
++    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++    Boston, MA 02110-1301, USA.
++*/
++
++#include <QCoreApplication>
++#include <QLocale>
++#include <QLibraryInfo>
++#include <QTranslator>
++
++// load global Qt translation, needed in KDE e.g. by lots of builtin dialogs (QColorDialog, QFontDialog) that we use
++static bool loadTranslation(const QString &localeName)
++{
++    QTranslator *translator = new QTranslator(QCoreApplication::instance());
++    if (!translator->load(QLocale(localeName), QStringLiteral("qt_"), QString(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) {
++        delete translator;
++        return false;
++    }
++    QCoreApplication::instance()->installTranslator(translator);
++    return true;
++}
++
++static void load()
++{
++    // The way Qt translation system handles plural forms makes it necessary to
++    // have a translation file which contains only plural forms for `en`. That's
++    // why we load the `en` translation unconditionally, then load the
++    // translation for the current locale to overload it.
++    loadTranslation(QStringLiteral("en"));
++
++    QLocale locale = QLocale::system();
++    if (locale.name() != QStringLiteral("en")) {
++        if (!loadTranslation(locale.name())) {
++            loadTranslation(locale.bcp47Name());
++        }
++    }
++}
++
++Q_COREAPP_STARTUP_FUNCTION(load)
diff --git a/kf5-ki18n.spec b/kf5-ki18n.spec
index 8dacd47..b62ea64 100644
--- a/kf5-ki18n.spec
+++ b/kf5-ki18n.spec
@@ -2,7 +2,7 @@
 
 Name:           kf5-%{framework}
 Version:        5.8.0
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        KDE Frameworks 5 Tier 1 addon for localization
 
 License:        LGPLv2+
@@ -17,6 +17,10 @@ URL:            http://www.kde.org
 %endif
 Source0:        http://download.kde.org/%{stable}/frameworks/%{versiondir}/%{framework}-%{version}.tar.xz
 
+# upstream patches
+Patch1:         0001-preload-the-global-qt-catalog-when-using-i18n.patch
+
+
 BuildRequires:  perl
 
 BuildRequires:  kf5-rpm-macros
@@ -40,7 +44,7 @@ The %{name}-devel package contains libraries and header files for
 developing applications that use %{name}.
 
 %prep
-%setup -q -n %{framework}-%{version}
+%autosetup -n %{framework}-%{version} -p1
 
 %build
 mkdir -p %{_target_platform}
@@ -84,6 +88,9 @@ make %{?_smp_mflags} -C %{_target_platform}
 
 
 %changelog
+* Tue Mar 24 2015 Daniel Vrátil <dvratil at redhat.com> - 5.8.0-2
+- add upstream patch to fix to load Qt catalogs too
+
 * Mon Mar 16 2015 Daniel Vrátil <dvratil at redhat.com> - 5.8.0-1
 - KDE Frameworks 5.8.0
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/kf5-ki18n.git/commit/?h=f20&id=03407d0f704bb8c02c79bab47722aaa60e24f726

--
You received this message due to your preference settings at
https://apps.fedoraproject.org/notifications//fmnscmcommits.id.fedoraproject.org/email/29390


More information about the scm-commits mailing list