ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
2388
2388
EMPFEHLEN
-
Hey Leute,
mein Programm soll eher für englischsprachige Personen sein. Wenn ich aber "Fehlermeldungs-Fenster" (MessageDialogs) verwende o.ä. dann ist die Überschrift ja immer noch auf deutsch, was natürlich so nicht sein soll.
Oder ist es automatisch so, dass zB auf einer englischen Windows-Version die Hilfe-/Fehlermeldungsfenster dann in englischer Sprache erscheinen?
Oder kann ich meinem Main Formular irgendwie "sagen", dass es bitte auf Englisch sein sollGeändert von jupp2oo8 (26.03.08 um 13:31 Uhr)
-
26.03.08 14:53 #2
- Registriert seit
- Mar 2004
- Beiträge
- 441
Also diesbezüglich habe ich da was in meinem Delphi-Projekt, sollte aber adaptierbar sein, da der CBuilder ja auch die VCL nutzt. Genau da liegt nämlich die Crux. In der VCL sind solche Resourcestrings fest verdrahtet und werden auch bei Lokalisierungen nicht ersetzt. Die Lösung, die ich hier habe (ich glaube, die habe ich damals von Torris Delphiseiten übernommen), besteht darin, das entsprechende Message-Fenster "manuell" zu bauen und noch vor der Anzeige die Komponenten des Fensters abzugrasen und die Beschriftungen entsprechend zu verändern:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
{*----------------------------------------------------------------------------- Eigene MessageDlg-Routine Warum eine eigene MessageDlg-Routine? Die normale Delphi-Routine compiliert die Buttons der dynamischen Dialogfenster mit FESTEN Strings. Diese sind auch nicht mit dem Ressourcenmanager anpassbar, da sie in den VCL-Klassen liegen und nicht in irgendeiner Komponente. Leider werden die Button- Beschriftungen auch nicht vom Betriebssystem und dessen Sprache beein- flusst. Deswegen erzeugt diese Routine auch ein Dialogfeld, schreibt jedoch die Beschriftung der Buttons mit Resourcestrings, die in der Data.Globals hinterlegt sind => Lokalisierung dynamischer Dialogfenter. @param Msg Text, der innerhalb des Dialogfensters angezeigt werden soll @param Typ Art des Meldungsfensters (Information, Warning etc.) @param Buttons Die Buttons, die im Fenster angezeigt werden sollen @param HelpCtx Kontext für eine eventuell angebundene Hilfe @return Der Wert des angeklickten Buttons -----------------------------------------------------------------------------*} function TMain.Message(const Msg: String; Typ: TMsgDlgType; Buttons:TMsgDlgButtons; HelpCtx: Longint): Word; var lComponent: TComponent; k: Integer; begin with CreateMessageDialog(Msg, Typ, Buttons) do begin // Alle Komponenten des Dialogs werden auf der Suche nach den Buttons durchlaufen for k := 0 to ComponentCount - 1 do begin lComponent := Components[k]; // Jeder gefundene Button wird überprüft if lComponent is TButton then with TButton(lComponent) do // Zuweisung der jeweiligen Captions begin if UpperCase(Name) = 'YES' then Caption := rs_MAIN_DLG_YES; if UpperCase(Name) = 'NO' then Caption := rs_MAIN_DLG_NO; if UpperCase(Name) = 'OK' then Caption := rs_MAIN_DLG_OK; if UpperCase(Name) = 'CANCEL' then Caption := rs_MAIN_DLG_CANCEL; end; end; Result := ShowModal; end; end;
Und in den rs_MAIN_DLG_... habe ich eben als Strings die jeweiligen Captions für die entsprechende Sprache hinterlegt.
-
Hm, danke für den Tipp, das muss ich mir mal genauer ansehen.
Aber es könnte ja trotzdem ein Fehler im Programm auftreten, mit dem ich nicht rechne. Dann öffnet (bei mir der Borland C++ Builder 2007) ein Fenster mit einer Meldung, wo aber in der Titelzeile "Fehler" steht. Also er würde immer deutsch sprechen.
Weiß jemand, ob auf einem englischen System dort "Error" stehen würde? Und bei allgemein gültigen Windows-Fehlermeldungen auch automatisch ein englischer Text?
Ich glaub, jeder Fehler hat nämlich eine Nummer, und das System ordnet dann erst eine entsprechende Meldung zu.
-
28.03.08 06:44 #4
- Registriert seit
- Mar 2004
- Beiträge
- 441
Ausprobiert habe ich es nicht, aber hast du evtl. ein XP, bei dem du das englische Sprachpaket installieren und aktivieren kannst? Vielleicht lässt sich so rauskriegern, ob Exceptions dann auch in Englisch angezeigt werden. Ansonsten schau ich mal, ob ich ein englisches System auftreibe und teste es.
-
Also ich wüsste nicht, wo ich so was her kriegen sollte.
Aber eigentlich müsste man so was doch irgendwo mal nachlesen können!
AUßerdem kann ich mir auch nicht vorstellen, dass ich die erste bin, die dieses Problem hat...
Ähnliche Themen
-
Sprache von Deutsch auf Englisch umstellen
Von antiautomatic im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 9Letzter Beitrag: 23.01.09, 21:17 -
InDesign 2.0 Sprache umstellen
Von Pixel-Schubser im Forum Desktop Publishing (DTP)Antworten: 0Letzter Beitrag: 11.06.07, 09:53 -
Seite in Sprache umstellen
Von Lenox im Forum PHPAntworten: 12Letzter Beitrag: 23.05.07, 18:26 -
Photoshop von Englisch auf Deutsch umstellen?
Von fabi9the9real im Forum PhotoshopAntworten: 4Letzter Beitrag: 25.09.05, 15:02 -
Sprache umstellen?
Von Sicaim im Forum Videoschnitt, Videotechnik & -produktionAntworten: 1Letzter Beitrag: 18.01.05, 10:21





Zitieren
Login






