]> git.pld-linux.org Git - packages/qt4.git/blob - qt4-locale.patch
- updated
[packages/qt4.git] / qt4-locale.patch
1 diff -Nur qt-x11-opensource-src-4.2.1.orig/src/corelib/kernel/qtranslator.cpp qt-x11-opensource-src-4.2.1.chng/src/corelib/kernel/qtranslator.cpp
2 --- qt-x11-opensource-src-4.2.1.orig/src/corelib/kernel/qtranslator.cpp 2006-10-20 17:35:15.000000000 +0200
3 +++ qt-x11-opensource-src-4.2.1.chng/src/corelib/kernel/qtranslator.cpp 2006-11-28 14:17:12.000000000 +0100
4 @@ -37,6 +37,7 @@
5  #include "qalgorithms.h"
6  #include "qhash.h"
7  #include "qtranslator_p.h"
8 +#include <qlibraryinfo.h>
9  
10  #if defined(Q_OS_UNIX)
11  #define QT_USE_MMAP
12 @@ -377,33 +378,72 @@
13      QString delims;
14      delims = search_delimiters.isNull() ? QString::fromLatin1("_.") : search_delimiters;
15  
16 -    for (;;) {
17 -        QFileInfo fi;
18 -
19 -        realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix);
20 -        fi.setFile(realname);
21 -        if (fi.isReadable())
22 -            break;
23 -
24 -        realname = prefix + fname;
25 -        fi.setFile(realname);
26 -        if (fi.isReadable())
27 -            break;
28 +    if (directory == QLibraryInfo::location(QLibraryInfo::TranslationsPath)) {
29 +       QString locale;
30 +        int idelim = 0, leftmost;
31 +                    
32 +        for (;;) {
33 +           leftmost = filename.size();
34 +            for (int i = 0; i < (int)delims.length(); i++) {
35 +               int k = filename.indexOf(delims[i], idelim);
36 +                if ((k > 0)&&(k < leftmost))
37 +                leftmost = k;
38 +            }
39 +            
40 +            if (leftmost == filename.size())
41 +               return false;
42 +                                                                                                                                                
43 +            idelim = leftmost + 1;
44 +            fname = filename.left(leftmost);
45 +            locale = filename.mid(leftmost+1);
46 +            
47 +            while (!locale.isEmpty()) {
48 +               QFileInfo fi;
49 +                realname = prefix + locale + QString::fromLatin1("/LC_MESSAGES/") +  fname + QString::fromLatin1(".qm");
50 +                
51 +                fi.setFile(realname);
52 +                if (fi.isReadable())
53 +                   break;
54 +                                                                                                                                                                                                                                                                                    
55 +                int rightmost = 0;
56 +                for (int i = 0; i < (int)delims.length(); i++) {
57 +                   int k = locale.lastIndexOf(delims[i]);
58 +                    if (k > rightmost)
59 +                       rightmost = k;
60 +                }
61 +                locale.truncate(rightmost);
62 +            }
63 +            if (!locale.isEmpty())
64 +               break;
65 +       }
66 +    } else {
67 +       for (;;) {
68 +           QFileInfo fi;
69 +
70 +           realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix);
71 +           fi.setFile(realname);
72 +           if (fi.isReadable())
73 +               break;
74 +
75 +           realname = prefix + fname;
76 +           fi.setFile(realname);
77 +           if (fi.isReadable())
78 +               break;
79 +
80 +           int rightmost = 0;
81 +           for (int i = 0; i < (int)delims.length(); i++) {
82 +               int k = fname.lastIndexOf(delims[i]);
83 +               if (k > rightmost)
84 +                   rightmost = k;
85 +           }
86 +
87 +            // no truncations? fail
88 +           if (rightmost == 0)
89 +           return false;
90  
91 -        int rightmost = 0;
92 -        for (int i = 0; i < (int)delims.length(); i++) {
93 -            int k = fname.lastIndexOf(delims[i]);
94 -            if (k > rightmost)
95 -                rightmost = k;
96 +           fname.truncate(rightmost);
97          }
98 -
99 -        // no truncations? fail
100 -        if (rightmost == 0)
101 -            return false;
102 -
103 -        fname.truncate(rightmost);
104      }
105 -
106      // realname is now the fully qualified name of a readable file.
107  
108      bool ok = false;
109 diff -Nur qt-x11-opensource-src-4.2.1.orig/tools/assistant/compat/main.cpp qt-x11-opensource-src-4.2.1.chng/tools/assistant/main.cpp
110 --- qt-x11-opensource-src-4.2.1.orig/tools/assistant/compat/main.cpp    2006-10-20 17:35:28.000000000 +0200
111 +++ qt-x11-opensource-src-4.2.1.chng/tools/assistant/compat/main.cpp    2006-11-28 14:23:03.000000000 +0100
112 @@ -310,11 +310,11 @@
113          resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
114  
115      QTranslator translator( 0 );
116 -    translator.load( QLatin1String("assistant_adp_") + QLocale::system().name(), resourceDir );
117 +    translator.load( QLatin1String("qt4-assistant_adp_") + QLocale::system().name(), resourceDir );
118      a.installTranslator( &translator );
119  
120      QTranslator qtTranslator( 0 );
121 -    qtTranslator.load( QLatin1String("qt_") + QLocale::system().name(), resourceDir );
122 +    qtTranslator.load( QLatin1String("qt4_") + QLocale::system().name(), resourceDir );
123      a.installTranslator( &qtTranslator );
124  
125      Config *conf = Config::loadConfig( profileName );
126 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
127 --- qt-x11-opensource-src-4.2.1.orig/tools/designer/src/designer/qdesigner.cpp  2006-10-20 17:35:40.000000000 +0200
128 +++ qt-x11-opensource-src-4.2.1.chng/tools/designer/src/designer/qdesigner.cpp  2006-11-28 14:22:20.000000000 +0100
129 @@ -112,11 +112,11 @@
130      QTranslator *qtTranslator = new QTranslator(this);
131  
132      const QString localSysName = QLocale::system().name();
133 -    QString  translatorFileName = QLatin1String("designer_");
134 +    QString  translatorFileName = QLatin1String("qt4-designer_");
135      translatorFileName += localSysName;
136      translator->load(translatorFileName, resourceDir);
137  
138 -    translatorFileName = QLatin1String("qt_");
139 +    translatorFileName = QLatin1String("qt4_");
140      translatorFileName += localSysName;
141      qtTranslator->load(translatorFileName, resourceDir);
142      installTranslator(translator);
143 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
144 --- qt-x11-opensource-src-4.2.1.orig/tools/linguist/linguist/main.cpp   2006-10-20 17:35:26.000000000 +0200
145 +++ qt-x11-opensource-src-4.2.1.chng/tools/linguist/linguist/main.cpp   2006-11-28 14:21:19.000000000 +0100
146 @@ -80,11 +80,11 @@
147      }
148  
149      QTranslator translator;
150 -    translator.load(QLatin1String("linguist_") + QLocale::system().name(), resourceDir);
151 +    translator.load(QLatin1String("qt4-linguist_") + QLocale::system().name(), resourceDir);
152      app.installTranslator(&translator);
153  
154      QTranslator qtTranslator;
155 -    qtTranslator.load(QLatin1String("qt_") + QLocale::system().name(), resourceDir);
156 +    qtTranslator.load(QLatin1String("qt4_") + QLocale::system().name(), resourceDir);
157      app.installTranslator(&qtTranslator);
158  
159      app.setOrganizationName(QLatin1String("Trolltech"));
This page took 0.044037 seconds and 4 git commands to generate.