eric6/Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2014 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the translation languages database.
8 """
9
10 from __future__ import unicode_literals
11
12 import os
13
14 from PyQt5.QtCore import QObject
15
16 import UI.PixmapCache
17
18
19 class TranslatorLanguagesDb(QObject):
20 """
21 Class implementing the translation languages database.
22 """
23 def __init__(self, parent=None):
24 """
25 Constructor
26
27 @param parent reference to the parent object (QObject)
28 """
29 super(TranslatorLanguagesDb, self).__init__(parent)
30
31 self.__languages = {
32 "af": self.tr("Afrikaans"),
33 "ar": self.tr("Arabic"),
34 "be": self.tr("Belarusian"),
35 "bg": self.tr("Bulgarian"),
36 "bs": self.tr("Bosnian"),
37 "ca": self.tr("Catalan"),
38 "cs": self.tr("Czech"),
39 "da": self.tr("Danish"),
40 "de": self.tr("German"),
41 "el": self.tr("Greek"),
42 "en": self.tr("English"),
43 "es": self.tr("Spanish"),
44 "et": self.tr("Estonian"),
45 "fi": self.tr("Finnish"),
46 "fr": self.tr("French"),
47 "ga": self.tr("Irish"),
48 "gl": self.tr("Galician"),
49 "he": self.tr("Hebrew (he)"),
50 "hi": self.tr("Hindi"),
51 "hr": self.tr("Croatian"),
52 "hu": self.tr("Hungarian"),
53 "id": self.tr("Indonesian"),
54 "is": self.tr("Icelandic"),
55 "it": self.tr("Italian"),
56 "iw": self.tr("Hebrew (iw)"),
57 "ja": self.tr("Japanese"),
58 "ka": self.tr("Georgian"),
59 "ko": self.tr("Korean"),
60 "lt": self.tr("Lithuanian"),
61 "lv": self.tr("Latvian"),
62 "mk": self.tr("Macedonian"),
63 "mt": self.tr("Maltese"),
64 "nl": self.tr("Dutch"),
65 "no": self.tr("Norwegian"),
66 "pl": self.tr("Polish"),
67 "pt": self.tr("Portuguese"),
68 "ro": self.tr("Romanian"),
69 "ru": self.tr("Russian"),
70 "sk": self.tr("Slovak"),
71 "sl": self.tr("Slovenian"),
72 "sq": self.tr("Albanian"),
73 "sr": self.tr("Serbian"),
74 "sv": self.tr("Swedish"),
75 "th": self.tr("Thai"),
76 "tl": self.tr("Filipino"),
77 "tr": self.tr("Turkish"),
78 "uk": self.tr("Ukrainian"),
79 "vi": self.tr("Vietnamese"),
80 "zh-CN": self.tr("Chinese S"),
81 "zh-TW": self.tr("Chinese T"),
82 }
83
84 self.__toThreeCharacterCode = {
85 "af": "afr",
86 "ar": "ara",
87 "be": "bel",
88 "bg": "bul",
89 "bs": "bos",
90 "ca": "cat",
91 "cs": "ces",
92 "da": "dan",
93 "de": "deu",
94 "el": "ell",
95 "en": "eng",
96 "es": "spa",
97 "et": "est",
98 "fi": "fin",
99 "fr": "fra",
100 "ga": "gle",
101 "gl": "glg",
102 "he": "heb",
103 "hi": "hin",
104 "hr": "hrv",
105 "hu": "hun",
106 "id": "ind",
107 "is": "isl",
108 "it": "ita",
109 "iw": "heb",
110 "ja": "jpn",
111 "ka": "kat",
112 "ko": "kor",
113 "lt": "lit",
114 "lv": "lav",
115 "mk": "mkd",
116 "mt": "mlt",
117 "nl": "nld",
118 "no": "nor",
119 "pl": "pol",
120 "pt": "por",
121 "ro": "ron",
122 "ru": "rus",
123 "sk": "slk",
124 "sl": "slv",
125 "sq": "sqi",
126 "sr": "srp",
127 "sv": "swe",
128 "th": "tha",
129 "tl": "tgl",
130 "tr": "tur",
131 "uk": "ukr",
132 "vi": "vie",
133 "zh-CN": "zho",
134 "zh-TW": "zho",
135 }
136
137 def getLanguageIcon(self, code):
138 """
139 Public method to get a language icon.
140
141 @param code language code (string)
142 @return language icon (QIcon)
143 """
144 return UI.PixmapCache.getIcon(os.path.join(
145 os.path.dirname(__file__), "icons", "flags",
146 "{0}.png".format(code)))
147
148 def getLanguage(self, code):
149 """
150 Public method to get a translated language.
151
152 @param code language code (string)
153 @return translated language (string)
154 """
155 try:
156 return self.__languages[code]
157 except KeyError:
158 return ""
159
160 def getAllLanguages(self):
161 """
162 Public method to get a list of the supported language codes.
163
164 @return list of supported language codes (list of string)
165 """
166 return list(self.__languages.keys())
167
168 def convertTwoToThree(self, code):
169 """
170 Public method to convert a two character language code to a
171 thre character code.
172
173 @param code two character language code (string)
174 @return three character language code (string)
175 """
176 try:
177 return self.__toThreeCharacterCode[code]
178 except KeyError:
179 return ""

eric ide

mercurial