LanguageSupport.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "LanguageSupport.h"
00018 #include "Vidalia.h"
00019
00020 #include <QLocale>
00021
00022
00023
00024 QMap<QString, QString>
00025 LanguageSupport::languages()
00026 {
00027 static QMap<QString, QString> languages;
00028 if (languages.isEmpty()) {
00029 languages.insert("en", "English");
00030 languages.insert("ar",
00031 QString::fromUtf8("\330\247\331\204\330\271\330\261\330"
00032 "\250\331\212\330\251"));
00033
00034
00035
00036 languages.insert("bms", "Burmese");
00037
00038
00039 languages.insert("da", "dansk");
00040 languages.insert("de", "Deutsch");
00041 languages.insert("es",
00042 QString::fromUtf8("espa\303\261ol"));
00043 languages.insert("fa",
00044 QString::fromUtf8("\331\201\330\247\330\261\330\263\333\214"));
00045 languages.insert("fi", "suomi");
00046 languages.insert("fr",
00047 QString::fromUtf8("fran\303\247ais"));
00048
00049
00050 languages.insert("hu", "magyar nyelv");
00051 languages.insert("it", "Italiano");
00052 languages.insert("ja",
00053 QString::fromUtf8("\346\227\245\346\234\254\350\252\236"));
00054 languages.insert("nb",
00055 QString::fromUtf8("Bokm\303\245l"));
00056
00057 languages.insert("pl", "Polski");
00058 languages.insert("pt",
00059 QString::fromUtf8("Portugu\303\252s"));
00060 languages.insert("pt",
00061 QString::fromUtf8("Portugu\303\252s brasileiro"));
00062 languages.insert("ro",
00063 QString::fromUtf8("rom\303\242n\304\203"));
00064 languages.insert("ru",
00065 QString::fromUtf8("\320\240\321\203\321\201\321\201\320\272\320\270\320\271"));
00066
00067 languages.insert("sv", "svenska");
00068 languages.insert("th", "Thai");
00069 languages.insert("tr", QString::fromUtf8("T\303\274rk\303\247e"));
00070 languages.insert("vi",
00071 QString::fromUtf8("ti\341\272\277ng Vi\341\273\207t"));
00072 languages.insert("zh_CN",
00073 QString::fromUtf8("\347\256\200\344\275\223\345\255\227"));
00074 languages.insert("zh_TW",
00075 QString::fromUtf8("\347\260\241\351\253\224\345\255\227"));
00076 }
00077 return languages;
00078 }
00079
00080
00081 QString
00082 LanguageSupport::defaultLanguageCode()
00083 {
00084 QString language = QLocale::system().name();
00085
00086 if (language != "zh_CN" && language != "zh_TW")
00087 language = language.mid(0, language.indexOf("_"));
00088 if (!isValidLanguageCode(language))
00089 language = "en";
00090
00091 return language;
00092 }
00093
00094
00095 QString
00096 LanguageSupport::languageCode(const QString &languageName)
00097 {
00098 return languages().key(languageName);
00099 }
00100
00101
00102 QStringList
00103 LanguageSupport::languageCodes()
00104 {
00105 return languages().keys();
00106 }
00107
00108
00109 QString
00110 LanguageSupport::languageName(const QString &languageCode)
00111 {
00112 return languages().value(languageCode);
00113 }
00114
00115
00116 QStringList
00117 LanguageSupport::languageNames()
00118 {
00119 return languages().values();
00120 }
00121
00122
00123 bool
00124 LanguageSupport::isValidLanguageCode(const QString &languageCode)
00125 {
00126 return languageCodes().contains(languageCode);
00127 }
00128