Verschiedene Sprachen realisieren
-
Ich möchte mein Programm während der Laufzeit zwischen deutsch, englisch und einer weiteren Sprache umstellen können.
Die Frage ist jetzt nur, wie ich das am besten realisiere.
Das Programm ist nicht so furchtbar groß (ingesamt ~1500 Zeilen).Ich habe mir überlegt eine Structur anzulegen mit sämtlichen Strings, und dafür dann Instanzen mit den Sprachen zu erzeugen.
-
schau dir mal GNU/gettext an.
-
Das sieht ja sehr komplex aus.
Lohnt es sich da für so ein kleines Projekt sich reinzuarbeiten?
-
char* msg[] = {"Deutsch", "Englisch", "Spanisch"}; int main() { int sprache = 1; // 0 = deutsch, 1 = englisch, 2 = spanisch printf ("%s", msg[sprache]); return 0; }
-
Auf sowas wäre ich auch gekommen.
Meine Frage ist was sich lohnt bei einem Programm mit ~1500 Zeilen
-
Simonek schrieb:
Auf sowas wäre ich auch gekommen.
Meine Frage ist was sich lohnt bei einem Programm mit ~1500 Zeileneine selbstgemachte stringliste z.b.
// das hier ändern #define ITALIANO static char *HALLOTEXT = #if defined(DEUTSCH) "Hallo" #elif defined(ITALIANO) "Pronto" #elif defined(FRANCAIS) "Salut" #else "\nBitte Sprache festlegen\n" #endif ; ... printf ("%s, World.\n", HALLOTEXT); ...
-
Die Sprache soll zur Laufzeit änderbar sein.
Und wenn möglich, dann soll nicht jede Sprache im Arbeitsspeicher liegen.
-
Dann überleg dir ein Dateiformat welches einfach zu parsen ist. Beim Programmstart (oder wenn Sprache gewechselt wir) lädst du dann die entsprechenden Strings aus der Datei.