Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi GnuGetText und MessageBox (https://www.delphipraxis.net/151659-gnugettext-und-messagebox.html)

caN 27. Mai 2010 09:27


GnuGetText und MessageBox
 
Guten Morgen erstmal :-D

Also ich rufe den folgenden Code auf:
Delphi-Quellcode:
Application.MessageBox(PChar(_('This is a message.')), PChar(_('TEST')), MB_YESNO + MB_SETFOREGROUND + MB_ICONQUESTION)
Es funktioniert alles wunderbar nur die Windows Strings "Ja" und "Nein" werden nicht übersetzt, obwohl sie in der .mo Datei vorhanden sind.
Gibt es dazu irgendeinen "saubere" Lösung für die man sich nicht eine eigene MessageBox bauen muss?

Mithrandir 27. Mai 2010 09:32

Re: GnuGetText und MessageBox
 
Zitat:

Zitat von caN
Es funktioniert alles wunderbar nur die Windows Strings "Ja" und "Nein" werden nicht übersetzt

Bei einer Windowsmessagbox richtet sich die Beschriftung der Schaltflächen nach der Sprache des Betriebssystem, darauf hast du erstmal keinen Einfluss.

himitsu 27. Mai 2010 09:40

Re: GnuGetText und MessageBox
 
Jupp, dieser Dialog wird aus den Resourcen einer Windows-DLL geladen
und darauf hat erstmal kein Übersetzer Zugriff, vorallem da dieser Dialog ja extern erzeugt/geladen wird.

Du kannst aber den Delphi-Referenz durchsuchenMessageDialog verwenden, diese nutzt intern eine Delphi-Form und da könnte eventuell einer der Hooks was ausrichten. (ansonsten liegt da die Beschriftung an Delphi und kommt aus der Consts.pas/.dcu
Delphi-Quellcode:
SOKButton = 'OK'; // englische Version
SCancelButton = 'Cancel';
SYesButton = '&Yes';
SNoButton = '&No';
SHelpButton = '&Help';
SCloseButton = '&Close';
SIgnoreButton = '&Ignore';
SRetryButton = '&Retry';
SAbortButton = 'Abort';
SAllButton = '&All';

caN 27. Mai 2010 09:43

Re: GnuGetText und MessageBox
 
Okay, dann brauch ich mir ja keine Sorgen zu machen. Der User wird es dann in seiner Windowsprache angezeigt bekommen.

Danke für die Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.

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