]> git.pld-linux.org Git - packages/qt4.git/blob - qt4-locale.patch
- updated for 4.7
[packages/qt4.git] / qt4-locale.patch
1 diff -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
4 @@ -112,11 +112,11 @@
5      QTranslator *qtTranslator = new QTranslator(this);
6  
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);
12  
13 -    translatorFileName = QLatin1String("qt_");
14 +    translatorFileName = QLatin1String("qt4_");
15      translatorFileName += localSysName;
16      qtTranslator->load(translatorFileName, resourceDir);
17      installTranslator(translator);
18 diff -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
21 @@ -83,9 +83,9 @@
22      QTranslator translator;
23      QTranslator qtTranslator;
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);
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 @@
36  #include "qalgorithms.h"
37  #include "qhash.h"
38  #include "qtranslator_p.h"
39 +#include <qlibraryinfo.h>
40  
41  #if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
42  #define QT_USE_MMAP
43 @@ -407,31 +408,71 @@
44      QString delims;
45      delims = search_delimiters.isNull() ? QString::fromLatin1("_.") : search_delimiters;
46  
47 -    for (;;) {
48 -        QFileInfo fi;
49 -
50 -        realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix);
51 -        fi.setFile(realname);
52 -        if (fi.isReadable() && fi.isFile())
53 -            break;
54 -
55 -        realname = prefix + fname;
56 -        fi.setFile(realname);
57 -        if (fi.isReadable() && fi.isFile())
58 -            break;
59 -
60 -        int rightmost = 0;
61 -        for (int i = 0; i < (int)delims.length(); i++) {
62 -            int k = fname.lastIndexOf(delims[i]);
63 -            if (k > rightmost)
64 -                rightmost = k;
65 -        }
66 -
67 -        // no truncations? fail
68 -        if (rightmost == 0)
69 -            return false;
70 -
71 -        fname.truncate(rightmost);
72 +     if (directory == QLibraryInfo::location(QLibraryInfo::TranslationsPath)) {
73 +       QString locale;
74 +         int idelim = 0, leftmost;
75 +                     
76 +         for (;;) {
77 +           leftmost = filename.size();
78 +             for (int i = 0; i < (int)delims.length(); i++) {
79 +               int k = filename.indexOf(delims[i], idelim);
80 +                 if ((k > 0)&&(k < leftmost))
81 +                 leftmost = k;
82 +             }
83 +             
84 +             if (leftmost == filename.size())
85 +               return false;
86 +                                                                                                                                                 
87 +             idelim = leftmost + 1;
88 +             fname = filename.left(leftmost);
89 +             locale = filename.mid(leftmost+1);
90 +             
91 +             while (!locale.isEmpty()) {
92 +               QFileInfo fi;
93 +                 realname = prefix + locale + QString::fromLatin1("/LC_MESSAGES/") +  fname + QString::fromLatin1(".qm");
94 +                 
95 +                 fi.setFile(realname);
96 +                 if (fi.isReadable())
97 +                   break;
98 +                                                                                                                                                                                                                                                                                     
99 +                 int rightmost = 0;
100 +                 for (int i = 0; i < (int)delims.length(); i++) {
101 +                   int k = locale.lastIndexOf(delims[i]);
102 +                     if (k > rightmost)
103 +                       rightmost = k;
104 +                 }
105 +                 locale.truncate(rightmost);
106 +             }
107 +             if (!locale.isEmpty())
108 +               break;
109 +       }
110 +     } else {
111 +       for (;;) {
112 +           QFileInfo fi;
113
114 +           realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix);
115 +           fi.setFile(realname);
116 +           if (fi.isReadable())
117 +               break;
118
119 +           realname = prefix + fname;
120 +           fi.setFile(realname);
121 +           if (fi.isReadable())
122 +               break;
123
124 +           int rightmost = 0;
125 +           for (int i = 0; i < (int)delims.length(); i++) {
126 +               int k = fname.lastIndexOf(delims[i]);
127 +               if (k > rightmost)
128 +                   rightmost = k;
129 +           }
130
131 +             // no truncations? fail
132 +           if (rightmost == 0)
133 +           return false;
134 +  
135 +           fname.truncate(rightmost);
136 +       }
137      }
138  
139      // realname is now the fully qualified name of a readable file.
This page took 0.085602 seconds and 4 git commands to generate.