1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00
vdr/i18n.c
2002-03-23 15:33:26 +01:00

1826 lines
39 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.73 2002/03/23 15:33:26 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>
* Portuguese translations provided by Paulo Lopes <pmml@netvita.pt>
* French translations provided by Jean-Claude Repetto <jc@repetto.org>
* Norwegian translations provided by Jørgen Tvedt <pjtvedt@online.no>
* Finnish translations provided by Hannu Savolainen <hannu@opensound.com>
*
*/
/*
* 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.
*
* 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 <stdio.h>
#include "config.h"
#include "tools.h"
const int NumLanguages = 9;
typedef const char *tPhrase[NumLanguages];
const tPhrase Phrases[] = {
// The name of the language (this MUST be the first phrase!):
{ "English",
"Deutsch",
"Slovenski",
"Italiano",
"Nederlands",
"Português",
"Français",
"Norsk",
"Suomi",
},
// Menu titles:
{ "VDR",
"VDR",
"VDR",
"VDR",
"VDR",
"VDR",
"VDR",
"VDR",
"VDR",
},
{ "Schedule",
"Programm",
"Urnik",
"Programmi",
"Gids",
"Programação",
"Programmes",
"Programmer",
"Ohjelmat",
},
{ "Channels",
"Kanäle",
"Kanali",
"Canali",
"Kanalen",
"Canais",
"Chaînes",
"Kanaler",
"Kanavat",
},
{ "Timers",
"Timer",
"Termini",
"Timer",
"Timers",
"Timers",
"Programmation",
"Timer",
"Ajastin",
},
{ "Recordings",
"Aufzeichnungen",
"Posnetki",
"Registrazioni",
"Opnames",
"Gravações",
"Enregistrements",
"Opptak",
"Nauhoitteet",
},
{ "Setup",
"Einstellungen",
"Nastavitve",
"Opzioni",
"Instellingen",
"Configurar",
"Configuration",
"Konfigurasjon",
"Asetukset",
},
{ "Commands",
"Befehle",
"Ukazi",
"Comandi",
"Commando's",
"Comandos",
"Commandes",
"Kommandoer",
"Komennot",
},
{ "Edit Channel",
"Kanal Editieren",
"Uredi kanal",
"Modifica canale",
"Kanaal aanpassen",
"Modificar Canal",
"Modifier une chaîne",
"Editer Kanal",
"Muokkaa kanavaa",
},
{ "Edit Timer",
"Timer Editieren",
"Uredi termin",
"Modifica Timer",
"Timer veranderen",
"Modificar Timer",
"Changer la programmation",
"Editer Timer",
"Muokkaa ajastusta",
},
{ "Event",
"Sendung",
"Oddaja",
"Eventi",
"Uitzending",
"Evento",
"Evénement",
"Hendelse",
"Tapahtuma",
},
{ "Summary",
"Inhalt",
"Vsebina",
"Sommario",
"Inhoud",
"Resumo",
"Résumé",
"Sammendrag",
"Yhteenveto",
},
{ "Schedule - %s",
"Programm - %s",
"Urnik - %s",
"Programma - %s",
"Programma - %s",
"Programa - %s",
"Programmes - %s",
"Program Guide - %s",
"Ohjelma - %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å?",
"Nykyinen ohjelma",
},
{ "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?",
"Seuraava ohjelma",
},
// Button texts (should not be more than 10 characters!):
{ "Edit",
"Editieren",
"Uredi",
"Modifica",
"Verander",
"Modificar",
"Modifier",
"Editer",
"Muuta",
},
{ "New",
"Neu",
"Novo",
"Nuovo",
"Nieuw",
"Novo",
"Nouveau",
"Ny",
"Uusi",
},
{ "Delete",
"Löschen",
"Odstrani",
"Cancella",
"Verwijder",
"Apagar",
"Supprimer",
"Slett",
"Poista",
},
{ "Mark",
"Markieren",
"Oznaci",
"Marca",
"Verplaats",
"Marcar",
"Marquer",
"Marker",
"Merkitse",
},
{ "On/Off",
"Ein/Aus",
"", // TODO
"", // TODO
"Aan/Uit",
"On/Off",
"Marche/Arr",
"", // TODO
"Päällä/Pois",
},
{ "Record",
"Aufnehmen",
"Posnemi",
"Registra",
"Opnemen",
"Gravar",
"Enregistre",
"Ta opp",
"Nauhoita",
},
{ "Play",
"Wiedergabe",
"Predavajaj",
"Riproduci",
"Afspelen",
"Play",
"Lire",
"Spill av",
"Toista",
},
{ "Rewind",
"Anfang",
"Zacetek",
"Da inizio",
"Naar begin",
"Rebobinar",
"Retour",
"Spol tilbake",
"Takaisinkel.",
},
{ "Button$Stop",
"Beenden",
"", // TODO
"", // TODO
"Eindigen",
"Parar",
"Arrêt",
"", // TODO
"Pysäytä",
},
{ "Resume",
"Weiter",
"Nadaljuj",
"Riprendi",
"Verder",
"Continuar",
"Reprendre",
"Fortsett",
"Jatka",
},
{ "Summary",
"Inhalt",
"Vsebina",
"Sommario",
"Inhoud",
"Resumo",
"Résumé",
"Sammendrag",
"Yhteenveto",
},
{ "Open",
"Öffnen",
"", // TODO
"", // TODO
"Openen",
"Abrir",
"Ouvrir",
"", // TODO
"Avaa",
},
{ "Switch",
"Umschalten",
"Preklopi",
"Cambia",
"Selecteer",
"Seleccionar",
"Regarder",
"Skift til",
"Valitse",
},
{ "Now",
"Jetzt",
"Sedaj",
"Adesso",
"Nu",
"Agora",
"Maintenant",
"",
"Nyt",
},
{ "Next",
"Nächste",
"Naslednji",
"Prossimo",
"Hierna",
"Proximo",
"Après",
"Neste",
"Seuraava",
},
{ "Button$Schedule",
"Programm",
"Urnik",
"Programma",
"Programma",
"Programação",
"Programme",
"Programmer",
"Ohjelmisto",
},
{ "Language",
"Sprache",
"Jezik",
"Linguaggio",
"Taal",
"Linguagem",
"Langue",
"Språk",
"Kieli",
},
{ "Eject",
"Auswerfen",
"", // TODO
"", // TODO
"Eject",
"Ejectar",
"Ejection",
"", // TODO
"Avaa",
},
// Confirmations:
{ "Delete channel?",
"Kanal löschen?",
"Odstrani kanal?",
"Cancello il canale?",
"Kanaal verwijderen?",
"Apagar o canal?",
"Supprimer la chaîne?",
"Slette kanal?",
"Poistetaanko kanava?",
},
{ "Delete timer?",
"Timer löschen?",
"Odstani termin?",
"Cancello il timer?",
"Timer verwijderen?",
"Apagar o timer?",
"Supprimer la programmation?",
"Slette timer?",
"Poistetaanko ajastus?",
},
{ "Delete recording?",
"Aufzeichnung löschen?",
"Odstrani posnetek?",
"Cancello la registrazione?",
"Opname verwijderen?",
"Apagar a gravação?",
"Supprimer l'enregistrement?",
"Slette opptak?",
"Poistetaanko nauhoitus?",
},
{ "Timer still recording - really delete?",
"Timer zeichnet auf - trotzdem löschen?",
"", // TODO
"", // TODO
"Timer neemt nog op - toch verwijderen?"
"Timer activo - têm a certeza que quer apagar?",
"Enregistrement en cours - confirmez la suppression",
"", // TODO
"Ajastin nauhoittaa - poistetaanko silti?",
},
{ "Stop recording?",
"Aufzeichnung beenden?",
"Koncaj snemanje?",
"Fermo la registrazione?",
"Opname stoppen?",
"Parar Gravação?",
"Arrêter l'enregistrement?",
"Stoppe opptak?",
"Pysäytetäänkö nauhoitus?",
},
{ "on primary interface",
"auf dem primären Interface",
"", // TODO
"", // TODO
"op eerste interface",
"no interface primário",
"sur la carte primaire",
"", // TODO
"päävastaanottimella",
},
{ "Cancel editing?",
"Schneiden abbrechen?",
"Zelite prekiniti urejanje?",
"Annullo la modifica?",
"Bewerken afbreken?",
"Cancelar Modificações?",
"Annuler les modifications?",
"Avbryte redigering?",
"Peruutetaanko muokkaus?",
},
{ "Really restart?",
"Wirklich neu starten?",
"", // TODO
"", // TODO
"Werkelijk opnieuw starten?",
"Tem a certeza que quer reiniciar?",
"Redémarrer?",
"", // TODO
"Aloitetaanko varmasti alusta?",
},
{ "Recording - restart anyway?",
"Aufnahme läuft - trotzdem neu starten?",
"", // TODO
"", // TODO
"Opname loopt - toch opnieuw starten?",
"Em gravação - quer mesmo reiniciar?",
"Enregistrement en cours - redémarrer?",
"", // TODO
"Nauhoitus käynnissä - aloitetaanko alusta?",
},
{ "Recording - shut down anyway?",
"Aufnahme läuft - trotzdem ausschalten?",
"", // TODO
"", // TODO
"Opname loopt - toch uitschakelen?",
"Em gravação - quer mesmo desligar?",
"Enregistrement en cours - confirmez l'arrêt",
"", // TODO
"Nauhoitus kesken - lopetetaanko se?",
},
{ "Recording in %d minutes, shut down anyway?",
"Aufnahme in %d Minuten - trotzdem ausschalten?",
"", // TODO
"", // TODO
"Opname in %d minuten - toch uitschakelen?",
"Em gravação dentro de %d minutos - quer mesmo desligar?",
"Enregistrement dans %d minutes - confirmez l'arrêt", // TODO
"", // TODO
"Nauhoitus alkaisi %d min. kuluttua - sammutetaanko silti?",
},
{ "Press any key to cancel shutdown",
"Taste drücken um Shutdown abzubrechen",
"", // TODO
"", // TODO
"Druk een toets om shutdown af te breken",
"Pressione qualquer tecla para cancelar",
"Appuyez sur une touche pour annuler l'arrêt",
"", // TODO
"Peruuta pysäytys painamalla jotakin näppäintä",
},
// Channel parameters:
{ "Name",
"Name",
"Naziv",
"Nome",
"Naam",
"Nome",
"Nom",
"Navn",
"Nimi",
},
{ "Frequency",
"Frequenz",
"Frekvenca",
"Frequenza",
"Frequentie",
"Frequência",
"Fréquence",
"Frekvens",
"Taajuus",
},
{ "Polarization",
"Polarisation",
"Polarizacija",
"Polarizzazione",
"Polarisatie",
"Polarização",
"Polarisation",
"Polaritet",
"Polarisaatio",
},
{ "DiSEqC",
"DiSEqC",
"DiSEqC",
"DiSEqC",
"DiSEqC",
"DiSEqC",
"DiSEqC",
"DiSEqC",
"DiSEqC",
},
{ "Srate",
"Srate",
"Srate",
"Srate",
"Srate",
"Srate",
"Fréq. Symbole",
"Symbolrate",
"Srate",
},
{ "Vpid",
"Vpid",
"Vpid",
"Vpid",
"Vpid",
"PID de Vídeo",
"PID Vidéo",
"Video pid",
"Kuva PID",
},
{ "Apid1",
"Apid1",
"Apid1",
"Apid1",
"Apid1",
"PID Áudio (1)",
"PID Audio (1)",
"Audio pid1",
"Ääni PID1",
},
{ "Apid2",
"Apid2",
"Apid2",
"Apid2",
"Apid2",
"Apid2",
"PID Áudio (2)",
"Audio pid2",
"Ääni PID2",
},
{ "Dpid1",
"Dpid1",
"Dpid1",
"Dpid1",
"Dpid1",
"PID AC3 (1)",
"PID AC3 (1)",
"AC3 pid1",
"AC3 PID1",
},
{ "Dpid2",
"Dpid2",
"Dpid2",
"Dpid2",
"Dpid2",
"PID AC3 (2)",
"PID AC3 (2)",
"AC3 pid2",
"AC3 PID2",
},
{ "Tpid",
"Tpid",
"Tpid",
"Tpid",
"Tpid",
"PID Teletexto",
"PID Télétexte",
"Teletext pid",
"TekstiTV PID",
},
{ "CA",
"CA",
"CA",
"CA",
"CA",
"Encriptação",
"Cryptage",
"Kortleser",
"Salauskortti",
},
{ "Pnr",
"Pnr",
"Pnr",
"Pnr",
"Pnr",
"Núm. Progr.",
"Num. Progr.",
"Program Id",
"Ohjelmatunnus",
},
// Timer parameters:
{ "Active",
"Aktiv",
"Aktivno",
"Attivo",
"Actief",
"Activo",
"Actif",
"Aktiv",
"Aktiivinen",
},
{ "Channel",
"Kanal",
"Kanal",
"Canale",
"Kanaal",
"Canal",
"Chaîne",
"Kanal",
"Kanava",
},
{ "Day",
"Tag",
"Dan",
"Giorno",
"Dag",
"Dia",
"Jour",
"Dag",
"Päivä",
},
{ "Start",
"Anfang",
"Zacetek",
"Inizio",
"Begin",
"Inicio",
"Début",
"Start",
"Aloitus",
},
{ "Stop",
"Ende",
"Konec",
"Fine",
"Einde",
"Fim",
"Fin",
"Slutt",
"Lopetus",
},
{ "Priority",
"Priorität",
"Prioriteta",
"Priorita",
"Prioriteit",
"Prioridade",
"Priorité",
"Prioritet",
"Prioriteetti",
},
{ "Lifetime",
"Lebensdauer",
"Veljavnost",
"Durata",
"Bewaarduur",
"Duração",
"Durée de vie",
"Levetid",
"Voimassaolo",
},
{ "File",
"Datei",
"Datoteka",
"Nome",
"Filenaam",
"Ficheiro",
"Fichier",
"Filnavn",
"Tiedosto",
},
{ "First day",
"Erster Tag",
"", // TODO
"", // TODO
"Eerste dag",
"Primeiro dia",
"Premier jour",
"", // TODO
"1. päivä",
},
// 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 timer!",
"Cette chaîne est en cours d'utilisation!",
"Kanalen er i bruk av en timer!",
"Kanava on ajastimen käytössä!",
},
{ "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!",
},
{ "Timer is recording!",
"Timer zeichnet gerade auf!",
"Snemanje po urniku!",
"Registrazione di un timer in corso!",
"Timer is aan het opnemen!",
"Timer a gravar!",
"Enregistrement en cours!",
"Timer gjør opptak!",
"Ajastinnauhoitus käynnissä!",
},
{ "Error while accessing recording!",
"Fehler beim ansprechen der Aufzeichnung!",
"", // TODO
"", // TODO
"Fout bij lezen opname!",
"Erro ao aceder à gravação",
"Impossible d'accèder à l'enregistrement",
"", // TODO
"Nauhoituksen toistaminen epäonnistui!",
},
{ "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 gravação!",
"Erreur de suppression de l'enregistrement!",
"Feil under sletting av opptak!",
"Nauhoituksen poistaminen epäonnistui!",
},
{ "*** Invalid Channel ***",
"*** Ungültiger Kanal ***",
"*** Neznan kanal ***",
"*** CANALE INVALIDO ***",
"*** Ongeldig kanaal ***",
"*** Canal Inválido! ***",
"*** Chaîne invalide! ***",
"*** Ugyldig Kanal! ***",
"*** Virheellinen kanavavalinta! ***",
},
{ "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!",
"Ei vapaata vastaanotinta nauhoitusta varten!",
},
{ "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 (nauhoitusta varten)!",
},
{ "Can't start Transfer Mode!",
"Transfer-Mode kann nicht gestartet werden!",
"", // TODO
"", // TODO
"Kan Transfer-Mode niet starten",
"Impossível iniciar modo de transferência!",
"Impossible d'utiliser le mode transfert!",
"", // TODO
"Käsittämättömiä teknisiä ongelmia!",
},
{ "Can't start editing process!",
"Schnitt kann nicht gestartet werden!",
"Ne morem zaceti urejanja!",
"Imposs 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 aloittaminen ei onnistu!",
},
{ "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ä!",
},
{ "Can't shutdown - option '-s' not given!",
"Shutdown unmöglich - Option '-s' fehlt!",
"", // TODO
"", // TODO
"Shutdown onmogelijk - Optie '-s' ontbreekt!",
"Impossível desligar - falta a opção '-s'!",
"Arrêt impossible - option '-s' absente!",
"", // TODO
"Ei voida sammuttaa '-s' parametria ei annettu!",
},
{ "Low disk space!",
"Platte beinahe voll!",
"", // TODO
"", // TODO
"Disk bijna vol!",
"Espaço em disco reduzido!",
"Disque presque plein!",
"", // TODO
"Kovalevy lähes täynnä!",
},
// Setup pages:
{ "OSD",
"OSD",
"", // TODO
"", // TODO
"OSD",
"OSD",
"Affichage des menus",
"", // TODO
"Tekstinäyttö",
},
{ "EPG",
"EPG",
"", // TODO
"", // TODO
"EPG",
"EPG",
"Guide des programmes",
"", // TODO
"Ohjelmaopas",
},
{ "DVB",
"DVB",
"", // TODO
"", // TODO
"DVB",
"DVB",
"Cartes DVB",
"", // TODO
"DVB",
},
{ "LNB",
"LNB",
"", // TODO
"", // TODO
"LNB",
"LNB",
"LNB",
"", // TODO
"LNB",
},
{ "CICAM",
"CICAM",
"", // TODO
"", // TODO
"CICAM",
"CICAM",
"Accès conditionnel",
"", // TODO
"CICAM",
},
{ "Recording",
"Aufnahme",
"", // TODO
"", // TODO
"Opname",
"A gravar",
"Enregistrement",
"", // TODO
"Nauhoita",
},
{ "Replay",
"Wiedergabe",
"", // TODO
"", // TODO
"Afspelen",
"Replay",
"Lecture",
"", // TODO
"Toista",
},
{ "Miscellaneous",
"Sonstiges",
"", // TODO
"", // TODO
"Overig",
"Outros",
"Divers",
"", // TODO
"Sekalaista",
},
{ "Restart",
"Neustart",
"", // TODO
"", // TODO
"Herstart",
"Reiniciar",
"Redémarrer",
"", // TODO
"Aloita uudelleen",
},
// Setup parameters:
{ "Setup.OSD$Language",
"Sprache",
"Jezik",
"Linguaggio",
"Taal",
"Linguagem",
"Langue",
"Språk",
"Kieli",
},
{ "Setup.OSD$Width",
"Breite",
"", // TODO
"", // TODO
"Breedte",
"Largura",
"Largeur",
"", // TODO
"Leveys",
},
{ "Setup.OSD$Height",
"Höhe",
"", // TODO
"", // TODO
"Hoogte",
"Altura",
"Hauteur",
"", // TODO
"Korkeus",
},
{ "Setup.OSD$Message time",
"Anzeigedauer für Nachrichten",
"", // TODO
"", // TODO
"Weergave duur van berichten",
"Mostrar contador",
"Durée affichage écran",
"", // TODO
"Ilmoitusten näkymisaika",
},
{ "Setup.OSD$Channel info position",
"Kanal-Info Position",
"", // TODO
"", // TODO
"Kanaal info positie",
"Posição de info dos canais",
"Position infos chaînes",
"", // TODO
"Kanavainfon sijainti",
},
{ "Setup.OSD$Info on channel switch",
"Info beim Kanalwechsel",
"Pokazi naziv kanala",
"Vis info nel cambio canale",
"Kanaal info tonen",
"Mostrar info ao mudar de Canal",
"Affichage progr. en cours",
"Info ved kanalskifte",
"Näytä kanavainfo",
},
{ "Setup.OSD$Scroll pages",
"Seitenweise scrollen",
"Drsni meni",
"Scrolla pagina nel menu",
"Scrollen per pagina",
"Scroll da página no menu",
"Affichage progr. suivant",
"Rask rulling i menyer",
"Valikkojen rullaus",
},
{ "Setup.OSD$Sort timers",
"Timer sortieren",
"", // TODO
"", // TODO
"Timers sorteren",
"Ordenar os timers",
"Trier les programmations",
"", // TODO
"Järjestä ajastimet",
},
{ "Setup.OSD$Recording directories",
"Aufnahme Verzeichnisse",
"", // TODO
"", // TODO
"Opname directories",
"Directorias de gravação",
"Dossiers d'enregistrements",
"", // TODO
"Nauhoitushakemistot",
},
{ "Setup.EPG$EPG scan timeout",
"Zeit bis EPG Scan",
"Cas do EPG pregleda",
"Timeout EPG",
"EPG-scan Timeout",
"Expirou o EPG",
"Temps maxi EPG",
"Ledig tid før EPG-søk",
"Ohjelmatied. odotusaika",
},
{ "Setup.EPG$EPG bugfix level",
"EPG Fehlerbereinigung",
"", // TODO
"", // TODO
"EPG foutcorrectieniveau",
"Nível de correctção EPG",
"Niveau de correction EPG",
"", // TODO
"EPG Bugfix Level",
},
{ "Setup.EPG$Set system time",
"Systemzeit stellen",
"Sistemski cas",
"Setta orario auto",
"Systeem klok instellen",
"Ajustar relógio do sistema",
"Ajuster l'heure du système",
"Juster system-klokken",
"Vastaanota kellonaika",
},
{ "Setup.EPG$Use time from transponder",
"Transponder für Systemzeit",
"", // TODO
"", // TODO
"Gebruik transponder tijd voor systeem",
"Usar relógio do transponder",
"Utiliser l'heure de la chaîne",
"", // TODO
"Vastaanota kellonaika lähettimeltä",
},
{ "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",
"Ensisij. vast.otin",
},
{ "Setup.DVB$Video format",
"Video Format",
"", // TODO
"", // TODO
"Videoformaat",
"Formato vídeo",
"Format vidéo",
"TV Format",
"Kuvamuoto",
},
{ "Setup.LNB$SLOF",
"SLOF",
"SLOF",
"SLOF",
"SLOF",
"Limite de bandas LNB",
"Limite de bandes LNB",
"LO-grensefrekvens",
"SLOF",
},
{ "Setup.LNB$Low LNB frequency",
"Untere LNB-Frequenz",
"Spodnja LNB-frek.",
"Freq LO LNB",
"Laagste LNB frequentie",
"Frequência base LNB",
"Fréquence basse LNB",
"LO-frekvens i lavbåndet",
"LO LNB taajuus",
},
{ "Setup.LNB$High LNB frequency",
"Obere LNB-Frequenz",
"Zgornja LNB-frek.",
"Freq HI LNB",
"Hoogste LNB frequentie",
"Frequência alta LNB",
"Fréquence haute LNB",
"LO-frekvens i høybåndet",
"HI LNB taajuus",
},
{ "Setup.LNB$Use DiSEqC",
"DiSEqC benutzen",
"DiSEqC", // TODO
"DiSEqC", // TODO
"DiSEqC gebruiken",
"Utilizar DiSEqC",
"Utiliser le DiSEqC",
"DiSEqC", // TODO
"Käytä DiSEqC",
},
{ "Setup.CICAM$CICAM DVB",
"CICAM DVB",
"CICAM DVB",
"CICAM DVB",
"CICAM DVB",
"CICAM DVB",
"Accès conditionnel",
"CICAM DVB",
"CICAM DVB",
},
{ "Setup.Recording$Margin at start",
"Zeitpuffer bei Anfang",
"Premor pred zacetkom",
"Min margine inizio",
"Tijd marge (begin)",
"Margem inicial",
"Marge antérieure",
"Opptaks margin (start)",
"Aloitusmarginaali",
},
{ "Setup.Recording$Margin at stop",
"Zeitpuffer bei Ende",
"Premor za koncem",
"Min margine fine",
"Tijd marge (eind)",
"Margem final",
"Marge postérieure",
"Opptaks margin (slutt)",
"Lopetusmarginaali",
},
{ "Setup.Recording$Primary limit",
"Primär-Limit",
"", // TODO
"", // TODO
"Eerste grens",
"Limite Primário",
"Première limite",
"Prioritets grense HovedDVB",
"PrimaryLimit",
},
{ "Setup.Recording$Default priority",
"Default Priorität",
"", // TODO
"", // TODO
"Standaard prioriteit",
"Prioridade por defeito",
"Priorité par défaut",
"Normal prioritet (Timer)",
"Oletusprioriteetti",
},
{ "Setup.Recording$Default lifetime",
"Default Lebensdauer",
"", // TODO
"", // TODO
"Standaard levensduur",
"Validade por defeito",
"Durée de vie par défaut",
"Normal levetid (Timer)",
"Oletus voimassaoloaika",
},
{ "Setup.Recording$Use episode name",
"Episodenname verwenden",
"", // TODO
"", // TODO
"Gebruik episode naam",
"Utilizar o nome do episódio",
"Utiliser le nom de l'épisode",
"", // TODO
"Käytä jakson nimeä",
},
{ "Setup.Recording$Mark instant recording",
"Direktaufzeichnung markieren",
"Oznaci direktno snemanje",
"Marca la registrazione",
"Direkte opnamen markeren",
"Marca de gravação rápida",
"Enregistrement immédiat",
"Markere direkteopptak",
"Merkitse välitön nauh.",
},
{ "Setup.Recording$Name instant recording",
"Direktaufzeichnung benennen",
"", // TODO
"", // TODO
"Naam direkt-opname",
"Nome de gravação rápida",
"Noms enregistr. immédiats",
"", // TODO
"Nimeä välitön nauh.",
},
{ "Setup.Recording$Record Dolby Digital",
"Dolby Digital Ton aufzeichnen",
"", // TODO
"", // TODO
"Dolby Digital geluid opnamen",
"Gravar em Dolby Digital",
"Enregistrer en Dolby Digital",
"", // TODO
"Dolby Digital nauhoitus",
},
{ "Setup.Recording$Max. video file size",
"Max. Video Dateigröße",
"", // TODO
"", // TODO
"Maximale omvang video file",
"Tamanho máximo dos ficheiros",
"Taille maxi des fichiers",
"", // TODO
"Maksimi tiedoston koko",
},
{ "Setup.Recording$Split edited files",
"Editierte Dateien aufteilen",
"", // TODO
"", // TODO
"Bewerkte files opdelen",
"Quebrar ficheiros",
"Séparer les séquences",
"", // TODO
"Paloittele muokatut",
},
{ "Setup.Replay$Multi speed mode",
"MultiSpeed Modus",
"", // TODO
"", // TODO
"Multi-speed mode",
"Modo de multi-speed",
"Mode multi-vitesses",
"", // TODO
"Moninopeustila",
},
{ "Setup.Replay$Show replay mode",
"Wiedergabestatus anzeigen",
"", // TODO
"", // TODO
"Weergave mode aangeven",
"Mostrar modo de replay",
"Affichage mode de lecture",
"", // TODO
"Näytä toiston tila",
},
{ "Setup.Miscellaneous$Min. event timeout",
"Mindest Event Pause",
"", // TODO
"", // TODO
"Minimale event time-out",
"Período mínimo de pausa",
"MinEventTimeout", // Too difficult to translate - read the manual!
"", // TODO
"Minimi tapahtuman odotus",
},
{ "Setup.Miscellaneous$Min. user inactivity",
"Mindest Benutzer-Inaktivität",
"", // TODO
"", // TODO
"Minimum gebruikers inactiviteit",
"Período mínimo de inactividade",
"Durée minimale d'inactivité",
"", // TODO
"Minimi käyttäjän odotus",
},
{ "Setup.Miscellaneous$SVDRP timeout",
"SVDRP Timeout",
"", // TODO
"Timeout SVDRP",
"SVDRP Timeout",
"Timeout SVDRP",
"Temps maxi SVDRP",
"Ubrukt SVDRP-levetid",
"SVDRP odotusaika",
},
// The days of the week:
{ "MTWTFSS",
"MDMDFSS",
"PTSCPSN",
"DLMMGVS",
"MDWDVZZ",
"STQQSSD",
"LMMJVSD",
"MTOTFLS",
"MTKTPLS",
},
{ "MonTueWedThuFriSatSun", // must all be 3 letters!
"MonDieMitDonFreSamSon",
"", // TODO
"", // TODO
"MaaDinWoeDonVryZatZon",
"SegTerQuaQuiSexSabDom",
"LunMarMerJeuVenSamDim",
"", // TODO
"MaaTiiKesTorPerLauSun",
},
// 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",
"Kaukosäätimen näppäinten opettelu",
},
{ "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: Lähetystavan selvittäminen",
},
{ "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",
"Paina mitä tahansa kaukosäätimen näppäintä",
},
{ "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!",
},
{ "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 mitään näppäintä...",
},
{ "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",
},
{ "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'",
},
{ "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",
"Paina 'Ylös' hyväksyäksesi",
},
{ "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",
"Paina 'Alas' jatkaaksesi",
},
{ "(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)",
"(paina 'Ylös' palataksesi takaisin)",
},
{ "(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 definição)",
"(Appuyer sur 'Bas' pour terminer)",
"(trykk 'Ned' for å avslutte innlæring)",
"(paina 'Alas' lopettaaksesi näppäinten opettelun)",
},
{ "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 códigos das teclas",
"Phase 3: Sauvegarde des codes des touches",
"Fase 3: Lagre tastekoder",
"Vaihe 3: Näppäinkoodien tallettaminen",
},
{ "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' tallettaaksesi ja 'Alas' peruuttaaksesi",
},
// Key names:
{ "Up",
"Auf",
"Gor",
"Su",
"Omhoog",
"Cima",
"Haut",
"Opp",
"Ylös",
},
{ "Down",
"Ab",
"Dol",
"Giu",
"Omlaag",
"Baixo",
"Bas",
"Ned",
"Alas",
},
{ "Menu",
"Menü",
"Meni",
"Menu",
"Menu",
"Menu",
"Menu",
"Meny",
"Valikko",
},
{ "Ok",
"Ok",
"Ok",
"Ok",
"Ok",
"Ok",
"Ok",
"Ok",
"Ok",
},
{ "Back",
"Zurück",
"Nazaj",
"Indietro",
"Terug",
"Voltar",
"Retour",
"Tilbake",
"Takaisin",
},
{ "Left",
"Links",
"Levo",
"Sinistra",
"Links",
"Esquerda",
"Gauche",
"Venstre",
"Vasemmalle",
},
{ "Right",
"Rechts",
"Desno",
"Destra",
"Rechts",
"Direita",
"Droite",
"Høyre",
"Oikealle",
},
{ "Red",
"Rot",
"Rdeca",
"Rosso",
"Rood",
"Vermelho",
"Rouge",
"Rød",
"Punainen",
},
{ "Green",
"Grün",
"Zelena",
"Verde",
"Groen",
"Verde",
"Vert",
"Grønn",
"Vihreä",
},
{ "Yellow",
"Gelb",
"Rumena",
"Giallo",
"Geel",
"Amarelo",
"Jaune",
"Gul",
"Keltainen",
},
{ "Blue",
"Blau",
"Modra",
"Blu",
"Blauw",
"Azul",
"Bleu",
"Blå",
"Sininen",
},
{ "Power",
"Ausschalten",
"", // TODO
"", // TODO
"Uitschakelen",
"Ligar",
"Arrêt",
"", // TODO
"Virtakytkin",
},
{ "Volume+",
"Lautstärke+",
"", // TODO
"", // TODO
"Volume+",
"Volume+",
"Volume+",
"", // TODO
"Äänenvoimakkuus+",
},
{ "Volume-",
"Lautstärke-",
"", // TODO
"", // TODO
"Volume-",
"Volume-",
"Volume-",
"", // TODO
"Äänenvoimakkuus-",
},
{ "Mute",
"Stumm",
"", // TODO
"", // TODO
"Geluid onderbreken",
"Sem som",
"Coupure du son",
"", // TODO
"Äänen vaimennus",
},
// Miscellaneous:
{ "yes",
"ja",
"da",
"si",
"ja",
"sim",
"oui",
"ja",
"kyllä",
},
{ "no",
"nein",
"ne",
"no",
"nee",
"não",
"non",
"nei",
"ei",
},
{ "top",
"oben",
"", // TODO
"", // TODO
"boven",
"topo",
"haut",
"", // TODO
"ylä",
},
{ "bottom",
"unten",
"", // TODO
"", // TODO
"onder",
"fundo",
"bas",
"", // TODO
"ala",
},
{ "Disk",
"Disk",
"Disk",
"Disk",
"Disk",
"Disk",
"Disque",
"Disk",
"Disk",
},
{ "free",
"frei",
"", // TODO
"", // TODO
"vrij",
"livre",
"restant",
"", // TODO
"vapaa",
},
{ "Jump: ", // note the trailing blank
"Springen: ",
"", // TODO
"", // TODO
"Springen: ",
"Saltar: ",
"Accès direct: ",
"", // TODO
"Hyppää: ",
},
{ "Volume ", // note the trailing blank
"Lautstärke ",
"", // TODO
"", // TODO
"Volume ",
"Volume ",
"Volume ",
"", // TODO
"Äänenvoimakkuus ",
},
{ " Stop replaying", // note the leading blank!
" Wiedergabe beenden",
" Prekini ponavljanje",
" Interrompi riproduzione",
" Stop afspelen",
" Parar reprodução",
" Arrêter la lecture",
" Stopp avspilling",
" Pysäytä toisto",
},
{ " Stop recording ", // note the leading and trailing blanks!
" Aufzeichnung beenden ",
" Prekini shranjevanje ",
" Interrompi registrazione ",
" Stop opnemen ",
" Parar gravação ",
" Arrêter l'enregistrement ",
" Stopp opptak fra ",
" Pysäytä nauhoitus ",
},
{ " Cancel editing", // note the leading blank!
" Schneiden abbrechen",
" Prekini urejanje",
" Annulla modifiche",
" Bewerken afbreken",
" Anular modificação",
" Annuler le montage",
" Avbryt editering",
" Peruuta muokkaus",
},
{ "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 hoved DVB-enhet...",
"Vaihdetaan ensisijainen vastaanotin...",
},
{ "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 = liiku, OK = siirrä",
},
{ "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",
},
{ "Editing process finished",
"Schnitt beendet",
"", // TODO
"", // TODO
"Bewerken is klaar",
"Processo de modificação terminado",
"Montage terminé",
"", // TODO
"Muokkaus lopetettu",
},
{ "Editing process failed!",
"Schnitt gescheitert!",
"", // TODO
"", // TODO
"Bewerken is mislukt!",
"Falha no processo de modificação",
"Echec du montage!",
"", // TODO
"Muokkaus epäonnistui!",
},
{ "scanning recordings...",
"Aufzeichnungen werden durchsucht...",
"", // TODO
"", // TODO
"Doorzoeken opnames...",
"A pesquisar gravações...",
"Recherche des enregistrements...",
"", // TODO
"haetaan nauhoituksia...",
},
{ 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]);
}
const char *p = strchr(s, '$');
return p ? p + 1 : s;
}
const char * const * Languages(void)
{
return &Phrases[0][0];
}