Multilanguage Programm, wann und wie?
Multilanguage Programm, wann und wie?
Hallöchen,
ich beschäftige mich derzeit mit dem Thema, ein Programm mehrsprachig zu machen. Dabei stellt sich die Frage, wann man am besten damit anfängt. Und wie genau das am besten gemacht wird. Also geplant ist eine Auswahl von 2 oder mehreren Sprachen innerhalb des Programmes. Ich dachte da so an eine Linked List in welche die Sprach-Strings der aktuellen Sprache eingeladen werden. Dann wird beim Erstellen der Gadgets einfach das jeweilige Element im der LL angesprochen und der Text wird dargestellt.
Die Frage ist nun, ist dies eine Sinnvolle Methode oder sollte man dafür lieber ein Array verwenden? Oder könnte man es noch ganz anders machen?
Und wann sollte man damit beginnen? Mein Projekt ist zwar schon recht weit fortgeschritten, existiert schon ca. 7 Monate, allerdings ändern sich die Gadgets und die Fenster schon noch teilsweise mal wieder. Ist es da überhaupt sinnvoll, eine 2Sprachige Einstellung einzubauen, solange noch nicht alles nahezu fertig ist?
Wie sind da eure Erfahrungen mit mehrsprachigen Programmen?
mfg.
Sunny
ich beschäftige mich derzeit mit dem Thema, ein Programm mehrsprachig zu machen. Dabei stellt sich die Frage, wann man am besten damit anfängt. Und wie genau das am besten gemacht wird. Also geplant ist eine Auswahl von 2 oder mehreren Sprachen innerhalb des Programmes. Ich dachte da so an eine Linked List in welche die Sprach-Strings der aktuellen Sprache eingeladen werden. Dann wird beim Erstellen der Gadgets einfach das jeweilige Element im der LL angesprochen und der Text wird dargestellt.
Die Frage ist nun, ist dies eine Sinnvolle Methode oder sollte man dafür lieber ein Array verwenden? Oder könnte man es noch ganz anders machen?
Und wann sollte man damit beginnen? Mein Projekt ist zwar schon recht weit fortgeschritten, existiert schon ca. 7 Monate, allerdings ändern sich die Gadgets und die Fenster schon noch teilsweise mal wieder. Ist es da überhaupt sinnvoll, eine 2Sprachige Einstellung einzubauen, solange noch nicht alles nahezu fertig ist?
Wie sind da eure Erfahrungen mit mehrsprachigen Programmen?
mfg.
Sunny
-
- Beiträge: 556
- Registriert: 04.09.2004 22:23
- Kontaktdaten:
Ich würde alles in ein array speichern, da du sowieso nur eine bestimmte anzahl an texten hast, und alle texte ind eine Textdatei speichern, so kannst du auch noch mehr Sprachen einfügen. Dadurch kannst auch konstanten anlegen die den Index des Textes speichern, das sorg auf jeden fall für mehr Übersicht.
Anfangen würde ich erst zum Schluß damit.
Anfangen würde ich erst zum Schluß damit.
-
- Beiträge: 6267
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Nimm ein 1-Dimensionales Array, wo jeder Satz vorkommt.
Statt
nimmst du einfach
Fülle das Array mit der gewünschten Sprachdatei (am besten eine Ascii-Datei. Jede Zeile ein Language$()). So kannst du beliebig viele Sprachdateien ausliefern. Wechselt der Benutzer die Sprache, einfach das Language$() Array neu einlesen.
Tip: Wenn du sowas brauchst:
dann in der Language-Datei:
Und bei bedarf das %1 mit ReplaceString() ersetzen.
Statt
Code: Alles auswählen
Textgadget(#Hallo,0,0,20,20,"Hallo")
Code: Alles auswählen
Textgadget(#hallo,0,0,20,20,language$(0));"Hallo"
Tip: Wenn du sowas brauchst:
Code: Alles auswählen
Datei XYZ exestiert schon
Code: Alles auswählen
Datei %1 exestiert schon
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Von anfang an eingeplant. Unter anderen, weil IDE das auch so macht.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Hi,
ich hab das mit .ini Dateien gemacht, Macht es einfacher neue Sprachdateien einzufügen und bestehende zu Verbessern.
Einfach ne.ini erstellen, folgende Texte reinschreiben:
[Programmname]
Text.01=Herzlich Willkommen
Text.02=DADADADADADAD
....
und dann mit deinen Programm und der entsprechenden API [Programmname] Text.01 ansprechen.
ich hab das mit .ini Dateien gemacht, Macht es einfacher neue Sprachdateien einzufügen und bestehende zu Verbessern.
Einfach ne.ini erstellen, folgende Texte reinschreiben:
[Programmname]
Text.01=Herzlich Willkommen
Text.02=DADADADADADAD
....
und dann mit deinen Programm und der entsprechenden API [Programmname] Text.01 ansprechen.
Ich habs ähnlich gemacht.
allerdings so:
Ich lese eine Zeile ein.
Wenn sie mit ";" beginnt ist es ein kommentar und wird ignoriert.
ansonsten wird nach einen ":" gesucht. Links davon steht eine Nummer (mittels VAL ausgewertet) und rechts davon der Text.
bzw.:
Wenn man sein Programm erweitert, erweitert man bsw. die Menüs. Die neuen Sprachfetzen erhalten ja höhere Nummern. So kann man den neuen Fetzen logisch in der Sprachdatei sortieren und nicht nach erstellung.
allerdings so:
Ich lese eine Zeile ein.
Wenn sie mit ";" beginnt ist es ein kommentar und wird ignoriert.
ansonsten wird nach einen ":" gesucht. Links davon steht eine Nummer (mittels VAL ausgewertet) und rechts davon der Text.
bzw.:
Code: Alles auswählen
12:Abbruch
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!