[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-i18n-doc
Subject:    KDE/kdelibs/kdecore/localization
From:       John Layt <john () layt ! net>
Date:       2010-05-08 20:44:31
Message-ID: 20100508204431.1A40AAC8B1 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1124319 by jlayt:

Add support for more local script digit sets.

Support for the following Unicode defined Decimal Digit Sets has been added:

Script        Languages

Bengali       Bengali and Assamese
Gujarati      Gujarati
Gurmukhi      Punjabi
Kannada       Kannada
Khmer         Khmer
Malayalam     Malayalam
Oriya         Oriya
Tamil         Tamil
Telugu        Telugu
Thai          Thai

The following Decimal Digit Sets are defined in Unicode but the associated
languages are not yet translated in KDE, so are not yet enabled but are
documented in code for future use.

Balinese      Balinese
Cham          Cham
Javaneses     Javanese
Kayah Li      Kayah
Lao           Lao
Lepcha        Lepcha
Limbu         Limbu
Meetei Mayek  Meitei
Mongolian     Mongolian
Myanmar       Myanmar/Burmese
Myanmar Shan  Shan
New Tai Lue   Tai Lu
N'Ko          Mande and N'Ko
Ol Chiki      Santali
Osmanya       Somali
Saurashtra    Saurashtra
Sundanese     Sundanese
Tai Tham      Tai Lu
Tibetan       Tibetan
Vai           Vai

Note that the script names are as defined in the Unicode standard, the
associated languages and names are drawn from Wikipedia.  No political
inferences should be drawn from these names.

CCMAIL: kde-i18n-doc@kde.org
CCMAIL: donga.nb@gmail.com



 M  +76 -6     klocale.cpp  
 M  +35 -1     klocale.h  


--- trunk/KDE/kdelibs/kdecore/localization/klocale.cpp #1124318:1124319
@@ -83,8 +83,18 @@
     // Languages using non-Western Arabic digit sets.
     // FIXME: Temporary until full language-sensitivity implemented.
     languagesUsingDigitSet.insert(KLocale::ArabicIndicDigits, QStringList() << "ar" << "ps");
+    languagesUsingDigitSet.insert(KLocale::BengaliDigits, QStringList() << "bn" << "as" );
+    languagesUsingDigitSet.insert(KLocale::DevenagariDigits, QStringList() << "hi" << "ne");
     languagesUsingDigitSet.insert(KLocale::EasternArabicIndicDigits, QStringList() << "fa" << "ur");
-    languagesUsingDigitSet.insert(KLocale::DevenagariDigits, QStringList() << "hi" << "ne");
+    languagesUsingDigitSet.insert(KLocale::GujaratiDigits, QStringList() << "gu" );
+    languagesUsingDigitSet.insert(KLocale::GurmukhiDigits, QStringList() << "pa" );
+    languagesUsingDigitSet.insert(KLocale::KannadaDigits, QStringList() << "kn" );
+    languagesUsingDigitSet.insert(KLocale::KhmerDigits, QStringList() << "km" );
+    languagesUsingDigitSet.insert(KLocale::MalayalamDigits, QStringList() << "ml" );
+    languagesUsingDigitSet.insert(KLocale::OriyaDigits, QStringList() << "or" );
+    languagesUsingDigitSet.insert(KLocale::TamilDigits, QStringList() << "ta" );
+    languagesUsingDigitSet.insert(KLocale::TeluguDigits, QStringList() << "te" );
+    languagesUsingDigitSet.insert(KLocale::ThaiDigits, QStringList() << "th");
 }
 
 K_GLOBAL_STATIC(KLocaleStaticData, staticData)
@@ -1001,8 +1011,18 @@
     QList<DigitSet> digitSets;
     digitSets.append(ArabicDigits);
     digitSets.append(ArabicIndicDigits);
+    digitSets.append(BengaliDigits);
+    digitSets.append(DevenagariDigits);
     digitSets.append(EasternArabicIndicDigits);
