Vidalia
0.2.21
Main Page
Namespaces
Classes
Files
File List
File Members
src
vidalia
LanguageSupport.cpp
Go to the documentation of this file.
1
/*
2
** This file is part of Vidalia, and is subject to the license terms in the
3
** LICENSE file, found in the top level directory of this distribution. If you
4
** did not receive the LICENSE file with this file, you may obtain it from the
5
** Vidalia source package distributed by the Vidalia Project at
6
** http://www.torproject.org/projects/vidalia.html. No part of Vidalia,
7
** including this file, may be copied, modified, propagated, or distributed
8
** except according to the terms described in the LICENSE file.
9
*/
10
11
/*
12
** \file LanguageSupport.cpp
13
** \brief Contains languages supported by Vidalia
14
*/
15
16
#include "
LanguageSupport.h
"
17
#include "
Vidalia.h
"
18
19
#include <QLocale>
20
21
22
/** Initializes the list of available languages. */
23
QMap<QString, QString>
24
LanguageSupport::languages
()
25
{
26
static
QMap<QString, QString>
languages
;
27
if
(languages.isEmpty()) {
28
languages.insert(
"en"
,
"English"
);
29
languages.insert(
"ar"
,
30
QString::fromUtf8(
"\330\247\331\204\330\271\330\261\330"
31
"\250\331\212\330\251"
));
32
languages.insert(
"bg"
,
33
QString::fromUtf8(
"\320\221\321\212\320\273\320\263\320"
34
"\260\321\200\321\201\320\272\320\270"
));
35
languages.insert(
"my"
,
"Burmese"
);
36
languages.insert(
"cs"
,
37
QString::fromUtf8(
"\304\215e\305\241tina"
));
38
languages.insert(
"ca"
,
39
QString::fromUtf8(
"catal\303\240"
));
40
languages.insert(
"da"
,
"dansk"
);
41
languages.insert(
"de"
,
"Deutsch"
);
42
languages.insert(
"es"
,
43
QString::fromUtf8(
"espa\303\261ol"
));
44
languages.insert(
"el"
,
45
QString::fromUtf8(
"\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254"
));
46
languages.insert(
"eu"
,
"Basque"
);
47
// languages.insert("eo", "Esperanto");
48
languages.insert(
"fa"
,
49
QString::fromUtf8(
"\331\201\330\247\330\261\330\263\333\214"
));
50
languages.insert(
"fi"
,
"suomi"
);
51
languages.insert(
"fr"
,
52
QString::fromUtf8(
"fran\303\247ais"
));
53
languages.insert(
"he"
,
54
QString::fromUtf8(
"\327\242\327\221\327\250\327\231\327\252"
));
55
languages.insert(
"hu"
,
"magyar nyelv"
);
56
languages.insert(
"hr_HR"
,
"Croatian"
);
57
languages.insert(
"it"
,
"Italiano"
);
58
languages.insert(
"id"
,
"Indonesian"
);
59
// languages.insert("ja",
60
// QString::fromUtf8("\346\227\245\346\234\254\350\252\236"));
61
languages.insert(
"ko"
,
62
QString::fromUtf8(
"\355\225\234\352\265\255\354\226\264"
));
63
languages.insert(
"nb"
,
64
QString::fromUtf8(
"Bokm\303\245l"
));
65
languages.insert(
"nl"
,
"Nederlands"
);
66
languages.insert(
"pl"
,
"Polski"
);
67
languages.insert(
"pt"
,
68
QString::fromUtf8(
"Portugu\303\252s"
));
69
languages.insert(
"pt_BR"
,
70
QString::fromUtf8(
"Portugu\303\252s brasileiro"
));
71
languages.insert(
"ro"
,
72
QString::fromUtf8(
"rom\303\242n\304\203"
));
73
languages.insert(
"ru"
,
74
QString::fromUtf8(
"\320\240\321\203\321\201\321\201\320\272\320\270\320\271"
));
75
// languages.insert("sq", "Shqip");
76
languages.insert(
"sv"
,
"svenska"
);
77
// languages.insert("sk", "Slovak");
78
languages.insert(
"sr"
,
"Serbian"
);
79
// languages.insert("th", "Thai");
80
languages.insert(
"tr"
, QString::fromUtf8(
"T\303\274rk\303\247e"
));
81
// languages.insert("vi",
82
// QString::fromUtf8("ti\341\272\277ng Vi\341\273\207t"));
83
languages.insert(
"zh_CN"
,
84
QString::fromUtf8(
"\347\256\200\344\275\223\345\255\227"
));
85
// languages.insert("zh_TW",
86
// QString::fromUtf8("\347\260\241\351\253\224\345\255\227"));
87
}
88
return
languages
;
89
}
90
91
/** Returns the default language code for the system locale. */
92
QString
93
LanguageSupport::defaultLanguageCode
()
94
{
95
QString language = QLocale::system().name();
96
97
if
(language !=
"zh_CN"
&& language !=
"zh_TW"
)
98
language = language.mid(0, language.indexOf(
"_"
));
99
if
(!
isValidLanguageCode
(language))
100
language =
"en"
;
101
102
return
language;
103
}
104
105
/** Returns the language code for a given language name. */
106
QString
107
LanguageSupport::languageCode
(
const
QString &languageName)
108
{
109
return
languages
().key(languageName);
110
}
111
112
/** Returns a list of all supported language codes. (e.g., "en"). */
113
QStringList
114
LanguageSupport::languageCodes
()
115
{
116
return
languages
().keys();
117
}
118
119
/** Returns the language name for a given language code. */
120
QString
121
LanguageSupport::languageName
(
const
QString &languageCode)
122
{
123
return
languages
().value(languageCode);
124
}
125
126
/** Returns a list of all supported language names (e.g., "English"). */
127
QStringList
128
LanguageSupport::languageNames
()
129
{
130
return
languages
().values();
131
}
132
133
/** Returns true if we understand the given language code. */
134
bool
135
LanguageSupport::isValidLanguageCode
(
const
QString &languageCode)
136
{
137
return
languageCodes
().contains(languageCode);
138
}
139
Generated on Thu Dec 6 2012 04:33:16 for Vidalia by
1.8.2