mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-27 15:24:05 +00:00
A little refactor of find of language writing direction
This commit is contained in:
parent
4539323177
commit
1dd5bd2eb2
|
@ -23,7 +23,6 @@
|
|||
#include <QImage>
|
||||
#include <QPainter>
|
||||
#include <QRegExp>
|
||||
#include <QLocale>
|
||||
|
||||
namespace Dictionary {
|
||||
|
||||
|
@ -120,8 +119,6 @@ vector< char > & DataRequest::getFullData() throw( exRequestUnfinished )
|
|||
|
||||
Class::Class( string const & id_, vector< string > const & dictionaryFiles_ ):
|
||||
id( id_ ), dictionaryFiles( dictionaryFiles_ ), dictionaryIconLoaded( false )
|
||||
, fromLangTextDirection( -1 )
|
||||
, toLangTextDirection( -1 )
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -371,40 +368,6 @@ void Class::isolateCSS( QString & css, QString const & wrapperSelector )
|
|||
css = newCSS;
|
||||
}
|
||||
|
||||
void Class::initTextDirections()
|
||||
{
|
||||
quint32 fromLanguage = getLangFrom();
|
||||
if( fromLanguage == 0 )
|
||||
fromLangTextDirection = Qt::LeftToRight;
|
||||
else
|
||||
fromLangTextDirection = QLocale( LangCoder::intToCode2( fromLanguage ) ).textDirection();
|
||||
|
||||
quint32 toLanguage = getLangTo();
|
||||
if( toLanguage == fromLanguage )
|
||||
toLangTextDirection = fromLangTextDirection;
|
||||
else
|
||||
{
|
||||
if( toLanguage == 0 )
|
||||
toLangTextDirection = Qt::LeftToRight;
|
||||
else
|
||||
toLangTextDirection = QLocale( LangCoder::intToCode2( toLanguage ) ).textDirection();
|
||||
}
|
||||
}
|
||||
|
||||
bool Class::isFromLanguageRTL()
|
||||
{
|
||||
if( fromLangTextDirection < 0 )
|
||||
initTextDirections();
|
||||
return( fromLangTextDirection == Qt::RightToLeft );
|
||||
}
|
||||
|
||||
bool Class::isToLanguageRTL()
|
||||
{
|
||||
if( toLangTextDirection < 0 )
|
||||
initTextDirections();
|
||||
return( toLangTextDirection == Qt::RightToLeft );
|
||||
}
|
||||
|
||||
string makeDictionaryId( vector< string > const & dictionaryFiles ) throw()
|
||||
{
|
||||
std::vector< string > sortedList;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include "ex.hh"
|
||||
#include "mutex.hh"
|
||||
#include "wstring.hh"
|
||||
#include "langcoder.hh"
|
||||
|
||||
/// Abstract dictionary-related stuff
|
||||
namespace Dictionary {
|
||||
|
@ -258,7 +259,6 @@ protected:
|
|||
QString dictionaryDescription;
|
||||
QIcon dictionaryIcon, dictionaryNativeIcon;
|
||||
bool dictionaryIconLoaded;
|
||||
int fromLangTextDirection, toLangTextDirection;
|
||||
|
||||
// Load user icon if it exist
|
||||
// By default set icon to empty
|
||||
|
@ -271,9 +271,6 @@ protected:
|
|||
/// Make css content usable only for articles from this dictionary
|
||||
void isolateCSS( QString & css, QString const & wrapperSelector = QString() );
|
||||
|
||||
/// Init text direction for input and output languages
|
||||
void initTextDirections();
|
||||
|
||||
public:
|
||||
|
||||
/// Creates a dictionary. The id should be made using
|
||||
|
@ -394,8 +391,10 @@ public:
|
|||
virtual QString getMainFilename();
|
||||
|
||||
/// Check text direction
|
||||
bool isFromLanguageRTL();
|
||||
bool isToLanguageRTL();
|
||||
bool isFromLanguageRTL()
|
||||
{ return LangCoder::isLanguageRTL( getLangFrom() ); }
|
||||
bool isToLanguageRTL()
|
||||
{ return LangCoder::isLanguageRTL( getLangTo() ); }
|
||||
|
||||
/// Return true if dictionary is local dictionary
|
||||
virtual bool isLocalDictionary()
|
||||
|
|
207
langcoder.cc
207
langcoder.cc
|
@ -4,9 +4,203 @@
|
|||
#include "language.hh"
|
||||
|
||||
#include <cctype>
|
||||
#include <QLocale>
|
||||
|
||||
LangCoder langCoder;
|
||||
|
||||
// Language codes
|
||||
|
||||
static LangCode LangCodes[] = {
|
||||
|
||||
{ "aa", "aar", -1, "Afar" },
|
||||
{ "ab", "abk", -1, "Abkhazian" },
|
||||
{ "ae", "ave", -1, "Avestan" },
|
||||
{ "af", "afr", -1, "Afrikaans" },
|
||||
{ "ak", "aka", -1, "Akan" },
|
||||
{ "am", "amh", -1, "Amharic" },
|
||||
{ "an", "arg", -1, "Aragonese" },
|
||||
{ "ar", "ara", 1, "Arabic" },
|
||||
{ "as", "asm", -1, "Assamese" },
|
||||
{ "av", "ava", -1, "Avaric" },
|
||||
{ "ay", "aym", -1, "Aymara" },
|
||||
{ "az", "aze", 0, "Azerbaijani" },
|
||||
{ "ba", "bak", 0, "Bashkir" },
|
||||
{ "be", "bel", 0, "Belarusian" },
|
||||
{ "bg", "bul", 0, "Bulgarian" },
|
||||
{ "bh", "bih", -1, "Bihari" },
|
||||
{ "bi", "bis", -1, "Bislama" },
|
||||
{ "bm", "bam", -1, "Bambara" },
|
||||
{ "bn", "ben", -1, "Bengali" },
|
||||
{ "bo", "tib", -1, "Tibetan" },
|
||||
{ "br", "bre", -1, "Breton" },
|
||||
{ "bs", "bos", 0, "Bosnian" },
|
||||
{ "ca", "cat", -1, "Catalan" },
|
||||
{ "ce", "che", -1, "Chechen" },
|
||||
{ "ch", "cha", -1, "Chamorro" },
|
||||
{ "co", "cos", -1, "Corsican" },
|
||||
{ "cr", "cre", -1, "Cree" },
|
||||
{ "cs", "cze", 0, "Czech" },
|
||||
{ "cu", "chu", 0, "Church Slavic" },
|
||||
{ "cv", "chv", 0, "Chuvash" },
|
||||
{ "cy", "wel", 0, "Welsh" },
|
||||
{ "da", "dan", 0, "Danish" },
|
||||
{ "de", "ger", 0, "German" },
|
||||
{ "dv", "div", -1, "Divehi" },
|
||||
{ "dz", "dzo", -1, "Dzongkha" },
|
||||
{ "ee", "ewe", -1, "Ewe" },
|
||||
{ "el", "gre", 0, "Greek" },
|
||||
{ "en", "eng", 0, "English" },
|
||||
{ "eo", "epo", 0, "Esperanto" },
|
||||
{ "es", "spa", 0, "Spanish" },
|
||||
{ "et", "est", 0, "Estonian" },
|
||||
{ "eu", "baq", 0, "Basque" },
|
||||
{ "fa", "per", -1, "Persian" },
|
||||
{ "ff", "ful", -1, "Fulah" },
|
||||
{ "fi", "fin", 0, "Finnish" },
|
||||
{ "fj", "fij", -1, "Fijian" },
|
||||
{ "fo", "fao", -1, "Faroese" },
|
||||
{ "fr", "fre", 0, "French" },
|
||||
{ "fy", "fry", -1, "Western Frisian" },
|
||||
{ "ga", "gle", 0, "Irish" },
|
||||
{ "gd", "gla", 0, "Scottish Gaelic" },
|
||||
{ "gl", "glg", -1, "Galician" },
|
||||
{ "gn", "grn", -1, "Guarani" },
|
||||
{ "gu", "guj", -1, "Gujarati" },
|
||||
{ "gv", "glv", -1, "Manx" },
|
||||
{ "ha", "hau", -1, "Hausa" },
|
||||
{ "he", "heb", 1, "Hebrew" },
|
||||
{ "hi", "hin", -1, "Hindi" },
|
||||
{ "ho", "hmo", -1, "Hiri Motu" },
|
||||
{ "hr", "hrv", 0, "Croatian" },
|
||||
{ "ht", "hat", -1, "Haitian" },
|
||||
{ "hu", "hun", 0, "Hungarian" },
|
||||
{ "hy", "arm", 0, "Armenian" },
|
||||
{ "hz", "her", -1, "Herero" },
|
||||
{ "ia", "ina", -1, "Interlingua" },
|
||||
{ "id", "ind", -1, "Indonesian" },
|
||||
{ "ie", "ile", -1, "Interlingue" },
|
||||
{ "ig", "ibo", -1, "Igbo" },
|
||||
{ "ii", "iii", -1, "Sichuan Yi" },
|
||||
{ "ik", "ipk", -1, "Inupiaq" },
|
||||
{ "io", "ido", -1, "Ido" },
|
||||
{ "is", "ice", -1, "Icelandic" },
|
||||
{ "it", "ita", 0, "Italian" },
|
||||
{ "iu", "iku", -1, "Inuktitut" },
|
||||
{ "ja", "jpn", 0, "Japanese" },
|
||||
{ "jv", "jav", -1, "Javanese" },
|
||||
{ "ka", "geo", 0, "Georgian" },
|
||||
{ "kg", "kon", -1, "Kongo" },
|
||||
{ "ki", "kik", -1, "Kikuyu" },
|
||||
{ "kj", "kua", -1, "Kwanyama" },
|
||||
{ "kk", "kaz", 0, "Kazakh" },
|
||||
{ "kl", "kal", -1, "Kalaallisut" },
|
||||
{ "km", "khm", -1, "Khmer" },
|
||||
{ "kn", "kan", -1, "Kannada" },
|
||||
{ "ko", "kor", 0, "Korean" },
|
||||
{ "kr", "kau", -1, "Kanuri" },
|
||||
{ "ks", "kas", -1, "Kashmiri" },
|
||||
{ "ku", "kur", -1, "Kurdish" },
|
||||
{ "kv", "kom", 0, "Komi" },
|
||||
{ "kw", "cor", -1, "Cornish" },
|
||||
{ "ky", "kir", -1, "Kirghiz" },
|
||||
{ "la", "lat", 0, "Latin" },
|
||||
{ "lb", "ltz", 0, "Luxembourgish" },
|
||||
{ "lg", "lug", -1, "Ganda" },
|
||||
{ "li", "lim", -1, "Limburgish" },
|
||||
{ "ln", "lin", -1, "Lingala" },
|
||||
{ "lo", "lao", -1, "Lao" },
|
||||
{ "lt", "lit", 0, "Lithuanian" },
|
||||
{ "lu", "lub", -1, "Luba-Katanga" },
|
||||
{ "lv", "lav", 0, "Latvian" },
|
||||
{ "mg", "mlg", -1, "Malagasy" },
|
||||
{ "mh", "mah", -1, "Marshallese" },
|
||||
{ "mi", "mao", -1, "Maori" },
|
||||
{ "mk", "mac", 0, "Macedonian" },
|
||||
{ "ml", "mal", -1, "Malayalam" },
|
||||
{ "mn", "mon", -1, "Mongolian" },
|
||||
{ "mr", "mar", -1, "Marathi" },
|
||||
{ "ms", "may", -1, "Malay" },
|
||||
{ "mt", "mlt", -1, "Maltese" },
|
||||
{ "my", "bur", -1, "Burmese" },
|
||||
{ "na", "nau", -1, "Nauru" },
|
||||
{ "nb", "nob", 0, "Norwegian Bokmal" },
|
||||
{ "nd", "nde", -1, "North Ndebele" },
|
||||
{ "ne", "nep", -1, "Nepali" },
|
||||
{ "ng", "ndo", -1, "Ndonga" },
|
||||
{ "nl", "dut", -1, "Dutch" },
|
||||
{ "nn", "nno", -1, "Norwegian Nynorsk" },
|
||||
{ "no", "nor", 0, "Norwegian" },
|
||||
{ "nr", "nbl", -1, "South Ndebele" },
|
||||
{ "nv", "nav", -1, "Navajo" },
|
||||
{ "ny", "nya", -1, "Chichewa" },
|
||||
{ "oc", "oci", -1, "Occitan" },
|
||||
{ "oj", "oji", -1, "Ojibwa" },
|
||||
{ "om", "orm", -1, "Oromo" },
|
||||
{ "or", "ori", -1, "Oriya" },
|
||||
{ "os", "oss", -1, "Ossetian" },
|
||||
{ "pa", "pan", -1, "Panjabi" },
|
||||
{ "pi", "pli", -1, "Pali" },
|
||||
{ "pl", "pol", 0, "Polish" },
|
||||
{ "ps", "pus", -1, "Pashto" },
|
||||
{ "pt", "por", 0, "Portuguese" },
|
||||
{ "qu", "que", -1, "Quechua" },
|
||||
{ "rm", "roh", -1, "Raeto-Romance" },
|
||||
{ "rn", "run", -1, "Kirundi" },
|
||||
{ "ro", "rum", 0, "Romanian" },
|
||||
{ "ru", "rus", 0, "Russian" },
|
||||
{ "rw", "kin", -1, "Kinyarwanda" },
|
||||
{ "sa", "san", -1, "Sanskrit" },
|
||||
{ "sc", "srd", -1, "Sardinian" },
|
||||
{ "sd", "snd", -1, "Sindhi" },
|
||||
{ "se", "sme", -1, "Northern Sami" },
|
||||
{ "sg", "sag", -1, "Sango" },
|
||||
{ "sh", "shr", 0, "Serbo-Croatian" },
|
||||
{ "si", "sin", -1, "Sinhala" },
|
||||
{ "sk", "slo", 0, "Slovak" },
|
||||
{ "sl", "slv", 0, "Slovenian" },
|
||||
{ "sm", "smo", -1, "Samoan" },
|
||||
{ "sn", "sna", -1, "Shona" },
|
||||
{ "so", "som", -1, "Somali" },
|
||||
{ "sq", "alb", 0, "Albanian" },
|
||||
{ "sr", "srp", 0, "Serbian" },
|
||||
{ "ss", "ssw", -1, "Swati" },
|
||||
{ "st", "sot", -1, "Southern Sotho" },
|
||||
{ "su", "sun", -1, "Sundanese" },
|
||||
{ "sv", "swe", 0, "Swedish" },
|
||||
{ "sw", "swa", -1, "Swahili" },
|
||||
{ "ta", "tam", -1, "Tamil" },
|
||||
{ "te", "tel", -1, "Telugu" },
|
||||
{ "tg", "tgk", 0, "Tajik" },
|
||||
{ "th", "tha", -1, "Thai" },
|
||||
{ "ti", "tir", -1, "Tigrinya" },
|
||||
{ "tk", "tuk", 0, "Turkmen" },
|
||||
{ "tl", "tgl", -1, "Tagalog" },
|
||||
{ "tn", "tsn", -1, "Tswana" },
|
||||
{ "to", "ton", -1, "Tonga" },
|
||||
{ "tr", "tur", 0, "Turkish" },
|
||||
{ "ts", "tso", -1, "Tsonga" },
|
||||
{ "tt", "tat", -1, "Tatar" },
|
||||
{ "tw", "twi", -1, "Twi" },
|
||||
{ "ty", "tah", -1, "Tahitian" },
|
||||
{ "ug", "uig", -1, "Uighur" },
|
||||
{ "uk", "ukr", -1, "Ukrainian" },
|
||||
{ "ur", "urd", -1, "Urdu" },
|
||||
{ "uz", "uzb", 0, "Uzbek" },
|
||||
{ "ve", "ven", -1, "Venda" },
|
||||
{ "vi", "vie", -1, "Vietnamese" },
|
||||
{ "vo", "vol", 0, "Volapuk" },
|
||||
{ "wa", "wln", -1, "Walloon" },
|
||||
{ "wo", "wol", -1, "Wolof" },
|
||||
{ "xh", "xho", -1, "Xhosa" },
|
||||
{ "yi", "yid", -1, "Yiddish" },
|
||||
{ "yo", "yor", -1, "Yoruba" },
|
||||
{ "za", "zha", -1, "Zhuang" },
|
||||
{ "zh", "chi", 0, "Chinese" },
|
||||
{ "zu", "zul", -1, "Zulu" },
|
||||
{ "jb", "jbo", 0, "Lojban" },
|
||||
|
||||
{ "", "", 0, "" }
|
||||
};
|
||||
|
||||
LangCoder::LangCoder()
|
||||
{
|
||||
|
@ -157,6 +351,19 @@ QPair<quint32,quint32> LangCoder::findIdsForFilename( QString const & name )
|
|||
return findIdsForName( QFileInfo( name ).fileName() );
|
||||
}
|
||||
|
||||
bool LangCoder::isLanguageRTL( quint32 code )
|
||||
{
|
||||
if ( langCoder.codeMap.contains( code ) )
|
||||
{
|
||||
LangCode &lc = LangCodes[ langCoder.codeMap[ code ] ];
|
||||
if( lc.isRTL < 0 )
|
||||
lc.isRTL = ( int )( QLocale( lc.code ).textDirection() == Qt::RightToLeft );
|
||||
return lc.isRTL != 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
LangStruct& LangCoder::CodeToLangStruct(const QString &code)
|
||||
{
|
||||
|
|
200
langcoder.hh
200
langcoder.hh
|
@ -8,204 +8,11 @@ struct LangCode
|
|||
{
|
||||
char code[ 3 ]; // ISO 639-1
|
||||
char code3[ 4 ]; // ISO 639-2B ( http://www.loc.gov/standards/iso639-2/ )
|
||||
int isRTL; // Right-to-left writing; 0 - no, 1 - yes, -1 - let Qt define
|
||||
char const * lang; // Language name in English
|
||||
};
|
||||
|
||||
// Language codes
|
||||
|
||||
const LangCode LangCodes[] = {
|
||||
|
||||
{ "aa", "aar", "Afar" },
|
||||
{ "ab", "abk", "Abkhazian" },
|
||||
{ "ae", "ave", "Avestan" },
|
||||
{ "af", "afr", "Afrikaans" },
|
||||
{ "ak", "aka", "Akan" },
|
||||
{ "am", "amh", "Amharic" },
|
||||
{ "an", "arg", "Aragonese" },
|
||||
{ "ar", "ara", "Arabic" },
|
||||
{ "as", "asm", "Assamese" },
|
||||
{ "av", "ava", "Avaric" },
|
||||
{ "ay", "aym", "Aymara" },
|
||||
{ "az", "aze", "Azerbaijani" },
|
||||
{ "ba", "bak", "Bashkir" },
|
||||
{ "be", "bel", "Belarusian" },
|
||||
{ "bg", "bul", "Bulgarian" },
|
||||
{ "bh", "bih", "Bihari" },
|
||||
{ "bi", "bis", "Bislama" },
|
||||
{ "bm", "bam", "Bambara" },
|
||||
{ "bn", "ben", "Bengali" },
|
||||
{ "bo", "tib", "Tibetan" },
|
||||
{ "br", "bre", "Breton" },
|
||||
{ "bs", "bos", "Bosnian" },
|
||||
{ "ca", "cat", "Catalan" },
|
||||
{ "ce", "che", "Chechen" },
|
||||
{ "ch", "cha", "Chamorro" },
|
||||
{ "co", "cos", "Corsican" },
|
||||
{ "cr", "cre", "Cree" },
|
||||
{ "cs", "cze", "Czech" },
|
||||
{ "cu", "chu", "Church Slavic" },
|
||||
{ "cv", "chv", "Chuvash" },
|
||||
{ "cy", "wel", "Welsh" },
|
||||
{ "da", "dan", "Danish" },
|
||||
{ "de", "ger", "German" },
|
||||
{ "dv", "div", "Divehi" },
|
||||
{ "dz", "dzo", "Dzongkha" },
|
||||
{ "ee", "ewe", "Ewe" },
|
||||
{ "el", "gre", "Greek" },
|
||||
{ "en", "eng", "English" },
|
||||
{ "eo", "epo", "Esperanto" },
|
||||
{ "es", "spa", "Spanish" },
|
||||
{ "et", "est", "Estonian" },
|
||||
{ "eu", "baq", "Basque" },
|
||||
{ "fa", "per", "Persian" },
|
||||
{ "ff", "ful", "Fulah" },
|
||||
{ "fi", "fin", "Finnish" },
|
||||
{ "fj", "fij", "Fijian" },
|
||||
{ "fo", "fao", "Faroese" },
|
||||
{ "fr", "fre", "French" },
|
||||
{ "fy", "fry", "Western Frisian" },
|
||||
{ "ga", "gle", "Irish" },
|
||||
{ "gd", "gla", "Scottish Gaelic" },
|
||||
{ "gl", "glg", "Galician" },
|
||||
{ "gn", "grn", "Guarani" },
|
||||
{ "gu", "guj", "Gujarati" },
|
||||
{ "gv", "glv", "Manx" },
|
||||
{ "ha", "hau", "Hausa" },
|
||||
{ "he", "heb", "Hebrew" },
|
||||
{ "hi", "hin", "Hindi" },
|
||||
{ "ho", "hmo", "Hiri Motu" },
|
||||
{ "hr", "hrv", "Croatian" },
|
||||
{ "ht", "hat", "Haitian" },
|
||||
{ "hu", "hun", "Hungarian" },
|
||||
{ "hy", "arm", "Armenian" },
|
||||
{ "hz", "her", "Herero" },
|
||||
{ "ia", "ina", "Interlingua" },
|
||||
{ "id", "ind", "Indonesian" },
|
||||
{ "ie", "ile", "Interlingue" },
|
||||
{ "ig", "ibo", "Igbo" },
|
||||
{ "ii", "iii", "Sichuan Yi" },
|
||||
{ "ik", "ipk", "Inupiaq" },
|
||||
{ "io", "ido", "Ido" },
|
||||
{ "is", "ice", "Icelandic" },
|
||||
{ "it", "ita", "Italian" },
|
||||
{ "iu", "iku", "Inuktitut" },
|
||||
{ "ja", "jpn", "Japanese" },
|
||||
{ "jv", "jav", "Javanese" },
|
||||
{ "ka", "geo", "Georgian" },
|
||||
{ "kg", "kon", "Kongo" },
|
||||
{ "ki", "kik", "Kikuyu" },
|
||||
{ "kj", "kua", "Kwanyama" },
|
||||
{ "kk", "kaz", "Kazakh" },
|
||||
{ "kl", "kal", "Kalaallisut" },
|
||||
{ "km", "khm", "Khmer" },
|
||||
{ "kn", "kan", "Kannada" },
|
||||
{ "ko", "kor", "Korean" },
|
||||
{ "kr", "kau", "Kanuri" },
|
||||
{ "ks", "kas", "Kashmiri" },
|
||||
{ "ku", "kur", "Kurdish" },
|
||||
{ "kv", "kom", "Komi" },
|
||||
{ "kw", "cor", "Cornish" },
|
||||
{ "ky", "kir", "Kirghiz" },
|
||||
{ "la", "lat", "Latin" },
|
||||
{ "lb", "ltz", "Luxembourgish" },
|
||||
{ "lg", "lug", "Ganda" },
|
||||
{ "li", "lim", "Limburgish" },
|
||||
{ "ln", "lin", "Lingala" },
|
||||
{ "lo", "lao", "Lao" },
|
||||
{ "lt", "lit", "Lithuanian" },
|
||||
{ "lu", "lub", "Luba-Katanga" },
|
||||
{ "lv", "lav", "Latvian" },
|
||||
{ "mg", "mlg", "Malagasy" },
|
||||
{ "mh", "mah", "Marshallese" },
|
||||
{ "mi", "mao", "Maori" },
|
||||
{ "mk", "mac", "Macedonian" },
|
||||
{ "ml", "mal", "Malayalam" },
|
||||
{ "mn", "mon", "Mongolian" },
|
||||
{ "mr", "mar", "Marathi" },
|
||||
{ "ms", "may", "Malay" },
|
||||
{ "mt", "mlt", "Maltese" },
|
||||
{ "my", "bur", "Burmese" },
|
||||
{ "na", "nau", "Nauru" },
|
||||
{ "nb", "nob", "Norwegian Bokmal" },
|
||||
{ "nd", "nde", "North Ndebele" },
|
||||
{ "ne", "nep", "Nepali" },
|
||||
{ "ng", "ndo", "Ndonga" },
|
||||
{ "nl", "dut", "Dutch" },
|
||||
{ "nn", "nno", "Norwegian Nynorsk" },
|
||||
{ "no", "nor", "Norwegian" },
|
||||
{ "nr", "nbl", "South Ndebele" },
|
||||
{ "nv", "nav", "Navajo" },
|
||||
{ "ny", "nya", "Chichewa" },
|
||||
{ "oc", "oci", "Occitan" },
|
||||
{ "oj", "oji", "Ojibwa" },
|
||||
{ "om", "orm", "Oromo" },
|
||||
{ "or", "ori", "Oriya" },
|
||||
{ "os", "oss", "Ossetian" },
|
||||
{ "pa", "pan", "Panjabi" },
|
||||
{ "pi", "pli", "Pali" },
|
||||
{ "pl", "pol", "Polish" },
|
||||
{ "ps", "pus", "Pashto" },
|
||||
{ "pt", "por", "Portuguese" },
|
||||
{ "qu", "que", "Quechua" },
|
||||
{ "rm", "roh", "Raeto-Romance" },
|
||||
{ "rn", "run", "Kirundi" },
|
||||
{ "ro", "rum", "Romanian" },
|
||||
{ "ru", "rus", "Russian" },
|
||||
{ "rw", "kin", "Kinyarwanda" },
|
||||
{ "sa", "san", "Sanskrit" },
|
||||
{ "sc", "srd", "Sardinian" },
|
||||
{ "sd", "snd", "Sindhi" },
|
||||
{ "se", "sme", "Northern Sami" },
|
||||
{ "sg", "sag", "Sango" },
|
||||
{ "sh", "shr", "Serbo-Croatian" },
|
||||
{ "si", "sin", "Sinhala" },
|
||||
{ "sk", "slo", "Slovak" },
|
||||
{ "sl", "slv", "Slovenian" },
|
||||
{ "sm", "smo", "Samoan" },
|
||||
{ "sn", "sna", "Shona" },
|
||||
{ "so", "som", "Somali" },
|
||||
{ "sq", "alb", "Albanian" },
|
||||
{ "sr", "srp", "Serbian" },
|
||||
{ "ss", "ssw", "Swati" },
|
||||
{ "st", "sot", "Southern Sotho" },
|
||||
{ "su", "sun", "Sundanese" },
|
||||
{ "sv", "swe", "Swedish" },
|
||||
{ "sw", "swa", "Swahili" },
|
||||
{ "ta", "tam", "Tamil" },
|
||||
{ "te", "tel", "Telugu" },
|
||||
{ "tg", "tgk", "Tajik" },
|
||||
{ "th", "tha", "Thai" },
|
||||
{ "ti", "tir", "Tigrinya" },
|
||||
{ "tk", "tuk", "Turkmen" },
|
||||
{ "tl", "tgl", "Tagalog" },
|
||||
{ "tn", "tsn", "Tswana" },
|
||||
{ "to", "ton", "Tonga" },
|
||||
{ "tr", "tur", "Turkish" },
|
||||
{ "ts", "tso", "Tsonga" },
|
||||
{ "tt", "tat", "Tatar" },
|
||||
{ "tw", "twi", "Twi" },
|
||||
{ "ty", "tah", "Tahitian" },
|
||||
{ "ug", "uig", "Uighur" },
|
||||
{ "uk", "ukr", "Ukrainian" },
|
||||
{ "ur", "urd", "Urdu" },
|
||||
{ "uz", "uzb", "Uzbek" },
|
||||
{ "ve", "ven", "Venda" },
|
||||
{ "vi", "vie", "Vietnamese" },
|
||||
{ "vo", "vol", "Volapuk" },
|
||||
{ "wa", "wln", "Walloon" },
|
||||
{ "wo", "wol", "Wolof" },
|
||||
{ "xh", "xho", "Xhosa" },
|
||||
{ "yi", "yid", "Yiddish" },
|
||||
{ "yo", "yor", "Yoruba" },
|
||||
{ "za", "zha", "Zhuang" },
|
||||
{ "zh", "chi", "Chinese" },
|
||||
{ "zu", "zul", "Zulu" },
|
||||
{ "jb", "jbo", "Lojban" },
|
||||
|
||||
{ "", "", "" }
|
||||
|
||||
};
|
||||
|
||||
|
||||
template <typename T, int N>
|
||||
inline int arraySize(T (&)[N]) { return N; }
|
||||
|
||||
|
@ -246,6 +53,9 @@ public:
|
|||
/// Returns icon for language or empty string if not found.
|
||||
static QIcon icon(quint32 code);
|
||||
|
||||
/// Return true for RTL languages
|
||||
static bool isLanguageRTL(quint32 code);
|
||||
|
||||
//const QMap<quint32, int>& codes() { return codeMap; }
|
||||
|
||||
LangStruct langStruct(quint32 code);
|
||||
|
|
Loading…
Reference in a new issue