src/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 9148
b31f0d894b55
child 9221
bf71ee032bb4
equal deleted inserted replaced
9208:3fc8dfeb6ebe 9209:b99e7fd55fd3
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2014 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the translation languages database.
8 """
9
10 import os
11
12 from PyQt6.QtCore import QObject
13
14 import UI.PixmapCache
15
16
17 class TranslatorLanguagesDb(QObject):
18 """
19 Class implementing the translation languages database.
20 """
21 def __init__(self, parent=None):
22 """
23 Constructor
24
25 @param parent reference to the parent object
26 @type QObject
27 """
28 super().__init__(parent)
29
30 self.__languages = {
31 "af": self.tr("Afrikaans"),
32 "ar": self.tr("Arabic"),
33 "be": self.tr("Belarusian"),
34 "bg": self.tr("Bulgarian"),
35 "bs": self.tr("Bosnian"),
36 "ca": self.tr("Catalan"),
37 "cs": self.tr("Czech"),
38 "da": self.tr("Danish"),
39 "de": self.tr("German"),
40 "el": self.tr("Greek"),
41 "en": self.tr("English"),
42 "es": self.tr("Spanish"),
43 "et": self.tr("Estonian"),
44 "fi": self.tr("Finnish"),
45 "fr": self.tr("French"),
46 "ga": self.tr("Irish"),
47 "gl": self.tr("Galician"),
48 "he": self.tr("Hebrew (he)"),
49 "hi": self.tr("Hindi"),
50 "hr": self.tr("Croatian"),
51 "hu": self.tr("Hungarian"),
52 "id": self.tr("Indonesian"),
53 "is": self.tr("Icelandic"),
54 "it": self.tr("Italian"),
55 "iw": self.tr("Hebrew (iw)"),
56 "ja": self.tr("Japanese"),
57 "ka": self.tr("Georgian"),
58 "ko": self.tr("Korean"),
59 "lt": self.tr("Lithuanian"),
60 "lv": self.tr("Latvian"),
61 "mk": self.tr("Macedonian"),
62 "mt": self.tr("Maltese"),
63 "nl": self.tr("Dutch"),
64 "no": self.tr("Norwegian"),
65 "pl": self.tr("Polish"),
66 "pt": self.tr("Portuguese"),
67 "ro": self.tr("Romanian"),
68 "ru": self.tr("Russian"),
69 "sk": self.tr("Slovak"),
70 "sl": self.tr("Slovenian"),
71 "sq": self.tr("Albanian"),
72 "sr": self.tr("Serbian"),
73 "sv": self.tr("Swedish"),
74 "th": self.tr("Thai"),
75 "tl": self.tr("Filipino"),
76 "tr": self.tr("Turkish"),
77 "uk": self.tr("Ukrainian"),
78 "vi": self.tr("Vietnamese"),
79 "zh": self.tr("Chinese"),
80 "zh-CN": self.tr("Chinese (China)"),
81 "zh-TW": self.tr("Chinese (Taiwan)"),
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": "zho",
134 "zh-CN": "zho",
135 "zh-TW": "zho",
136 }
137
138 def getLanguageIcon(self, code):
139 """
140 Public method to get a language icon.
141
142 @param code language code
143 @type str
144 @return language icon
145 @rtype QIcon
146 """
147 return UI.PixmapCache.getIcon(os.path.join(
148 os.path.dirname(__file__), "icons", "flags",
149 "{0}".format(code)))
150
151 def getLanguage(self, code):
152 """
153 Public method to get a translated language.
154
155 @param code language code
156 @type str
157 @return translated language
158 @rtype str
159 """
160 try:
161 return self.__languages[code]
162 except KeyError:
163 return ""
164
165 def getAllLanguages(self):
166 """
167 Public method to get a list of the supported language codes.
168
169 @return list of supported language codes
170 @rtype list of str
171 """
172 return list(self.__languages.keys())
173
174 def convertTwoToThree(self, code):
175 """
176 Public method to convert a two character language code to a
177 thre character code.
178
179 @param code two character language code
180 @type str
181 @return three character language code
182 @rtype str
183 """
184 try:
185 return self.__toThreeCharacterCode[code]
186 except KeyError:
187 return ""

eric ide

mercurial