diff options
-rw-r--r-- | mkspecs/common/symbian/symbian.conf | 8 | ||||
-rw-r--r-- | mkspecs/features/symbian/localize_deployment.prf | 5 | ||||
-rw-r--r-- | qmake/generators/symbian/symbiancommon.cpp | 15 |
3 files changed, 19 insertions, 9 deletions
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index c50dc77..4e9690d 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -155,7 +155,9 @@ SYMBIAN_SUPPORTED_LANGUAGES = \ pt_br en_ca fr_ca el_cy tr_cy \ en_tw en_hk en_cn en_jp en_th \ sv_fi zh_hk es_419 en_za fr_ch \ - de_ch it_ch zh_tw + de_ch it_ch zh_tw en_in + +SYMBIAN_LANGUAGES_WITH_TWO_CODES = ms id # These directories must match what configure uses for QT_INSTALL_PLUGINS and QT_INSTALL_IMPORTS QT_PLUGINS_BASE_DIR = /resource/qt$${QT_LIBINFIX}/plugins @@ -295,8 +297,10 @@ defineReplace(addLanguageDependentPkgItem) { pkgItem = $$eval($$1) pkgLanguageList = - for(dummyItem, SYMBIAN_MATCHED_LANGUAGES) { + for(matchedLanguage, SYMBIAN_MATCHED_LANGUAGES) { pkgLanguageList += "\"$$pkgItem\"" + # If the language has two mappings, add the item another time. + contains(SYMBIAN_LANGUAGES_WITH_TWO_CODES, $$matchedLanguage): pkgLanguageList += "\"$$pkgItem\"" } isEmpty(pkgLanguageList): pkgLanguageList = "\"$$pkgItem\"" diff --git a/mkspecs/features/symbian/localize_deployment.prf b/mkspecs/features/symbian/localize_deployment.prf index 3e7f585..57c3e93 100644 --- a/mkspecs/features/symbian/localize_deployment.prf +++ b/mkspecs/features/symbian/localize_deployment.prf @@ -28,7 +28,7 @@ SYMBIAN_LANG.he = 57 #Hebrew SYMBIAN_LANG.hi = 58 #Hindi SYMBIAN_LANG.hu = 17 #Hungarian SYMBIAN_LANG.is = 15 #Icelandic -SYMBIAN_LANG.id = 59 #Indonesian +SYMBIAN_LANG.id = 59 327 #Indonesian / Indonesian APAC SYMBIAN_LANG.ga = 60 #Irish SYMBIAN_LANG.it = 05 #Italian SYMBIAN_LANG.ja = 32 #Japanese @@ -39,7 +39,7 @@ SYMBIAN_LANG.lo = 66 #Laothian SYMBIAN_LANG.lv = 67 #Latvian SYMBIAN_LANG.lt = 68 #Lithuanian SYMBIAN_LANG.mk = 69 #Macedonian -SYMBIAN_LANG.ms = 70 #Malay +SYMBIAN_LANG.ms = 70 326 #Malay / Malay APAC SYMBIAN_LANG.ml = 71 #Malayalam SYMBIAN_LANG.mr = 72 #Marathi SYMBIAN_LANG.mo = 73 #Moldavian @@ -88,6 +88,7 @@ SYMBIAN_LANG.en_hk = 158 #English as appropriate for use in Hong Kong SYMBIAN_LANG.en_cn = 159 #English as appropriate for use in the Peoples Republic of China SYMBIAN_LANG.en_jp = 160 #English as appropriate for use in Japan SYMBIAN_LANG.en_th = 161 #English as appropriate for use in Thailand +SYMBIAN_LANG.en_in = 230 #English as appropriate for use in India SYMBIAN_LANG.sv_fi = 85 #Finland Swedish SYMBIAN_LANG.zh_hk = 30 #HongKong Chinese SYMBIAN_LANG.es_419 = 83 #Latin American Spanish diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp index c79bad2..e2dec40 100644 --- a/qmake/generators/symbian/symbiancommon.cpp +++ b/qmake/generators/symbian/symbiancommon.cpp @@ -864,12 +864,17 @@ void SymbianCommonGenerator::fillQt2SymbianLocalizationList(SymbianLocalizationL QStringList symbianLanguages = generator->project->values("SYMBIAN_MATCHED_LANGUAGES"); foreach (QString qtCode, symbianLanguages) { - SymbianLocalization newLoc; QString symbianCodeVariable = symbianCodePrefix + qtCode; - newLoc.symbianLanguageCode = generator->project->first(symbianCodeVariable); - if (!newLoc.symbianLanguageCode.isEmpty()) { - newLoc.qtLanguageCode = qtCode; - symbianLocalizationList->append(newLoc); + QStringList symbianCodes = generator->project->values(symbianCodeVariable); + // Some languages have more than one Symbian code, so they get more than one + // entry in symbianLocalizationList. + foreach (QString symbianCode, symbianCodes) { + SymbianLocalization newLoc; + newLoc.symbianLanguageCode = symbianCode; + if (!newLoc.symbianLanguageCode.isEmpty()) { + newLoc.qtLanguageCode = qtCode; + symbianLocalizationList->append(newLoc); + } } } } |