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