AGB  ·  Datenschutz  ·  Impressum  







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

WP5Tools und Localisation

Ein Thema von kingflo · begonnen am 7. Dez 2005 · letzter Beitrag vom 16. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#1

WP5Tools und Localisation

  Alt 7. Dez 2005, 15:09
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
Florian Gilde
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: WP5Tools und Localisation

  Alt 7. Dez 2005, 15:36
Zitat von kingflo:
wenn sich der oder die jenige mit mir über pn in verbindung setzen könnte
Und warum nicht hier im Thread?

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: WP5Tools und Localisation

  Alt 7. Dez 2005, 16:09
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;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#4

Re: WP5Tools und Localisation

  Alt 7. Dez 2005, 16:15
@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
Florian Gilde
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: WP5Tools und Localisation

  Alt 7. Dez 2005, 16:42
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.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#6

Re: WP5Tools und Localisation

  Alt 7. Dez 2005, 20:27
Danke erstmal ich werde mich da morgen wieder dran setzen thnks
Florian Gilde
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#7

Re: WP5Tools und Localisation

  Alt 9. Dez 2005, 13:56
@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?
Florian Gilde
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: WP5Tools und Localisation

  Alt 13. Dez 2005, 14:31
Zitat von kingflo:
Das funktioniert alles soweit,mit Save und LoadForm aber leider nicht bei MainMenü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? Bzw wie ich es am bessten Hinbekommen kann das MainMenü in die xml datei zu bekommen?
Hier habe ich einen Fehler in der WP-Tools Bibliothek gefunden. Wenn du die Quelltexte hast, dann kannst du in WPLngCtr.pas in Zeile 655-656 die Kommentarzeichen entfernen (ungetestet) und dann das Package aktualisieren. Bitte teile mir mit ob's dann funktioniert.

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 von kingflo:
Sag mal oder weißt du vielleicht, wie ich einen String einzelnt in diesem Format

<Button1 C="Bearbeiten" />

hinzufügen kann? denn dann könnte ich unter anderem die Menu Namen einzeln hinzufügen, aber mit SaveString geht es leider nicht.

und wenn man den TWPXMLPropertyEditor benutzt kann man es über Branch -> Create Item with PARAMs und dann z.B folgendes eingeben:
Button1#C=test

Aber weißt du wie ich das in meinem Code machen kann?

Ich möchte also zu der geöffneten xml datei in WPLanguageControl1 einen String so wie oben beschrieben hinzufügen...
Ich habe schon alles mögliche versucht aber das bekomme ich irgendwie nicht hin.
Dafür könntest du das "BeforeSave"- oder "AfterSave"-Ereignis nutzen, dass den betreffenden TWPXMLOneLevel übergeben bekommt:
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;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: WP5Tools und Localisation

  Alt 14. Dez 2005, 10:34
Zitat von kingflo:
Ja sobald man noch m als integer variable deklariert hat geht es.
ich weiß gar nicht wie ich dir danke soll...

Also danke.

Ist war ein bisschen ärgerlich, da ich mir jetzt schon eine eigene Funktion erstellt hatte um die Menüs zu speichern aber so wie jetzt ist es natürlich besser.
Also herzlichen dank

Und frohe weihnachten wünsch ich noch

flo
Zitat von kingflo:
äh... misst

also das mit dem Speichern der Menüs geht jetzt zwar, aber laden tut er Sie leider nicht.
gespeichert sind die sachen jetzt unter <Mainmenu1>
aber laden kann er Sie nur wenn Sie unter dem Haupteintrag stehen, weil er die einträge wie normale komponenten laden kann.

Ich habe mir die procedure LoadForm auch mal angesehen, konnte aber nichts finden...


Ach und sag mal gibt es eventuell auch eine möglichkeit einen eintrag hinzuzufügen ohne das event Before - AfterSave zu benutzen?
Dann ist die Routine für das Laden und Speichern von Menüs wahrscheinlich noch überhaupt nicht richtig fertig geworden. Es sieht stark danach aus, dass irgendwann mit der Routine "SaveMenuItems" angefangen wurde, die entsprechende Routine "LoadMenuItems" aber nicht mehr geschrieben wurde (wohl weil es dann doch nicht gebraucht wurde).

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');
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#10

Re: WP5Tools und Localisation

  Alt 14. Dez 2005, 10:47
danke ich habs hinbekommen...
Florian Gilde
  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 04:00 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