-    digitSets.append(DevenagariDigits);
+    digitSets.append(GujaratiDigits);
+    digitSets.append(GurmukhiDigits);
+    digitSets.append(KannadaDigits);
+    digitSets.append(KhmerDigits);
+    digitSets.append(MalayalamDigits);
+    digitSets.append(OriyaDigits);
+    digitSets.append(TamilDigits);
+    digitSets.append(TeluguDigits);
+    digitSets.append(ThaiDigits);
     return digitSets;
 }
 
@@ -1011,10 +1031,30 @@
     switch (digitSet) {
     case KLocale::ArabicIndicDigits:
         return QString::fromUtf8(" ١٢٣٤٥٦٧٨٩");
+    case KLocale::BengaliDigits:
+        return QString::fromUtf8("০১২৩৪৫৬৭৮৯");
+    case KLocale::DevenagariDigits:
+        return QString::fromUtf8("०१२३४५६७८९");
     case KLocale::EasternArabicIndicDigits:
         return QString::fromUtf8("۰۱۲۳۴۵۶۷۸۹");
-    case KLocale::DevenagariDigits:
-        return QString::fromUtf8("०१२३४५६७८९");
+    case KLocale::GujaratiDigits:
+        return QString::fromUtf8("૦૧૨૩૪૫૬૭૮૯");
+    case KLocale::GurmukhiDigits:
+        return QString::fromUtf8("੦੧੨੩੪੫੬੭੮੯");
+    case KLocale::KannadaDigits:
+        return QString::fromUtf8("೦೧೨೩೪೫೬೭೮೯");
+    case KLocale::KhmerDigits:
+        return QString::fromUtf8(" ១២៣៤៥៦៧៨៩");
+    case KLocale::MalayalamDigits:
+        return QString::fromUtf8("൦൧൨൩൪൫൬൭൮൯");
+    case KLocale::OriyaDigits:
+        return QString::fromUtf8("୦୧୨୩୪୫୬୭୮୯");
+    case KLocale::TamilDigits:
+        return QString::fromUtf8("௦௧௨௩௪௫௬௭௮");
+    case KLocale::TeluguDigits:
+        return QString::fromUtf8("౦౧౨౩౪౫౬౭౯");
+    case KLocale::ThaiDigits:
+        return QString::fromUtf8("๐๑๒๓๔๕๖๗๘๙");
     default:
         return QString::fromUtf8("0123456789");
     }
@@ -1027,12 +1067,42 @@
     case KLocale::ArabicIndicDigits:
         name = i18nc("digit set", "Arabic-Indic");
         break;
-    case KLocale::EasternArabicIndicDigits:
-        name = i18nc("digit set", "Eastern Arabic-Indic");
+    case KLocale::BengaliDigits:
+        name = i18nc("digit set", "Bengali");
         break;
     case KLocale::DevenagariDigits:
         name = i18nc("digit set", "Devenagari");
         break;
+    case KLocale::EasternArabicIndicDigits:
+        name = i18nc("digit set", "Eastern Arabic-Indic");
+        break;
+    case KLocale::GujaratiDigits:
+        name = i18nc("digit set", "Gujarati");
+        break;
+    case KLocale::GurmukhiDigits:
+        name = i18nc("digit set", "Gurmukhi");
+        break;
+    case KLocale::KannadaDigits:
+        name = i18nc("digit set", "Kannada");
+        break;
+    case KLocale::KhmerDigits:
+        name = i18nc("digit set", "Khmer");
+        break;
+    case KLocale::MalayalamDigits:
+        name = i18nc("digit set", "Malayalam");
+        break;
+    case KLocale::OriyaDigits:
+        name = i18nc("digit set", "Oriya");
+        break;
+    case KLocale::TamilDigits:
+        name = i18nc("digit set", "Tamil");
+        break;
+    case KLocale::TeluguDigits:
+        name = i18nc("digit set", "Telugu");
+        break;
+    case KLocale::ThaiDigits:
+        name = i18nc("digit set", "Thai");
+        break;
     default:
         name = i18nc("digit set", "Arabic");
     }
