/*
 * i18n.c: Internationalization
 *
 * See the main source file 'vdr.c' for copyright information and
 * how to reach the author.
 *
 * $Id: i18n.c 1.150 2004/03/05 14:33:27 kls Exp $
 *
 * Translations provided by:
 *
 * Slovenian   Miha Setina <mihasetina@softhome.net> and Matjaz Thaler <matjaz.thaler@guest.arnes.si>
 * Italian     Alberto Carraro <bertocar@tin.it> and Antonio Ospite <ospite@studenti.unina.it>
 * Dutch       Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com> and Hans Dingemans <hans.dingemans@tacticalops.nl>
 * Portuguese  Paulo Lopes <pmml@netvita.pt>
 * French      Jean-Claude Repetto <jc@repetto.org>, Olivier Jacques <jacquesolivier@hotmail.com> and Gregoire Favre <greg@magma.unil.ch>
 * Norwegian   J�rgen Tvedt <pjtvedt@online.no> and Truls Slevigen <truls@slevigen.no>
 * Finnish     Hannu Savolainen <hannu@opensound.com>, Jaakko Hyv�tti <jaakko@hyvatti.iki.fi>, Niko Tarnanen <niko.tarnanen@hut.fi> and Rolf Ahrenberg <rahrenbe@cc.hut.fi>
 * Polish      Michael Rakowski <mrak@gmx.de>
 * Spanish     Ruben Nunez Francisco <ruben.nunez@tang-it.com>
 * Greek       Dimitrios Dimitrakos <mail@dimitrios.de>
 * Swedish     Tomas Prybil <tomas@prybil.se> and Jan Ekholm <chakie@infa.abo.fi>
 * Romanian    Paul Lacatus <paul@campina.iiruc.ro>
 * Hungarian   Istvan Koenigsberger <istvnko@hotmail.com> and Guido Josten <guido.josten@t-online.de>
 * Catalanian  Marc Rovira Vall <tm05462@salleURL.edu>, Ramon Roca <ramon.roca@xcombo.com> and Jordi Vil� <jvila@tinet.org>
 * Russian     Vyacheslav Dikonov <sdiconov@mail.ru>
 *
 */

/*
 * How to add a new language:
 *
 * 1. Announce your translation action on the VDR mailing
 *    list to avoid duplicate work.
 * 2. Increase the value of 'I18nNumLanguages' in 'i18n.h'.
 * 3. Insert a new line in every member of the 'Phrases[]' array,
 *    containing the translated text for the new language.
 *    For example, assuming you want to add the Italian language,
 *
 *       { "English",
 *         "Deutsch",
 *       },
 *
 *    would become
 *
 *       { "English",
 *         "Deutsch",
 *         "Italiano",
 *       },
 *
 *    and so on. Append your language after the last existing language
 *    and write the name of your language in your language (not in English,
 *    which means that it should be 'Italiano', not 'Italian').
 *    Note that only the characters defined in 'fontosd.c' will
 *    be available!
 * 4. If your language requires a character set other than the default iso8859-1
 *    you need to make the appropriate entry in the second phrase below, and
 *    also create the necessary font files in case they are not yet part of
 *    the VDR source (see how this is done for iso8859-7, for instance). Don't
 *    forget to adjust the files font.h and font.c accordingly.
 * 5. Compile VDR and test the new language by switching to it
 *    in the "Setup/OSD" menu.
 * 6. Send the modified files to <kls@cadsoft.de> to have
 *    it included in the next version of VDR.
 *
 * In case an English phrase is used in more than one context (and might need
 * different translations in other languages) it can be preceeded with an
 * arbitrary string to describe its context, separated from the actual phrase
 * by a '$' character (see for instance "Button$Stop" vs. "Stop").
 * Of course this means that no English phrase may contain the '$' character!
 * If this should ever become necessary, the existing '$' would have to be
 * replaced with something different...
 */

#include "i18n.h"
#include "config.h"
#include "tools.h"

const tI18nPhrase Phrases[] = {
  // The name of the language (this MUST be the first phrase!):
  { "English",
    "Deutsch",
    "Slovenski",
    "Italiano",
    "Nederlands",
    "Portugu�s",
    "Fran�ais",
    "Norsk",
    "suomi", // this is not a typo - it's really lowercase!
    "Polski",
    "Espa�ol",
    "��������", // Greek
    "Svenska",
    "Romaneste",
    "Magyar",
    "Catal�",
    "�������", // Russian
  },
  // The character set needed for this language (this MUST be the second phrase!):
  { "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-7",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-1",
    "iso8859-5",
  },
  // The 3-letter names of the language (this MUST be the third phrase!):
  { "eng",
    "deu,ger",
    "slv",
    "ita",
    "dut,nla",
    "por",
    "fra,fre",
    "nor",
    "fin",
    "pol",
    "esl,spa",
    "ell,gre",
    "sve,swe",
    "ron,rum",
    "hun",
    "cat,cln",
    "rus",
  },
  // Menu titles:
  { "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
    "VDR",
  },
  { "Schedule",
    "Programm",
    "Program",
    "Programmi",
    "Gids",
    "Programa��o",
    "Programmes",
    "Programmer",
    "Ohjelmisto",
    "Program",
    "Gu�a de Programaci�n",
    "���������",
    "Program",
    "Program",
    "Program",
    "Guia de Programaci�",
    "�������",
  },
  { "Channels",
    "Kan�le",
    "Kanali",
    "Canali",
    "Kanalen",
    "Canais",
    "Cha�nes",
    "Kanaler",
    "Kanavat",
    "Kanaly",
    "Canales",
    "�������",
    "Kanaler",
    "Canale",
    "Csatorn�k",
    "Canals",
    "������",
  },
  { "Timers",
    "Timer",
    "Termini",
    "Timer",
    "Timers",
    "Timers",
    "Programmation",
    "Timere",
    "Ajastin",
    "Timery",
    "Timer",
    "��������������",
    "Timers",
    "Timere",
    "Felv�tel beprogramoz�sa",
    "Temporitzadors",
    "�������",
  },
  { "Recordings",
    "Aufzeichnungen",
    "Posnetki",
    "Registrazioni",
    "Opnames",
    "Grava��es",
    "Enregistrements",
    "Opptak",
    "Tallenteet",
    "Nagrania",
    "Grabaciones",
    "��������",
    "Inspelningar",
    "Inregistrari",
    "Felvett ad�sok",
    "Veure programes gravats",
    "������",
  },
  { "Setup",
    "Einstellungen",
    "Nastavitve",
    "Opzioni",
    "Instellingen",
    "Configurar",
    "Configuration",
    "Konfigurasjon",
    "Asetukset",
    "Nastawy",
    "Configuraci�n",
    "���������",
    "Inst�llningar",
    "Setari",
    "Be�ll�t�sok",
    "Configuraci�",
    "���������",
  },
  { "Commands",
    "Befehle",
    "Ukazi",
    "Comandi",
    "Commando's",
    "Comandos",
    "Commandes",
    "Kommandoer",
    "Komennot",
    "Rozkazy",
    "�rdenes",
    "�������",
    "Kommandon",
    "Comenzi",
    "Parancsok",
    "Ordres",
    "�������",
  },
  { "Recording commands",
    "Befehle f�r Aufzeichnungen",
    "Ukazi za snemanje",
    "Comandi di Registrazione",
    "Opname commando's",
    "",// TODO
    "Commandes d'enregistrement",
    "",// TODO
    "Tallennuskomennot",
    "Rozkazy Nagran",
    "�rdenes de grabaci�n",
    "������� ��� ��������",
    "Inspelningskommandon",
    "",// TODO
    "Parancsok a felvett filmekhez",
    "Ordres de gravaci�",
    "������� ������",
  },
  { "Edit channel",
    "Kanal editieren",
    "Uredi kanal",
    "Modifica canale",
    "Kanaal aanpassen",
    "Modificar canal",
    "Modifier une cha�ne",
    "Editer kanal",
    "Muokkaa kanavaa",
    "Ustawienie kanalu",
    "Modificar canal",
    "����������� ��������",
    "�ndra kanal",
    "Editare canale",
    "Csatorn�k be�ll�t�sa",
    "Editar canal",
    "�������������� ������",
  },
  { "Edit timer",
    "Timer editieren",
    "Uredi termin",
    "Modifica timer",
    "Timer veranderen",
    "Modificar timer",
    "Changer la programmation",
    "Editer timer",
    "Muokkaa ajastinta",
    "Ustawienie timerow",
    "Modificar timer",
    "���������� �������������",
    "�ndra timer",
    "Editare timere",
    "Felv�tel beprogramoz�s�nak megv�ltoztat�sa",
    "Editar temporitzador",
    "��������� �������",
  },
  { "Event",
    "Sendung",
    "Oddaja",
    "Eventi",
    "Uitzending",
    "Evento",
    "Ev�nement",
    "Hendelse",
    "Tapahtuma",
    "Audycja",
    "Evento",
    "�������",
    "S�ndning",
    "Evenimente",
    "Ad�s",
    "Esdeveniment",
    "��������",
  },
  { "Summary",
    "Inhalt",
    "Vsebina",
    "Sommario",
    "Inhoud",
    "Resumo",
    "R�sum�",
    "Sammendrag",
    "Tiedot",
    "Zawartosc",
    "Res�men",
    "�����������",
    "Sammanfattning",
    "Cuprins",
    "Tartalom",
    "Sinopsi",
    "��������",
  },
  { "Schedule - %s",
    "Programm - %s",
    "Program - %s",
    "Programma - %s",
    "Programma - %s",
    "Programa - %s",
    "Programmes - %s",
    "Program Guide - %s",
    "Ohjelmisto - %s",
    "Program - %s",
    "Programa - %s",
    "��������� - %s",
    "Program - %s",
    "Program - %s",
    "Program - %s",
    "Guia de Programaci� - %s",
    "��������� - %s",
  },
  { "What's on now?",
    "Was l�uft jetzt?",
    "Kaj je na sporedu?",
    "In programmazione",
    "Wat is er nu?",
    "Programa actual?",
    "Programmes en cours",
    "Hvilket program sendes n�?",
    "Menossa nyt",
    "Program biezacy",
    "�Qu� hay ahora?",
    "������ ���������",
    "Vilket program s�nds nu?",
    "Programul actual?",
    "Mi megy most?",
    "Qu� fan ara?",
    "������ � �����:",
  },
  { "What's on next?",
    "Was l�uft als n�chstes?",
    "Kaj sledi?",
    "Prossimi programmi",
    "Wat komt er hierna?",
    "Pr�ximo Programa?",
    "Prochains programmes",
    "Hvilket program er neste?",
    "Tulossa seuraavaksi",
    "Program nastepny",
    "�Qu� hay proximo?",
    "������� ���������",
    "Vilket �r n�sta program?",
    "Programul urmator?",
    "Mi k�vetkezik?",
    "Qu� fan despr�s?",
    "����� � ���������:",
  },
  // Button texts (should not be more than 10 characters!):
  { "Edit",
    "Editieren",
    "Uredi",
    "Modifica",
    "Verander",
    "Modificar",
    "Modifier",
    "Editer",
    "Muokkaa",
    "Edycja",
    "Modificar",
    "����������",
    "�ndra",
    "Modificare",
    "Be�ll�tani",
    "Editar",
    "�������������",
  },
  { "New",
    "Neu",
    "Novo",
    "Nuovo",
    "Nieuw",
    "Novo",
    "Nouveau",
    "Ny",
    "Uusi",
    "Nowy",
    "Nuevo",
    "���",
    "Ny",
    "Nou",
    "�j",
    "Nou",
    "��������",
  },
  { "Delete",
    "L�schen",
    "Izbrisi",
    "Cancella",
    "Verwijder",
    "Apagar",
    "Supprimer",
    "Slett",
    "Poista",
    "Usunac",
    "Borrar",
    "��������",
    "Ta bort",
    "Sterge",
    "T�r�lni",
    "Esborrar",
    "�������",
  },
  { "Mark",
    "Markieren",
    "Oznaci",
    "Marca",
    "Verplaats",
    "Marcar",
    "Marquer",
    "Marker",
    "Siirr�",
    "Zaznaczyc",
    "Marcar",
    "�������",
    "M�rk",
    "Marcheaza",
    "Megjel�lni",
    "Marcar",
    "�����������",
  },
  { "On/Off",
    "Ein/Aus",
    "Vklop/Izklop",
    "On/Off",
    "Aan/Uit",
    "On/Off",
    "Marche/Arr",
    "Av/P�",
    "P��ll�/Pois",
    "Zal./ Wyl.",
    "On/Off",
    "A����/K������",
    "P�/Av",
    "Pornit/Oprit",
    "Be/Ki",
    "On/Off",
    "���/����",
  },
  { "Record",
    "Aufnehmen",
    "Posnemi",
    "Registra",
    "Opnemen",
    "Gravar",
    "Enregistre",
    "Ta opp",
    "Tallenna",
    "Nagrywac",
    "Grabar",
    "�������",
    "Inspelning",
    "Inregistrare",
    "Felvenni",
    "Gravar",
    "������",
  },
  { "Play",
    "Wiedergabe",
    "Predvajaj",
    "Riproduci",
    "Afspelen",
    "Play",
    "Lire",
    "Spill av",
    "Toista",
    "Odtwarzac",
    "Play",
    "�����������",
    "Spela upp",
    "Redare",
    "Lej�tszani",
    "Reproduir",
    "�������������",
  },
  { "Rewind",
    "Anfang",
    "Na zacetek",
    "Da inizio",
    "Naar begin",
    "Rebobinar",
    "Retour",
    "Spol tilbake",
    "Alkuun",
    "Poczatek",
    "Rebobinar",
    "����",
    "�terspolning",
    "Inapoi",
    "Vissza az elej�re",
    "Enrera",
    "�����",
  },
  { "Button$Stop",
    "Beenden",
    "Ustavi",
    "Stop",
    "Eindigen",
    "Parar",
    "Arr�t",
    "Stopp",
    "Lopeta",
    "Zakonczyc",
    "Parar",
    "�����",
    "Stopp",
    "Stop",
    "Stop",
    "Aturar",
    "����",
  },
  { "Resume",
    "Weiter",
    "Nadaljuj",
    "Riprendi",
    "Verder",
    "Continuar",
    "Reprendre",
    "Fortsett",
    "Jatka",
    "Dalej",
    "Continuar",
    "��������",
    "Forts�tt",
    "Reia",
    "Tov�bb",
    "Continuar",
    "����������",
  },
  { "Summary",
    "Inhalt",
    "Vsebina",
    "Sommario",
    "Inhoud",
    "Resumo",
    "R�sum�",
    "Sammendrag",
    "Yhteenveto",
    "Zawartosc",
    "Resumen",
    "�����������",
    "Sammanfattning",
    "Cuprins",
    "Tartalom",
    "Resum",
    "��������",
  },
  { "Open",
    "�ffnen",
    "Odpri",
    "Apri",
    "Openen",
    "Abrir",
    "Ouvrir",
    "�pne",
    "Avaa",
    "Otworzyc",
    "Abrir",
    "�������",
    "�ppna",
    "Deschide",
    "Kinyitni",
    "Obrir",
    "�������",
  },
  { "Switch",
    "Umschalten",
    "Preklopi",
    "Cambia",
    "Selecteer",
    "Seleccionar",
    "Regarder",
    "Skift til",
    "Valitse",
    "Przelaczyc",
    "Cambiar",
    "A�����",
    "Byt",
    "Schimba",
    "�tkapcsolni",
    "Canviar",
    "�����������",
  },
  { "Now",
    "Jetzt",
    "Sedaj",
    "Adesso",
    "Nu",
    "Agora",
    "Maintenant",
    "N�",
    "Nyt",
    "Teraz",
    "Ahora",
    "����",
    "Nu",
    "Acum",
    "Most",
    "Ara",
    "������",
  },
  { "Next",
    "N�chste",
    "Sledi",
    "Prossimo",
    "Hierna",
    "Proximo",
    "Apr�s",
    "Neste",
    "Seuraavaksi",
    "Nastepny",
    "Siguiente",
    "�������",
    "N�sta",
    "Urmator",
    "K�vetkez�",
    "Seg�ent",
    "�����",
  },
  { "Button$Schedule",
    "Programm",
    "Program",
    "Programma",
    "Programma",
    "Programa��o",
    "Programme",
    "Programmer",
    "Ohjelmisto",
    "Program",
    "Programa",
    "���������",
    "Program",
    "Program",
    "Program",
    "Programar",
    "���������",
  },
  { "Language",
    "Sprache",
    "Jezik",
    "Linguaggio",
    "Taal",
    "Linguagem",
    "Langue",
    "Spr�k",
    "Kieli",
    "Jezyk",
    "Idioma",
    "������",
    "Spr�k",
    "Limba",
    "Nyelv",
    "Idioma",
    "����",
  },
  { "Eject",
    "Auswerfen",
    "Izvrzi",
    "Eject",
    "Eject",
    "Ejectar",
    "Ejection",
    "Eject",
    "Avaa",
    "Wyrzucenie",
    "Expulsar",
    "�������",
    "Mata ut",
    "Ejecteaza",
    "Kidobni",
    "Expulsar",
    "�������",
  },
  { "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "AB�/���",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "ABC/abc",
    "���/���",
  },
  { "Insert",
    "Einf�gen",
    "Vstavi",
    "Inserisci",
    "Invoegen",
    "",// TODO
    "Ins�rt",
    "",// TODO
    "Lis��",
    "Wstawiac",
    "Insertar",
    "��������",
    "Infoga",
    "Insereaza",
    "Beilleszteni",
    "Inserir",
    "�������",
  },
  { "Overwrite",
    "�berschreiben",
    "Prepisi",
    "Sovrascrivi",
    "Overschrijven",
    "",// TODO
    "�craser",
    "",// TODO
    "Korvaa",
    "Przepisac",
    "Sobreescribir",
    "�������������",
    "Skriv �ver",
    "Suprascrie",
    "�t�rni",
    "Sobrescriure",
    "������",
  },
  { "Menu",
    "Men�",
    "Meni",
    "Menu",
    "Menu",
    "Menu",
    "Menu",
    "Meny",
    "Valikko",
    "Menu",
    "Men�",
    "M����",
    "Meny",
    "Meniu",
    "Men�",
    "Men�",
    "����",
  },
  { "Reset",
    "Reset",
    "Reset",
    "Reset",
    "Herstart",
    "",//TODO
    "R�initialisation",
    "",//TODO
    "Alusta",
    "Reset",
    "Reiniciar",
    "���������",
    "�terst�ll",
    "",//TODO
    "Reset",
    "Reiniciar",
    "�����",
  },
  { "Scan",
    "Scan",
    "",//TODO
    "",//TODO
    "",//TODO
    "",//TODO
    "",//TODO
    "",//TODO
    "P�ivit�",
    "",//TODO
    "",//TODO
    "",//TODO
    "",//TODO
    "",//TODO
    "",//TODO
    "",//TODO
    "�����������",
  },
  // Confirmations:
  { "Delete channel?",
    "Kanal l�schen?",
    "Izbrisi kanal?",
    "Cancello il canale?",
    "Kanaal verwijderen?",
    "Apagar o canal?",
    "Supprimer la cha�ne?",
    "Slette kanal?",
    "Poistetaanko kanava?",
    "Usunac kanal?",
    "�Eliminar canal?",
    "�������� ��������?",
    "Ta bort kanalen?",
    "Sterg canalul?",
    "Csatorna t�rl�se?",
    "Esborrar el canal?",
    "������� �����?",
  },
  { "Delete timer?",
    "Timer l�schen?",
    "Izbrisi termin?",
    "Cancello il timer?",
    "Timer verwijderen?",
    "Apagar o timer?",
    "Supprimer la programmation?",
    "Slette timer?",
    "Poistetaanko ajastin?",
    "Usunac timer?",
    "�Eliminar timer?",
    "�������� �������������?",
    "Ta bort timern?",
    "Sterg timer-ul?",
    "Felv�tel beprogramoz�s�nak t�rl�se?",
    "Esborrar el temporitzador?",
    "������� ������?",
  },
  { "Delete recording?",
    "Aufzeichnung l�schen?",
    "Izbrisi posnetek?",
    "Cancello la registrazione?",
    "Opname verwijderen?",
    "Apagar a grava��o?",
    "Supprimer l'enregistrement?",
    "Slette opptak?",
    "Poistetaanko tallenne?",
    "Usunac nagranie?",
    "�Eliminar grabacion?",
    "�������� �������?",
    "Ta bort inspelningen?",
    "Sterg inregistrarea?",
    "Felv�tel t�rl�se?",
    "Esborrar gravaci�?",
    "������� ������?",
  },
  { "Timer still recording - really delete?",
    "Timer zeichnet auf - trotzdem l�schen?",
    "Snemanje po terminu - zares izbrisi?",
    "Timer in registrazione - cancello?",
    "Timer neemt nog op - toch verwijderen?",
    "Timer activo - t�m a certeza que quer apagar?",
    "Enregistrement en cours - confirmez la suppression",
    "Timer gj�r opptak - vil du slette likevel?",
    "Ajastettu tallennus k�ynniss� - keskeytet��nk�?",
    "Nagrywanie w trakcie - napewno usunac?",
    "�Timer activo - de verdad eliminarlo?",
    "�������������� �� ������� - �������� �������?",
    "Timerstyrd inspelning p�g�r - Avbryta �nd�?",
    "Timer-ul in inregistrare - sterg?",
    "Felv�tel folyamatban van - m�gis t�r�lni?",
    "Temporitzador activat - Esborrar de totes maneres?",
    "���� ������ �� ������� - ������������� �������?",
  },
  { "Stop recording?",
    "Aufzeichnung beenden?",
    "Koncaj snemanje?",
    "Fermo la registrazione?",
    "Opname stoppen?",
    "Parar Grava��o?",
    "Arr�ter l'enregistrement?",
    "Stoppe opptak?",
    "Lopetetaanko tallennus?",
    "Zakonczyc nagranie?",
    "�Parar grabaci�n?",
    "������� ��������?",
    "Stanna inspelning?",
    "Opresc inregistrarea?",
    "Felv�tel befejezni?",
    "Aturar la gravaci�?",
    "���������� ������?",
  },
  { "on primary interface",
    "auf dem prim�ren Interface",
    "na primarni napravi",
    "su interfaccia primaria",
    "op eerste interface",
    "no interface prim�rio",
    "sur la carte primaire",
    "p� f�rste enhet",
    "p��vastaanottimella",
    "na pierwszym interfejsie",
    "en interface primario",
    "���� ����� �����",
    "fr�n den f�rsta enheten?",
    "pe prima interfata",
    "az els� k�rty�n",
    "a la interf�cie prim�ria",
    "�� �������� ����������",
  },
  { "Cancel editing?",
    "Schneiden abbrechen?",
    "Zelite prekiniti urejanje?",
    "Annullo la modifica?",
    "Bewerken afbreken?",
    "Cancelar Modifica��es?",
    "Annuler les modifications?",
    "Avbryte redigering?",
    "Perutaanko muokkaus?",
    "Zakonczyc montaz?",
    "�Cancelar modificaci�n?",
    "A������ ������������?",
    "Avbryta redigeringen?",
    "Opresc editarea?",
    "V�g�st befejezni?",
    "Cancel�lar l'edici�?",
    "�������� ��������������?",
  },
  { "Really restart?",
    "Wirklich neu starten?",
    "Zares ponoven zagon?",
    "Eseguo un restart?",
    "Werkelijk opnieuw starten?",
    "Tem a certeza que quer reiniciar?",
    "Red�marrer?",
    "Vil du virkelig starte p� nytt?",
    "K�ynnistet��nk� uudelleen?",
    "Rzeczywiscie nowy start?",
    "�De verdad reiniciar?",
    "N� ����� ������� ������������?",
    "Vill du verkligen starta om?",
    "Esti sigur de repornire?",
    "T�nyleg �jraind�tani?",
    "Segur que voleu reiniciar?",
    "������������� �������������?",
  },
  { "Recording - restart anyway?",
    "Aufnahme l�uft - trotzdem neu starten?",
    "Snemanje - zares ponoven zagon?",
    "In registrazione - restart comunque?",
    "Opname loopt - toch opnieuw starten?",
    "Em grava��o - quer mesmo reiniciar?",
    "Enregistrement en cours - red�marrer?",
    "Gj�r opptak - starte p� nytt likevel?",
    "Tallennus kesken - k�ynnistet��nk� uudelleen?",
    "Nagrywanie w trakcie - rzeczywiscie nowy start?",
    "Grabando - �reiniciar?",
    "������� ������� - ������ �� ����� ������������?",
    "Inspelning p�g�r, vill du �nd� starta om?",
    "In inregistrare - repornesc?",
    "Felv�tel folyamatban van - m�gis �jraind�tani?",
    "Gravant - Reiniciar de totes maneres?",
    "���� ������ - ������������� �������������?",
  },
  { "Recording - shut down anyway?",
    "Aufnahme l�uft - trotzdem ausschalten?",
    "Snemanje - zares izklopi?",
    "In registrazione - spengo comunque?",
    "Opname loopt - toch uitschakelen?",
    "Em grava��o - quer mesmo desligar?",
    "Enregistrement en cours - confirmez l'arr�t",
    "Gj�r opptak - sl� av likevel?",
    "Tallennus kesken - sammutetaanko?",
    "Nagrywanie w trakcie - mimo to wylaczyc?",
    "Grabando - �apagar?",
    "������� ������� - ������ �� ����� �����������?",
    "Inspelning p�g�r, vill du �nd� avbryta?",
    "In inregistrare - opresc?",
    "Felv�tel folyamatban van - m�gis kikapcsolni?",
    "Gravant - Apagar de totes maneres?",
    "���� ������ - ������������� ���������?",
  },
  { "Recording in %d minutes, shut down anyway?",
    "Aufnahme in %d Minuten - trotzdem ausschalten?",
    "Snemanje cez %d minut, zares izklopi?",
    "Registrazione fra %d minuti - spengo comunque?",
    "Opname in %d minuten - toch uitschakelen?",
    "Em grava��o dentro de %d minutos - quer mesmo desligar?",
    "Enregistrement dans %d minutes - confirmez l'arr�t",
    "Skal gj�re opptak om %d minutter - sl� av likevel?",
    "Tallennus alkaa %d min kuluttua - sammutetaanko?",
    "Nagrywanie za %d minut - mimo to wylaczyc?",
    "Grabando en %d minutos, �de verdad apagar?",
    "���������� ������� �� %d ����� - ������ �� �����������?",
    "Inspelning startar om %d minuter, vill du avsluta?",
    "Inregistrez in %d minute, opresc?",
    "Felv�tel %d perc mulva kezd�dik - m�gis kikapcsolni?",
    "Hi ha una gravaci� en %d minuts - Apagar de totes maneres?",
    "����� %d ����� �������� ������ - ������������� ���������?",
  },
  { "Press any key to cancel shutdown",
    "Taste dr�cken um Shutdown abzubrechen",
    "Pritisni katerikoli gumb za preklic izklopa",
    "Un tasto per annullare lo spegnimento",
    "Druk een toets om shutdown af te breken",
    "Pressione qualquer tecla para cancelar",
    "Appuyez sur une touche pour annuler l'arr�t",
    "Trykk en tast for ikke � sl� av",
    "Peru sammutus painamalla mit� tahansa n�pp�int�",
    "Dowolny przycisk zatrzyma wylaczanie",
    "Pulse una tecla para interrumpir apagar",
    "����� ��� ������� ��� ������� �����������",
    "Tryck valfri knapp f�r att �terkalla avst�ngningen",
    "Apasa orice tasta pentru a anula inchiderea",
    "Nyomj egy gombot a le�ll�s meg�ll�t�s�hoz",
    "Prem qualsevol tecla per cancel�lar l'aturada",
    "������� ����� ������ ����� �������� ����������.",
  },
  // Channel parameters:
  { "Name",
    "Name",
    "Naziv",
    "Nome",
    "Naam",
    "Nome",
    "Nom",
    "Navn",
    "Nimi",
    "Nazwa",
    "Nombre",
    "�����",
    "Namn",
    "Nume",
    "N�v",
    "Nom",
    "��������",
  },
  { "Frequency",
    "Frequenz",
    "Frekvenca",
    "Frequenza",
    "Frequentie",
    "Frequ�ncia",
    "Fr�quence",
    "Frekvens",
    "Taajuus",
    "Czestotliwosc",
    "Frecuencia",
    "���������",
    "Frekvens",
    "Frecventa",
    "Frekvencia",
    "Freq��ncia",
    "�������",
  },
  { "Polarization",
    "Polarisation",
    "Polarizacija",
    "Polarizzazione",
    "Polarisatie",
    "Polariza��o",
    "Polarisation",
    "Polarisasjon",
    "Polarisaatio",
    "Polaryzacja",
    "Polarizaci�n",
    "������",
    "Polarisation",
    "Polarizare",
    "Polariz�ci�",
    "Polaritzaci�",
    "�����������",
  },
  { "Source",
    "Quelle",
    "Pozicija",
    "Sorgente",
    "Bron",
    "",//TODO
    "Source",
    "",//TODO
    "L�hde",
    "Zrodlo",
    "",//TODO
    "����������",
    "K�lla",
    "",//TODO
    "Forr�s",
    "Origen",
    "��������",
  },
  { "Srate",
    "Srate",
    "Srate",
    "Srate",
    "Srate",
    "Srate",
    "Fr�q. Symbole",
    "Srate",
    "Symbolinopeus",
    "Srate",
    "Srate",
    "Srate",
    "Symbolrate",
    "Rata simboluri",
    "Srate",
    "Srate",
    "����. ��������",
  },
  { "Vpid",
    "Vpid",
    "Vpid",
    "Vpid",
    "Vpid",
    "PID de V�deo",
    "PID Vid�o",
    "Vpid",
    "Kuva PID",
    "Vpid",
    "Vpid",
    "B����� PID",
    "Video PID",
    "PID Video",
    "Vpid",
    "PID V�deo",
    "Vpid (�����)",
  },
  { "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Aikatieto PID",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
    "Ppid",
  },
  { "Apid1",
    "Apid1",
    "Apid1",
    "Apid1",
    "Apid1",
    "PID �udio (1)",
    "PID Audio (1)",
    "Apid1",
    "��ni PID1",
    "Apid1",
    "Apid1",
    "Apid1",
    "Audio PID1",
    "PID Audio (1)",
    "Apid1",
    "PID �udio (1)",
    "Apid1 (����� 1)",
  },
  { "Apid2",
    "Apid2",
    "Apid2",
    "Apid2",
    "Apid2",
    "Apid2",
    "PID Audio (2)",
    "Apid2",
    "��ni PID2",
    "Apid2",
    "Apid2",
    "Apid2",
    "Audio PID2",
    "PID Audio (2)",
    "Apid2",
    "PID �udio (2)",
    "Apid2 (����� 2)",
  },
  { "Dpid1",
    "Dpid1",
    "Dpid1",
    "Dpid1",
    "Dpid1",
    "PID AC3 (1)",
    "PID AC3 (1)",
    "AC3pid1",
    "Dolby PID1",
    "Dpid1",
    "Dpid1",
    "Dpid1",
    "Dpid1",
    "PID AC3 (1)",
    "Dpid1",
    "PID AC3 (1)",
    "Dpid1 (AC3 1)",
  },
  { "Dpid2",
    "Dpid2",
    "Dpid2",
    "Dpid2",
    "Dpid2",
    "PID AC3 (2)",
    "PID AC3 (2)",
    "AC3pid2",
    "Dolby PID2",
    "Dpid2",
    "Dpid2",
    "Dpid2",
    "Dpid2",
    "PID AC3 (2)",
    "Dpid2",
    "PID AC3 (2)",
    "Dpid2 (AC3 2)",
  },
  { "Tpid",
    "Tpid",
    "Tpid",
    "Tpid",
    "Tpid",
    "PID Teletexto",
    "PID T�l�texte",
    "Tekst-TV pid",
    "Teksti-TV PID",
    "Tpid",
    "Tpid",
    "Tpid",
    "Teletext PID",
    "PID Teletext",
    "Tpid",
    "PID Teletext",
    "Tpid (���������)",
  },
  { "CA",
    "CA",
    "CA",
    "CA",
    "CA",
    "Encripta��o",
    "Cryptage",
    "Kortleser",
    "Salaus",
    "CA",
    "CA",
    "CA",
    "Kortl�sare",
    "Criptare",
    "CA",
    "Acc�s Condicional",
    "CA (�������)",
  },
  { "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Palvelu ID",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
    "Sid",
  },
  { "Inversion",
    "Inversion",
    "Inverzija",
    "Inversion",
    "Inversion",
    "Inversion",
    "Inversion",
    "Inversion",
    "Inversio",
    "Inversion",
    "Inversion",
    "Inversion",
    "Inversion",
    "Inversion",
    "Inversion",
    "Inversi�",
    "��������",
  },
  { "Bandwidth",
    "Bandwidth",
    "Pasovna sirina",
    "Bandwidth",
    "Bandwidth",
    "Bandwidth",
    "Bande passante",
    "Bandwidth",
    "Kaistanleveys",
    "Szerokosc pasma",
    "Bandwidth",
    "Bandwidth",
    "Bandbredd",
    "Bandwidth",
    "Bandwidth",
    "Amplada de banda",
    "��������",
  },
  { "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "Yl�suojaustaso",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
    "CoderateH",
  },
  { "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "Alasuojaustaso",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
    "CoderateL",
  },
  { "Modulation",
    "Modulation",
    "Modulacija",
    "Modulation",
    "Modulation",
    "Modulation",
    "Modulation",
    "Modulation",
    "Modulaatio",
    "Modulacja",
    "Modulation",
    "Modulation",
    "Modulation",
    "Modulation",
    "Modulation",
    "Modulaci�",
    "���������",
  },
  { "Transmission",
    "Transmission",
    "Prenos",
    "Transmission",
    "Transmission",
    "Transmission",
    "Transmission",
    "Transmission",
    "L�hetystila",
    "Transmisja",
    "Transmission",
    "Transmission",
    "Transmission",
    "Transmission",
    "Transmission",
    "Transmissi�",
    "��������",
  },
  { "Guard",
    "Guard",
    "Zascita",
    "Guard",
    "Guard",
    "Guard",
    "Guard",
    "Guard",
    "Suojav�li",
    "Guard",
    "Guard",
    "Guard",
    "Guard",
    "Guard",
    "Guard",
    "Protegir",
    "������",
  },
  { "Hierarchy",
    "Hierarchy",
    "Hierarhija",
    "Hierarchy",
    "Hierarchy",
    "Hierarchy",
    "Hierarchie",
    "Hierarchy",
    "Hierarkia",
    "Hierachia",
    "Hierarchy",
    "Hierarchy",
    "Hierarchy",
    "Hierarchy",
    "Hierarchy",
    "Jerarquia",
    "��������",
  },
  // Timer parameters:
  { "Active",
    "Aktiv",
    "Aktivno",
    "Attivo",
    "Actief",
    "Activo",
    "Actif",
    "Aktiv",
    "Aktiivinen",
    "Aktywny",
    "Activo",
    "������",
    "Aktiv",
    "Activ",
    "Aktiv",
    "Actiu",
    "�����������",
  },
  { "Channel",
    "Kanal",
    "Kanal",
    "Canale",
    "Kanaal",
    "Canal",
    "Cha�ne",
    "Kanal",
    "Kanava",
    "Kanal",
    "Canal",
    "������",
    "Kanal",
    "Canal",
    "Csatorna",
    "Canal",
    "�����",
  },
  { "Day",
    "Tag",
    "Dan",
    "Giorno",
    "Dag",
    "Dia",
    "Jour",
    "Dag",
    "P�iv�",
    "Dzien",
    "D�a",
    "�����",
    "Dag",
    "Ziua",
    "Nap",
    "Dia",
    "����",
  },
  { "Start",
    "Anfang",
    "Zacetek",
    "Inizio",
    "Begin",
    "Inicio",
    "D�but",
    "Start",
    "Aloitus",
    "Poczatek",
    "Comienzo",
    "����",
    "B�rjar",
    "Start",
    "Kezdet",
    "Inici",
    "������",
  },
  { "Stop",
    "Ende",
    "Konec",
    "Fine",
    "Einde",
    "Fim",
    "Fin",
    "Slutt",
    "Lopetus",
    "Koniec",
    "Fin",
    "�����",
    "Slutar",
    "Stop",
    "V�ge",
    "Fi",
    "�����",
  },
  { "VPS",
    "VPS",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "VPS",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
  },
  { "Priority",
    "Priorit�t",
    "Prioriteta",
    "Priorita'",
    "Prioriteit",
    "Prioridade",
    "Priorit�",
    "Prioritet",
    "Prioriteetti",
    "Priorytet",
    "Prioridad",
    "�������������",
    "Prioritet",
    "Prioritate",
    "Priorit�s",
    "Prioritat",
    "���������",
  },
  { "Lifetime",
    "Lebensdauer",
    "Veljavnost",
    "Durata",
    "Bewaarduur",
    "Dura��o",
    "Dur�e de vie",
    "Levetid",
    "Elinik�",
    "Trwalosc dni",
    "Durabilidad",
    "�������� ���������",
    "Livstid",
    "Durata",
    "�lettartam",
    "Durada",
    "���� ��������",
  },
  { "File",
    "Datei",
    "Datoteka",
    "Nome",
    "Filenaam",
    "Ficheiro",
    "Fichier",
    "Filnavn",
    "Tiedosto",
    "Plik",
    "Fichero",
    "������",
    "Filnamn",
    "Fisier",
    "File",
    "Arxiu",
    "����",
  },
  { "First day",
    "Erster Tag",
    "Prvi dan",
    "Primo giorno",
    "Eerste dag",
    "Primeiro dia",
    "Premier jour",
    "F�rste dag",
    "1. p�iv�",
    "Pierwszy dzien",
    "Primer d�a",
    "����� ����",
    "F�rsta dag",
    "Prima zi",
    "Els� nap",
    "Primer dia",
    "������ ����",
  },
  // Error messages:
  { "Channel is being used by a timer!",
    "Kanal wird von einem Timer benutzt!",
    "Kanal uporablja termin za snemanje!",
    "Canale occupato da un timer!",
    "Kanaal wordt gebruikt door een timer!",
    "Canal a ser utilizador por um timer!",
    "Cette cha�ne est en cours d'utilisation!",
    "Kanalen er i bruk av en timer!",
    "Kanava on ajastimen k�yt�ss�!",
    "Kanal jest zajety przez timer nagran",
    "�Canal est� ocupado por un timer!",
    "�� ������ ��������������� ��� �������������!",
    "Kanalen anv�nds av en timer!",
    "Canalul este utilizat de un timer!",
    "Csatorn�t m�s haszn�lja!",
    "Canal en �s per un temporitzador!",
    "����� ����� ��������!",
  },
  { "Can't switch channel!",
    "Kanal kann nicht umgeschaltet werden!",
    "Ne morem preklopiti kanala!",
    "Impossibile cambiare canale!",
    "Kan geen kanaal wisselen!",
    "N�o pode mudar de canal!",
    "Impossible de changer de cha�ne!",
    "Ikke mulig � skifte kanal!",
    "Kanavan vaihtaminen ei mahdollista!",
    "Kanal nie moze byc teraz przelaczony!",
    "�No puedo cambiar canal!",
    "������ �������� �������!",
    "Om�jligt att byta kanal!",
    "Nu pot comuta canalul!",
    "Csatorn�t nem lehet �tkapcsolni!",
    "No puc canviar de canal!",
    "���������� ����������� �����!",
  },
  { "Timer is recording!",
    "Timer zeichnet gerade auf!",
    "Snemanje po terminu!",
    "Registrazione di un timer in corso!",
    "Timer is aan het opnemen!",
    "Timer a gravar!",
    "Enregistrement en cours!",
    "Timer gj�r opptak!",
    "Ajastintallennus k�ynniss�!",
    "Timer nagrywa!",
    "�Timer esta grabando!",
    "������� ��������������� �������!",
    "Timerstyrd inspelning p�g�r!",
    "Timer-ul este in inregistrare!",
    "Felv�tel folyamatban van!",
    "El temporitzador est� gravant!",
    "���� ������ �� �������!",
  },
  { "Error while accessing recording!",
    "Fehler beim Ansprechen der Aufzeichnung!",
    "Napaka pri dostopu do posnetka!",
    "Errore nell'accesso alla registrazione",
    "Fout bij lezen opname!",
    "Erro ao aceder � grava��o",
    "Impossible d'acc�der � l'enregistrement",
    "Feil under lesing av opptak!",
    "Tallenteen toistaminen ep�onnistui!",
    "Blad - brak dostepu do nagrania!",
    "�Error al acceder a la grabaci�n!",
    "�������� ���� ���������� ��������!",
    "Inspelningen g�r inte att l�sa!",
    "Eroare in timpul accesarii inregistrarii",
    "Hiba a felv�tel hozz�f�r�s�n�l",
    "Error a l'accedir a la gravaci�!",
    "������ ������� � ������!",
  },
  { "Error while deleting recording!",
    "Fehler beim L�schen der Aufzeichnung!",
    "Napaka pri brisanju posnetka!",
    "Errore nel cancellare la registrazione!",
    "Fout bij verwijderen opname!",
    "Erro enquanto apagava uma grava��o!",
    "Erreur de suppression de l'enregistrement!",
    "Feil under sletting av opptak!",
    "Tallenteen poistaminen ep�onnistui!",
    "Blad przy usuwaniu nagrania!",
    "�Error al borrar la grabaci�n!",
    "����� ���� ��� �������� ��� �������!",
    "Inspelningen g�r inte att ta bort!",
    "Eroare in timpul stergerii inregistrarii!",
    "Hiba a felv�tel t�rl�s�n�l!",
    "Error a l'esborrar la gravaci�!",
    "������ �������� ������!",
  },
  { "*** Invalid Channel ***",
    "*** Ung�ltiger Kanal ***",
    "*** Neznan kanal ***",
    "*** CANALE INVALIDO ***",
    "*** Ongeldig kanaal ***",
    "*** Canal Inv�lido! ***",
    "*** Cha�ne invalide! ***",
    "*** Ugyldig Kanal! ***",
    "*** Virheellinen kanavavalinta! ***",
    "*** Niewazny kanal ***",
    "*** Canal inv�lido ***",
    "*** ����� ������ ***",
    "*** Felaktig kanal ***",
    "*** Canal invalid ***",
    "*** �rv�nytelen csatorna ***",
    "*** Canal incorrecte ***",
    "*** ������������ ����� ***",
  },
  { "No free DVB device to record!",
    "Keine freie DVB-Karte zum Aufnehmen!",
    "Ni proste DVB naprave za snemanje!",
    "Nessuna periferica DVB disponibile per registrare!",
    "Geen vrije DVB kaart om op te nemen!",
    "Nenhuma placa DVB disponivel para gravar!",
    "Pas de carte DVB disponible pour l'enregistrement!",
    "Ingen ledige DVB enheter for opptak!",
    "Ei vapaata vastaanotinta tallennukselle!",
    "Brak wolnej karty DVB do nagrywania!",
    "�No hay dispositivo DVB disponible para grabar!",
    "���������� DVB ������ ��� �������!",
    "Det finns ingen ledig DVB enhet f�r inspelning!",
    "Nu mai sunt dispozitive DVB pentru inregistrare!",
    "Nincs szabad DVB k�rtya a felv�telhez!",
    "No hi ha cap dispositiu DVB lliure per gravar!",
    "��� ���������� DVB-���������� ��� ������!",
  },
  { "Channel not available!",
    "Kanal nicht verf�gbar!",
    "Kanal ni razpolozljiv!",
    "Canale non disponibile!",
    "Kanaal niet beschikbaar",
    "",//TODO
    "Cha�ne non disponible!",
    "",//TODO
    "Kanava ei ole k�ytett�viss�!",
    "Kanal jest niedostepny!",
    "!Canal no disponible!",
    "�� ������ ��� ����� ���������!",
    "Kanalen ej tillg�nglig!",
    "",//TODO
    "A csatorna nem el�rhet�",
    "Canal no disponible!",
    "����� ����������!",
  },
  { "Channel settings are not unique!",
    "Kanaleinstellungen sind nicht eindeutig!",
    "Nastavitve kanala niso edinstvene!",
    "Paramentri Canale non unici!",
    "Kanaalinstellingen zijn niet uniek!",
    "",//TODO
    "Caract�ristiques des cha�nes ne sont pas uniques",
    "",//TODO
    "Kanava-asetukset eiv�t ole yksil�lliset!",
    "Nastawy kanalu sa niejednoznaczne!",
    "!Propiedades de canal duplicadas!",
    "�� ��������� ��� �������� ����������������!",
    "Kanalinst�llningarna �r ej unika!",
    "",//TODO
    "A csatornabe�ll�t�sok nem egy�rtelm�ek",
    "Propietats del canal duplicades!",
    "��������� ������ �� ���������!",
  },
  { "Channel locked (recording)!",
    "Kanal blockiert (zeichnet auf)!",
    "Zaklenjen kanal (snemanje)!",
    "Canale bloccato (in registrazione)!",
    "Kanaal geblokkeerd (neemt op)!",
    "Canal bloqueado (a gravar)!",
    "Cha�ne verrouill�e (enregistrement en cours)!",
    "Kanalen er l�st (opptak)!",
    "Kanava lukittu (tallennus k�ynniss�)!",
    "Kanal zablokowany (nagrywanie w toku)!",
    "�Canal bloqueado (grabando)!",
    "�� ������ ����� ������������ (������ �������)!",
    "Kanalen �r l�st (inspelning p�g�r)!",
    "Canal blocat (inregistrare)!",
    "Csatorna hozz�f�rhetetlen (felv�tel)!",
    "Canal bloquejat (gravant)!",
    "����� ������������ (���� ������)!",
  },
  { "Can't start Transfer Mode!",
    "Transfer-Mode kann nicht gestartet werden!",
    "Ne morem zaceti z prenosnim nacinom",
    "Impossibile iniziare la modalita' di trasferimento!",
    "Kan Transfer-Mode niet starten",
    "Imposs�vel iniciar modo de transfer�ncia!",
    "Impossible d'utiliser le mode transfert!",
    "Kan ikke starte transfer modus!",
    "Siirtotilan aloitus ep�onnistui!",
    "Tryb transferowy jest niemozliwy!",
    "�No puedo iniciar modo de transferencia!",
    "�������� ��������� ���������� ���������!",
    "Kan inte starta Transfer Mode!",
    "Nu pot porni Modul de Transfer!",
    "Transfer-Mode nem ind�that�!",
    "No puc iniciar el mode de transfer�ncia!",
    "���������� �������� ����� ��������!", // ???
  },
  { "No editing marks defined!",
    "Keine Schnittmarken gesetzt!",
    "Nobena tocka ni definirana!",
    "Nessun marcatore di modifica definito!",
    "Geen bewerkingsmarkeringen gedefinieerd!",
    "",//TODO
    "Pas de marques d'�dition d�finies!",
    "",//TODO
    "",//TODO
    "Brak znakow montazowych!",
    "Muokkausmerkinn�t puuttuvat",
    "��� ����� ������� ������ ������������",
    "Det finns inga redigeringsm�rken",//TODO
    "",//TODO
    "A v�g�pont nincs kijel�lve",//TODO
    "No hi ha marques d'edici� definides",
    "�� ������ ����� ��� �������!",
  },
  { "Can't start editing process!",
    "Schnitt kann nicht gestartet werden!",
    "Ne morem zaceti urejanja!",
    "Impossibile iniziare processo di modifica!",
    "Kan niet beginnen met bewerken!",
    "N�o pode iniciar a modifica��o!",
    "Impossible de commencer le montage!",
    "Kan ikke starte redigeringsprosessen!",
    "Muokkauksen aloitus ep�onnistui!",
    "Uruchamianie montazu jest niemozliwe!",
    "�No puedo iniciar proceso de modificaci�n!",
    "�������� ��������� ��� ������������!",
    "Kan inte starta redigering!",
    "Nu pot porni procesul de editare!",
    "A v�g�s nem ind�that�!",
    "No puc iniciar el proc�s d'edici�!",
    "���������� ������ ������ ������!",
  },
  { "Editing process already active!",
    "Schnitt bereits aktiv!",
    "Urejanje je ze aktivno!",
    "Processo di modifica gia` attivo!",
    "Bewerken is al actief!",
    "Processo de modifica��o j� activo!",
    "Montage d�j� en cours!",
    "Redigeringsprosessen er allerede aktiv!",
    "Muokkaus on jo k�ynniss�!",
    "Montaz w toku!",
    "�Proceso de modificaci�n ya fue iniciado!",
    "����������� ��������� �� �������!",
    "Redigeringen �r redan aktiv!",
    "Procesul de editare este activ!",
    "A v�g�s m�r aktiv�lt!",
    "Proc�s d'edici� iniciat anteriorment!",
    "������� ������������ ��� �������!",
  },
  { "Can't shutdown - option '-s' not given!",
    "Shutdown unm�glich - Option '-s' fehlt!",
    "Zaustavitev ni izvedljiva - opcija '-s' ni podana!",
    "Impossibile spegnere - parametro '-s' non passato!",
    "Shutdown onmogelijk - Optie '-s' ontbreekt!",
    "Imposs�vel desligar - falta a op��o '-s'!",
    "Arr�t impossible - option '-s' absente!",
    "Kan ikke sl� av - startet uten parameteret '-s'!",
    "Sammutus ei onnistu - '-s' parametri puuttuu!",
    "Wylaczenie niemozliwe - brak opcji '-s'!",
    "�No puedo apagar - opci�n '-s' ausente!",
    "�������� �� ����� �����������. ��������� � ���������� '-s'!",
    "Kan inte avsluta, m�ste anv�nda parameter '-s'",
    "Nu pot opri calculatorul - vezi optiunea '-s'",
    "A le�ll�t�s nem lehets�ges - Opci� '-s' hi�nyzik!",
    "No puc apagar, falta la opci� -s !",
    "���������� ���������� - �� ����� �������� '-s'!",
  },
  { "Low disk space!",
    "Platte beinahe voll!",
    "Zmanjkuje prostora na disku",
    "Poco spazio su disco!",
    "Disk bijna vol!",
    "Espa�o em disco reduzido!",
    "Disque presque plein!",
    "Lite ledig diskplass!",
    "Kovalevy l�hes t�ynn�!",
    "Dysk wkrotce pelny!",
    "�Disco casi lleno",
    "� ������� �������� �� �������!",
    "L�gt diskutrymme!",
    "Spatiu scazut pe disc!",
    "A merev lemez majdnem tele!",
    "Disc gaireb� ple!",
    "������������ ����� �� �����!",
  },
  { "Can't open CAM menu!",
    "CAM-Men� kann nicht ge�ffnet werden!",
    "Ne morem odpreti CAM menija!",
    "Impossibile aprire il menu CAM!",
    "Kan CAM-menu niet openen!",
    "",//TODO
    "Impossible d'ouvrir le menu CAM!",
    "",//TODO
    "Salausmoduulin valikko ei saatavilla",
    "CAM-Menu niedostepne!",
    "�No pudeo acceder al men� de la CAM!",
    "������� � �������� ��� CAM �����!",
    "Det g�r inte att �ppna CAM menyn!",
    "",//TODO
    "A CAM-Men� nem nyithat�",
    "No puc obrir el men� de la CAM!",
    "���� CAM-������ ����������!",
  },
  { "Can't reset CAM!",
    "CAM-Reset fehlgeschlagen!",
    "Ne morem resetirati CAM-a",
    "Impossibile reimpostare il modulo CAM!",
    "Kan CAM niet herstarten!",
    "",//TODO
    "Impossible de r�initialiser la CAM!",
    "",//TODO
    "Salausmoduulin alustus ep�onnistui!",
    "Nieudany CAM-Reset!",
    "�No puedo reiniciar la CAM!",
    "������� �� ����� ��������� ��� CAM",
    "Kan inte �terst�lla CAM!",
    "",//TODO
    "A CAM-Reset nem siker�lt",
    "No puc reiniciar la CAM!",
    "������ ����������� CAM-������!",
  },
  { "CAM has been reset",
    "CAM wurde zur�ckgesetzt!",
    "CAM je resetiran!",
    "Modulo CAM reimpostato!",
    "CAM is herstart!",
    "",//TODO
    "La CAM a �t� r�initialis�e",
    "",//TODO
    "Salausmoduuli alustettu",
    "CAM-Reset wykonany!",
    "CAM reiniciada",
    "��� CAM ����� ���������",
    "CA modulen har �terst�llts",
    "",//TODO
    "A CAM vissza lett �ll�tva",
    "CAM reiniciada",
    "CAM-������ �����������!",
  },
  // Setup pages:
  { "OSD",
    "OSD",
    "OSD",
    "OSD",
    "OSD",
    "OSD",
    "Affichage des menus",
    "OSD",
    "Kuvaruutun�ytt�",
    "OSD",
    "Men�s en pantalla",
    "OSD",
    "OSD",
    "OSD",
    "OSD",
    "Informaci� en pantalla",
    "����",
  },
  { "EPG",
    "EPG",
    "Programski vodnik",
    "EPG",
    "EPG",
    "EPG",
    "Guide des programmes",
    "Programoversikt",
    "Ohjelmaopas",
    "EPG",
    "Gu�a de Programaci�n",
    "������ ������������",
    "Elektronisk programguide",
    "EPG",
    "EPG",
    "Guia de Programes",
    "�������",
  },
  { "DVB",
    "DVB",
    "DVB",
    "Scheda DVB",
    "DVB",
    "DVB",
    "Cartes DVB",
    "DVB-enheter",
    "DVB",
    "DVB",
    "DVB",
    "DVB",
    "DVB",
    "Placa DVB",
    "DVB",
    "Tarja DVB",
    "DVB",
  },
  { "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "LNB",
    "Configuraci� de l'LNB",
    "���������",
  },
  { "CICAM",
    "CICAM",
    "CICAM",
    "CICAM",
    "CICAM",
    "CICAM",
    "Acc�s conditionnel",
    "CICAM",
    "CI-moduuli",
    "CICAM",
    "CICAM",
    "CICAM",
    "CICAM",
    "Acces conditionat",
    "CICAM",
    "CI Acc�s condicional",
    "�������� ������",
  },
  { "Recording",
    "Aufnahme",
    "Snemanje",
    "Registrazione",
    "Opname",
    "A gravar",
    "Enregistrement",
    "Opptak",
    "Tallennus",
    "Nagranie",
    "Opciones de Grabaci�n",
    "�������",
    "Inspelning",
    "Inregistrare",
    "Felv�tel",
    "Opcions de Gravaci�",
    "������",
  },
  { "Replay",
    "Wiedergabe",
    "Predvajanje",
    "Replay",
    "Afspelen",
    "Replay",
    "Lecture",
    "Spill av",
    "Toisto",
    "Odtwarzanie",
    "Opciones de Reproducci�n",
    "�����������",
    "Uppspelning",
    "Redare",
    "Lej�tsz�s",
    "Opcions de Reproducci�",
    "���������������",
  },
  { "Miscellaneous",
    "Sonstiges",
    "Ostalo",
    "Generici",
    "Overig",
    "Outros",
    "Divers",
    "Forskjellig",
    "Sekalaiset",
    "Pozostale",
    "Varios",
    "�������",
    "Diverse",
    "Diverse",
    "Egy�b",
    "Miscel�l�nia",
    "������",
  },
  { "Plugins",
    "Plugins",
    "Plugins",
    "Plugins",
    "Plugins",
    "Plugins",
    "Plugins",
    "Plugins",
    "Laajennokset",
    "Plugins",
    "Plugins",
    "�������",
    "Moduler",
    "Plugins",
    "Plugins",
    "Plugins",
    "������ ����������",
  },
  { "Plugin",
    "Plugin",
    "Plugin",
    "Plugin",
    "Plugin",
    "Plugin",
    "Plugin",
    "Plugin",
    "Laajennos",
    "Plugin",
    "Plugin",
    "�����",
    "Modul",
    "Plugin",
    "Plugin",
    "Plugin",
    "������",
  },
  { "Restart",
    "Neustart",
    "Ponoven zagon",
    "Riavvio",
    "Herstart",
    "Reiniciar",
    "Red�marrer",
    "Start p� nytt",
    "K�ynnist� uudelleen",
    "Zastartowac",
    "Reiniciar",
    "������������",
    "Omstart",
    "Restart",
    "�jraind�t�s",
    "Reiniciar",
    "�������������",
  },
  // Setup parameters:
  { "Setup.OSD$Language",
    "Sprache",
    "Jezik",
    "Linguaggio",
    "Taal",
    "Linguagem",
    "Langue",
    "Spr�k",
    "Kieli",
    "Jezyk",
    "Idioma",
    "������",
    "Spr�k",
    "Limba OSD",
    "Nyelv",
    "Idioma",
    "����",
  },
  { "Setup.OSD$Width",
    "Breite",
    "Sirina",
    "Larghezza OSD",
    "Breedte",
    "Largura",
    "Largeur",
    "Bredde",
    "Leveys",
    "Szerokosc",
    "Anchura",
    "������",
    "Bredd",
    "Latime OSD",
    "Sz�less�g",
    "Amplada",
    "������",
  },
  { "Setup.OSD$Height",
    "H�he",
    "Visina",
    "Altezza OSD",
    "Hoogte",
    "Altura",
    "Hauteur",
    "H�yde",
    "Korkeus",
    "Wysokosc",
    "Altura",
    "����",
    "H�jd",
    "Inaltime OSD",
    "Magass�g",
    "Al�ada",
    "������",
  },
  { "Setup.OSD$Message time (s)",
    "Anzeigedauer f�r Nachrichten (s)",
    "Cas sporocila (s)",
    "Tempo del messaggio (s)",
    "Weergave duur van berichten (s)",
    "Mostrar contador (s)",
    "Dur�e affichage �cran (s)",
    "Tid meldinger skal vises (s)",
    "Viestien esitysaika (s)",
    "Czas wyswietlania wiadomosci (s)",
    "Duraci�n muestra mensajes (s)",
    "������ �������� ��������� (�)",
    "Tid f�r meddelanden (sek)",
    "Timp afisare mesaj (sec)",
    "Inform�ci� felt�ntet�s�nek id�tartama",
    "Durada dels missatges (s)",
    "������������ ������ ��������� (���)",
  },
  { "Setup.OSD$Channel info position",
    "Kanal-Info Position",
    "Pozicija informacije o kanalu",
    "Posizione informazioni canale",
    "Kanaal info positie",
    "Posi��o de info dos canais",
    "Position infos cha�nes",
    "Posisjon p� kanalinformasjon",
    "Kanavatiedon sijainti",
    "Lokalizacja informacji o kanale",
    "Posici�n para informaci�n canal",
    "���� ����������� ��������",
    "Placering av kanalinformation",
    "Pozitie info canal",
    "Csatorna-Inf� pozici�ja",
    "Posici� de la informaci� del canal",
    "��������� ���� ���������� � ������",
  },
  { "Setup.OSD$Info on channel switch",
    "Info beim Kanalwechsel",
    "Pokazi naziv kanala",
    "Mostra info al cambio canale",
    "Kanaal info tonen",
    "Mostrar info ao mudar de Canal",
    "Affichage progr. en cours",
    "Info ved kanalskifte",
    "N�yt� kanavatieto",
    "Informacja przy zmianie kanalu",
    "Informaci�n para cambio de canal",
    "����������� ���� ������ ��������",
    "Information vid kanalbyte",
    "Info despre comutare canal",
    "Inf� a csatorna v�lt�s�n�l",
    "Informaci� del canvi de canal",
    "���������� ���������� � ������",
  },
  { "Setup.OSD$Scroll pages",
    "Seitenweise scrollen",
    "Drsni meni",
    "Scorri pagina nel menu",
    "Scrollen per pagina",
    "Scroll da p�gina no menu",
    "Scrolling par pages",
    "Rask rulling i menyer",
    "Valikkosivujen pikaselaus",
    "Przesuwac stronami",
    "Desplazar p�gina entera",
    "������ �������",
    "Bl�ddra sidor",
    "Deruleaza pagini",
    "Oldalank�nt l�ptetmi",
    "Despla�ar p�gina sencera",
    "��������� ������� ����",
  },
  { "Setup.OSD$Sort timers",
    "Timer sortieren",
    "Sortiraj termine",
    "Ordinamento timer",
    "Timers sorteren",
    "Ordenar os timers",
    "Trier les programmations",
    "Sorter timere",
    "J�rjest� ajastimet",
    "Sortowanie timerow",
    "Ordenar timers",
    "�������� ����������������",
    "Sortera timers",
    "Sortare timere",
    "A beprogramozott felv�telek elrendez�se",
    "Ordenar gravacions programades",
    "���������� ��������",
  },
  { "Setup.OSD$Recording directories",
    "Aufnahmeverzeichnisse",
    "Direktoriji za posnetke",
    "Directory di registrazione",
    "Opname directories",
    "Directorias de grava��o",
    "Dossiers d'enregistrements",
    "Kataloger til opptak",
    "Tallennehakemistot",
    "Wykaz nagran",
    "Gracaciones en directorios",
    "������� ��������",
    "Kataloger f�r inspelningar",
    "Directoare inregistrari",
    "Felv�telek list�ja",
    "Gravacions en subcarpetes",
    "�������� �������� �������",
  },
  { "Setup.EPG$EPG scan timeout (h)",
    "Zeit bis EPG Scan (h)",
    "Cas do EPG pregleda (h)",
    "Timeout scansione EPG (h)",
    "EPG-scan Timeout (h)",
    "Expirou o EPG (h)",
    "Inactivit� avant rech. EPG (h)",
    "Ledig tid f�r EPG-s�k (h)",
    "Ohjelmaoppaan taustap�ivitys (h)",
    "Czas do skanu EPG (h)",
    "Tiempo hasta exploraci�n EPG (h)",
    "������ ����� ������� EPG �� ����",
    "EPG s�kning timeout",
    "Timeout EPG",
    "Fennmaradt id� az EPG-g (h)",
    "M�xim d'Hores a cercar per la Guia",
    "�������� ������������ �������� (�)",
  },
  { "Setup.EPG$EPG bugfix level",
    "EPG Fehlerbereinigung",
    "Nivo za popravilo EPG napak",
    "Livello correzione EPG",
    "EPG foutcorrectieniveau",
    "N�vel de correct��o EPG",
    "Niveau de correction EPG",
    "Niv� for EPG-feilretting",
    "Ohjelmaoppaan korjaustaso",
    "Poziom bledow EPG",
    "Nivel para arreglar EPG",
    "������ ��������� ������ EPG",
    "Niv� f�r EPG bugfix",
    "Nivel corectie EPG",
    "EPG hibaelh�r�t�s",
    "Nivell de correcci� de la Guia",
    "������� ��������� ������",
  },
  { "Setup.EPG$EPG linger time (min)",
    "Alte EPG-Daten anzeigen (min)",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "Vanha tieto n�kyy (min)",
    "",// TODO
    "",// TODO
    "",// TODO
    "Visa gammal info (min)",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
  },
  { "Setup.EPG$Set system time",
    "Systemzeit stellen",
    "Nastavi sistemski cas",
    "Settaggio orario automatico",
    "Systeem klok instellen",
    "Ajustar rel�gio do sistema",
    "Ajuster l'heure du syst�me",
    "Juster system-klokken",
    "Aseta kellonaika",
    "Ustawianie czasu",
    "Ajustar reloj de sistema",
    "����������� ���� ����������",
    "St�ll in systemtid",
    "Seteaza ceasul sistem",
    "Az id� be�ll�t�sa",
    "Ajustar l'hora del sistema",
    "���������� ��������� �����",
  },
  { "Setup.EPG$Use time from transponder",
    "Transponder f�r Systemzeit",
    "Transponder za nastavitev casa",
    "Utilizza orario da transponder",
    "Gebruik transponder tijd voor systeem",
    "Usar rel�gio do transponder",
    "Utiliser l'heure de la cha�ne",
    "Bruk klokke fra transponder",
    "Vastaanota kellonaika transponderilta",
    "Transponder do ustawiania czasu",
    "Transponder para reloj de sistema",
    "������������ ����������� ����",
    "Anv�nd klockan fr�n transponder",
    "Preia ceasul din transponder",
    "Id�h�z tartoz� Transponder",
    "Usar el temps del m�ltiplex",
    "������������ ����� ������������",
  },
  { "Setup.EPG$Preferred languages",
    "Bevorzugte Sprachen",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "Suosikkikielet",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "�������������� �����",
  },
  { "Setup.EPG$Preferred language",
    "Bevorzugte Sprache",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "Suosikkikieli",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "������",
  },
  { "Setup.DVB$Primary DVB interface",
    "Prim�res DVB Interface",
    "Primarna naprava",
    "Scheda DVB primaria",
    "Eerste DVB kaart",
    "Interface DVB prim�rio",
    "Carte DVB primaire",
    "Hoved DVB-enhet",
    "P��vastaanotin",
    "Pierwotny interfejs DVB",
    "Primer interface DVB",
    "����� DVB �����",
    "Prim�r DVB enhet",
    "Placa DVB primara",
    "Els� DVB interface",
    "Tarja DVB prim�ria",
    "�������� DVB-����������",
  },
  { "Setup.DVB$Video format",
    "Video Format",
    "Video format",
    "Formato video",
    "Videoformaat",
    "Formato v�deo",
    "Format vid�o",
    "TV-Format",
    "Kuvasuhde",
    "Format telewizyjny",
    "Formato V�deo",
    "����� ������",
    "Video format",
    "Format Video",
    "Video form�tum",
    "Format del v�deo",
    "������ �����",
  },
  { "Setup.DVB$Update channels",
    "Kan�le aktualisieren",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "P�ivit� kanavat",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "��������� ��������� �������",
  },
  { "names only",
    "nur Namen",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "vain nimet",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "������ ��������",
  },
  { "names and PIDs",
    "Namen und PIDs",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "nimet ja PID:it",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "�������� � PID�",
  },
  { "add new channels",
    "neue Kan�le hinzuf�gen",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "lis�� uudet kanavat",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "����� ������",
  },
  { "add new transponders",
    "neue Transponder hinzuf�gen",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "lis�� uudet transponderit",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "���. ������������",
  },
  { "Setup.LNB$SLOF (MHz)",
    "SLOF (MHz)",
    "Frekvenca preklopa (MHz)",
    "SLOF (MHz)",
    "SLOF (MHz)",
    "Limite de bandas LNB (MHz)",
    "Limite de bandes LNB (MHz)",
    "LO-grensefrekvens (MHz)",
    "LNB rajataajuus (MHz)",
    "SLOF (MHz)",
    "SLOF (MHz)",
    "SLOF (MHz)",
    "SLOF (MHz)",
    "SLOF (MHz)",
    "SLOF (MHz)",
    "SLOF (MHz)",
    "������� ������������ (SLOF) (���)",
  },
  { "Setup.LNB$Low LNB frequency (MHz)",
    "Untere LNB-Frequenz (MHz)",
    "Spodnja LNB-frek. (MHz)",
    "Freq LO LNB (MHz)",
    "Laagste LNB frequentie (MHz)",
    "Frequ�ncia base LNB (MHz)",
    "Fr�quence basse LNB (MHz)",
    "LO-frekvens i lavb�ndet (MHz)",
    "LNB alempi taajuus (MHz)",
    "Dolna czestotliwosc LNB (MHz)",
    "Frecuencia baja LNB (MHz)",
    "���� LNB-��������� (MHz)",
    "Undre LNB frekvens (MHz)",
    "Frecvnta LO LNB (Mhz)",
    "Als� LNB-frekvencia (MHZ)",
    "Freq��ncia LNB baixa (MHz)",
    "������ ������� ���������� (���)",
  },
  { "Setup.LNB$High LNB frequency (MHz)",
    "Obere LNB-Frequenz (MHz)",
    "Zgornja LNB-frek. (MHz)",
    "Freq HI LNB (MHz)",
    "Hoogste LNB frequentie (MHz)",
    "Frequ�ncia alta LNB (MHz)",
    "Fr�quence haute LNB (MHz)",
    "LO-frekvens i h�yb�ndet (MHz)",
    "LNB ylempi taajuus (MHz)",
    "Gorna czestotliwosc LNB (MHz)",
    "Frecuencia alta LNB (MHz)",
    "��� LNB-��������� (MHz)",
    "�vre LNB frekvens (MHz)",
    "Feecventa HI LNB (MHz)",
    "Fels� LNB-frekvencia (MHZ)",
    "Freq��ncia LNB alta (MHz)",
    "������� ������� ���������� (���)",
  },
  { "Setup.LNB$Use DiSEqC",
    "DiSEqC benutzen",
    "Uporabi DiSEqC",
    "Utilizza DiSEqC",
    "DiSEqC gebruiken",
    "Utilizar DiSEqC",
    "Utiliser le DiSEqC",
    "Bruk DiSEqC",
    "DiSEqC k�yt�ss�",
    "Uzywac DiSEqC",
    "Utilizar DiSEqC",
    "������������ DiSEqC",
    "Anv�nd DiSEqC",
    "Utilizez DiSEqC",
    "DiSEqC haszn�lata",
    "Utilitzar DiSEqC",
    "������������ DiSEqC",
  },
  { "Setup.CICAM$CICAM DVB",
    "CICAM DVB",
    "CICAM DVB",
    "CICAM DVB",
    "CICAM DVB",
    "CICAM DVB",
    "Acc�s conditionnel",
    "CICAM DVB",
    "CI-moduuli DVB",
    "CICAM DVB",
    "CICAM DVB",
    "CICAM DVB",
    "CICAM DVB",
    "Setare acces conditional",
    "CICAM DVB",
    "Acc�s condicional CICAM",
    "CAM-������ DVB",
  },
  { "Setup.Recording$Margin at start (min)",
    "Zeitpuffer bei Anfang (min)",
    "Premor pred zacetkom (min)",
    "Margine iniziale (min)",
    "Tijd marge begin (min)",
    "Margem inicial (min)",
    "Marge ant�rieure (min)",
    "Opptaksmargin start (min)",
    "Aloitusmarginaali (min)",
    "Poczatkowy czas buforowy (min)",
    "Comenzar grabaci�n antes (min)",
    "��������� ������ ���� ���� (�����)",
    "Marginal f�r start (min)",
    "Margine la pornire (min)",
    "Id�eltol�d�s a kezd�sn�l (min)",
    "Marge d'inici de gravaci� (min)",
    "���������� ������ ������ (���)",
  },
  { "Setup.Recording$Margin at stop (min)",
    "Zeitpuffer bei Ende (min)",
    "Premor za koncem (min)",
    "Margine finale (min)",
    "Tijd marge eind (min)",
    "Margem final (min)",
    "Marge post�rieure (min)",
    "Opptaksmargin slutt (min)",
    "Lopetusmarginaali (min)",
    "Koncowy czas buforowy (min)",
    "Cortar grabaci�n despu�s (min)",
    "��������� ������ ��� ����� (�����)",
    "Marginal f�r stopp (min)",
    "Margine la oprire (min)",
    "Id�eltol�d�s a befejez�sn�l",
    "Marge de fi de gravaci� (min)",
    "������������ ��������� ������ (���)",
  },
  { "Setup.Recording$Primary limit",
    "Prim�r-Limit",
    "Osnovna meja",
    "Limite primario",
    "Eerste grens",
    "Limite Prim�rio",
    "Limite primaire",
    "Prioritetsgrense HovedDVB",
    "P��vastaanottimen prioriteetti",
    "Pierwotny limit",
    "L�mite primario",
    "�������� ����",
    "Prim�r gr�ns",
    "Limita Primara",
    "Prim�r-hat�r",
    "L�mit primari",
    "���. ��������� ������� ���. ����������",
  },
  { "Setup.Recording$Default priority",
    "Default Priorit�t",
    "Osnovna prioriteta",
    "Priorita' predefinita",
    "Standaard prioriteit",
    "Prioridade por defeito",
    "Priorit� par d�faut",
    "Normal prioritet (Timer)",
    "Tallenteen oletusprioriteetti",
    "Priorytet pierwotny",
    "Prioridad predefinida",
    "�������������",
    "Normal prioritet",
    "Prioritate implicita",
    "Default priority",
    "Prioritat per defecte",
    "��������� ������� �� ���������",
  },
  { "Setup.Recording$Default lifetime (d)",
    "Default Lebensdauer (d)",
    "Osnovni zivljenski cas (d)",
    "Durata predefinita (gg)",
    "Standaard levensduur (d)",
    "Validade por defeito (d)",
    "Dur�e de vie par d�faut (j)",
    "Normal levetid timer (d)",
    "Tallenteen oletuselinik� (d)",
    "Pierwotna trwalosc (d)",
    "Duraci�n predefinida",
    "�������������� �������� ��������� (������)",
    "Normal livstid (dagar)",
    "Durata predefinita",
    "Default �lettartam",
    "Durada predefinida",
    "���� �������� ������ �� ��������� (�)",
  },
  { "Setup.Recording$Pause priority",
    "Pause Priorit�t",
    "Prioriteta pavze",
    "Priorita' di pausa",
    "Pauze prioriteit",
    "",// TODO
    "Priorit� des pauses",
    "",// TODO
    "Taukotallenteen prioriteetti",
    "Priorytet przerwy",
    "",// TODO
    "������������� ������������",
    "Prioritet f�r direktinspelning",
    "",// TODO
    "Sz�net priorit�s",
    "Prioritat de la pausa",
    "��������� ����������� ���������",
  },
  { "Setup.Recording$Pause lifetime (d)",
    "Pause Lebensdauer (d)",
    "Cas pavze (d)",
    "Durata pausa (gg)",
    "Pauze levensduur (d)",
    "",// TODO
    "Dur�e de vie des pauses (j)",
    "",// TODO
    "Taukotallenteen elinik� (d)",
    "Okres trwania przerwy (d)",
    "",// TODO
    "�������� �����������",
    "Livstid f�r direktinspelning (dagar)",
    "",// TODO
    "Sz�net �lettartama",
    "Durada de la pausa (d)",
    "�������� ����������� ��������� (�)",
  },
  { "Setup.Recording$Use episode name",
    "Episodenname verwenden",
    "Uporabi ime epizode",
    "Utilizza il nome dell'episodio",
    "Gebruik episode naam",
    "Utilizar o nome do epis�dio",
    "Utiliser le nom de l'�pisode",
    "Bruk episodenavn",
    "K�yt� jakson nime�",
    "Czy uzywac nazwe epizodu",
    "Utilizar nombre de episodo",
    "����� �������� ����������",
    "Anv�nd episodnamn",
    "Utilizeaza numele episodului",
    "Epiz�dn�v felhaszn�l�sa",
    "Utilitzar el nom de l'episodi",
    "������������ ����� �� ��������",
  },
  { "Setup.Recording$Use VPS",
    "VPS benutzen",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "K�yt� VPS-toimintoa",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
  },
  { "Setup.Recording$VPS margin (s)",
    "Zeitpuffer bei VPS (s)",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "VPS-toiminnon aloitusmarginaali (s)",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
  },
  { "Setup.Recording$Mark instant recording",
    "Direktaufzeichnung markieren",
    "Oznaci direktno snemanje",
    "Marca la registrazione",
    "Direkte opnamen markeren",
    "Marca de grava��o r�pida",
    "Marquage enregistr. imm�diats",
    "Markere direkteopptak",
    "Merkitse pikatallenne",
    "Zaznaczyc natychm. nagranie",
    "Marcar grabaciones instant�neas",
    "������� ��������� ��������",
    "M�rk direktinspelning",
    "Inregistrare imediata",
    "Direktfelv�tel megjel�l�se",
    "Marcar gravaci� instant�nia",
    "�������� ��������� ������� ������",
  },
  { "Setup.Recording$Name instant recording",
    "Direktaufzeichnung benennen",
    "Ime za direktno snemanje",
    "Nome registrazione istantanea",
    "Naam direkt-opname",
    "Nome de grava��o r�pida",
    "Noms enregistr. imm�diats",
    "Navngi direkteopptak",
    "Nime� pikatallenne",
    "Nazwac natychm. nagranie",
    "Nombrar grabaciones instant�neas",
    "�������� ��������� ��������",
    "Namnge direktinspelning",
    "Nume inregistrare imediata",
    "Direktfelv�tel megnevez�se",
    "Anomenar gravacions instant�nies",
    "����� ���������� ������ �������",
  },
  { "Setup.Recording$Instant rec. time (min)",
    "Dauer der Direktaufzeichnung (min)",
    "Cas direktnega snemanja (min)",
    "Tempo registrazione istantanea (min)",
    "Duur van de directe opname (min)",
    "",//TODO
    "Dur�e enregistr. imm�diat (min)",
    "",//TODO
    "Pikatallennuksen kesto (min)",
    "Dlugosc bezposredniego nagrania (min)",
    "Tiempo de grabaci�n instant�nea (min)",
    "�������� ��������� �������� (�����)",
    "Direktinspelning l�ngd (min)",
    "Timpul de inregistarea imediata (min)",
    "Felv�tel id�tartama",
    "Temps de gravaci� instant�nia (min)",
    "������������ ������ ������ (���)",
  },
  { "Setup.Recording$Record Dolby Digital",
    "Dolby Digital Ton aufzeichnen",
    "Posnemi dolby digital",
    "Registra Dolby Digital",
    "Dolby Digital geluid opnamen",
    "Gravar em Dolby Digital",
    "Enregistrer en Dolby Digital",
    "Ta opp Dolby Digital lyd",
    "Dolby Digital tallennus",
    "Nagrywac Dolby Digital",
    "Grabar sonido Dolby Digital",
    "������� ��� Dolby Digital ����",
    "Spela in ljudet med Dolby Digital",
    "Inregistreaza Dolby Digital",
    "Dolby Digit�l felv�tel",
    "Gravar el so en Dolby Digital",
    "���������� ���� Dolby Digital",
  },
  { "Setup.Recording$Max. video file size (MB)",
    "Max. Video Dateigr��e (MB)",
    "Najvecja velikost datoteke (MB)",
    "Dimensione massima file video (MB)",
    "Maximale omvang video file (MB)",
    "Tamanho m�ximo dos ficheiros (MB)",
    "Taille maxi des fichiers (MB)",
    "Maksimal st�rrelse p� videofiler (MB)",
    "Suurin tiedostokoko (Mt)",
    "Maks. wielkosc pliku (MB)",
    "Tama�o m�x. de fichero (MB)",
    "������� ������� ������� (MB)",
    "Maximal filstorlek f�r inspelning (MB)",
    "Dimensiune maxima a fisierului video (MB)",
    "Max. video File-terjedelem (MB)",
    "Mida m�xima de l'arxiu (MB)",
    "����. ������ ���������� (��)",
  },
  { "Setup.Recording$Split edited files",
    "Editierte Dateien aufteilen",
    "Razdeli urejene datoteke",
    "Dividi i file modificati",
    "Bewerkte files opdelen",
    "Quebrar ficheiros",
    "S�parer les s�quences �dit�es",
    "Splitt redigerte filer",
    "Jaottele muokatut tallenteet",
    "Dzielic montowane pliki",
    "Quebrar ficheros",
    "����������� �������������� �������",
    "Dela upp redigerade filer",
    "Separare fisiere editate",
    "Feldolgozott File-k feloszt�sa",
    "Separar arxius",
    "������ ����������������� �����",
  },
  { "Setup.Replay$Multi speed mode",
    "MultiSpeed Modus",
    "Rezim z vec hitrostmi",
    "Modalita' multispeed",
    "Multi-speed mode",
    "Modo de multi-speed",
    "Mode multi-vitesses",
    "Multispeed modus",
    "Moninopeustila",
    "Tryb wielopredkosciowy",
    "Modo multi-velocidad",
    "������� ��������� ���������",
    "Multispeed mode",
    "Mod multi-rata",
    "MultiSpeed funkci�",
    "Mode de multivelocitat",
    "��������������� �����",
  },
  { "Setup.Replay$Show replay mode",
    "Wiedergabestatus anzeigen",
    "Prikazi rezim predvajanja",
    "Modalita' di visualizz su replay",
    "Weergave mode aangeven",
    "Mostrar modo de replay",
    "Affichage mode de lecture",
    "Vis avspillingsmodus",
    "N�yt� toiston tila",
    "Wyswietlac status odtwarzania",
    "Mostrar modo de replay",
    "������� ���������� ������������",
    "Visa uppspelnings l�ge",
    "Afiseaza modul de redare",
    "Lej�tsz�s felt�ntet�se",
    "Mostrar mode de reproducci�",
    "���������� ����� ���������������", // ???
  },
  { "Setup.Replay$Resume ID",
    "Wiedergabe ID",
    "Predvajalni ID",
    "Resume ID",// TODO
    "Hervattings ID",
    "Resume ID",// TODO
    "ID de reprise",
    "Resume ID",// TODO
    "Tallenteen paluutunniste",
    "ID odtwarzania",
    "Continuar ID",
    "ID ������������",
    "�teruppta ID",
    "Resume ID",// TODO
    "Lej�tsz�s ID",
    "ID de Continuar",
    "ID ���������������", // ???
  },
  { "Setup.Miscellaneous$Min. event timeout (min)",
    "Mindest Event Pause (min)",
    "Najmanjsi cas dogodka (min)",
    "Tempo minimo di pausa (min)", // ??? i don't know...
    "Minimale event time-out (min)",
    "Per�odo m�nimo de pausa (min)",
    "MinEventTimeout (min)",
    "Minste hendelsespause (min)",
    "Tapahtuman odotusaika (min)",
    "Min. czas do nast. akcji (Event) (min)",
    "Tiempo m�nimo pausa (min)",
    "��������� ������ ���������� (�����)",
    "Minsta h�ndelse-pause (min)",
    "MinEventTimeout (min)",
    "Min. esem�ny sz�net (min)",
    "Temps m�nim en pausa (min)",
    "���. ����� �������� ������� (���)",
  },
  { "Setup.Miscellaneous$Min. user inactivity (min)",
    "Mindest Benutzer-Inaktivit�t (min)",
    "Najmanjsi cas neaktivnosti (min)",
    "Tempo minimo di inattivita' (min)",
    "Minimum gebruikers inactiviteit (min)",
    "Per�odo m�nimo de inactividade (min)",
    "Dur�e minimale d'inact. (min)",
    "Minimumstid med inaktivitet (min)",
    "K�ytt�j�toiminnon odotusaika (min)",
    "Min. brak aktywnosci uzytkownika (min)",
    "Tiempo m�nimo inactividad (min)",
    "��������� ������ �������� (�����)",
    "Minsta an�ndar-inaktivitet (min)",
    "Durata minima de inactivitate (min)",
    "Min. kezel�si aktivit�s (min)",
    "Temps m�nim d'inactivitat (min)",
    "���. ����� �������� ����� (���)",
  },
  { "Setup.Miscellaneous$SVDRP timeout (s)",
    "SVDRP Timeout (s)",
    "SVDRP cas neaktivnosti (s)",
    "Timeout SVDRP (s)",
    "SVDRP Timeout (s)",
    "Timeout SVDRP (s)",
    "Temps maxi SVDRP (s)",
    "Ubrukt SVDRP-levetid (s)",
    "SVDRP odotusaika (s)",
    "Min. brak aktywnosci SVDRP (s)",
    "SVDRP Timeout (s)",
    "SVDRP ������� (�)",
    "SVDRP Timeout (d)",
    "Timeout SVDRP (sec)",
    "SVDRP Timeout (s)",
    "SVDRP Timeout (s)",
    "�������� ������ ����. SVDRP (���)",
  },
  { "Setup.Miscellaneous$Zap timeout (s)",
    "Zap Timeout (s)",
    "",// TODO
    "",// TODO
    "Zap timeout (s)",
    "",// TODO
    "",// TODO
    "",// TODO
    "Kanavavalinnan odotusaika (s)",
    "",// TODO
    "",// TODO
    "������� ������� (�)",
    "",// TODO
    "",// TODO
    "",// TODO
    "",// TODO
    "�������� ������������ ������ (���)",
  },
  // The days of the week:
  { "MTWTFSS",
    "MDMDFSS",
    "PTSCPSN",
    "LMMGVSD",
    "MDWDVZZ",
    "STQQSSD",
    "LMMJVSD",
    "MTOTFLS",
    "MTKTPLS",
    "PWSCPSN",
    "LMMJVSD",
    "�������",
    "MTOTFLS",
    "LMMJVSD",
    "HKSCPSV",
    "LMCJVSG",
    "���ǿ��",
  },
  { "MonTueWedThuFriSatSun", // must all be 3 letters!
    "MonDieMitDonFreSamSon",
    "PonTorSreCetPetSobNed",
    "LunMarMerGioVenSabDom",
    "MaaDinWoeDonVryZatZon",
    "SegTerQuaQuiSexSabDom",
    "LunMarMerJeuVenSamDim",
    "ManTirOnsTorFreL�rS�n",
    "Ma Ti Ke To Pe La Su ",
    "PonWtoSroCzwPiaSobNie",
    "LunMarMieJueVieSabDom",
    "������������������K��",
    "M�nTisOnsTorFreL�rS�n",
    "LunMarMieJoiVinSimDum",
    "H�tKedSzeCs�P�nSzoVas",
    "Dl Dm Dc Dj Dv Ds Dg ",
    "��ݲ�������ҿ����Ѳ��",
  },
  // The allowed characters in strings:
  { " abcdefghijklmnopqrstuvwxyz0123456789-.#~",
    " a�bcdefghijklmno�pqrstu�vwxyz0123456789-.#~",
    " abcdefghijklmnopqrstuvwxyz0123456789-.#~",
    " a�bcde��fghi�jklmnopqrstu�vwxyz0123456789-.#~",
    "",// TODO
    "",// TODO
    " a�bc�de���fghi�jklmno�pqrstu��vwxyz0123456789-.#~",
    "",// TODO
    " abcdefghijklmnopqrstuvwxyz���0123456789-.#~",
    " abcdefghijklmnopqrstuvwxyz0123456789-.#~",
    " a�bcde�fghi�jklmn�o�pqrstu�vwxyz0123456789-.#~",
    " ��������������������������������0123456789-.#~abcdefghijklmnopqrstuvwxyz",
    " abcdefghijklmnopqrstuvwxyz���0123456789-.#~",
    " abcdefghijklmnopqrstuvwxyz0123456789-.#~",
    " a�bcde�fghi�jklmno��pqrstu��vwxyz0123456789-.,#~",
    " a�bc�de��fghi�jklmno�pqrstu�vwxyz0123456789-.,#~_�",
    " abcdefghijklmnopqrstuvwxyz��������������������������������0123456789-.#~",
  },
  // Learning keys:
  { "Learning Remote Control Keys (%s)",
    "Fernbedienungs-Codes lernen (%s)",
    "Ucenje kod upravljalca (%s)",
    "Apprendimento tasti unita` remota (%s)",
    "Leren toetsen afstandsbediening (%s)",
    "Aprender as teclas do telecomando (%s)",
    "Apprentissage des codes de t�l�commande (%s)",
    "L�re fjernkontrolltaster (%s)",
    "Kaukos��timen opettaminen (%s)",
    "Nauka kodu pilota (%s)",
    "Aprendiendo teclas del telemando (%s)",
    "�������� �������� ������������� (%s)",
    "Inl�rning av fj�rrkontrollsknappar (%s)",
    "Invatare taste telecomanda (%s)",
    "T�vir�ny�t� betan�t�sa (%s)",
    "Aprenent les tecles del comandament a dist�ncia (%s)",
    "���� ����� ������ ������ (%s)",
  },
  { "Phase 1: Detecting RC code type",
    "Phase 1: FB Code feststellen",
    "Faza 1: Sprejemanje IR kode",
    "Fase 1: tipo ricevitore RC",
    "Fase 1: detecteren type afstandsbediening",
    "Fase 1: detectar tipo de receptor",
    "Phase 1: D�tection du type de code",
    "Fase 1: Finne fjernkontroll-kodetype",
    "Vaihe 1: Koodauksen tunnistaminen",
    "Faza 1: Detekcja typu kodu",
    "Fase 1: Detectando tipo de receptor",
    "���� 1: ��������� ������ RC",
    "Steg1: identifiering av RC kod",
    "Faza 1: Detectie tip telecomanda",
    "Els� l�p�s: t�vir�ny�t� k�dj�nak meghat�roz�sa",
    "Fase 1: Detectant el tipus de receptor",
    "��� 1: ����������� ���� ���� ������",
  },
  { "Press any key on the RC unit",
    "Eine Taste auf der FB dr�cken",
    "Pritisnite tipko na upravljalcu",
    "Premere un tasto dell'unita` RC",
    "Druk op een willekeurige knop",
    "Pressione qualquer tecla do telecomando",
    "Appuyer sur une touche de la t�l�commande",
    "Trykk en av tastene p� fjernkontrollen",
    "Paina mit� tahansa kaukos��timen n�pp�int�",
    "Nacisnac klawisz pilota",
    "Pulse una tecla en el telemando",
    "����� ��� ������� ��� ���������������",
    "Tryck valfri tangent p� fj�rrkontrollen",
    "Apasati o tasta pe telecomanda",
    "Nyomjon meg egy gombot a t�vir�ny�t�n",
    "Premeu qualsevol tecla del comandament",
    "������� ����� ������ �� ������",
  },
  { "RC code detected!",
    "FB Code erkannt!",
    "IR koda sprejeta!",
    "Codice RC rilevato!",
    "Afstandsbediening code herkend!",
    "C�digo do telecomando detectado!",
    "Code de la t�l�commande d�tect�!",
    "Fjernkontroll-kodetype funnet!",
    "N�pp�inpainallus vastaanotettu!",
    "Kod pilota zostal poznany!",
    "�C�digo detectado!",
    "������� ������� RC!",
    "RC koden detekterad!",
    "S-a detectat tipul telecomenzii!",
    "T�vir�ny�t� k�dja felismerve!",
    "Codi detectat!",
    "��������� ��� ������!",
  },
  { "Do not press any key...",
    "Keine Taste dr�cken...",
    "Ne pritiskajte tipk...",
    "Non premere alcun tasto...",
    "Druk niet op een knop...",
    "N�o pressione nada...",
    "N'appuyer sur aucune touche ...",
    "Ikke trykk p� noen av tastene...",
    "�l� paina kaukos��timen n�pp�imi�...",
    "Nie naciskac klawiszy...",
    "No pulse ninguna tecla...",
    "��� ������� �������...",
    "Tryck inte p� n�gon knapp...",
    "Nu apasati nicio tasta...",
    "Ne nyomjon meg gombot...",
    "No premeu cap tecla...",
    "�� ��������� ������...",
  },
  { "Phase 2: Learning specific key codes",
    "Phase 2: Einzelne Tastencodes lernen",
    "Faza 2: Ucenje posebnih kod",
    "Fase 2: Codici specifici dei tasti",
    "Fase 2: Leren specifieke toets-codes",
    "Fase 2: A aprender c�digos especificos",
    "Phase 2: Apprentissage des codes des touches",
    "Fase 2: L�re spesifikke tastekoder",
    "Vaihe 2: N�pp�inkoodien opettelu",
    "Faza 2: Nauka pojedynczych klawiszy",
    "Fase 2: Aprendiendo c�digos espec�ficos",
    "���� 2: �������� ����������� ��������",
    "Fas 2: Inl�rning av specifika knapp koder",
    "Faza 2: Invatarea codurilor specifice tastelor",
    "M�sodik l�p�s: az egyes gombok betan�t�sa",
    "Fase 2: Aprenentantge de les funcions",
    "��� 2: ������� ����� ��������� ������",
  },
  { "Press key for '%s'",
    "Taste f�r '%s' dr�cken",
    "Pritisnite tipko za '%s'",
    "Premere il tasto per '%s'",
    "Druk knop voor '%s'",
    "Pressione tecla para '%s'",
    "Appuyer sur la touche '%s'",
    "Trykk tasten for '%s'",
    "Paina n�pp�int� toiminnolle '%s'",
    "Nacisnac klawisz dla '%s'",
    "Pulsar tecla para '%s'",
    "����� �� ������� ��� '%s'",
    "Tryck p� knappen f�r '%s'",
    "Apasati tasta pentru '%s'",
    "'%s' gomb megnyom�sa",
    "Premeu una tecla per '%s'",
    "������� ������ '%s'",
  },
  { "Press 'Up' to confirm",
    "'Auf' dr�cken zum Best�tigen",
    "Pritisnite tipko 'Gor' za potrditev",
    "Premere 'Su' per confermare",
    "Druk 'Omhoog' om te bevestigen",
    "Pressione 'Cima' para confirmar",
    "Appuyer sur 'Haut' pour confirmer",
    "Trykk 'Opp' for � bekrefte",
    "Hyv�ksy painamalla 'Yl�s'",
    "Nacisnac 'Gora' do potwierdzenia",
    "Pulse 'Arriba' para confirmar",
    "����� '����' ��� �������",
    "Tryck 'Upp' f�r att bekr�fta",
    "Apsati 'Sus' pentru confirmare",
    "'Fel' megnyom�sa az elfogad�shoz",
    "Premeu 'Amunt' per confirmar",
    "������� '�����' ����� �����������",
  },
  { "Press 'Down' to continue",
    "'Ab' dr�cken zum Weitermachen",
    "Pritisnite tipko 'Dol' za nadaljevanje",
    "Premere 'Giu' per continuare",
    "Druk 'Omlaag' om verder te gaan",
    "Pressione 'Baixo' para continuar",
    "Appuyer sur 'Bas' pour continuer",
    "Trykk Ned' for � fortsette",
    "Jatka painamalla 'Alas'",
    "Nacisnac 'Dol' zeby kontynuowac",
    "Pulse 'Abajo' para confirmar",
    "����� '����' ��� ��������",
    "Tryck 'Ner' f�r att bekr�fta",
    "Apasati jos pentru continuare",
    "'Le' megnyom�sa a folytat�shoz",
    "Premeu 'Avall' per continuar",
    "������� '����' ����� ����������",
  },
  { "(press 'Up' to go back)",
    "('Auf' dr�cken um zur�ckzugehen)",
    "(pritisnite 'Gor' za nazaj)",
    "(premere 'Su' per tornare indietro)",
    "(druk 'Omhoog' om terug te gaan)",
    "(Pressione 'Cima' para voltar)",
    "(Appuyer sur 'Haut' pour revenir en arri�re)",
    "(trykk 'Opp' for � g� tilbake)",
    "(palaa takaisin painamalla 'Yl�s')",
    "(Nacisnac 'Gora' cofa)",
    "(Pulse 'Arriba' para retornar)",
    "(����� '����' ��� ���������",
    "(Tryck 'Upp' f�r att backa)",
    "(Apsati 'Sus' pentru revenire)",
    "(�Fel' megnyom�sa a visszat�r�shez)",
    "(Premeu 'Amunt' per retornar)",
    "(������� '�����' ����� ���������)",
  },
  { "(press 'Down' to end key definition)",
    "('Ab' dr�cken zum Beenden)",
    "(pritisnite 'Dol' za konec)",
    "('Giu' per finire la definizione tasti)",
    "(Druk 'Omlaag' om te beeindigen)",
    "(Pressione 'Baixo' para terminar a defini��o)",
    "(Appuyer sur 'Bas' pour terminer)",
    "(trykk 'Ned' for � avslutte innl�ring)",
    "(lopeta opettaminen painamalla 'Alas')",
    "(Nacisnac 'Dol' by zakonczyc)",
    "(Pulse 'Abajo' para terminar programaci�n teclas)",
    "(����� '����' ��� ���������� �������� ��������)",
    "(Tryck 'Ner' f�r att avsluta knapp definition)",
    "(Apasati 'Jos' pentru terminare)",
    "('Le' megnyom�sa a befejez�shez)",
    "(Premeu 'Avall' per finalitzar l'aprenentatge)",
    "(������� '����' ����� ��������� ��������� ������)",
  },
  { "(press 'Menu' to skip this key)",
    "('Men�' dr�cken zum �berspringen)",
    "pritisnite 'Meni' za preskok te tipke",
    "(premere 'Menu' per saltare questo tasto)",
    "Druk 'Menu' om deze toets over te slaan",
    "",// TODO
    "('Menu' pour passer cette touche)",
    "",// TODO
    "n�pp�imen puuttuessa paina 'Valikko'",
    "(Nacisnac 'Menu' by ominac klawisz)",
    "Pulse 'Menu' para saltarse esta tecla",
    "���� '�����' ��� ���������� ����� ��� ��������",
    "Tryck 'Meny' f�r att hoppa �ver denna knapp.",
    "",// TODO
    "A Men� gombot nyomni ennek a gombnak a kihagy�s�hoz",
    "Premeu 'Men�' per obviar aquesta tecla",
    "(������� '����' ����� ���������� ������)",
  },
  { "Phase 3: Saving key codes",
    "Phase 3: Codes abspeichern",
    "Faza 3: Shranjevanje kod tipk",
    "Fase 3: Salvataggio codici tasti",
    "Fase 3: Opslaan toets codes",
    "Fase 3: A salvar os c�digos das teclas",
    "Phase 3: Sauvegarde des codes des touches",
    "Fase 3: Lagre tastekoder",
    "Vaihe 3: N�pp�inkoodien tallentaminen",
    "Faza 3: Zapamietac Kod",
    "Fase 3: Guardar c�digos de teclas",
    "���� 3: ���������� �������",
    "Fas 3: Spara knappkoder",
    "Faza 3: Salvarea codurilor de taste",
    "Harmadik l�p�s: k�d ment�se",
    "Fase 3: Guardant els codis de les tecles",
    "��� 3: ����������� ����� ������",
  },
  { "Press 'Up' to save, 'Down' to cancel",
    "'Auf' speichert, 'Ab' bricht ab",
    "'Gor' za potrditev, 'Dol' za prekinitev",
    "'Su' per salvare, 'Giu' per annullare",
    "'Omhoog' te bewaren, 'Omlaag' voor annuleren",
    "'Cima' para Salvar, 'Baixo' para Cancelar",
    "Appuyer sur 'Haut' pour sauvegarder, 'Bas' pour annuler",
    "Trykk 'Opp' for � lagre, 'Ned' for � avbryte",
    "Paina 'Yl�s' tallentaaksesi ja 'Alas' peruuttaaksesi",
    "'Gora' zapamietuje, 'Dol' przerywa",
    "Pulse 'Arriba' para guardar, 'Abajo' para anular",
    "'����' ����������, '����' �������",
    "Tryck 'Upp' f�r att spara, 'Ner' f�r att avsluta",
    "Apsati 'Sus' pentru salvare, 'Jos' pentru anulare",
    "'Fel' ment�s, 'Le� m�gse",
    "Premeu 'Amunt' per guardar, 'Avall' per anul�lar",
    "������� '�����' ����� ���������, '����' ����� ����������",
  },
  // Key names:
  { "Up",
    "Auf",
    "Gor",
    "Su",
    "Omhoog",
    "Cima",
    "Haut",
    "Opp",
    "Yl�s",
    "Gora",
    "Arriba",
    "����",
    "Upp",
    "Sus",
    "Fel",
    "Amunt",
    "�����",
  },
  { "Down",
    "Ab",
    "Dol",
    "Giu",
    "Omlaag",
    "Baixo",
    "Bas",
    "Ned",
    "Alas",
    "Dol",
    "Abajo",
    "����",
    "Ner",
    "Jos",
    "Le",
    "Avall",
    "����",
  },
  { "Menu",
    "Men�",
    "Meni",
    "Menu",
    "Menu",
    "Menu",
    "Menu",
    "Meny",
    "Valikko",
    "Menu",
    "Menu",
    "�����",
    "Meny",
    "Meniu",
    "Men�",
    "Men�",
    "����",
  },
  { "Ok",
    "Ok",
    "Ok",
    "Ok",
    "Ok",
    "Ok",
    "Ok",
    "Ok",
    "Ok",
    "Ok",
    "Ok",
    "��",
    "Ok",
    "Ok",
    "Ok",
    "D'acord",
    "Ok",
  },
  { "Back",
    "Zur�ck",
    "Nazaj",
    "Indietro",
    "Terug",
    "Voltar",
    "Retour",
    "Tilbake",
    "Takaisin",
    "Wstecz",
    "Retornar",
    "����",
    "Tillbaka",
    "Inapoi",
    "Vissza",
    "Retornar",
    "�����",
  },
  { "Left",
    "Links",
    "Levo",
    "Sinistra",
    "Links",
    "Esquerda",
    "Gauche",
    "Venstre",
    "Vasemmalle",
    "Lewo",
    "Izquierda",
    "��������",
    "V�nster",
    "Stinga",
    "Balra",
    "Esquerra",
    "������",
  },
  { "Right",
    "Rechts",
    "Desno",
    "Destra",
    "Rechts",
    "Direita",
    "Droite",
    "H�yre",
    "Oikealle",
    "Prawo",
    "Derecha",
    "�����",
    "H�ger",
    "Dreapta",
    "Jobbra",
    "Dreta",
    "�������",
  },
  { "Red",
    "Rot",
    "Rdeca",
    "Rosso",
    "Rood",
    "Vermelho",
    "Rouge",
    "R�d",
    "Punainen",
    "Czerwony",
    "Rojo",
    "�������",
    "R�d",
    "Rosu",
    "Piros",
    "Vermell",
    "�������",
  },
  { "Green",
    "Gr�n",
    "Zelena",
    "Verde",
    "Groen",
    "Verde",
    "Vert",
    "Gr�nn",
    "Vihre�",
    "Zielony",
    "Verde",
    "�������",
    "Gr�n",
    "Verde",
    "Z�ld",
    "Verd",
    "�������",
  },
  { "Yellow",
    "Gelb",
    "Rumena",
    "Giallo",
    "Geel",
    "Amarelo",
    "Jaune",
    "Gul",
    "Keltainen",
    "Zolty",
    "Amarillo",
    "�������",
    "Gul",
    "Galben",
    "S�rga",
    "Groc",
    "������",
  },
  { "Blue",
    "Blau",
    "Modra",
    "Blu",
    "Blauw",
    "Azul",
    "Bleu",
    "Bl�",
    "Sininen",
    "Niebieski",
    "Azul",
    "����",
    "Bl�",
    "Albastru",
    "K�k",
    "Blau",
    "�����",
  },
  { "Play",
    "Wiedergabe",
    "Predvajaj",
    "Riproduci",
    "Weergeven",
    "",// TODO
    "Lecture",
    "",// TODO
    "Toista",
    "Odtworzenie",
    "Reproducir",
    "A����������",
    "Spela upp",
    "",// TODO
    "Lej�tsz�s",
    "Reproduir",
    "���������������",
  },
  { "Pause",
    "Pause",
    "Pavza",
    "Pausa",
    "Pauze",
    "",// TODO
    "Pause",
    "",// TODO
    "Tauko",
    "Przerwa",
    "Pausa",
    "���������",
    "Pausa",
    "",// TODO
    "Sz�net",
    "Pausa",
    "�����",
  },
  { "Stop",
    "Stop",
    "Ustavi",
    "Stop",
    "Stop",
    "Stop",
    "Stop",
    "",// TODO
    "Lopeta",
    "Stop",
    "Parar",
    "T����",
    "Stoppa",
    "",// TODO
    "Stop",
    "Aturar",
    "����",
  },
  { "Record",
    "Aufnehmen",
    "Snemaj",
    "Registra",
    "Opnemen",
    "",// TODO
    "Enregistrement",
    "",// TODO
    "Tallenna",
    "Nagrywac",
    "Grabar",
    "E������",
    "Spela in",
    "",// TODO
    "Felvenni",
    "Gravar",
    "������",
  },
  { "FastFwd",
    "Vorlauf",
    "Hitro naprej",
    "Avanti Veloce",
    "Vooruitspoelen",
    "",// TODO
    "Avance rapide",
    "",// TODO
    "Pikakelaus >>",
    "Naprzod",
    "Adelante r�pido",
    "�������� ������",
    "Snabbspolning fram�t",
    "",// TODO
    "El�re p�rgetni",
    "Endavant r�pidament",
    "������",
  },
  { "FastRew",
    "R�cklauf",
    "Hitro nazaj",
    "Indietro Veloce",
    "Terugspoelen",
    "",// TODO
    "Retour rapide",
    "",// TODO
    "Pikakelaus <<",
    "Wstecz",
    "Atr�s r�pido",
    "�������� ����",
    "Snabbspolning bak�t",
    "",// TODO
    "Vissza p�rgetni",
    "Enrera r�pidament",
    "�����",
  },
  { "Power",
    "Ausschalten",
    "Izklop",
    "Power",
    "Uitschakelen",
    "Ligar",
    "Veille", // This one caused some bug reports ;)
    "Power",
    "Virtakytkin",
    "Wylaczyc",
    "Corriente",
    "K�������",
    "P�/Av",
    "Pornit",
    "Kikapcsolni",
    "Aturar",
    "���������",
  },
  { "Channel+",
    "Kanal+",
    "Kanal+",
    "Canale +",
    "Kanaal+",
    "",// TODO
    "Cha�ne+",
    "",// TODO
    "Kanava +",
    "Kanal+",
    "Canal +",
    "������+",
    "Kanal+",
    "",// TODO
    "Csatorna+",
    "Canal +",
    "����� +",
  },
  { "Channel-",
    "Kanal-",
    "Kanal-",
    "Canale -",
    "Kanaal-",
    "",// TODO
    "Cha�ne-",
    "",// TODO
    "Kanava -",
    "Kanal-",
    "Canal -",
    "������-",
    "Kanal-",
    "",// TODO
    "Csatorna-",
    "Canal -",
    "����� -",
  },
  { "Volume+",
    "Lautst�rke+",
    "Glasnost+",
    "Volume +",
    "Volume+",
    "Volume+",
    "Volume+",
    "Volum+",
    "��nenvoimakkuus +",
    "Glosnej",
    "Volumen+",
    "������+",
    "Volym+",
    "Volum+",
    "Hanger�+",
    "Volum +",
    "��������� +",
  },
  { "Volume-",
    "Lautst�rke-",
    "Glasnost-",
    "Volume -",
    "Volume-",
    "Volume-",
    "Volume-",
    "Volum-",
    "��nenvoimakkuus -",
    "Ciszej",
    "Volumen-",
    "������-",
    "Volym-",
    "Volum-",
    "Hanger�-",
    "Volum -",
    "��������� -",
  },
  { "Mute",
    "Stumm",
    "Izklop zvoka",
    "Mute",
    "Geluid onderbreken",
    "Sem som",
    "Coupure du son",
    "Lyd av",
    "��net�n",
    "Cisza",
    "Mudo",
    "�������",
    "Ljud Av",
    "Mut(e)",
    "Csend",
    "En silenci",
    "��������� ����",
  },
  // Miscellaneous:
  { "yes",
    "ja",
    "da",
    "si",
    "ja",
    "sim",
    "oui",
    "ja",
    "kyll�",
    "tak",
    "s�",
    "���",
    "ja",
    "da",
    "igen",
    "s�",
    "��",
  },
  { "no",
    "nein",
    "ne",
    "no",
    "nee",
    "n�o",
    "non",
    "nei",
    "ei",
    "nie",
    "no",
    "���",
    "nej",
    "nu",
    "nem",
    "no",
    "���",
  },
  { "off",
    "aus",
    "izklop",
    "off",
    "uit",
    "off",
    "",// TODO
    "",// TODO
    "pois",
    "wyl.",
    "off",
    "�������",
    "av",
    "",// TODO
    "ki",
    "off",
    "����",
  },
  { "none",
    "keine",
    "nobeden",
    "nessuno",
    "geen",
    "",// TODO
    "aucun",
    "",// TODO
    "tyhj�",
    "zaden",
    "ninguno",
    "������",
    "ingen",
    "",// TODO
    "semmi",
    "cap",
    "������",
  },
  { "auto",
    "auto",
    "avtomatsko",
    "auto",
    "auto",
    "",// TODO
    "auto",
    "",// TODO
    "auto",
    "auto",
    "auto",
    "��������",
    "automatisk",
    "",// TODO
    "auto",
    "auto",
    "����",
  },
  { "top",
    "oben",
    "zgoraj",
    "limite sup",
    "boven",
    "topo",
    "haut",
    "�vre",
    "yl�reuna",
    "gora",
    "parte superior",
    "����",
    "�vre",
    "sus",
    "Fent",
    "a dalt",
    "������",
  },
  { "bottom",
    "unten",
    "spodaj",
    "limite inf",
    "onder",
    "fundo",
    "bas",
    "nedre",
    "alareuna",
    "dol",
    "parte inferior",
    "����",
    "undre",
    "jos",
    "lent",
    "a baix",
    "�����",
  },
  { "Disk",
    "Disk",
    "Disk",
    "Disco",
    "Disk",
    "Disk",
    "Disque",
    "Disk",
    "Levy",
    "Disk",
    "Disco",
    "������",
    "Disk",
    "Disc",
    "Lemez",
    "Disc",
    "����",
  },
  { "free",
    "frei",
    "prosto",
    "liberi",
    "vrij",
    "livre",
    "restant",
    "ledig",
    "vapaana",
    "pozostalo",
    "libre",
    "����",
    "ledigt",
    "liber",
    "szabad",
    "lliure",
    "��������",
  },
  { "Jump: ", // note the trailing blank
    "Springen: ",
    "Skoci: ",
    "Vai a: ",
    "Springen: ",
    "Saltar: ",
    "Acc�s direct: ",
    "Hopp: ",
    "Siirry: ",
    "Skok: ",
    "Salta a: ",
    "����������: ",
    "Hopp: ",
    "Salt: ",
    "Ugr�s: ",
    "Salta a:",
    "�������: ",
  },
  { "Volume ", // note the trailing blank
    "Lautst�rke ",
    "Glasnost ",
    "Volume ",
    "Volume ",
    "Volume ",
    "Volume ",
    "Volum ",
    "��nenvoimakkuus ",
    "Glosnosc ",
    "Volumen ",
    "������ ",
    "Volym ",
    "Volum ",
    "Hanger� ",
    "Volum ",
    "��������� ",
  },
  { " Stop replaying", // note the leading blank!
    " Wiedergabe beenden",
    " Prekini ponavljanje",
    " Interrompi riproduzione",
    " Stop afspelen",
    " Parar reprodu��o",
    " Arr�ter la lecture",
    " Stopp avspilling",
    " Lopeta toisto",
    " Zatrzymac odtwarzanie",
    " Parar reproduci�n",
    " ����� ������������",
    " Avsluta uppspelning",
    " Opreste redare",
    " Lej�tsz�st befejzni",
    " Aturar la reproducci�",
    " ���������� ���������������",
  },
  { " Stop recording ", // note the leading and trailing blanks!
    " Aufzeichnung beenden ",
    " Prekini snemanje ",
    " Interrompi registrazione ",
    " Stop opnemen ",
    " Parar grava��o ",
    " Arr�ter l'enregistrement ",
    " Stopp opptak fra ",
    " Lopeta tallennus ",
    " Zatrzymac nagrywanie ",
    " Parar grabaci�n ",
    " ����� ������� ",
    " Avsluta inspelning ",
    " Opreste inregistrarea ",
    " Felv�telt befejezni ",
    " Aturar la gravaci� ",
    " ���������� ������ ",
  },
  { " Cancel editing", // note the leading blank!
    " Schneiden abbrechen",
    " Prekini urejanje",
    " Annulla modifiche",
    " Bewerken afbreken",
    " Anular modifica��o",
    " Annuler le montage",
    " Avbryt redigering",
    " Peru muokkaus",
    " Przerwac montaz",
    " Anular modificaci�n ",
    " ������� ������������",
    " Avbryt redigering",
    " Opreste editare",
    " V�g�st megszak�tani",
    " Cancel�lar l'edici� ",
    " �������� ������ ������",
  },
  { "Switching primary DVB...",
    "Prim�res Interface wird umgeschaltet...",
    "Preklapljanje primarne naprave...",
    "Cambio su card DVB primaria...",
    "Eerste DVB-kaart wordt omgeschakeld...",
    "A mudar interface DVB prim�rio...",
    "Changement de carte DVB primaire...",
    "Bytter f�rste DVB-enhet...",
    "Vaihdetaan p��vastaanottimelle...",
    "Pierwszy interfejs DVB przelacza...",
    "Cambio al interface DVB primario...",
    "� ����� DVB ����� �������...",
    "Byter prim�r DVB enhet...",
    "Comuta interfata primara DVB...",
    "Prim�r Interface �tkapcsolva...",
    "Canviant a la interf�cie DVB prim�ria...",
    "����� ��������� DVB-����������...",
  },
  { "Up/Dn for new location - OK to move",
    "Auf/Ab f�r neue Position - dann OK",
    "Gor/Dol za novo poz. - Ok za premik",
    "Su/Giu per nuova posizione - OK per muovere",
    "Gebruik Omhoog/Omlaag - daarna Ok",
    "Cima/Baixo para nova localiza��o - Ok para mover",
    "Haut/Bas -> nouvelle place - OK -> d�placer",
    "Opp/Ned for ny plass - OK for � flytte",
    "'Yl�s/Alas' uusi paikka - 'OK' hyv�ksy",
    "Gora/Dol na nowa pozycje - Ok zmienia",
    "Arriba/Abajo para el nuevo lugar - OK para mover",
    "����/���� ��� ��� ����. ���� ��",
    "Upp/Ner f�r ny plats - OK f�r att flytta",
    "Sus/Jos pentru noua locatie - OK pentru a muta",
    "Fel/Le egy uj opci��rt - azt�n OK",
    "Amunt/Avall per una nova localitzaci� - OK per moure",
    "��������� \"�����\"/\"����\" ��� ������ �������, � ����� \"OK\"",
  },
  { "Editing process started",
    "Schnitt gestartet",
    "Urejanje se je zacelo",
    "Processo di modifica iniziato",
    "Bewerken is gestart",
    "Processo de modifica��o iniciado",
    "Op�ration de montage lanc�e",
    "Redigeringsprosess startet",
    "Muokkaus aloitettu",
    "Uruchomiony proces montazu",
    "Proceso modificaci�n iniciado",
    "���� ������������",
    "Redigering startad",
    "Procesul de editare a inceput",
    "V�g�s elind�tva",
    "Proc�s d'edici� iniciat",
    "����� ������ ������",
  },
  { "Editing process finished",
    "Schnitt beendet",
    "Proces urejanja je koncan",
    "Processo di modifica terminato",
    "Bewerken is klaar",
    "Processo de modifica��o terminado",
    "Montage termin�",
    "Redigeringsprosess avsluttet",
    "Muokkaus valmis",
    "Proces montazu zakonczony",
    "Proceso de modificaci�n terminado",
    "� ����������� ��������",
    "Redigering avslutad",
    "Procesul de editare s-a terminat",
    "V�g�s befejezve",
    "Proc�s d'edici� finalitzat",
    "������ �������",
  },
  { "Editing process failed!",
    "Schnitt gescheitert!",
    "Napaka pri procesu urejenja!",
    "Processo di modifica fallito!",
    "Bewerken is mislukt!",
    "Falha no processo de modifica��o",
    "Echec du montage!",
    "Feil under redigering!",
    "Muokkaus ep�onnistui!",
    "Bledny proces montazu!",
    "Modificaci�n ha fallado!",
    "� ����������� �������!",
    "Redigeringsprocessen misslyckades",
    "Proces de editare nereusit",
    "V�g�s sikertelen!",
    "Proc�s d'edici� fallit!",
    "������ �� ����� ������� ������!",
  },
  { "scanning recordings...",
    "Aufzeichnungen werden durchsucht...",
    "iskanje posnetkov...",
    "scansione registrazioni...",
    "Doorzoeken opnames...",
    "A pesquisar grava��es...",
    "Recherche des enregistrements...",
    "G�r igjennom opptakene...",
    "haetaan tallenteita...",
    "Skan nagran...",
    "buscando grabaciones...",
    "������� ��������...",
    "S�ker igenom inspelningarna...",
    "Caut inregistrari...",
    "Felvett ad�sok b�ng�sz�se...",
    "cercant gravacions...",
    "������������ �������...",
  },
  { "Pausing live video...",
    "Live-Signal wird angehalten...",
    "Ustavljanje predvajanja v zivo...",
    "Pausa del canale in visione...",
    "Pauzeren live uitzending...",
    "",// TODO
    "Pause de l'�mission en direct...",
    "",// TODO
    "Pys�ytet��n l�hetys...",
    "Zatrzymany program biezacy...",
    "Emisi�n en directo parada...",
    "��������� �������� �������",
    "Pausar direktinspelningen",
    "",// TODO
    "Az �l� ad�s meg�ll�tva...",
    "Pausa d'emissi� en directe...",
    "����� ����������� ���������...",
  },
  { "This plugin has no setup parameters!",
    "Dieses Plugin hat keine Setup-Parameter!",
    "Ta plugin nima nastavitvenih parametrov!",
    "Questo plugin non ha parametri di setup!",
    "Deze plugin heeft geen instelparameters",
    "",// TODO
    "Ce plugin n'a pas de param�tres!",
    "",// TODO
    "T�ll� laajennoksella ei ole asetuksia!",
    "Ten plugin niema parametrow!",
    "Este plugin no admite configuraci�n",
    "���� �� ����� ��� ���� �����������",
    "Den h�r modulen har inga parametrar",
    "",// TODO
    "Ennek a plugin-nak nincs setup-parametere!",
    "Aquest plugin no admet configuraci�!",
    "������ �� ����� ���������� ���������!",
   },
  { NULL }
  };

// --- cI18nEntry ------------------------------------------------------------

class cI18nEntry : public cListObject {
private:
  const tI18nPhrase *phrases;
  const char *plugin;
public:
  cI18nEntry(const tI18nPhrase * const Phrases, const char *Plugin);
  const tI18nPhrase *Phrases(void) { return phrases; }
  const char *Plugin(void) { return plugin; }
  };

cI18nEntry::cI18nEntry(const tI18nPhrase * const Phrases, const char *Plugin)
{
  phrases = Phrases;
  plugin = Plugin;
}

// --- cI18nList -------------------------------------------------------------

class cI18nList : public cList<cI18nEntry> {
public:
  cI18nEntry *Get(const char *Plugin);
  const tI18nPhrase *GetPhrases(const char *Plugin);
  };

cI18nEntry *cI18nList::Get(const char *Plugin)
{
  if (Plugin) {
     for (cI18nEntry *p = First(); p; p = Next(p)) {
         if (strcmp(p->Plugin(), Plugin) == 0)
            return p;
         }
     }
  return NULL;
}

const tI18nPhrase *cI18nList::GetPhrases(const char *Plugin)
{
  cI18nEntry *p = Get(Plugin);
  return p ? p->Phrases() : NULL;
}

cI18nList I18nList;

// ---

void I18nRegister(const tI18nPhrase * const Phrases, const char *Plugin)
{
  cI18nEntry *p = I18nList.Get(Plugin);
  if (p)
     I18nList.Del(p);
  if (Phrases)
     I18nList.Add(new cI18nEntry(Phrases, Plugin));
}

const char *I18nTranslate(const char *s, const char *Plugin)
{
  if (Setup.OSDLanguage) {
     const tI18nPhrase *p = Plugin ? I18nList.GetPhrases(Plugin) : Phrases;
     if (!p)
        p = Phrases;
     for (int i = ((p == Phrases) ? 1 : 2); i--; ) {
         for (; **p; p++) {
             if (strcmp(s, **p) == 0) {
                const char *t = (*p)[Setup.OSDLanguage];
                if (t && *t)
                   return t;
                }
             }
         p = Phrases;
         }
     esyslog("%s%sno translation found for '%s' in language %d (%s)\n", Plugin ? Plugin : "", Plugin ? ": " : "", s, Setup.OSDLanguage, Phrases[0][Setup.OSDLanguage]);
     }
  const char *p = strchr(s, '$');
  return p ? p + 1 : s;
}

const char * const * I18nLanguages(void)
{
  return &Phrases[0][0];
}

const char * const * I18nCharSets(void)
{
  return &Phrases[1][0];
}

const char * I18nLanguageCode(int Index)
{
  return 0 <= Index && Index < I18nNumLanguages ? Phrases[2][Index] : NULL;
}

int I18nLanguageIndex(const char *Code)
{
  for (int i = 0; i < I18nNumLanguages; i++) {
      if (strcasestr(Phrases[2][i], Code))
         return i;
      }
  //dsyslog("unknown language code: '%s'", Code);
  return -1;
}

const char *I18nNormalizeLanguageCode(const char *Code)
{
  int n = I18nLanguageIndex(Code);
  return n >= 0 ? I18nLanguageCode(n) : Code;
}

bool I18nIsPreferredLanguage(int *PreferredLanguages, int LanguageIndex, int &OldPreference)
{
  for (int i = 0; i < I18nNumLanguages; i++) {
      if (PreferredLanguages[i] < 0)
         break; // the language is not a preferred one
      if (PreferredLanguages[i] == LanguageIndex) {
         if (OldPreference < 0 || i < OldPreference) {
            OldPreference = i;
            return true;
            }
         break;
         }
      }
  if (OldPreference < 0) {
     OldPreference = I18nNumLanguages; // higher than the maximum possible value
     return true; // if we don't find a preferred one, we take the first one
     }
  return false;
}