mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
1449 lines
28 KiB
C
1449 lines
28 KiB
C
/*
|
|
* i18n.c: Internationalization
|
|
*
|
|
* See the main source file 'vdr.c' for copyright information and
|
|
* how to reach the author.
|
|
*
|
|
* $Id: i18n.c 1.50 2002/01/27 15:52:32 kls Exp $
|
|
*
|
|
* Slovenian translations provided by Miha Setina <mihasetina@softhome.net>
|
|
* Italian translations provided by Alberto Carraro <bertocar@tin.it>
|
|
* Dutch translations provided by Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>
|
|
* Portugese translations provided by Paulo Manuel Martins Lopes <pmml@netvita.pt>
|
|
* French translations provided by Jean-Claude Repetto <jc@repetto.org>
|
|
* Norwegian translations provided by Jørgen Tvedt <pjtvedt@online.no>
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* How to add a new language:
|
|
*
|
|
* 1. Announce your translation action on the Linux-DVB mailing
|
|
* list to avoid duplicate work.
|
|
* 2. Increase the value of 'NumLanguages'.
|
|
* 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. Compile VDR and test the new language by switching to it
|
|
* in the "Setup" menu.
|
|
* 5. Send the modified 'i18n.c' file to <kls@cadsoft.de> to have
|
|
* it included in the next version of VDR.
|
|
*/
|
|
|
|
#include "i18n.h"
|
|
#include <stdio.h>
|
|
#include "config.h"
|
|
#include "tools.h"
|
|
|
|
const int NumLanguages = 8;
|
|
|
|
typedef const char *tPhrase[NumLanguages];
|
|
|
|
const tPhrase Phrases[] = {
|
|
// The name of the language (this MUST be the first phrase!):
|
|
{ "English",
|
|
"Deutsch",
|
|
"Slovenski",
|
|
"Italiano",
|
|
"Nederlands",
|
|
"Portugues",
|
|
"Français",
|
|
"Norsk",
|
|
},
|
|
// Menu titles:
|
|
{ "Main",
|
|
"Hauptmenü",
|
|
"Glavni meni",
|
|
"Principale",
|
|
"Hoofdmenu",
|
|
"Principal",
|
|
"Menu",
|
|
"Hovedmeny",
|
|
},
|
|
{ "Schedule",
|
|
"Programm",
|
|
"Urnik",
|
|
"Programmi",
|
|
"Gids",
|
|
"Programa",
|
|
"Programmes",
|
|
"Programmer",
|
|
},
|
|
{ "Channels",
|
|
"Kanäle",
|
|
"Kanali",
|
|
"Canali",
|
|
"Kanalen",
|
|
"Canal",
|
|
"Chaînes",
|
|
"Kanaler",
|
|
},
|
|
{ "Timers",
|
|
"Timer",
|
|
"Termini",
|
|
"Timer",
|
|
"Timers",
|
|
"Alarmes",
|
|
"Programmation",
|
|
"Timer",
|
|
},
|
|
{ "Recordings",
|
|
"Aufzeichnungen",
|
|
"Posnetki",
|
|
"Registrazioni",
|
|
"Opnames",
|
|
"Gravacoes",
|
|
"Enregistrements",
|
|
"Opptak",
|
|
},
|
|
{ "DVD",
|
|
"DVD",
|
|
"DVD",
|
|
"DVD",
|
|
"DVD",
|
|
"DVD",
|
|
"DVD",
|
|
"DVD",
|
|
},
|
|
{ "Setup",
|
|
"Einstellungen",
|
|
"Nastavitve",
|
|
"Opzioni",
|
|
"Instellingen",
|
|
"Configurar",
|
|
"Configuration",
|
|
"Konfigurasjon",
|
|
},
|
|
{ "Commands",
|
|
"Befehle",
|
|
"Ukazi",
|
|
"Comandi",
|
|
"Commando's",
|
|
"Comandos",
|
|
"Commandes",
|
|
"Kommandoer",
|
|
},
|
|
{ "Edit Channel",
|
|
"Kanal Editieren",
|
|
"Uredi kanal",
|
|
"Modifica canale",
|
|
"Kanaal aanpassen",
|
|
"Modificar Canal",
|
|
"Modifier une chaîne",
|
|
"Editer Kanal",
|
|
},
|
|
{ "Edit Timer",
|
|
"Timer Editieren",
|
|
"Uredi termin",
|
|
"Modifica Timer",
|
|
"Timer veranderen",
|
|
"Modificar Alarme",
|
|
"Changer la programmation",
|
|
"Editer Timer",
|
|
},
|
|
{ "Event",
|
|
"Sendung",
|
|
"Oddaja",
|
|
"Eventi",
|
|
"Uitzending",
|
|
"Evento",
|
|
"Evénement",
|
|
"Hendelse"
|
|
},
|
|
{ "Summary",
|
|
"Inhalt",
|
|
"Vsebina",
|
|
"Sommario",
|
|
"Inhoud",
|
|
"Resumo",
|
|
"Résumé",
|
|
"Sammendrag",
|
|
},
|
|
{ "Schedule - %s",
|
|
"Programm - %s",
|
|
"Urnik - %s",
|
|
"Programma - %s",
|
|
"Programma - %s",
|
|
"Programa - %s",
|
|
"Programmes - %s",
|
|
"Program Guide - %s",
|
|
},
|
|
{ "What's on now?",
|
|
"Was läuft jetzt?",
|
|
"Kaj je na sporedu?",
|
|
"In programmazione",
|
|
"Wat is er nu?",
|
|
"O que ver agora?",
|
|
"Programmes en cours",
|
|
"Hvilket program sendes nå?",
|
|
},
|
|
{ "What's on next?",
|
|
"Was läuft als nächstes?",
|
|
"Kaj sledi?",
|
|
"Prossimi programmi",
|
|
"Wat komt er hierna?",
|
|
"O que ver depois?",
|
|
"Prochains programmes",
|
|
"Hvilket program er neste?",
|
|
},
|
|
// Button texts (should not be more than 10 characters!):
|
|
{ "Edit",
|
|
"Editieren",
|
|
"Uredi",
|
|
"Modifica",
|
|
"Verander",
|
|
"Modificar",
|
|
"Modifier",
|
|
"Editer",
|
|
},
|
|
{ "New",
|
|
"Neu",
|
|
"Novo",
|
|
"Nuovo",
|
|
"Nieuw",
|
|
"Novo",
|
|
"Nouveau",
|
|
"Ny",
|
|
},
|
|
{ "Delete",
|
|
"Löschen",
|
|
"Odstrani",
|
|
"Cancella",
|
|
"Verwijder",
|
|
"Apagar",
|
|
"Supprimer",
|
|
"Slett",
|
|
},
|
|
{ "Mark",
|
|
"Markieren",
|
|
"Oznaci",
|
|
"Marca",
|
|
"Verplaats",
|
|
"Marcar",
|
|
"Marquer",
|
|
"Marker",
|
|
},
|
|
{ "Record",
|
|
"Aufnehmen",
|
|
"Posnemi",
|
|
"Registra",
|
|
"Opnemen",
|
|
"Gravar",
|
|
"Enregistre",
|
|
"Ta opp",
|
|
},
|
|
{ "Play",
|
|
"Wiedergabe",
|
|
"Predavajaj",
|
|
"Riproduci",
|
|
"Afspelen",
|
|
"Play",
|
|
"Lire",
|
|
"Spill av",
|
|
},
|
|
{ "Rewind",
|
|
"Anfang",
|
|
"Zacetek",
|
|
"Da inizio",
|
|
"Spoel terug",
|
|
"Rebobinar",
|
|
"Retour",
|
|
"Spol tilbake",
|
|
},
|
|
{ "Resume",
|
|
"Weiter",
|
|
"Nadaljuj",
|
|
"Riprendi",
|
|
"Verder",
|
|
"Continuar",
|
|
"Reprendre",
|
|
"Fortsett",
|
|
},
|
|
{ "Summary",
|
|
"Inhalt",
|
|
"Vsebina",
|
|
"Sommario",
|
|
"Inhoud",
|
|
"Resumo",
|
|
"Résumé",
|
|
"Sammendrag",
|
|
},
|
|
{ "Open",
|
|
"Öffnen",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Switch",
|
|
"Umschalten",
|
|
"Preklopi",
|
|
"Cambia",
|
|
"Selecteer",
|
|
"Seleccionar",
|
|
"Regarder",
|
|
"Skift til",
|
|
},
|
|
{ "Now",
|
|
"Jetzt",
|
|
"Sedaj",
|
|
"Adesso",
|
|
"Nu",
|
|
"Agora",
|
|
"Maintenant",
|
|
"Nå",
|
|
},
|
|
{ "Next",
|
|
"Nächste",
|
|
"Naslednji",
|
|
"Prossimo",
|
|
"Hierna",
|
|
"Proximo",
|
|
"Après",
|
|
"Neste",
|
|
},
|
|
{ "Schedule",
|
|
"Programm",
|
|
"Urnik",
|
|
"Programma",
|
|
"Programma",
|
|
"Programa",
|
|
"Programme",
|
|
"Programmer",
|
|
},
|
|
{ "Language",
|
|
"Sprache",
|
|
"Jezik",
|
|
"Linguaggio",
|
|
"Taal",
|
|
"", // TODO
|
|
"Langue",
|
|
"Språk",
|
|
},
|
|
{ "Eject",
|
|
"Auswerfen",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Ejection",
|
|
"", // TODO
|
|
},
|
|
// Confirmations:
|
|
{ "Delete channel?",
|
|
"Kanal löschen?",
|
|
"Odstrani kanal?",
|
|
"Cancello il canale?",
|
|
"Kanaal verwijderen?",
|
|
"Apagar o Canal?",
|
|
"Supprimer la chaîne?",
|
|
"Slette kanal?",
|
|
},
|
|
{ "Delete timer?",
|
|
"Timer löschen?",
|
|
"Odstani termin?",
|
|
"Cancello il timer?",
|
|
"Timer verwijderen?",
|
|
"Apagar o Alarme?",
|
|
"Supprimer la programmation?",
|
|
"Slette timer?",
|
|
},
|
|
{ "Delete recording?",
|
|
"Aufzeichnung löschen?",
|
|
"Odstrani posnetek?",
|
|
"Cancello la registrazione?",
|
|
"Opname verwijderen?",
|
|
"Apagar Gravacão?",
|
|
"Supprimer l'enregistrement?",
|
|
"Slette opptak?",
|
|
},
|
|
{ "Stop recording?",
|
|
"Aufzeichnung beenden?",
|
|
"Koncaj snemanje?",
|
|
"Fermo la registrazione?",
|
|
"Opname stoppen?",
|
|
"Parar Gravacão?",
|
|
"Arrêter l'enregistrement?",
|
|
"Stoppe opptak?",
|
|
},
|
|
{ "on primary interface",
|
|
"auf dem primären Interface",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Cancel editing?",
|
|
"Schneiden abbrechen?",
|
|
"Zelite prekiniti urejanje?",
|
|
"Annullo la modifica?",
|
|
"Bewerken afbreken?",
|
|
"Cancelar Modificar?",
|
|
"Annuler les modifications?",
|
|
"Avbryte redigering",
|
|
},
|
|
{ "Recording - shut down anyway?",
|
|
"Aufnahme läuft - trotzdem ausschalten?",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Press any key to cancel shutdown",
|
|
"Taste drücken um Shutdown abzubrechen",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
// Channel parameters:
|
|
{ "Name",
|
|
"Name",
|
|
"Naziv",
|
|
"Nome",
|
|
"Naam",
|
|
"Nome",
|
|
"Nom",
|
|
"Navn",
|
|
},
|
|
{ "Frequency",
|
|
"Frequenz",
|
|
"Frekvenca",
|
|
"Frequenza",
|
|
"Frequentie",
|
|
"Frequencia",
|
|
"Fréquence",
|
|
"Frekvens",
|
|
},
|
|
{ "Polarization",
|
|
"Polarisation",
|
|
"Polarizacija",
|
|
"Polarizzazione",
|
|
"Polarisatie",
|
|
"Polarizacao",
|
|
"Polarisation",
|
|
"Polaritet",
|
|
},
|
|
{ "DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
},
|
|
{ "Srate",
|
|
"Srate",
|
|
"Srate",
|
|
"Srate",
|
|
"Srate",
|
|
"Srate",
|
|
"Fréq. Symbole",
|
|
"Symbolrate",
|
|
},
|
|
{ "Vpid",
|
|
"Vpid",
|
|
"Vpid",
|
|
"Vpid",
|
|
"Vpid",
|
|
"Vpid",
|
|
"PID Vidéo",
|
|
"Video pid",
|
|
},
|
|
{ "Apid1",
|
|
"Apid1",
|
|
"Apid1",
|
|
"Apid1",
|
|
"Apid1",
|
|
"Apid1",
|
|
"PID Audio (1)",
|
|
"Audio pid1",
|
|
},
|
|
{ "Apid2",
|
|
"Apid2",
|
|
"Apid2",
|
|
"Apid2",
|
|
"Apid2",
|
|
"Apid2",
|
|
"PID Audio (2)",
|
|
"Audio pid2",
|
|
},
|
|
{ "Dpid1",
|
|
"Dpid1",
|
|
"Dpid1",
|
|
"Dpid1",
|
|
"Dpid1",
|
|
"Dpid1",
|
|
"PID AC3 (1)",
|
|
"AC3 pid1",
|
|
},
|
|
{ "Dpid2",
|
|
"Dpid2",
|
|
"Dpid2",
|
|
"Dpid2",
|
|
"Dpid2",
|
|
"Dpid2",
|
|
"PID AC3 (2)",
|
|
"AC3 pid2",
|
|
},
|
|
{ "Tpid",
|
|
"Tpid",
|
|
"Tpid",
|
|
"Tpid",
|
|
"Tpid",
|
|
"Tpid",
|
|
"PID Télétexte",
|
|
"Teletext pid",
|
|
},
|
|
{ "CA",
|
|
"CA",
|
|
"CA",
|
|
"CA",
|
|
"CA",
|
|
"CA",
|
|
"Cryptage",
|
|
"Kortleser",
|
|
},
|
|
{ "Pnr",
|
|
"Pnr",
|
|
"Pnr",
|
|
"Pnr",
|
|
"Pnr",
|
|
"Pnr",
|
|
"Num. Progr.",
|
|
"Program Id",
|
|
},
|
|
// Timer parameters:
|
|
{ "Active",
|
|
"Aktiv",
|
|
"Aktivno",
|
|
"Attivo",
|
|
"Actief",
|
|
"Activo",
|
|
"Actif",
|
|
"Aktiv",
|
|
},
|
|
{ "Channel",
|
|
"Kanal",
|
|
"Kanal",
|
|
"Canale",
|
|
"Kanaal",
|
|
"Canal",
|
|
"Chaîne",
|
|
"Kanal",
|
|
},
|
|
{ "Day",
|
|
"Tag",
|
|
"Dan",
|
|
"Giorno",
|
|
"Dag",
|
|
"Dia",
|
|
"Jour",
|
|
"Dag",
|
|
},
|
|
{ "Start",
|
|
"Anfang",
|
|
"Zacetek",
|
|
"Inizio",
|
|
"Begin",
|
|
"Inicio",
|
|
"Début",
|
|
"Start",
|
|
},
|
|
{ "Stop",
|
|
"Ende",
|
|
"Konec",
|
|
"Fine",
|
|
"Einde",
|
|
"Fim",
|
|
"Fin",
|
|
"Slutt",
|
|
},
|
|
{ "Priority",
|
|
"Priorität",
|
|
"Prioriteta",
|
|
"Priorita",
|
|
"Prioriteit",
|
|
"Prioridade",
|
|
"Priorité",
|
|
"Prioritet",
|
|
},
|
|
{ "Lifetime",
|
|
"Lebensdauer",
|
|
"Veljavnost",
|
|
"Durata",
|
|
"Bewaarduur",
|
|
"Duracao",
|
|
"Durée de vie",
|
|
"Levetid",
|
|
},
|
|
{ "File",
|
|
"Datei",
|
|
"Datoteka",
|
|
"Nome",
|
|
"Filenaam",
|
|
"Ficheiro",
|
|
"Fichier",
|
|
"Filnavn",
|
|
},
|
|
// Error messages:
|
|
{ "Channel is being used by a timer!",
|
|
"Kanal wird von einem Timer benutzt!",
|
|
"Urnik zaseda kanal!",
|
|
"Canale occupato da un timer!",
|
|
"Kanaal wordt gebruikt door een timer!",
|
|
"Canal a ser utilizador por um alarme!",
|
|
"Cette chaîne est en cours d'utilisation!"
|
|
"Kanalen er i bruk av en timer!",
|
|
},
|
|
{ "Can't switch channel!",
|
|
"Kanal kann nicht umgeschaltet werden!",
|
|
"Ne morem preklopiti kanala!",
|
|
"Impossibile cambiare canale!",
|
|
"Kan geen kanaal wisselen!",
|
|
"Nao pode mudar de canal!",
|
|
"Impossible de changer de chaîne!",
|
|
"Ikke mulig å skifte kanal!",
|
|
},
|
|
{ "Timer is recording!",
|
|
"Timer zeichnet gerade auf!",
|
|
"Snemanje po urniku!",
|
|
"Registrazione di un timer in corso!",
|
|
"Timer is aan het opnemen!",
|
|
"Alarme a gravar!",
|
|
"Enregistrement en cours!",
|
|
"Timer gjør opptak!",
|
|
},
|
|
{ "Error while accessing recording!",
|
|
"Fehler beim ansprechen der Aufzeichnung!",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Error while deleting recording!",
|
|
"Fehler beim Löschen der Aufzeichnung!",
|
|
"Napaka pri odstranjevanju posnetka!",
|
|
"Errore durante la canc del filmato!",
|
|
"Fout bij verwijderen opname!",
|
|
"Erro enquanto apagava uma gravacao!",
|
|
"Erreur de suppression de l'enregistrement!",
|
|
"Feil under sletting av opptak!",
|
|
},
|
|
{ "*** Invalid Channel ***",
|
|
"*** Ungültiger Kanal ***",
|
|
"*** Neznan kanal ***",
|
|
"*** CANALE INVALIDO ***",
|
|
"*** Ongeldig kanaal ***",
|
|
"*** Canal Invalido! ***",
|
|
"*** Chaîne invalide! ***",
|
|
"*** Ugyldig Kanal! ***",
|
|
},
|
|
{ "No free DVB device to record!",
|
|
"Keine freie DVB-Karte zum Aufnehmen!",
|
|
"Ni proste DVB naprave za snemanje!",
|
|
"Nessuna card DVB disp 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!"
|
|
},
|
|
{ "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)!",
|
|
},
|
|
{ "Can't start Transfer Mode!",
|
|
"Transfer-Mode kann nicht gestartet werden!",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Can't start editing process!",
|
|
"Schnitt kann nicht gestartet werden!",
|
|
"Ne morem zaceti urejanja!",
|
|
"Imposs iniziare processo di modifica",
|
|
"Kan niet beginnen met bewerken!",
|
|
"Nao pode iniciar a modificacao!",
|
|
"Impossible de commencer le montage!",
|
|
"Kan ikke starte redigeringsprosessen!",
|
|
},
|
|
{ "Editing process already active!",
|
|
"Schnitt bereits aktiv!",
|
|
"Urejanje je ze aktivno!",
|
|
"Processo di modifica gia` attivo",
|
|
"Bewerken is al actief!",
|
|
"Processo de modificacao ja activo!",
|
|
"Montage déjà en cours!",
|
|
"Redigeringsprosessen er allerede aktiv!",
|
|
},
|
|
{ "Can't shutdown - option '-s' not given!",
|
|
"Shutdown unmöglich - Option '-s' fehlt!",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Low disk space!",
|
|
"Platte beinahe voll!",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
// Setup parameters:
|
|
{ "OSD-Language",
|
|
"OSD-Sprache",
|
|
"OSD-jezik",
|
|
"Linguaggio OSD",
|
|
"OSD-taal",
|
|
"Linguagem OSD",
|
|
"Langue OSD",
|
|
"OSD Språk",
|
|
},
|
|
{ "PrimaryDVB",
|
|
"Primäres Interface",
|
|
"Primarna naprava",
|
|
"Scheda DVB primaria",
|
|
"Eerste DVB kaart",
|
|
"DVB primario",
|
|
"Première carte DVB",
|
|
"Hoved DVB-enhet",
|
|
},
|
|
{ "ShowInfoOnChSwitch",
|
|
"Info zeigen",
|
|
"Pokazi naziv kanala",
|
|
"Vis info nel cambio canale",
|
|
"Kanaal info tonen",
|
|
"Mostrar info ao mudar de Canal",
|
|
"Affichage progr. en cours",
|
|
"Info ved kanalskifte",
|
|
},
|
|
{ "MenuScrollPage",
|
|
"Seitenweise scrollen",
|
|
"Drsni meni",
|
|
"Scrolla pagina nel menu",
|
|
"Scrollen per pagina",
|
|
"Scroll da pagina no menu",
|
|
"Affichage progr. suivant",
|
|
"Rask rulling i menyer",
|
|
},
|
|
{ "MarkInstantRecord",
|
|
"Direktaufz. markieren",
|
|
"Oznaci direktno snemanje",
|
|
"Marca la registrazione",
|
|
"Direkte opnamen markeren",
|
|
"Marca de gravacao",
|
|
"Enregistrement immédiat",
|
|
"Markere direkteopptak",
|
|
},
|
|
{ "LnbSLOF",
|
|
"LnbSLOF",
|
|
"LnbSLOF",
|
|
"LnbSLOF",
|
|
"LnbSLOF",
|
|
"LnbSLOF",
|
|
"Limite de bandes LNB",
|
|
"LO-grensefrekvens",
|
|
},
|
|
{ "LnbFrequLo",
|
|
"Untere LNB-Frequenz",
|
|
"Spodnja LNB-frek.",
|
|
"Freq LO LNB",
|
|
"Laagste LNB frequentie",
|
|
"Freq LO LNB",
|
|
"Fréquence basse LNB",
|
|
"LO-frekvens i lavbåndet",
|
|
},
|
|
{ "LnbFrequHi",
|
|
"Obere LNB-Frequenz",
|
|
"Zgornja LNB-frek.",
|
|
"Freq HI LNB",
|
|
"Hoogste LNB frequentie",
|
|
"Freq HI LNB",
|
|
"Fréquence haute LNB",
|
|
"LO-frekvens i høybåndet",
|
|
},
|
|
{ "DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
"DiSEqC",
|
|
},
|
|
{ "SetSystemTime",
|
|
"Systemzeit stellen",
|
|
"Sistemski cas",
|
|
"Setta orario auto",
|
|
"Systeem klok instellen",
|
|
"Ajustar relogio do sistema",
|
|
"Ajuster l'heure du système",
|
|
"Juster system-klokken",
|
|
},
|
|
{ "MarginStart",
|
|
"Zeitpuffer bei Anfang",
|
|
"Premor pred zacetkom",
|
|
"Min margine inizio",
|
|
"Tijd marge (begin)",
|
|
"Margem de inicio",
|
|
"Marge antérieure",
|
|
"Opptaks margin (start)",
|
|
},
|
|
{ "MarginStop",
|
|
"Zeitpuffer bei Ende",
|
|
"Premor za koncem",
|
|
"Min margine fine",
|
|
"Tijd marge (eind)",
|
|
"Margem de fim",
|
|
"Marge postérieure",
|
|
"Opptaks margin (slutt)",
|
|
},
|
|
{ "EPGScanTimeout",
|
|
"Zeit bis EPG Scan",
|
|
"Cas do EPG pregleda",
|
|
"Timeout EPG",
|
|
"EPG-scan Timeout",
|
|
"Timeout EPG",
|
|
"Temps maxi EPG",
|
|
"Ledig tid før EPG-søk",
|
|
},
|
|
{ "EPGBugfixLevel",
|
|
"EPG Fehlerbereinigung",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "SVDRPTimeout",
|
|
"SVDRP Timeout",
|
|
"", // TODO
|
|
"Timeout SVDRP",
|
|
"SVDRP Timeout",
|
|
"Timeout SVDRP",
|
|
"Temps maxi SVDRP",
|
|
"Ubrukt SVDRP-levetid",
|
|
},
|
|
{ "SortTimers",
|
|
"Timer sortieren",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "PrimaryLimit",
|
|
"Primär-Limit",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Limite Primario",
|
|
"Première limite",
|
|
"Prioritets grense HovedDVB",
|
|
},
|
|
{ "DefaultPriority",
|
|
"Default Priorität",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Prioridade por defeito",
|
|
"Priorité par défaut",
|
|
"Normal prioritet (Timer)",
|
|
},
|
|
{ "DefaultLifetime",
|
|
"Default Lebensdauer",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Validade por defeito",
|
|
"Durée de vie par défaut",
|
|
"Normal levetid (Timer)",
|
|
},
|
|
{ "UseSubtitle",
|
|
"Subtitle verwenden",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "RecordingDirs",
|
|
"Aufn. Verzeichnisse",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "VideoFormat",
|
|
"Video Format",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Format vidéo",
|
|
"TV Format",
|
|
},
|
|
{ "ChannelInfoPos",
|
|
"Kanal Info Position",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Position infos chaînes",
|
|
"", // TODO
|
|
},
|
|
{ "OSDwidth",
|
|
"OSD Breite",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Largeur affichage",
|
|
"", // TODO
|
|
},
|
|
{ "OSDheight",
|
|
"OSD Höhe",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"Hauteur affichage",
|
|
"", // TODO
|
|
},
|
|
{ "OSDMessageTime",
|
|
"OSD Nachricht Dauer",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "MaxVideoFileSize",
|
|
"Max. Video Dateigröße",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "SplitEditedFiles",
|
|
"Editierte Dateien zerteilen",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "MinEventTimeout",
|
|
"Mindest Event Pause",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "MinUserInactivity",
|
|
"Mindest User Inaktivität",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "MultiSpeedMode",
|
|
"MultiSpeed Modus",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "ShowReplayMode",
|
|
"Wiedergabe Status",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
// The days of the week:
|
|
{ "MTWTFSS",
|
|
"MDMDFSS",
|
|
"PTSCPSN",
|
|
"DLMMGVS",
|
|
"MDWDVZZ",
|
|
"STQQSSD",
|
|
"LMMJVSD",
|
|
"MTOTFLS",
|
|
},
|
|
{ "MonTueWedThuFriSatSun", // must all be 3 letters!
|
|
"MonDieMitDonFreSamSon",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
// Learning keys:
|
|
{ "Learning Remote Control Keys",
|
|
"Fernbedienungs-Codes lernen",
|
|
"Ucim se kod upravljalca",
|
|
"Apprendimento tasti unita` remota",
|
|
"Leren toetsen afstandsbediening",
|
|
"Aprender as teclas do telecomando",
|
|
"Apprentissage des codes de télécommande",
|
|
"Lære fjernkontrolltaster",
|
|
},
|
|
{ "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",
|
|
},
|
|
{ "Press any key on the RC unit",
|
|
"Eine Taste auf der FB drücken",
|
|
"Pritisnite tipko na upravljalcu",
|
|
"Premere un tasto nell'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",
|
|
},
|
|
{ "RC code detected!",
|
|
"FB Code erkannt!",
|
|
"IR koda sprejeta!",
|
|
"Codice RC rilevato!",
|
|
"Afstandsbediening code herkend!",
|
|
"Codigo do telecomando detectado!",
|
|
"Code de la télécommande détecté!",
|
|
"Fjernkontroll-kodetype funnet!",
|
|
},
|
|
{ "Do not press any key...",
|
|
"Keine Taste drücken...",
|
|
"Ne pritiskajte tipk...",
|
|
"Non premere alcun tasto...",
|
|
"Druk niet op een knop...",
|
|
"Nao pressione nada...",
|
|
"Ne pas appuyer sur une touche ...",
|
|
"Ikke trykk på noen av tastene...",
|
|
},
|
|
{ "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 codigos especificos",
|
|
"Phase 2: Apprentissage des codes des touches",
|
|
"Fase 2: Lære spesifikke tastekoder",
|
|
},
|
|
{ "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'",
|
|
},
|
|
{ "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",
|
|
},
|
|
{ "Press 'Down' to continue",
|
|
"'Ab' drücken zum Weitermachen",
|
|
"Pritisnite tipko 'Dol' za nadaljevanje",
|
|
"Premere 'Giu' per confermare",
|
|
"Druk 'Omlaag' om verder te gaan",
|
|
"Pressione 'Baixo' para continuar",
|
|
"Appuyer sur 'Bas' pour continuer",
|
|
"Trykk Ned' for å fortsette",
|
|
},
|
|
{ "(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)",
|
|
},
|
|
{ "(press 'Down' to end key definition)",
|
|
"('Ab' drücken zum Beenden)",
|
|
"(pritisnite 'Dol' za konec)",
|
|
"('Giu' per finire la definiz tasti)",
|
|
"(Druk 'Omlaag' om te beeindigen)",
|
|
"(Pressione 'Baixo' para terminar a definicao)",
|
|
"(Appuyer sur 'Bas' pour terminer)",
|
|
"(trykk 'Ned' for å avslutte innlæring)",
|
|
},
|
|
{ "Phase 3: Saving key codes",
|
|
"Phase 3: Codes abspeichern",
|
|
"Faza 3: Shranjujem kodo",
|
|
"Fase 3: Salvataggio key codes",
|
|
"Fase 3: Opslaan toets codes",
|
|
"Fase 3: A Salvar os codigos das teclas",
|
|
"Phase 3: Sauvegarde des codes des touches",
|
|
"Fase 3: Lagre tastekoder",
|
|
},
|
|
{ "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",
|
|
},
|
|
// Key names:
|
|
{ "Up",
|
|
"Auf",
|
|
"Gor",
|
|
"Su",
|
|
"Omhoog",
|
|
"Cima",
|
|
"Haut",
|
|
"Opp",
|
|
},
|
|
{ "Down",
|
|
"Ab",
|
|
"Dol",
|
|
"Giu",
|
|
"Omlaag",
|
|
"Baixo",
|
|
"Bas",
|
|
"Ned",
|
|
},
|
|
{ "Menu",
|
|
"Menü",
|
|
"Meni",
|
|
"Menu",
|
|
"Menu",
|
|
"Menu",
|
|
"Menu",
|
|
"Meny",
|
|
},
|
|
{ "Ok",
|
|
"Ok",
|
|
"Ok",
|
|
"Ok",
|
|
"Ok",
|
|
"Ok",
|
|
"Ok",
|
|
"Ok",
|
|
},
|
|
{ "Back",
|
|
"Zurück",
|
|
"Nazaj",
|
|
"Indietro",
|
|
"Terug",
|
|
"Voltar",
|
|
"Retour",
|
|
"Tilbake",
|
|
},
|
|
{ "Left",
|
|
"Links",
|
|
"Levo",
|
|
"Sinistra",
|
|
"Links",
|
|
"Esquerda",
|
|
"Gauche",
|
|
"Venstre",
|
|
},
|
|
{ "Right",
|
|
"Rechts",
|
|
"Desno",
|
|
"Destra",
|
|
"Rechts",
|
|
"Direita",
|
|
"Droite",
|
|
"Høyre",
|
|
},
|
|
{ "Red",
|
|
"Rot",
|
|
"Rdeca",
|
|
"Rosso",
|
|
"Rood",
|
|
"Vermelho",
|
|
"Rouge",
|
|
"Rød",
|
|
},
|
|
{ "Green",
|
|
"Grün",
|
|
"Zelena",
|
|
"Verde",
|
|
"Groen",
|
|
"Verde",
|
|
"Vert",
|
|
"Grønn",
|
|
},
|
|
{ "Yellow",
|
|
"Gelb",
|
|
"Rumena",
|
|
"Giallo",
|
|
"Geel",
|
|
"Amarelo",
|
|
"Jaune",
|
|
"Gul",
|
|
},
|
|
{ "Blue",
|
|
"Blau",
|
|
"Modra",
|
|
"Blu",
|
|
"Blauw",
|
|
"Azul",
|
|
"Bleu",
|
|
"Blå",
|
|
},
|
|
{ "Power",
|
|
"Ausschalten",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Volume+",
|
|
"Lautstärke+",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Volume-",
|
|
"Lautstärke-",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Mute",
|
|
"Stumm",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
// Miscellaneous:
|
|
{ "yes",
|
|
"ja",
|
|
"da",
|
|
"si",
|
|
"ja",
|
|
"sim",
|
|
"oui",
|
|
"ja",
|
|
},
|
|
{ "no",
|
|
"nein",
|
|
"ne",
|
|
"no",
|
|
"nee",
|
|
"nao",
|
|
"non",
|
|
"nei",
|
|
},
|
|
{ "top",
|
|
"oben",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"haut",
|
|
"", // TODO
|
|
},
|
|
{ "bottom",
|
|
"unten",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"bas",
|
|
"", // TODO
|
|
},
|
|
{ "free",
|
|
"frei",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Jump: ", // note the trailing blank
|
|
"Springen: ",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ " Stop replaying", // note the leading blank!
|
|
" Wiedergabe beenden",
|
|
" Prekini ponavljanje",
|
|
" Interrompi riproduzione",
|
|
" Stop afspelen",
|
|
" Parar reproducao",
|
|
" Arrêter la lecture",
|
|
" Stopp avspilling",
|
|
},
|
|
{ " Stop recording ", // note the leading and trailing blanks!
|
|
" Aufzeichnung beenden ",
|
|
" Prekini shranjevanje ",
|
|
" Interrompi registrazione ",
|
|
" Stop opnemen ",
|
|
" Parar gravacao ",
|
|
" Arrêter l'enregistrement ",
|
|
" Stopp opptak fra ",
|
|
},
|
|
{ " Cancel editing", // note the leading blank!
|
|
" Schneiden abbrechen",
|
|
" Prekini urejanje",
|
|
" Annulla modifiche",
|
|
" Bewerken afbreken",
|
|
" Anular modificacao",
|
|
" Annuler le montage",
|
|
" Avbryt editering",
|
|
},
|
|
{ "Switching primary DVB...",
|
|
"Primäres Interface wird umgeschaltet...",
|
|
"Preklapljanje primarne naprave...",
|
|
"Cambio su card DVB primaria...",
|
|
"Eerste DVB-kaart wordt omgeschakeld...",
|
|
"A mudar placa DVB primaria...",
|
|
"Changement de carte DVB principale...",
|
|
"Bytter hoved DVB-enhet... ",
|
|
},
|
|
{ "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 localizacao - Ok para mudar",
|
|
"Haut/Bas -> nouvelle place - OK -> déplacer",
|
|
"Opp/Ned for ny plass - OK for å flytte",
|
|
},
|
|
{ "Editing process started",
|
|
"Schnitt gestartet",
|
|
"Urejanje se je zacelo",
|
|
"Processo di modifica iniziato",
|
|
"Bewerken is gestart",
|
|
"Processo de modificacao iniciado",
|
|
"Opération de montage lancée",
|
|
"Redigeringsprosess startet",
|
|
},
|
|
{ "Editing process finished",
|
|
"Schnitt beendet",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "Editing process failed!",
|
|
"Schnitt gescheitert!",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ "scanning recordings...",
|
|
"Aufzeichnungen werden durchsucht...",
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
"", // TODO
|
|
},
|
|
{ NULL }
|
|
};
|
|
|
|
const char *tr(const char *s)
|
|
{
|
|
if (Setup.OSDLanguage) {
|
|
for (const tPhrase *p = Phrases; **p; p++) {
|
|
if (strcmp(s, **p) == 0) {
|
|
const char *t = (*p)[Setup.OSDLanguage];
|
|
if (t && *t)
|
|
return t;
|
|
}
|
|
}
|
|
esyslog(LOG_ERR, "no translation found for '%s' in language %d (%s)\n", s, Setup.OSDLanguage, Phrases[0][Setup.OSDLanguage]);
|
|
}
|
|
return s;
|
|
}
|
|
|
|
const char * const * Languages(void)
|
|
{
|
|
return &Phrases[0][0];
|
|
}
|
|
|