--- trunk/KDE/kdelibs/kdecore/localization/klocale.h #1124318:1124319
@@ -253,7 +253,41 @@
                                        languages and western Arabic dialects) */
         ArabicIndicDigits,        /**<  ١٢٣٤٥٦٧٨٩ (eastern Arabic dialects) */
         EasternArabicIndicDigits, /**< ۰۱۲۳۴۵۶۷۸۹ (Persian and Urdu) */
-        DevenagariDigits          /**< ०१२३४५६७८९ (Hindi) */
+        DevenagariDigits,         /**< ०१२३४५६७८९ (Hindi) */
+        BengaliDigits,            /**< ০১২৩৪৫৬৭৮৯ (Bengali and  Assamese) */
+        GujaratiDigits,           /**< ૦૧૨૩૪૫૬૭૮૯ (Gujarati) */
+        GurmukhiDigits,           /**< ੦੧੨੩੪੫੬੭੮੯ (Punjabi) */
+        KannadaDigits,            /**< ೦೧೨೩೪೫೬೭೮೯ (Kannada) */
+        KhmerDigits,              /**<  ១២៣៤៥៦៧៨៩ (Khmer) */
+        MalayalamDigits,          /**< ൦൧൨൩൪൫൬൭൮൯ (Malayalam) */
+        OriyaDigits,              /**< ୦୧୨୩୪୫୬୭୮୯ (Oriya) */
+        TamilDigits,              /**< ௦௧௨௩௪௫௬௭௮ (Tamil) */
+        TeluguDigits,             /**< ౦౧౨౩౪౫౬౭౯ (Telugu) */
+        ThaiDigits                /**< ๐๑๒๓๔๕๖๗๘๙ (Thai) */
+    // The following Decimal Digit Sets are defined in Unicode but the associated
+    // languages are not yet translated in KDE, so are not yet enabled.
+    // The script names are taken from the Unicode standard, the associated
+    // languages from Wikipedia.
+    //  BalineseDigits,           /**< ᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙ (Balinese) */
+    //  ChamDigits,               /**< ꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙ (Cham) */
+    //  JavaneseDigits,           /**< ꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙ (Javanese) */
+    //  KayahLiDigits,            /**< ꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉ (Kayah) */
+    //  LaoDigits,                /**< ໐໑໒໓໔໕໖໗໘໙ (Lao) */
+    //  LepchaDigits,             /**< ᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉ (Lepcha) */
+    //  LimbuDigits,              /**< ᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏ (Limbu) */
+    //  MeeteiMayekDigits,        /**< ꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹ (Meitei) */
+    //  MongolianDigits,          /**<            (Mongolian) */
+    //  MyanmarDigits,            /**< ၀၁၂၃၄၅၆၇၈၉ (Myanmar/Burmese ) */
+    //  MyanmarShanDigits,        /**< ႐႑႒႓႔႕႖႗႘႙ (Shan) */
+    //  NewTaiLueDigits,          /**< ᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙ (Tai Lü) */
+    //  NKoDigits,                /**< ߀߁߂߃߄߅߆߇߈߉ (Mande and N'Ko) */
+    //  OlChikiDigits,            /**< ᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙ (Santali) */
+    //  OsmanyaDigits,            /**<  ҡҢңҤҥҦҧҨҩ (Somali) */
+    //  SaurashtraDigits,         /**< ꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙ (Saurashtra) */
+    //  SundaneseDigits,          /**< ᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹ (Sundanese) */
+    //  TaiThamDigits,            /**< ᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙ (Tai Lü) */
+    //  TibetanDigits,            /**<  ༡༢༣༤༥༦༧༨༩ (Tibetan) */
+    //  VaiDigits,                /**<  ꘡꘢꘣꘤꘥꘦꘧꘨꘩ (Vai) */
     };
 
     /**
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic