1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00
vdr/i18n.c

479 lines
8.8 KiB
C
Raw Normal View History

2000-11-11 10:39:27 +01:00
/*
* i18n.c: Internationalization
*
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
2000-11-19 12:12:53 +01:00
* $Id: i18n.c 1.6 2000/11/19 12:12:53 kls Exp $
2000-11-19 09:27:15 +01:00
*
* Slovenian translations provided by Miha Setina <mihasetina@softhome.net>
*
2000-11-11 10:39:27 +01:00
*/
/*
* 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,
2000-11-11 10:39:27 +01:00
* 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. Insert your language so that all the entries
* following 'English' will be sorted alphabetically, and write
* the name of your language in your language (not in English,
* which means that it should be 'Italiano', not 'Italian').
2000-11-11 10:39:27 +01:00
* 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"
2000-11-19 09:27:15 +01:00
const int NumLanguages = 3;
2000-11-11 10:39:27 +01:00
typedef const char *tPhrase[NumLanguages];
const tPhrase Phrases[] = {
// The name of the language (this MUST be the first phrase!):
{ "English",
"Deutsch",
2000-11-19 09:27:15 +01:00
"Slovenski",
2000-11-11 10:39:27 +01:00
},
// Menu titles:
{ "Main",
"Hauptmen<EFBFBD>",
2000-11-19 09:27:15 +01:00
"Glavni meni",
2000-11-11 10:39:27 +01:00
},
{ "Schedule",
"Programm",
2000-11-19 09:27:15 +01:00
"Urnik",
2000-11-11 10:39:27 +01:00
},
{ "Channels",
"Kan<EFBFBD>le",
2000-11-19 09:27:15 +01:00
"Kanali",
2000-11-11 10:39:27 +01:00
},
{ "Timers",
"Timer",
2000-11-19 09:27:15 +01:00
"Termini",
2000-11-11 10:39:27 +01:00
},
{ "Recordings",
"Aufzeichnungen",
2000-11-19 09:27:15 +01:00
"Posnetki",
2000-11-11 10:39:27 +01:00
},
{ "Setup",
"Einstellungen",
2000-11-19 09:27:15 +01:00
"Nastavitve",
2000-11-11 10:39:27 +01:00
},
2000-11-11 16:38:41 +01:00
{ "Commands",
"Befehle",
2000-11-19 09:27:15 +01:00
"Ukazi",
2000-11-11 16:38:41 +01:00
},
2000-11-11 10:39:27 +01:00
{ "Edit Channel",
"Kanal Editieren",
2000-11-19 09:27:15 +01:00
"Uredi kanal",
2000-11-11 10:39:27 +01:00
},
{ "Edit Timer",
"Timer Editieren",
2000-11-19 09:27:15 +01:00
"Uredi termin",
2000-11-11 10:39:27 +01:00
},
{ "Event",
"Sendung",
2000-11-19 09:27:15 +01:00
"Oddaja",
2000-11-11 10:39:27 +01:00
},
{ "Summary",
"Inhalt",
2000-11-19 09:27:15 +01:00
"Vsebina",
2000-11-11 10:39:27 +01:00
},
{ "Schedule - %s",
"Programm - %s",
2000-11-19 09:27:15 +01:00
"Urnik - %s",
2000-11-11 10:39:27 +01:00
},
{ "What's on now?",
"Was l<>uft jetzt?",
2000-11-19 09:27:15 +01:00
"Kaj je na sporedu?",
2000-11-11 10:39:27 +01:00
},
{ "What's on next?",
"Was l<>uft als n<>chstes?",
2000-11-19 09:27:15 +01:00
"Kaj sledi?",
2000-11-11 10:39:27 +01:00
},
// Button texts (must not be more than 10 characters!):
{ "Edit",
"Editieren",
2000-11-19 09:27:15 +01:00
"Uredi",
2000-11-11 10:39:27 +01:00
},
{ "New",
"Neu",
2000-11-19 09:27:15 +01:00
"Novo",
2000-11-11 10:39:27 +01:00
},
{ "Delete",
"L<EFBFBD>schen",
2000-11-19 09:27:15 +01:00
"Odstrani",
2000-11-11 10:39:27 +01:00
},
{ "Mark",
"Markieren",
2000-11-19 09:27:15 +01:00
"Oznaci",
2000-11-11 10:39:27 +01:00
},
{ "Record",
"Aufnehmen",
2000-11-19 09:27:15 +01:00
"Posnemi",
2000-11-11 10:39:27 +01:00
},
{ "Play",
"Wiedergabe",
2000-11-19 09:27:15 +01:00
"Predavajaj",
2000-11-11 10:39:27 +01:00
},
{ "Resume",
"Weiter",
2000-11-19 09:27:15 +01:00
"Nadaljuj",
2000-11-11 10:39:27 +01:00
},
{ "Summary",
"Inhalt",
2000-11-19 09:27:15 +01:00
"Vsebina",
2000-11-11 10:39:27 +01:00
},
{ "Switch",
"Umschalten",
2000-11-19 09:27:15 +01:00
"Preklopi",
2000-11-11 10:39:27 +01:00
},
{ "Now",
"Jetzt",
2000-11-19 09:27:15 +01:00
"Sedaj",
2000-11-11 10:39:27 +01:00
},
{ "Next",
"N<EFBFBD>chste",
2000-11-19 09:27:15 +01:00
"Naslednji",
2000-11-11 10:39:27 +01:00
},
{ "Schedule",
"Programm",
2000-11-19 09:27:15 +01:00
"Urnik",
2000-11-11 10:39:27 +01:00
},
// Confirmations:
{ "Delete Channel?",
"Kanal l<>schen?",
2000-11-19 09:27:15 +01:00
"Odstrani kanal?",
2000-11-11 10:39:27 +01:00
},
{ "Delete Timer?",
"Timer l<>schen?",
2000-11-19 09:27:15 +01:00
"Odstani termin?",
2000-11-11 10:39:27 +01:00
},
{ "Delete Recording?",
"Aufzeichnung l<>schen?",
2000-11-19 09:27:15 +01:00
"Odstrani posnetek?",
2000-11-11 10:39:27 +01:00
},
{ "Stop Recording?",
"Aufzeichnung beenden?",
2000-11-19 09:27:15 +01:00
"Koncaj snemanje?",
2000-11-11 10:39:27 +01:00
},
// Channel parameters:
{ "Name",
"Name",
2000-11-19 09:27:15 +01:00
"Naziv",
2000-11-11 10:39:27 +01:00
},
{ "Frequency",
"Frequenz",
2000-11-19 09:27:15 +01:00
"Frekvenca",
2000-11-11 10:39:27 +01:00
},
{ "Polarization",
"Polarisation",
2000-11-19 09:27:15 +01:00
"Polarizacija",
2000-11-11 10:39:27 +01:00
},
{ "Diseqc",
"Diseqc",
2000-11-19 09:27:15 +01:00
"Diseqc",
2000-11-11 10:39:27 +01:00
},
{ "Srate",
"Srate",
2000-11-19 09:27:15 +01:00
"Srate",
2000-11-11 10:39:27 +01:00
},
{ "Vpid",
"Vpid",
2000-11-19 09:27:15 +01:00
"Vpid",
2000-11-11 10:39:27 +01:00
},
{ "Apid",
"Apid",
2000-11-19 09:27:15 +01:00
"Apid",
2000-11-11 10:39:27 +01:00
},
{ "CA",
"CA",
2000-11-19 09:27:15 +01:00
"CA",
2000-11-11 10:39:27 +01:00
},
{ "Pnr",
"Pnr",
2000-11-19 09:27:15 +01:00
"Pnr",
2000-11-11 10:39:27 +01:00
},
// Timer parameters:
{ "Active",
"Aktiv",
2000-11-19 09:27:15 +01:00
"Aktivno",
2000-11-11 10:39:27 +01:00
},
{ "Channel",
"Kanal",
2000-11-19 09:27:15 +01:00
"Kanal",
2000-11-11 10:39:27 +01:00
},
{ "Day",
"Tag",
2000-11-19 09:27:15 +01:00
"Dan",
2000-11-11 10:39:27 +01:00
},
{ "Start",
"Anfang",
2000-11-19 09:27:15 +01:00
"Zacetek",
2000-11-11 10:39:27 +01:00
},
{ "Stop",
"Ende",
2000-11-19 09:27:15 +01:00
"Konec",
2000-11-11 10:39:27 +01:00
},
{ "Priority",
"Priorit<EFBFBD>t",
2000-11-19 09:27:15 +01:00
"Prioriteta",
2000-11-11 10:39:27 +01:00
},
{ "Lifetime",
"Lebensdauer",
2000-11-19 09:27:15 +01:00
"Veljavnost",
2000-11-11 10:39:27 +01:00
},
{ "File",
"Datei",
2000-11-19 09:27:15 +01:00
"Datoteka",
2000-11-11 10:39:27 +01:00
},
// Error messages:
{ "Channel is being used by a timer!",
2000-11-19 09:27:15 +01:00
"Kanal wird von einem Timer benutzt!",
"Urnik zaseda kanal!",
2000-11-11 10:39:27 +01:00
},
{ "Can't switch channel!",
"Kanal kann nicht umgeschaltet werden!",
2000-11-19 09:27:15 +01:00
"Ne morem preklopiti kanala!",
2000-11-11 10:39:27 +01:00
},
{ "Timer is recording!",
"Timer zeichnet gerade auf!",
2000-11-19 09:27:15 +01:00
"Snemanje po urniku!",
2000-11-11 10:39:27 +01:00
},
{ "Error while deleting recording!",
"Fehler beim L<>schen der Aufzeichnung!",
2000-11-19 09:27:15 +01:00
"Napaka pri odstranjevanju posnetka!",
2000-11-11 10:39:27 +01:00
},
{ "*** Invalid Channel ***",
"*** Ung<6E>ltiger Kanal ***",
2000-11-19 09:27:15 +01:00
"*** Neznan kanal ***",
2000-11-11 10:39:27 +01:00
},
{ "No free DVB device to record!",
"Keine freie DVB-Karte zum Aufnehmen!",
2000-11-19 09:27:15 +01:00
"Ni proste DVB naprave za snemanje!",
2000-11-11 10:39:27 +01:00
},
{ "Channel locked (recording)!",
"Kanal blockiert (zeichnet auf)!",
2000-11-19 09:27:15 +01:00
"Zaklenjen kanal (snemanje)!",
2000-11-11 10:39:27 +01:00
},
// Setup parameters:
{ "OSD-Language",
"OSD-Sprache",
2000-11-19 09:27:15 +01:00
"OSD-jezik",
2000-11-11 10:39:27 +01:00
},
{ "PrimaryDVB",
"Prim<EFBFBD>res Interface",
2000-11-19 09:27:15 +01:00
"Primarna naprava",
2000-11-11 10:39:27 +01:00
},
{ "ShowInfoOnChSwitch",
"Info zeigen",
2000-11-19 09:27:15 +01:00
"Pokazi naziv kanala",
2000-11-11 10:39:27 +01:00
},
{ "MenuScrollPage",
"Seitenweise scrollen",
2000-11-19 09:27:15 +01:00
"Drsni meni",
2000-11-11 10:39:27 +01:00
},
{ "MarkInstantRecord",
"Direktaufz. markieren",
2000-11-19 09:27:15 +01:00
"Oznaci direktno snemanje",
2000-11-11 10:39:27 +01:00
},
{ "LnbFrequLo",
"Untere LNB-Frequenz",
2000-11-19 09:27:15 +01:00
"Spodnja LNB-frek.",
2000-11-11 10:39:27 +01:00
},
{ "LnbFrequHi",
"Obere LNB-Frequenz",
2000-11-19 09:27:15 +01:00
"Zgornja LNB-frek.",
2000-11-11 10:39:27 +01:00
},
{ "SetSystemTime",
"Systemzeit stellen",
2000-11-19 09:27:15 +01:00
"Sistemski cas",
2000-11-11 10:39:27 +01:00
},
{ "MarginStart",
"Zeitpuffer bei Anfang",
2000-11-19 09:27:15 +01:00
"Premor pred zacetkom",
2000-11-11 10:39:27 +01:00
},
{ "MarginStop",
"Zeitpuffer bei Ende",
2000-11-19 09:27:15 +01:00
"Premor za koncem",
2000-11-11 10:39:27 +01:00
},
{ "EPGScanTimeout",
"Zeit bis EPG Scan",
2000-11-19 12:12:53 +01:00
"Cas do EPG pregleda",
},
2000-11-11 10:39:27 +01:00
// The days of the week:
{ "MTWTFSS",
"MDMDFSS",
2000-11-19 09:27:15 +01:00
"PTSCPSN",
2000-11-11 10:39:27 +01:00
},
// Learning keys:
{ "Learning Remote Control Keys",
"Fernbedienungs-Codes lernen",
2000-11-19 09:27:15 +01:00
"Ucim se kod upravljalca",
2000-11-11 10:39:27 +01:00
},
{ "Phase 1: Detecting RC code type",
"Phase 1: FB Code feststellen",
2000-11-19 09:27:15 +01:00
"Faza 1: Sprejemanje IR kode",
2000-11-11 10:39:27 +01:00
},
{ "Press any key on the RC unit",
"Eine Taste auf der FB dr<64>cken",
2000-11-19 09:27:15 +01:00
"Pritisnite tipko na upravljalcu",
2000-11-11 10:39:27 +01:00
},
{ "RC code detected!",
"FB Code erkannt!",
2000-11-19 09:27:15 +01:00
"IR koda sprejeta!",
2000-11-11 10:39:27 +01:00
},
{ "Do not press any key...",
"Keine Taste dr<64>cken...",
2000-11-19 09:27:15 +01:00
"Ne pritiskajte tipk...",
2000-11-11 10:39:27 +01:00
},
{ "Phase 2: Learning specific key codes",
"Phase 2: Einzelne Tastencodes lernen",
2000-11-19 09:27:15 +01:00
"Faza 2: Ucenje posebnih kod",
2000-11-11 10:39:27 +01:00
},
{ "Press key for '%s'",
"Taste f<>r '%s' dr<64>cken",
2000-11-19 09:27:15 +01:00
"Pritisnite tipko za '%s'",
2000-11-11 10:39:27 +01:00
},
{ "Press 'Up' to confirm",
"'Auf' dr<64>cken zum Best<73>tigen",
2000-11-19 09:27:15 +01:00
"Pritisnite tipko 'Gor' za potrditev",
2000-11-11 10:39:27 +01:00
},
{ "Press 'Down' to continue",
"'Ab' dr<64>cken zum Weitermachen",
2000-11-19 09:27:15 +01:00
"Pritisnite tipko 'Dol' za nadaljevanje",
2000-11-11 10:39:27 +01:00
},
{ "(press 'Up' to go back)",
"('Auf' dr<64>cken um zur<75>ckzugehen)",
2000-11-19 09:27:15 +01:00
"(pritisnite 'Gor' za nazaj)",
2000-11-11 10:39:27 +01:00
},
{ "(press 'Down' to end key definition)",
"('Ab' dr<64>cken zum Beenden",
2000-11-19 09:27:15 +01:00
"(pritisnite 'Dol' za konec)",
2000-11-11 10:39:27 +01:00
},
{ "Phase 3: Saving key codes",
"Phase 3: Codes abspeichern",
2000-11-19 09:27:15 +01:00
"Faza 3: Shranjujem kodo",
2000-11-11 10:39:27 +01:00
},
{ "Press 'Up' to save, 'Down' to cancel",
"'Auf' speichert, 'Ab' bricht ab",
2000-11-19 09:27:15 +01:00
"'Gor' za potrditev, 'Dol' za prekinitev",
2000-11-11 10:39:27 +01:00
},
// Key names:
{ "Up",
"Auf",
2000-11-19 09:27:15 +01:00
"Gor",
2000-11-11 10:39:27 +01:00
},
{ "Down",
"Ab",
2000-11-19 09:27:15 +01:00
"Dol",
2000-11-11 10:39:27 +01:00
},
{ "Menu",
"Men<EFBFBD>",
2000-11-19 09:27:15 +01:00
"Meni",
2000-11-11 10:39:27 +01:00
},
{ "Ok",
"Ok",
2000-11-19 09:27:15 +01:00
"Ok",
2000-11-11 10:39:27 +01:00
},
{ "Back",
"Zur<EFBFBD>ck",
2000-11-19 09:27:15 +01:00
"Nazaj",
2000-11-11 10:39:27 +01:00
},
{ "Left",
"Links",
2000-11-19 09:27:15 +01:00
"Levo",
2000-11-11 10:39:27 +01:00
},
{ "Right",
"Rechts",
2000-11-19 09:27:15 +01:00
"Desno",
2000-11-11 10:39:27 +01:00
},
{ "Red",
"Rot",
2000-11-19 09:27:15 +01:00
"Rdeca",
2000-11-11 10:39:27 +01:00
},
{ "Green",
"Gr<EFBFBD>n",
2000-11-19 09:27:15 +01:00
"Zelena",
2000-11-11 10:39:27 +01:00
},
{ "Yellow",
"Gelb",
2000-11-19 09:27:15 +01:00
"Rumena",
2000-11-11 10:39:27 +01:00
},
{ "Blue",
"Blau",
2000-11-19 09:27:15 +01:00
"Modra",
2000-11-11 10:39:27 +01:00
},
// Miscellaneous:
{ "yes",
"ja",
2000-11-19 09:27:15 +01:00
"da",
2000-11-11 10:39:27 +01:00
},
{ "no",
"nein",
2000-11-19 09:27:15 +01:00
"ne",
2000-11-11 10:39:27 +01:00
},
{ "Stop replaying",
"Wiedergabe beenden",
2000-11-19 09:27:15 +01:00
"Prekini ponavljanje",
2000-11-11 10:39:27 +01:00
},
{ "Stop recording ", // note the trailing blank!
"Aufzeichnung beenden ",
2000-11-19 09:27:15 +01:00
"Prekini shranjevanje ",
2000-11-11 10:39:27 +01:00
},
{ "Switching primary DVB...",
"Prim<EFBFBD>res Interface wird umgeschaltet...",
2000-11-19 09:27:15 +01:00
"Preklapljanje primarne naprave...",
2000-11-11 10:39:27 +01:00
},
{ "Up/Dn for new location - OK to move",
2000-11-19 09:27:15 +01:00
"Auf/Ab f<>r neue Position - dann OK",
"Gor/Dol za novo poz. - Ok za premik",
2000-11-11 10:39:27 +01:00
},
{ 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;
}
2000-11-11 10:39:27 +01:00
}
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];
}