Verschiedene Landessprachen implementieren?

Hi,
um den Kundenstamm einer Software zu erweitern, möchte ich diese neben Deutsch auch in Englisch anbieten (bzw. die Sprache in der Software auswählbar machen).

Wie mache ich das am besten?

Ich hatte mir überlegt:
Alle Strings werden durch Konstanten ersetzt, diese dann in einem extra Modul in allen Sprachen angelegt (Leider in VB keine Konstanten Arrays nicht möglich, aber theoretisch so):

const german=1:const english=0
const SPEECH\_DOYOUWANTTOCANCEL(german)="Wollen Sie abbrechen?"
const SPEECH\_DOYOUWANTTOCANCEL(english)="Do you want to cancel?"
...

MSGBOX SPEECH\_DOYOUWANTTOCANCEL(actLanguage),"TEST"

Jemand eine bessere Idee, oder eine, die ich auch in VB realisieren kann?

Ralph

Hi Ralph,

Jemand eine bessere Idee, oder eine, die ich auch in VB
realisieren kann?

Der von Dir beschriebene Ansatz ist in VB bereits implementiert.

Vorgehen:

Füge Deinem Projekt eine Ressourcendatei hinzu.
In dieser Ressourcendatei fügst Du eine Zeichenfolgetabelle hinzu. Die Zeichenfolgentabelle enthält eine ID und pro Sprachversion, die Du unterstützen willst, einen String.

In Deinem VB-Quellcode kannst Du mit

LoadResString(_ID_)

auf die Zeichenfolgetabelle zugreifen.

Die Sprachauswahl findet automatisch über die Windows Systemsteuerung statt (die für das System eingestellte Sprache wird in der Tabelle gesucht; wird sie nicht gefunden, wird die Standard-Sprache verwendet).

Beispiel:

Zeichenfolgetabelle

ID | Deutsch (Deutschland) | English (USA)
----+-------------------------+-----------------
101 | Ja | Yes
102 | Guten Morgen | Good Morning!

VB-Code:

Me.lblBegruessung.Caption = LoadResString(102)

Weitere Infos in der VB-Hilfe; Stichworte Lokalisierung, LoadResString, LoadResPicture, LoadResData, „Entwerfen internationaler Software“

Gruss
Thomas