![]() |
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...
|
Re: WP5Tools und Localisation
Jetzt gibt es leider das nächste Problem :(
mit zur laufzeit erstellen forms, buttons usw funktioniert es leider nicht. :coder2: :wall: Hast du da eventuell auch ne lösung? |
Re: WP5Tools und Localisation
Nun, dann darst du SaveForm und LoadForm vielleicht erst aufrufen, nachdem die Buttons erzeugt wurden. Geht das nicht? Wo erzeugst du denn die dynamischen Controls?
|
Re: WP5Tools und Localisation
Ne das geht auch nicht...
Ich weiß nicht warum... Ich habe erst ein Form erstellt, dann einen Button auf dem neuen Form, und dann SaveForm benutzt ... geht nicht. Dann habe ich die XML datei manuell erstellt, und nach dem erstellen des Form und des Button geladen.. geht auch nicht. Wenn ich aber in Delphi ein neues Form mit dem namen erstelle, und einen Button mit dem selben namen drauf setzte kann wpLanguage das form aus meiner Manuell erstellten xml datei auch laden nur bei zur laufzeit erstellten Forms gehtes halt nicht... |
Re: WP5Tools und Localisation
Hast du Form.Name bzw. Button.Name denn auch was sinnvolles zugewiesen?
|
Re: WP5Tools und Localisation
Ja sicher
Hast du es denn schonmal mit zur laufzeit erstellten Formularen und Komponenten versucht? Denn selbst wenn ich nur einen Button zur laufzeit auf mein MainForm erstelle wird der nicht mit gespeichert und kann auch nicht geladen werden |
Re: WP5Tools und Localisation
Zitat:
Hast du deine Frage(n) schon mal bei Julian Ziersch in der Newsgroup gestellt? ![]() (Zur Info: J. Ziersch ist der Autor von WPTools) |
Re: WP5Tools und Localisation
Ich habe den Fehler gefunden...
der lag in meiner Procedure, denn ich hatte eine neue Unit mit eigenen Proceduren gemacht, damit man es leicht auf jede anwendung anwenden kann. Ist aber auch egal jetzt speichert er also alles |
Re: WP5Tools und Localisation
Sag mal weißt du zufällig, wie ich weitere XML Datein zu der Aktuellen XMLData (also zur aktuell geladenen File) Mergen kann?
|
Re: WP5Tools und Localisation
Stichworte: AppendFromFile, AppendFromStream (WPXMLInt.pas).
|
Re: WP5Tools und Localisation
Oh...
das WPLanguageControl auch appendfromfile kann habe ich übersehen.... ich hatte mir ne riesige procedure erstellte die unsichtbar mit dem WPXMLEditor arbeitet... Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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