eric7/Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py

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

eric ide

mercurial