AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

gnu gettext und Dialoge

Ein Thema von schwarzerlotus · begonnen am 30. Dez 2011 · letzter Beitrag vom 2. Jan 2012
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 10:17
Was verstehst du jetzt unter "reinimpfen"?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#2

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 10:36
Klemme folgende Prozedur an das OnShow-Ereignis des Open-Dialogs:

PROCEDURE TShellForm.OpenDialogShow(sender:TObject);
VAR
hwnd: THandle;

BEGIN
WITH OpenDialog
DO BEGIN
hwnd := GetParent(Handle);
SetDlgItemText(hwnd,1,PChar(TextOf('Open')));
SetDlgItemText(hwnd,2,PChar(TextOf('Cancel')));
SetDlgItemText(hwnd,1038,PChar(TextOf('Help')));
SetDlgItemText(hwnd,1089,PChar(TextOf('FileType')) );
SetDlgItemText(hwnd,1090,PChar(TextOf('FileName')) );
SetDlgItemText(hwnd,1091,PChar(TextOf('Searchin')) )
END
END; {OF PROCEDURE TShellForm.OpenDialogShow}

Die Funktion TextOf liefert den von der eingestellten Sprache abhängigen Wert, der z.B. in der Ressourcen-Datei abgelegt werden kann. Ähnlich funktioniert das für den Save-Dialog.
  Mit Zitat antworten Zitat
schwarzerlotus

Registriert seit: 25. Jul 2011
22 Beiträge
 
#3

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 11:28
@Sailor

das schaut gut aus Ich hab das noch etwas abgewandelt, da er bei mit TextOf nicht gefunden hat.

SetDlgItemText(hwnd,1,PChar(gettext('Open')));

so legt gettext das nun in der .po Datei ab und ich kann es übersetzten

@Lucki

ok MessageBox probier ich gleich nochmal aber auf der andren Seite - wenn MessageDialog aus der VCL stammt und ich eine eigentlich komplette delphi7 Übersetzungsdatei habe

http://dybdahl.dk/dxgettext/translations/

und die auch hinzufüge - warum wird es dann trotzdem nicht übersetzt
  Mit Zitat antworten Zitat
schwarzerlotus

Registriert seit: 25. Jul 2011
22 Beiträge
 
#4

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 11:59
ok es muss so sein, sonst bekommt man nur das erste Zeichen dargestellt

SetDlgItemText(hwnd,1,PChar(String(gettext('Open') )));
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 12:02
Was verstehst du jetzt unter "reinimpfen"?
Na das...
Klemme folgende Prozedur an das OnShow-Ereignis des Open-Dialogs:.
  Mit Zitat antworten Zitat
schwarzerlotus

Registriert seit: 25. Jul 2011
22 Beiträge
 
#6

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 12:48
Hmm also ein Stück näher gekommen bin ich ja nun aber leider leider klappt das "nur" für die Delphi eigenen Dialoge also Open und Save.

Nun fehlt noch der TMS FolderDialog und dem fehlt leider so ein onShow Ereignis - genau genommen hat diese Komponente gar keine Ereignisse.

Kann man mit der Methode SetDlgItemText(...) auch noch an einer anderen Stelle auf den FolderDialog einwirken?
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 13:21
Ermittle das Handle des Dialogs und suche mit EnumChildWindows die Windows Controls mit den zu übersetzenden Texten.
  Mit Zitat antworten Zitat
schwarzerlotus

Registriert seit: 25. Jul 2011
22 Beiträge
 
#8

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 13:44
So habs

Hab mir mal die TMS Komponente angeschaut - die kapselt intern den SHBrowseForFolder(...) Dialog

Nach ein paar Fragen an google kam dann das hier heraus

http://www.codeguru.com/forum/showthread.php?t=172576
- How to change Buttontext of SHBrowseForFolder dialog

Code:
HWND hWndOK = ::GetDlgItem(hWndDlg,IDOK);
LPCTSTR lpsz = _T("You are OK");
::SetWindowText(hWndOK,lpsz);
und damit gehts nun und ich kann die Captions der Ok, Abbrechen, Neuer Ordner Buttons umbenennen.

Nun kann ich mich dran machen alles zu übersetzten

Danke an alle
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 15:20
So habs

...

und damit gehts nun und ich kann die Captions der Ok, Abbrechen, Neuer Ordner Buttons umbenennen.
Bleibt dann bei diesem Dialog die komplette Funktionalität vorhanden? Bei den Dateiöffnen/speichern-Dialogen führt ja der Callback dazu das der neue Dialogstiel dieser Dialoge den es seit Windows Vista gibt damit nicht mehr verfügbar ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: gnu gettext und Dialoge

  Alt 30. Dez 2011, 18:14
@Furtbichler: Das ist doch genau das, was meine Lösung macht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 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