add language cache to speed up language selection and wizzard
authorFelix Domke <tmbinc@elitedvb.net>
Fri, 24 Oct 2008 00:18:55 +0000 (00:18 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Fri, 24 Oct 2008 00:18:55 +0000 (00:18 +0000)
lib/python/Components/Language.py
lib/python/Components/Makefile.am
lib/python/Components/language_cache.py [new file with mode: 0644]
lib/python/Screens/LanguageSelection.py

index e0094c7b7190961a83d1df7ba9d3376960bbeb6e..acb50e5137c60f72a5227f4228905528b8a60442 100644 (file)
@@ -2,6 +2,8 @@ import gettext
 
 from Tools.Directories import SCOPE_LANGUAGE, resolveFilename
 
+import language_cache
+
 class Language:
        def __init__(self):
                gettext.install('enigma2', resolveFilename(SCOPE_LANGUAGE, ""), unicode=0, codeset="utf-8")
@@ -10,6 +12,7 @@ class Language:
                self.langlist = []
                # FIXME make list dynamically
                # name, iso-639 language, iso-3166 country. Please don't mix language&country!
+               # also, see "precalcLanguageList" below on how to re-create the language cache after you added a language
                self.addLanguage(_("English"), "en", "EN")
                self.addLanguage(_("German"), "de", "DE")
                self.addLanguage(_("Arabic"), "ar", "AE")
@@ -81,4 +84,23 @@ class Language:
        def addCallback(self, callback):
                self.callbacks.append(callback)
 
+       def precalcLanguageList(self):
+               # excuse me for those T1, T2 hacks please. The goal was to keep the language_cache.py as small as possible, *and* 
+               # don't duplicate these strings.
+               T1 = _("Please use the UP and DOWN keys to select your language. Afterwards press the OK button.")
+               T2 = _("Language selection")
+               l = open("language_cache.py", "w")
+               print >>l, "# -*- coding: UTF-8 -*-"
+               print >>l, "LANG_TEXT = {"
+               for language in self.langlist:
+                       self.activateLanguage(language)
+                       print >>l, '"%s": {' % language
+                       for name, lang, country in self.lang.values():
+                               print >>l, '\t"%s_%s": "%s",' % (lang, country, _(name))
+
+                       print >>l, '\t"T1": "%s",' % (_(T1))
+                       print >>l, '\t"T2": "%s",' % (_(T2))
+                       print >>l, '},'
+               print >>l, "}"
+
 language = Language()
index d3c51ab2a41def473b180a918f5d49b9b22c4219..074e0540714eaac73848c11f9982916c408a5e05 100644 (file)
@@ -18,4 +18,4 @@ install_PYTHON = \
        MultiContent.py MediaPlayer.py TunerInfo.py VideoWindow.py ChoiceList.py \
        Element.py Playlist.py ParentalControl.py ParentalControlList.py \
        Ipkg.py SelectionList.py Scanner.py SystemInfo.py DreamInfoHandler.py \
-       Task.py
+       Task.py language_cache.py
diff --git a/lib/python/Components/language_cache.py b/lib/python/Components/language_cache.py
new file mode 100644 (file)
index 0000000..046f281
--- /dev/null
@@ -0,0 +1,575 @@
+# -*- coding: UTF-8 -*-
+LANG_TEXT = {
+"en_EN": {
+       "fr_FR": "French",
+       "fi_FI": "Finnish",
+       "pt_PT": "Portuguese",
+       "it_IT": "Italian",
+       "no_NO": "Norwegian",
+       "nl_NL": "Dutch",
+       "el_GR": "Greek",
+       "hu_HU": "Hungarian",
+       "lt_LT": "Lithuanian",
+       "hr_HR": "Croatian",
+       "en_EN": "English",
+       "es_ES": "Spanish",
+       "ca_AD": "Catalan",
+       "ru_RU": "Russian",
+       "is_IS": "Icelandic",
+       "da_DK": "Danish",
+       "cs_CZ": "Czech",
+       "tr_TR": "Turkish",
+       "de_DE": "German",
+       "ar_AE": "Arabic",
+       "sv_SE": "Swedish",
+       "pl_PL": "Polish",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Language selection",
+},
+"de_DE": {
+       "fr_FR": "Französisch",
+       "fi_FI": "Finnisch",
+       "pt_PT": "portugiesisch",
+       "it_IT": "Italienisch",
+       "no_NO": "Norwegisch",
+       "nl_NL": "Holländisch",
+       "el_GR": "Griechisch",
+       "hu_HU": "Ungarisch",
+       "lt_LT": "litauisch",
+       "hr_HR": "Kroatisch",
+       "en_EN": "Englisch",
+       "es_ES": "Spanisch",
+       "ca_AD": "Katalanisch",
+       "ru_RU": "Russisch",
+       "is_IS": "Isländisch",
+       "da_DK": "Dänisch",
+       "cs_CZ": "Tschechisch",
+       "tr_TR": "Türkisch",
+       "de_DE": "Deutsch",
+       "ar_AE": "Arabisch",
+       "sv_SE": "Schwedisch",
+       "pl_PL": "Polnisch",
+       "T1": "Bitte benutzen Sie die Hoch/Runter-Tasten, um Ihre Sprache auszuwählen. Danach drücken Sie bitte OK.",
+       "T2": "Sprachauswahl",
+},
+"ar_AE": {
+       "fr_FR": "French",
+       "fi_FI": "Finnish",
+       "pt_PT": "Portuguese",
+       "it_IT": "Italian",
+       "no_NO": "Norwegian",
+       "nl_NL": "Dutch",
+       "el_GR": "Greek",
+       "hu_HU": "Hungarian",
+       "lt_LT": "Lithuanian",
+       "hr_HR": "Croatian",
+       "en_EN": "إنجليزى",
+       "es_ES": "Spanish",
+       "ca_AD": "Catalan",
+       "ru_RU": "Russian",
+       "is_IS": "Icelandic",
+       "da_DK": "Danish",
+       "cs_CZ": "Czech",
+       "tr_TR": "Turkish",
+       "de_DE": "المانـى",
+       "ar_AE": "Arabic",
+       "sv_SE": "Swedish",
+       "pl_PL": "Polish",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "إختيار اللغه",
+},
+"ca_AD": {
+       "fr_FR": "Francès",
+       "fi_FI": "Finlandès",
+       "pt_PT": "Portuguès",
+       "it_IT": "Italià",
+       "no_NO": "Noruec",
+       "nl_NL": "Holandès",
+       "el_GR": "Grec",
+       "hu_HU": "Hongarès",
+       "lt_LT": "Lituà",
+       "hr_HR": "Croat",
+       "en_EN": "Anglès",
+       "es_ES": "Espanyol",
+       "ca_AD": "Català",
+       "ru_RU": "Rus",
+       "is_IS": "Islandès",
+       "da_DK": "Danès",
+       "cs_CZ": "Txec",
+       "tr_TR": "Turc",
+       "de_DE": "Alemany",
+       "ar_AE": "Àrab",
+       "sv_SE": "Suec",
+       "pl_PL": "Polish",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Selecció d'idioma",
+},
+"hr_HR": {
+       "fr_FR": "Francuski",
+       "fi_FI": "Finski",
+       "pt_PT": "Portugalski",
+       "it_IT": "Talijanski",
+       "no_NO": "Norveški",
+       "nl_NL": "Nizozemski",
+       "el_GR": "Grčki",
+       "hu_HU": "Mađarski",
+       "lt_LT": "Litvanski",
+       "hr_HR": "Hrvatski",
+       "en_EN": "Engleski",
+       "es_ES": "Španjolski",
+       "ca_AD": "Katalonski",
+       "ru_RU": "Ruski",
+       "is_IS": "Islandski",
+       "da_DK": "Danski",
+       "cs_CZ": "Češki",
+       "tr_TR": "Turski",
+       "de_DE": "Njemački",
+       "ar_AE": "Arabski",
+       "sv_SE": "Švedski",
+       "pl_PL": "Poljski",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Odaberite Jezik",
+},
+"cs_CZ": {
+       "fr_FR": "Francouzsky",
+       "fi_FI": "Finsky",
+       "pt_PT": "Portugalsky",
+       "it_IT": "Italsky",
+       "no_NO": "Norsky",
+       "nl_NL": "Holandsky",
+       "el_GR": "Řecky",
+       "hu_HU": "Maďarsky",
+       "lt_LT": "Litevsky",
+       "hr_HR": "Chorvatsky",
+       "en_EN": "Anglicky",
+       "es_ES": "Španělsky",
+       "ca_AD": "Katalánsky",
+       "ru_RU": "Rusky",
+       "is_IS": "Islandsky",
+       "da_DK": "Dánsky",
+       "cs_CZ": "Česky",
+       "tr_TR": "Turecky",
+       "de_DE": "Německy",
+       "ar_AE": "Arabsky",
+       "sv_SE": "Švédsky",
+       "pl_PL": "Polsky",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Výběr jazyka",
+},
+"da_DK": {
+       "fr_FR": "Fransk",
+       "fi_FI": "Finsk",
+       "pt_PT": "Portugisisk",
+       "it_IT": "Italiensk",
+       "no_NO": "Norsk",
+       "nl_NL": "Hollandsk",
+       "el_GR": "Græsk",
+       "hu_HU": "Ungarsk",
+       "lt_LT": "Litauisk",
+       "hr_HR": "Kroatisk",
+       "en_EN": "Engelsk",
+       "es_ES": "Spansk",
+       "ca_AD": "Catalansk",
+       "ru_RU": "Russisk",
+       "is_IS": "Islandsk",
+       "da_DK": "Dansk",
+       "cs_CZ": "Tjekkisk",
+       "tr_TR": "Tyrkisk",
+       "de_DE": "Tysk",
+       "ar_AE": "Arabisk",
+       "sv_SE": "Svensk",
+       "pl_PL": "Polsk",
+       "T1": "Benyt venligst OP og NED tasten til at vælge sprog. Tryk bagefter på OK knappen.",
+       "T2": "Valg af Sprog",
+},
+"nl_NL": {
+       "fr_FR": "Frans",
+       "fi_FI": "Fins",
+       "pt_PT": "Portugees",
+       "it_IT": "Italiaans",
+       "no_NO": "Noors",
+       "nl_NL": "Nederlands",
+       "el_GR": "Grieks",
+       "hu_HU": "Hongaars",
+       "lt_LT": "Litouws",
+       "hr_HR": "Kroatisch",
+       "en_EN": "Engels",
+       "es_ES": "Spaans",
+       "ca_AD": "Catalaans",
+       "ru_RU": "Russisch",
+       "is_IS": "Ijslands",
+       "da_DK": "Deens",
+       "cs_CZ": "Tsjechisch",
+       "tr_TR": "Turks",
+       "de_DE": "Duits",
+       "ar_AE": "Arabisch",
+       "sv_SE": "Zweeds",
+       "pl_PL": "Pools",
+       "T1": "Gebruik de omhoog/omlaag toeten om de gewenste taal te selecteren. Druk daarna op OK.",
+       "T2": "Taalkeuze",
+},
+"fi_FI": {
+       "fr_FR": "Ranska",
+       "fi_FI": "Suomi",
+       "pt_PT": "Portugali",
+       "it_IT": "Italia",
+       "no_NO": "Norja",
+       "nl_NL": "Hollanti",
+       "el_GR": "Kreikka",
+       "hu_HU": "Unkari",
+       "lt_LT": "Liettua",
+       "hr_HR": "Kroatia",
+       "en_EN": "Englanti",
+       "es_ES": "Espanja",
+       "ca_AD": "Katalaani",
+       "ru_RU": "Venäjä",
+       "is_IS": "Islanti",
+       "da_DK": "Tanska",
+       "cs_CZ": "Tšekki",
+       "tr_TR": "Turkki",
+       "de_DE": "Saksa",
+       "ar_AE": "Arabia",
+       "sv_SE": "Ruotsi",
+       "pl_PL": "Puola",
+       "T1": "Valitse kieli ylös/alas nappuloilla ja paina OK.",
+       "T2": "Kielivalinta",
+},
+"fr_FR": {
+       "fr_FR": "Français",
+       "fi_FI": "Finlandais",
+       "pt_PT": "Portugais",
+       "it_IT": "Italien",
+       "no_NO": "Norvégien",
+       "nl_NL": "Hollandais",
+       "el_GR": "Grèque",
+       "hu_HU": "hongrois",
+       "lt_LT": "Lithuanien",
+       "hr_HR": "Croate",
+       "en_EN": "Anglais",
+       "es_ES": "Espagnol",
+       "ca_AD": "Catalan",
+       "ru_RU": "Russe",
+       "is_IS": "Islandais",
+       "da_DK": "Danois",
+       "cs_CZ": "Tchèque",
+       "tr_TR": "Turke",
+       "de_DE": "Allemand",
+       "ar_AE": "Arabe",
+       "sv_SE": "Suédois",
+       "pl_PL": "Polonais",
+       "T1": "Veuillez utiliser les touches HAUT et BAS pour choisir votre langage. Ensuite presser le bouton OK.",
+       "T2": "Sélection de la langue",
+},
+"el_GR": {
+       "fr_FR": "Γαλλικά",
+       "fi_FI": "Φιλλανδικά",
+       "pt_PT": "Πορτογαλλικά",
+       "it_IT": "Ιταλικά",
+       "no_NO": "Νορβηφικά",
+       "nl_NL": "Ολλανδικά",
+       "el_GR": "Ελληνικά",
+       "hu_HU": "Ουγγαρεζικά",
+       "lt_LT": "Λιθουανικά",
+       "hr_HR": "Κροάτικα",
+       "en_EN": "Αγγλικά",
+       "es_ES": "Ισπανικά",
+       "ca_AD": "Catalan",
+       "ru_RU": "Ρωσικά",
+       "is_IS": "Ισλανδικά",
+       "da_DK": "Δανικά",
+       "cs_CZ": "Τσέχικα",
+       "tr_TR": "Τούρκικα",
+       "de_DE": "Γερμανικά",
+       "ar_AE": "Αραβικά",
+       "sv_SE": "Σουιδεζικά",
+       "pl_PL": "Πολωνικά",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Επιλογή γλώσσας",
+},
+"hu_HU": {
+       "fr_FR": "Francia",
+       "fi_FI": "Finn",
+       "pt_PT": "Portugál",
+       "it_IT": "Olasz",
+       "no_NO": "Norvég",
+       "nl_NL": "Holland",
+       "el_GR": "Görög",
+       "hu_HU": "Magyar",
+       "lt_LT": "Litván",
+       "hr_HR": "Horvát",
+       "en_EN": "Angol",
+       "es_ES": "Spanyol",
+       "ca_AD": "Katalán",
+       "ru_RU": "Orosz",
+       "is_IS": "Izlandi",
+       "da_DK": "Dán",
+       "cs_CZ": "Cseh",
+       "tr_TR": "Török",
+       "de_DE": "Német",
+       "ar_AE": "Arab",
+       "sv_SE": "Svéd",
+       "pl_PL": "Lengyel",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Válasszon nyelvet",
+},
+"lt_LT": {
+       "fr_FR": "Prancūzų",
+       "fi_FI": "Suomių",
+       "pt_PT": "Portugalų",
+       "it_IT": "Italų",
+       "no_NO": "Norvegų",
+       "nl_NL": "Olandų",
+       "el_GR": "Graikų",
+       "hu_HU": "Vengrų",
+       "lt_LT": "Lietuvių",
+       "hr_HR": "Kroatų",
+       "en_EN": "Anglų",
+       "es_ES": "Ispanų",
+       "ca_AD": "Katalonų",
+       "ru_RU": "Rusų",
+       "is_IS": "Islandų",
+       "da_DK": "Danų",
+       "cs_CZ": "Čekų",
+       "tr_TR": "Turkų",
+       "de_DE": "Vokiečių",
+       "ar_AE": "Arabų",
+       "sv_SE": "Švedų",
+       "pl_PL": "Lenkų",
+       "T1": "Prašome naudoti AUKŠTYN IR ŽEMYN mygtukus, kad išsirinktumėte savo kalbą. Po to spauskite OK mygtuką.",
+       "T2": "Kalbos pasirinkimas",
+},
+"is_IS": {
+       "fr_FR": "Franska",
+       "fi_FI": "Finnska",
+       "pt_PT": "Portúgalska",
+       "it_IT": "Ítalska",
+       "no_NO": "Norska",
+       "nl_NL": "Hollenska",
+       "el_GR": "Gríska",
+       "hu_HU": "Ungverska",
+       "lt_LT": "Litháíska",
+       "hr_HR": "Króatíska",
+       "en_EN": "Enska",
+       "es_ES": "Spænska",
+       "ca_AD": "Catalan",
+       "ru_RU": "Rússneska",
+       "is_IS": "Íslenska",
+       "da_DK": "Danska",
+       "cs_CZ": "Tékkneska",
+       "tr_TR": "Tyrkneska",
+       "de_DE": "Þýska",
+       "ar_AE": "Arabíska",
+       "sv_SE": "Sænskt",
+       "pl_PL": "Pólska",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Val tungumáls",
+},
+"it_IT": {
+       "fr_FR": "Francese",
+       "fi_FI": "Finlandese",
+       "pt_PT": "Portoghese",
+       "it_IT": "Italiano",
+       "no_NO": "Norvegese",
+       "nl_NL": "Olandese",
+       "el_GR": "Greco",
+       "hu_HU": "Ungherese",
+       "lt_LT": "Lituano",
+       "hr_HR": "Croato",
+       "en_EN": "Inglese",
+       "es_ES": "Spagnolo",
+       "ca_AD": "Catalano",
+       "ru_RU": "Russo",
+       "is_IS": "Islandese",
+       "da_DK": "Danese",
+       "cs_CZ": "Ceco",
+       "tr_TR": "Turco",
+       "de_DE": "Tedesco",
+       "ar_AE": "Arabo",
+       "sv_SE": "Svedese",
+       "pl_PL": "Polacco",
+       "T1": "Selezionare la propria lingua utilizzando i tasti Sù/Giù. Premere OK per confermare.",
+       "T2": "Selezione lingua",
+},
+"no_NO": {
+       "fr_FR": "Fransk",
+       "fi_FI": "Finsk",
+       "pt_PT": "Portugisisk",
+       "it_IT": "Italiensk",
+       "no_NO": "Norsk",
+       "nl_NL": "Nederlandsk",
+       "el_GR": "Gresk",
+       "hu_HU": "Ungarsk",
+       "lt_LT": "Litauisk",
+       "hr_HR": "Kroatisk",
+       "en_EN": "Engelsk",
+       "es_ES": "Spansk",
+       "ca_AD": "Katalansk",
+       "ru_RU": "Russisk",
+       "is_IS": "Islandsk",
+       "da_DK": "Dansk",
+       "cs_CZ": "Tjekkisk",
+       "tr_TR": "Tyrkisk",
+       "de_DE": "Tysk",
+       "ar_AE": "Arabisk",
+       "sv_SE": "Svensk",
+       "pl_PL": "Polsk",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Språkvalg",
+},
+"pl_PL": {
+       "fr_FR": "Francuski",
+       "fi_FI": "Fiński",
+       "pt_PT": "Portugalski",
+       "it_IT": "Włoski",
+       "no_NO": "Norweski",
+       "nl_NL": "Holenderski",
+       "el_GR": "Grecki",
+       "hu_HU": "Węgierski",
+       "lt_LT": "Litewski",
+       "hr_HR": "Chorwacki",
+       "en_EN": "Angielski",
+       "es_ES": "Hiszpański",
+       "ca_AD": "Hiszpański",
+       "ru_RU": "Rosyjski",
+       "is_IS": "Islandzki",
+       "da_DK": "Duński",
+       "cs_CZ": "Czeski",
+       "tr_TR": "Turecki",
+       "de_DE": "Niemiecki",
+       "ar_AE": "Arabski",
+       "sv_SE": "Szwedzki",
+       "pl_PL": "Polski",
+       "T1": "W celu wyboru języka użyj klawiszy GÓRA i DÓŁ. Nastepnie nacisnij przycisk OK.",
+       "T2": "Wybór języka",
+},
+"pt_PT": {
+       "fr_FR": "Francês",
+       "fi_FI": "Finlandês",
+       "pt_PT": "Português",
+       "it_IT": "Italiano",
+       "no_NO": "Norueguês",
+       "nl_NL": "Holandês",
+       "el_GR": "Grego",
+       "hu_HU": "Hungaro",
+       "lt_LT": "Lituano",
+       "hr_HR": "Croata",
+       "en_EN": "Inglês",
+       "es_ES": "Catalão",
+       "ca_AD": "Catalão",
+       "ru_RU": "Russo",
+       "is_IS": "Islandês",
+       "da_DK": "Dinamarquês",
+       "cs_CZ": "Checo",
+       "tr_TR": "Turco",
+       "de_DE": "Alemão",
+       "ar_AE": "Arabe",
+       "sv_SE": "Sueco",
+       "pl_PL": "Polaco",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Selecção do Idioma",
+},
+"ru_RU": {
+       "fr_FR": "Французский",
+       "fi_FI": "Окончание",
+       "pt_PT": "Portuguese",
+       "it_IT": "Итальянский",
+       "no_NO": "Норвежский",
+       "nl_NL": "Нидерландский",
+       "el_GR": "Greek",
+       "hu_HU": "Hungarian",
+       "lt_LT": "Lithuanian",
+       "hr_HR": "Croatian",
+       "en_EN": "Английский",
+       "es_ES": "Испанский",
+       "ca_AD": "Catalan",
+       "ru_RU": "Русский",
+       "is_IS": "Исландский",
+       "da_DK": "Датский",
+       "cs_CZ": "Czech",
+       "tr_TR": "Турецкий",
+       "de_DE": "Немецкий",
+       "ar_AE": "Арабский",
+       "sv_SE": "Шведский",
+       "pl_PL": "Polish",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Выбор языка",
+},
+"es_ES": {
+       "fr_FR": "Francés",
+       "fi_FI": "Finlandés",
+       "pt_PT": "Portugués",
+       "it_IT": "Italiano",
+       "no_NO": "Noruego",
+       "nl_NL": "Alemán",
+       "el_GR": "Griego",
+       "hu_HU": "Húngaro",
+       "lt_LT": "Lituano",
+       "hr_HR": "Croata",
+       "en_EN": "Inglés",
+       "es_ES": "Español",
+       "ca_AD": "Catalán",
+       "ru_RU": "Ruso",
+       "is_IS": "Islandés",
+       "da_DK": "Danés",
+       "cs_CZ": "Checo",
+       "tr_TR": "Turco",
+       "de_DE": "Alemán",
+       "ar_AE": "Arábigo",
+       "sv_SE": "Sueco",
+       "pl_PL": "Polaco",
+       "T1": "Use las teclas ARRIBA y ABAJO para seleccionar su idioma. Después, pulse el botón OK.",
+       "T2": "Selección de idioma",
+},
+"sv_SE": {
+       "fr_FR": "Franska",
+       "fi_FI": "Finska",
+       "pt_PT": "Portugisiska",
+       "it_IT": "Italienska",
+       "no_NO": "Norska",
+       "nl_NL": "Holländska",
+       "el_GR": "Grekiska",
+       "hu_HU": "Ungerska",
+       "lt_LT": "Litauiska",
+       "hr_HR": "Kroatiska",
+       "en_EN": "Engelska",
+       "es_ES": "Spanska",
+       "ca_AD": "Katalanska",
+       "ru_RU": "Ryska",
+       "is_IS": "Isländska",
+       "da_DK": "Danska",
+       "cs_CZ": "Tjeckiska",
+       "tr_TR": "Turkiska",
+       "de_DE": "Tyska",
+       "ar_AE": "Arabiska",
+       "sv_SE": "Svenska",
+       "pl_PL": "Polska",
+       "T1": "Vänligen använd UPP och NER pil för att välja språk. Efter val tryck på OK knappen.",
+       "T2": "Välj språk",
+},
+"tr_TR": {
+       "fr_FR": "Fransızca",
+       "fi_FI": "Bitiş",
+       "pt_PT": "Portuguese",
+       "it_IT": "İtalya",
+       "no_NO": "Norveç",
+       "nl_NL": "Almanca",
+       "el_GR": "Greek",
+       "hu_HU": "Hungarian",
+       "lt_LT": "Lithuanian",
+       "hr_HR": "Croatian",
+       "en_EN": "İngilizce",
+       "es_ES": "İspanyolca",
+       "ca_AD": "Catalan",
+       "ru_RU": "Russian",
+       "is_IS": "izlanda",
+       "da_DK": "Çanak",
+       "cs_CZ": "Czech",
+       "tr_TR": "Turkish",
+       "de_DE": "Alman",
+       "ar_AE": "Arapça",
+       "sv_SE": "İsveç",
+       "pl_PL": "Polish",
+       "T1": "Please use the UP and DOWN keys to select your language. Afterwards press the OK button.",
+       "T2": "Lisan Seçimi",
+},
+}
index 0fe53d654da7caa5828df63134e93603af583ac2..94ede08cff9cb0288553dbf7b840f80dbf746025 100644 (file)
@@ -6,6 +6,10 @@ from Components.config import config
 from Components.Sources.List import List
 from Components.Label import Label
 from Components.Pixmap import Pixmap
+from Components.language_cache import LANG_TEXT
+
+def _cached(x):
+       return LANG_TEXT.get(config.osd.language.value, {}).get(x, "")
 
 from Screens.Rc import Rc
 
@@ -56,27 +60,30 @@ class LanguageSelection(Screen):
                language.activateLanguage(self.oldActiveLanguage)
                self.close()
 
-       def run(self):
+       def run(self, justlocal = False):
                print "updating language..."
                lang = self["languages"].getCurrent()[0]
-               language.activateLanguage(lang)
                config.osd.language.value = lang
                config.osd.language.save()
+               self.setTitle(_cached("T2"))
+               
+               if justlocal:
+                       return
+
+               language.activateLanguage(lang)
                config.misc.languageselected.value = 0
                config.misc.languageselected.save()
-               self.setTitle(_("Language selection"))
                print "ok"
 
        def updateList(self):
-               print "update list"
                first_time = len(self.list) == 0
 
                self.list = []
                if len(language.getLanguageList()) == 0: # no language available => display only english
-                       self.list.append(LanguageEntryComponent("en", _("English"), "en_EN"))
+                       self.list.append(LanguageEntryComponent("en", _cached("en_EN"), "en_EN"))
                else:
                        for x in language.getLanguageList():
-                               self.list.append(LanguageEntryComponent(file = x[1][2].lower(), name = _(x[1][0]), index = x[0]))
+                               self.list.append(LanguageEntryComponent(file = x[1][2].lower(), name = _cached("%s_%s" % x[1][1:3]), index = x[0]))
                #self.list.sort(key=lambda x: x[1][7])
 
                print "updateList"
@@ -87,7 +94,7 @@ class LanguageSelection(Screen):
                print "done"
 
        def changed(self):
-               self.run()
+               self.run(justlocal = True)
                self.updateList()
 
 class LanguageWizard(LanguageSelection, Rc):
@@ -106,10 +113,10 @@ class LanguageWizard(LanguageSelection, Rc):
                self.selectKey("DOWN")
                
        def changed(self):
-               self.run()
+               self.run(justlocal = True)
                self.updateList()
                self.setText()
                
        def setText(self):
-               self["text"].setText(_("Please use the UP and DOWN keys to select your language. Afterwards press the OK button."))
-
+               
+               self["text"].setText(_cached("T1"))