Forum: Multi-Language Add-In for VB6

Wie kann ich Fremdstrings übersetzen

Hallo

ich habe mir gestern die Trail-Version gezogen und probiere nun aus ob Ihr AddIn das ist was ich brauche.
Das sieht erstmal gut aus.
Nun habe ich aber Fragen.
Ich gebe zu das Handbuch/die Hilfe nicht komplett durchgesehen zu haben.

Frage 1
Ich möchte den Client einer Server/Client Kommunikation sprachenunabhängig machen. Hierbei soll der Server, da er für mehrere Länder eingesetzt wird, auf der "Grundsprache Deutsch" bleiben. Der Client kommuniziert mit dem Server über Nachrichten. Hierbei werden auch Fehlermeldungen als Nachricht (String) zurückgegeben. Wie kann ich nun diese an den Client gelieferten deutschen Nachrichten in die jeweils eingestelle Landessprache übersetzen. Die Übersetzung soll ausschließlich im Client erfolgen.

Als Beispiel, der Server liefert.

"Das Dokument konnte nicht gefunden werden."
"Es wurden 45 Dokumente gefunden."


Frage 2
Wie werden oder können Sonderzeichen wie z.B. vbCrLf bearbeitet werden?

Im vorraus Danke für Ihre Antworten.

Mit freundlichen Grüßen

Jörg Schultz







Germany

Hallo Jörg,

das wird nicht einfach gehen, deutsche Texte auf dem Client zu übersetzen. In dem Beispiel, nehme ich an, dass die Zahl 45 per Programm eingefügt wurde. D.h. es gibt nicht eine Menge feste Texte, die man per look-up-table übersetzen könnte.

Wenn die Übersetzung auf dem Client stattfindet, dann wäre es besser, nur eine Fehlernummer zu übergeben, eventuell mit einem oder mehreren Parametern (wie die o.g. Anzahl der Dokumente). Die Umsetzung in einem Text könnte dann auf dem Client gemacht werden.

Ansonsten, würde ich den Vorsatz, dass die Übersetzung auf dem Client stattfindet, in Frage stellen. Wenn die Übersetzung auf dem Server stattfindet, müsste der Client die gewünschte Sprache mitteilen. Ansonsten erscheint mir die Lösung einfacher.

Für vbCfLf hat das Add-In keine Behandlung. Gelegentlich habe ich folgender Trick benutzt. In die Datei MlString.bas gibt es eine stumpfsinnige Funktion substitute(), die %0, %1, usw. mit Parameter ersetzt. Das kann man leicht erweitern, um %n mit vbCrLf zu ersetzen. Damit ist die Zeilenumbruch in die Zeichenkette kodiert und kann mit übersetzt werden. Für einen Übersetzer ist das jedoch erklärungsbedürftig.

Viele Grüße
Phil


Hallo,

danke für deine Antwort.

Ich habe eine Lösung gefunden,
welche ich aber noch weiter testen muß.


Viele Grüße

Jörg