]> git.pld-linux.org Git - packages/qt4.git/blame - qt4-locale.patch
- exceptions are used in some parts, rel 44
[packages/qt4.git] / qt4-locale.patch
CommitLineData
8c53efe6 1diff -Nur qt-x11-opensource-src-4.2.1.orig/tools/designer/src/designer/qdesigner.cpp qt-x11-opensource-src-4.2.1.chng/tools/designer/src/designer/qdesigner.cpp
2--- qt-x11-opensource-src-4.2.1.orig/tools/designer/src/designer/qdesigner.cpp 2006-10-20 17:35:40.000000000 +0200
3+++ qt-x11-opensource-src-4.2.1.chng/tools/designer/src/designer/qdesigner.cpp 2006-11-28 14:22:20.000000000 +0100
7d7f0096 4@@ -112,11 +112,11 @@
5 QTranslator *qtTranslator = new QTranslator(this);
8c53efe6 6
7d7f0096 7 const QString localSysName = QLocale::system().name();
8- QString translatorFileName = QLatin1String("designer_");
9+ QString translatorFileName = QLatin1String("qt4-designer_");
10 translatorFileName += localSysName;
11 translator->load(translatorFileName, resourceDir);
8c53efe6 12
7d7f0096 13- translatorFileName = QLatin1String("qt_");
14+ translatorFileName = QLatin1String("qt4_");
15 translatorFileName += localSysName;
16 qtTranslator->load(translatorFileName, resourceDir);
17 installTranslator(translator);
8c53efe6 18diff -Nur qt-x11-opensource-src-4.2.1.orig/tools/linguist/linguist/main.cpp qt-x11-opensource-src-4.2.1.chng/tools/linguist/linguist/main.cpp
19--- qt-x11-opensource-src-4.2.1.orig/tools/linguist/linguist/main.cpp 2006-10-20 17:35:26.000000000 +0200
20+++ qt-x11-opensource-src-4.2.1.chng/tools/linguist/linguist/main.cpp 2006-11-28 14:21:19.000000000 +0100
c57a122a 21@@ -83,9 +83,9 @@
787f1ada 22 QTranslator translator;
787f1ada 23 QTranslator qtTranslator;
c57a122a
AM
24 QString sysLocale = QLocale::system().name();
25- if (translator.load(QLatin1String("linguist_") + sysLocale, resourceDir)) {
26+ if (translator.load(QLatin1String("qt4-linguist_") + sysLocale, resourceDir)) {
27 app.installTranslator(&translator);
28- if (qtTranslator.load(QLatin1String("qt_") + sysLocale, resourceDir))
29+ if (qtTranslator.load(QLatin1String("qt4_") + sysLocale, resourceDir))
30 app.installTranslator(&qtTranslator);
31 else
32 app.removeTranslator(&translator);
fc14f980 33--- qt-everywhere-opensource-src-4.7.0/src/corelib/kernel/qtranslator.cpp.orig 2010-09-10 11:05:25.000000000 +0200
34+++ qt-everywhere-opensource-src-4.7.0/src/corelib/kernel/qtranslator.cpp 2010-09-21 21:36:42.645202096 +0200
35@@ -55,6 +55,7 @@
fc14f980 36 #include "qtranslator_p.h"
f05158ee 37 #include "qlocale.h"
fc14f980 38+#include <qlibraryinfo.h>
4b7e9ab4 39 #include "qresource.h"
fc14f980 40
4c749030 41 #if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) && !defined(Q_OS_INTEGRITY)
fc14f980 42 #define QT_USE_MMAP
f05158ee 43@@ -445,49 +445,71 @@
fc14f980 44 QString delims;
45 delims = search_delimiters.isNull() ? QString::fromLatin1("_.") : search_delimiters;
46
47- for (;;) {
48- QFileInfo fi;
f05158ee
AM
49+ if (directory == QLibraryInfo::location(QLibraryInfo::TranslationsPath)) {
50+ QString locale;
51+ int idelim = 0, leftmost;
52+
53+ for (;;) {
54+ leftmost = filename.size();
55+ for (int i = 0; i < (int)delims.length(); i++) {
56+ int k = filename.indexOf(delims[i], idelim);
57+ if ((k > 0)&&(k < leftmost))
58+ leftmost = k;
59+ }
60+
61+ if (leftmost == filename.size())
62+ return false;
63+
64+ idelim = leftmost + 1;
65+ fname = filename.left(leftmost);
66+ locale = filename.mid(leftmost+1);
67+
68+ while (!locale.isEmpty()) {
69+ QFileInfo fi;
70+ realname = prefix + locale + QString::fromLatin1("/LC_MESSAGES/") + fname + QString::fromLatin1(".qm");
71+
72+ fi.setFile(realname);
73+ if (fi.isReadable())
74+ break;
75+
76+ int rightmost = 0;
77+ for (int i = 0; i < (int)delims.length(); i++) {
78+ int k = locale.lastIndexOf(delims[i]);
79+ if (k > rightmost)
80+ rightmost = k;
81+ }
82+ locale.truncate(rightmost);
83+ }
84+ if (!locale.isEmpty())
85+ break;
86+ }
87+ } else {
88+ for (;;) {
89+ QFileInfo fi;
90+
91+ realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix);
92+ fi.setFile(realname);
93+ if (fi.isReadable())
94+ break;
95+
96+ realname = prefix + fname;
97+ fi.setFile(realname);
98+ if (fi.isReadable())
99+ break;
100+
101+ int rightmost = 0;
102+ for (int i = 0; i < (int)delims.length(); i++) {
103+ int k = fname.lastIndexOf(delims[i]);
104+ if (k > rightmost)
105+ rightmost = k;
106+ }
107+
108+ // no truncations? fail
109+ if (rightmost == 0)
110+ return false;
111
112-#ifdef Q_OS_SYMBIAN
113- //search for translations on other drives, e.g. Qt may be in Z, while app is in C
114- //note this uses symbian search rules, i.e. y:->a:, followed by z:
115- TFindFile finder(qt_s60GetRFs());
116- QString fname2 = fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix);
117- TInt err = finder.FindByDir(
118- qt_QString2TPtrC(fname2),
119- qt_QString2TPtrC(nativePrefix));
120- if (err != KErrNone)
121- err = finder.FindByDir(qt_QString2TPtrC(fname), qt_QString2TPtrC(nativePrefix));
122- if (err == KErrNone) {
123- fi.setFile(qt_TDesC2QString(finder.File()));
124- realname = fi.canonicalFilePath();
125- if (fi.isReadable() && fi.isFile())
126- break;
127- }
128-#endif
fc14f980 129-
130- realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix);
131- fi.setFile(realname);
132- if (fi.isReadable() && fi.isFile())
133- break;
134-
135- realname = prefix + fname;
136- fi.setFile(realname);
137- if (fi.isReadable() && fi.isFile())
138- break;
139-
140- int rightmost = 0;
141- for (int i = 0; i < (int)delims.length(); i++) {
142- int k = fname.lastIndexOf(delims[i]);
143- if (k > rightmost)
144- rightmost = k;
145- }
146-
147- // no truncations? fail
148- if (rightmost == 0)
149- return false;
150-
151- fname.truncate(rightmost);
f05158ee
AM
152+ fname.truncate(rightmost);
153+ }
fc14f980 154 }
155
156 // realname is now the fully qualified name of a readable file.
f05158ee 157
This page took 0.118888 seconds and 4 git commands to generate.