Vidalia
0.3.1
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(
"da"
,
"dansk"
);
39
languages.insert(
"de"
,
"Deutsch"
);
40
languages.insert(
"es"
,
41
QString::fromUtf8(
"espa\303\261ol"
));
42
languages.insert(
"fa"
,
43
QString::fromUtf8(
"\331\201\330\247\330\261\330\263\333\214"
));
44
languages.insert(
"fi"
,
"suomi"
);
45
languages.insert(
"fr"
,
46
QString::fromUtf8(
"fran\303\247ais"
));
47
// languages.insert("he",
48
// QString::fromUtf8("\327\242\327\221\327\250\327\231\327\252"));
49
languages.insert(
"hu"
,
"magyar nyelv"
);
50
languages.insert(
"it"
,
"Italiano"
);
51
languages.insert(
"ja"
,
52
QString::fromUtf8(
"\346\227\245\346\234\254\350\252\236"
));
53
languages.insert(
"nb"
,
54
QString::fromUtf8(
"Bokm\303\245l"
));
55
// languages.insert("nl", "Nederlands");
56
languages.insert(
"pl"
,
"Polski"
);
57
languages.insert(
"pt"
,
58
QString::fromUtf8(
"Portugu\303\252s"
));
59
languages.insert(
"pt"
,
60
QString::fromUtf8(
"Portugu\303\252s brasileiro"
));
61
languages.insert(
"ro"
,
62
QString::fromUtf8(
"rom\303\242n\304\203"
));
63
languages.insert(
"ru"
,
64
QString::fromUtf8(
"\320\240\321\203\321\201\321\201\320\272\320\270\320\271"
));
65
// languages.insert("sq", "Shqip");
66
languages.insert(
"sv"
,
"svenska"
);
67
languages.insert(
"th"
,
"Thai"
);
68
languages.insert(
"tr"
, QString::fromUtf8(
"T\303\274rk\303\247e"
));
69
languages.insert(
"vi"
,
70
QString::fromUtf8(
"ti\341\272\277ng Vi\341\273\207t"
));
71
languages.insert(
"zh_CN"
,
72
QString::fromUtf8(
"\347\256\200\344\275\223\345\255\227"
));
73
languages.insert(
"zh_TW"
,
74
QString::fromUtf8(
"\347\260\241\351\253\224\345\255\227"
));
75
}
76
return
languages
;
77
}
78
79
/** Returns the default language code for the system locale. */
80
QString
81
LanguageSupport::defaultLanguageCode
()
82
{
83
QString language = QLocale::system().name();
84
85
if
(language !=
"zh_CN"
&& language !=
"zh_TW"
)
86
language = language.mid(0, language.indexOf(
"_"
));
87
if
(!
isValidLanguageCode
(language))
88
language =
"en"
;
89
90
return
language;
91
}
92
93
/** Returns the language code for a given language name. */
94
QString
95
LanguageSupport::languageCode
(
const
QString &languageName)
96
{
97
return
languages
().key(languageName);
98
}
99
100
/** Returns a list of all supported language codes. (e.g., "en"). */
101
QStringList
102
LanguageSupport::languageCodes
()
103
{
104
return
languages
().keys();
105
}
106
107
/** Returns the language name for a given language code. */
108
QString
109
LanguageSupport::languageName
(
const
QString &languageCode)
110
{
111
return
languages
().value(languageCode);
112
}
113
114
/** Returns a list of all supported language names (e.g., "English"). */
115
QStringList
116
LanguageSupport::languageNames
()
117
{
118
return
languages
().values();
119
}
120
121
/** Returns true if we understand the given language code. */
122
bool
123
LanguageSupport::isValidLanguageCode
(
const
QString &languageCode)
124
{
125
return
languageCodes
().contains(languageCode);
126
}
127
Generated on Mon Jan 14 2013 08:44:27 for Vidalia by
1.8.3