![]() |
WP5Tools und Localisation
Hallo zusammen.
Hat von euch schon mal jemand WPLanguageControl aus WP5Tools für eine eigene Anwendung bzw ein eigenes Formular benutzt? Denn ich brauch das jetzt, weiß aber nicht genau wie ich das machen muss. Ich muss dann glaub ich mein Formular von der Klasse TWPCustomAttrDlg ableiten und dann damit arbeiten oder? also wenn das zufällig schon mal jemand von euch benutzt hat wäre es nett, wenn sich der oder die jenige mit mir über pn in verbindung setzen könnte danke |
Re: WP5Tools und Localisation
Zitat:
...:cat:... |
Re: WP5Tools und Localisation
Was meinst du genau?
Ich bin der Standardprozedur gefolgt: Eine TWPLanguageControl auf's Hauptformular gepackt dort über das Kontextmenü die Datei C:\Programme\WPTools5\Demos\Tasks\Localisation\WPT ools_DE.XML hineingeladen und GlobalLanguage = 'DE' gesetzt. In TMainForm.FormCreate wird dann initialisiert initialisiert
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin //WPTOOLS5 WPLangInterface := TWPLocalizationInterface.Create(WPLanguageControl); WPTools_LoadVCLStrings; WPTools_LoadActionStrings; WPLocalizeLoadForms := TRUE; end; |
Re: WP5Tools und Localisation
@Flocke
wenn man es so macht funktioniert es aber doch nur mit den Dialogen und Komponenten von WPTools oder? ich möchte (bzw bin dabei) einen eigenen Dialog bzw Form zu entwerfen, die xml datei zu erweitern und dann soll es mit der Sprache halt auch beim eigenen Dialog funktionieren |
Re: WP5Tools und Localisation
Ach so, du willst deine eigenen Dialoge darüber anpassen. Hab' ich noch nicht gemacht.
Eigentlich sollte alles, was du brauchst, in WPLngCtr.pas zu finden sein. 1. Du brauchst ein TWPLanguageControl. 2. Die Prozedur TWPLanguageControl.SaveForm erzeugt die XML-Daten für ein Formular 3. Die Prozedur TWPLanguageControl.LoadForm wendet die Einträge in den XML-Daten auf das geladene Formular an, ersetzt also die übersetzen Texte. Du müsstest also in dein Programm einen Befehl einbauen, der jedes Formular lädt und mit TWPLanguageControl.SaveForm dumpt. Danach kannst du die XML-Datei mit TWPLanguageControl.SaveToFile abspeichern und extern bearbeiten. Zur Laufzeit kannst du dann mit TWPLanguageControl.LoadFromFile diese Datei wieder einladen und in FormCreate mit TWPLanguageControl.LoadForm die Sprache anpassen. Wie gesagt: alles graue Theorie, hab's selbst noch nicht gemacht. |
Re: WP5Tools und Localisation
Danke erstmal ich werde mich da morgen wieder dran setzen thnks
|
Re: WP5Tools und Localisation
@flocke
Das funktioniert alles soweit, aber leider nicht bei menüs... Weißt du warum? bei PopUp Menüs gehts super, aber die Eintrage aus einem Hauptmenü können nicht mit SaveForm gespeichert werden, wenn ich aber manuell den namen des eintrages in die xml liste schreibe, dann kann der Text auch mit LoadForm geladen werden. weißt du eventuell woran das liegt? |
Re: WP5Tools und Localisation
Zitat:
Delphi-Quellcode:
procedure SaveMenuItems(Menu: TMenuItem);
var mEntry: TWPXMLOneLevel; begin mEntry := XMLEntry.AddTagValue(Menu.Name, ''); mEntry.ParamValue[CAPTION_PARAM] := Menu.Caption; mEntry.ParamValue[HINT_PARAM] := Menu.Hint; for m := 0 to Menu.Count - 1 do SaveMenuItems(Menu.Items[m]); end; Zitat:
Delphi-Quellcode:
procedure TForm1.WPLanguageControl1.AfterSave(Sender: TWPLanguageControl; Form: TWinControl; XMLEntry: TWPXMLOneLevel);
var Entry: TWPXMLOneLevel; begin Entry := XMLEntry.AddTagValue('Button1', ''); Entry.ParamValue[CAPTION_PARAM] := 'Bearbeiten'; end; |
Re: WP5Tools und Localisation
Zitat:
Zitat:
Ich habe gerade mal ein Upgrade auf die Version 5.19.1 gemacht und die Routine hat sich noch nicht viel geändert. Allgemein kann man sagen: sie ist nicht ohne Einschränkungen allgemein nutzbar und wird wahrscheinlich immer nur dann erweitert, wenn es für die Dialoge von WPTools nötig wird. Füge mal noch diese Änderungen in die Routine "SaveFormEx" ein (d.h. kommentiere den entsprechenden Bereich aus).
Delphi-Quellcode:
if not NoDefault then
begin (* if obj is TMenu then // TMainMenu, TPopupMenu begin if Menus then for i := 0 to TMenu(obj).Items.Count - 1 do SaveMenuItems(TMenu(obj).Items[i]); end else if not (obj is TMenuItem) then // V4.08b - 'TMenuItem' - we saved these above already *) begin oCaption := ReadProp('Caption'); oHint := ReadProp('Hint'); |
Re: WP5Tools und Localisation
danke ich habs hinbekommen...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:56 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 by Thomas Breitkreuz