Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons (https://www.delphipraxis.net/185957-firemonkey-messagedlg-zeigt-nicht-laenderspezifische-buttons.html)

Kirchi 22. Jul 2015 07:10

Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich bin gerade dabei eine MAC Anwendung mit Delphi XE5 zu erstellen. Diese sollte auch in Englisch zur Verfügung stellen. Ich hatte gedacht, dass wenn ich ein Aufruf des Messagedlg so durchführe

Delphi-Quellcode:
MessageDlg(MessageText,TMsgDlgType.mtConfirmation,[TMsgDlgBtn.mbYes,TMsgDlgButton.mbNo],0)


dass die Überschrift und die Buttons in den entsprechenden Ländereinstellungen (Yes/No anstatt Ja/Nein) angezeigt werden. Dies ist leider nicht so (Siehe Screenshot).


Ist das ein Fehler in Delphi, oder mache ich hier einen Fehler?


Kühle Grüße aus meinem klimatisierten Büro!

Sir Rufo 22. Jul 2015 08:50

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Es werden die länderspezifischen Bezeichnungen angezeigt ... allerdings wird das Land von dem Rechner genommen, auf dem deine IDE läuft, bzw. wo du kompilierst.

greenmile 22. Jul 2015 09:05

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Zitat:

Zitat von Sir Rufo (Beitrag 1309456)
allerdings wird das Land von dem Rechner genommen, auf dem deine IDE läuft, bzw. wo du kompilierst.

Im Ernst? Wie sinnfrei ist das denn? Also muss ich je XE Version und jeweils je Land jeweils eine VM installieren, um alle möglichen XE Versionen und Länder abzudecken? So langsam wird es komisch ...

Kirchi 22. Jul 2015 09:12

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Wenn ich das richtig verstehe, kann ich nie eine Multilinguale Anwendung erstellen, wenn ich die MessageDlg Komponenten nehme. Oder ich baue eine eigene.

:kotz:

Bernhard Geyer 22. Jul 2015 09:19

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Für Delphi gibt es einige von Emba schon zur verfügung gestellte Mechanismen um mehrsprachige Apps zu unterstützen. Auch gibt es einige 3thPary/OpenSource-Implementierungen die das ermöglichen. Ob diese auch für FMX gehen weiß ich nicht.

Union 22. Jul 2015 09:20

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Für Windows gab es das ITE. Leider wurde für FMX und Crossplatform wieder US-Zentrisch gedacht. Entweder es werden die Sysconsts der Installation verwendet oder es ist tatsächlich hardcodiert. Dann gibt es weitere Lösungen (als Ablösung der "Hardcodierung"), wo dies dann mit Properties gesetzt wird (z.b. der Swipe-to-Delete Text).

Es gibt da keinerlei Strategie, ausser auf Fremdprodukte hinzuweisen. Dass es andere Länder gibt, wird vielen Programmierern, auch denen von EMB, wohl erst langsam bewusst.

Luckie 22. Jul 2015 09:22

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Zitat:

Zitat von Sir Rufo (Beitrag 1309456)
Es werden die länderspezifischen Bezeichnungen angezeigt ... allerdings wird das Land von dem Rechner genommen, auf dem deine IDE läuft, bzw. wo du kompilierst.

Nicht von den Spracheinstellungen der IDE?

Der schöne Günther 22. Jul 2015 09:39

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Ein kurzer MessageDlg(..) auf Windows bescherte mir zumindest einen Ja/Nein-Dialog halb in Englisch (IDE-Sprache) und halb Deutsch (Benutzersprache) :-D

Sir Rufo 22. Jul 2015 10:50

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Zitat:

Zitat von Luckie (Beitrag 1309465)
Zitat:

Zitat von Sir Rufo (Beitrag 1309456)
Es werden die länderspezifischen Bezeichnungen angezeigt ... allerdings wird das Land von dem Rechner genommen, auf dem deine IDE läuft, bzw. wo du kompilierst.

Nicht von den Spracheinstellungen der IDE?

Nee, auch nicht, sondern das hängt mit dem Eintrag LANGDIR zusammen. Der gilt aber global für die IDE (nee, eigentlich für den Compiler).

Zu finden unter Tools / Optionen / Umgebungsoptionen / Umgebunsvariablen

Wenn ich also alles auf englisch haben möchte, dann sollte ich vor dem Kompilieren diesen Eintrag auf EN setzen. Dann sind auch die Exception-Meldungen, etc. auf englisch.

Die Dialog-Button werden allerdings mal so oder mal so behandelt. Teils kommen die vom OS und teils von Delphi und dann abhängig von der LANGDIR Einstellung.

nuclearping 22. Jul 2015 11:39

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Sir Rufo (Beitrag 1309456)
Es werden die länderspezifischen Bezeichnungen angezeigt ... allerdings wird das Land von dem Rechner genommen, auf dem deine IDE läuft, bzw. wo du kompilierst.

Kann ich so nicht direkt bestätigen.

Bin auch grad dabei, mit XE7 und FM ein Win/Mac Projekt zu entwickeln. Meine Entwicklungs-VM ist ein englisches Win7. Mein Hauptrechner ein deutsches Win8.1. Und das gleiche Kompilat zeigt mir auf dem Win7 "Yes / No / Cancel" an, während er mir auf Win8.1 "Ja / Nein / Abbrechen" präsentiert. Allerdings haben beide Fenster eine "Bestätigen"-Caption ... :D

Sir Rufo 22. Jul 2015 11:44

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Das meinte ich in meinem letzten Beitrag mit Teils/Teils ...

Es ist auch noch abhängig vom OS, ob das für die gewünschten Buttons auch Texte vorliegen hat.

Diesen Bestätigen-Text bekommst du auf englisch, wenn du LANGDIR auf EN setzt

Kirchi 22. Jul 2015 13:02

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Auf Win Rechnern scheint das ja anscheinend zu funktionieren. Aber mein eigentlicher Beitrag ging um Mac OSX. Ich habe jetzt mal zum testen einen eigenen Dialog als separate Form erstellt.

Hier habe ich aber das Problem, dass wenn die Form mit einem Modalresult verlassen wird, das auf der aufrufenden Form die nächste Komponente den Fokus erhält und nicht mehr die Komponente welche bei Aufruf den Fokus hatte. Dieses Problem hatte ichmit dem Standard MessageDlg nicht. Ich habe auch versucht direkt hinter dem Aufruf des Dialogs einen SetFocus auf die benötigte Komponente zu machen, funktioniert aber nicht.

:kotz:

Weiß jemand woran das liegen könnte?

Uwe Raabe 22. Jul 2015 13:31

AW: Firemonkey MessageDlg zeigt nicht Länderspezifische Buttons
 
Zitat:

Zitat von Sir Rufo (Beitrag 1309506)
Diesen Bestätigen-Text bekommst du auf englisch, wenn du LANGDIR auf EN setzt

Mit dem Tool BdsSetLang.exe kann man übrigens neben der Sprache der IDE auch (unabhängig davon) die verwendete Sprache der eincompilierten Bibliotheken einstellen. Unter der Haube tut es aber auch nicht wirklich was anderes.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz