AGB  ·  Datenschutz  ·  Impressum  







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

Realisierung von Mehrsprachigkeit

Ein Thema von xZise · begonnen am 11. Dez 2006 · letzter Beitrag vom 29. Dez 2006
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Realisierung von Mehrsprachigkeit

  Alt 13. Dez 2006, 17:32
Handbuch, Manual, Docs... alles das gleiche in Grün. Zeig mal bitte nen Codebeispiel für die TTreeView die er nicht erkennt. Das wundert mich jetzt nämlich doch sehr. Einträge zum po-File hinzufügen bringt nämlich genau NULL. Denn der Inhalt des po-Files wird ja nicht einfach gelesen und irgendwo drübergezogen, sondern nur benutzt, um die Texte die der _()-Funktion übergeben werden, sowie die Texte die TranslateComponent(self) findet, zu übersetzen. Wenn beim Extrahieren Komponenten nicht gefunden werden, bedeutet das im Umkehrschluss dann aber auch, dass die Übersetzungen selbst wenn sie vorhanden sind, nicht angezogen werden (werden?). Wenn Du die TreeViews dynamisch erzeugst, also Texte erst zur Laufzeit reinschreibst, dann musst Du halt überall _() drum rum schreiben. Bei statisch vorhandenen TreeViews müssten aber eigentlich alle per OI eingetragenen Texte erkannt und extrahiert werden. Vielleicht fehlt nur ein TranslateComponent()-Aufruf an der richtigen Stelle? Troubleshooting gibts im Online Manual übrigens auch... Aber wie gesagt, stell mal Codebeispiel hin, dann kann man da mehr sagen.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#22

Re: Realisierung von Mehrsprachigkeit

  Alt 13. Dez 2006, 17:41
1. Statisch (also nicht dynamisch)
2. Alle Werte vordefiniert
3. = Codebeispiel ist schlecht (außer die .dfm?)

Vielleicht, guckst du dir das mal an: Editor
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Realisierung von Mehrsprachigkeit

  Alt 13. Dez 2006, 17:54
Ja, pack doch .pas und .dfm als attachment (bitte gepackt) hier rein. Mir gehts darum, dass ich mir das mal hier selber anschauen kann.

Edit: Hab da gerade was gefunden (google...), allerdings muss ich erstmal schauen zu welcher Version das gehört:
Zitat von Google-Suchergebnis:
Some components, like treeviews and listviews, have item list properties that you need to handle manually by adding your own procedure to explicitly iterate over the list and use _() to translate them. For a treeview, here's the code I added to my base form: type THackTreeView = class(TCustomTreView); procedure TfrmGnuGT.HandleTreeView(Obj: TObject); var N:TTreeNode;T:THackTreeView; begin T := THackTreeView(Obj); N := T.Items.GetFirstNode; while N <> nil do begin N.Text := _(N.Text); N := N.GetNext; end; end; I also had to tell dxgettext that I want to handle treeview translations myself, so I added a call to TP_GlobalHandleClass in AfterConstruction: TP_GlobalHandleClass(TCustomTreeView,HandleTreeVie w); I also added similar handlers for listviews and the KWizard.
Jetzt wo ich drüber nachdenke kommt mir auch in den Sinn dass alle meine Treeviews dynamisch gefüllt werden, daher ist mir wohl das Problem noch nie aufgefallen.

Zweiter Edit: Hier ist noch ein Hinweise darauf, dass es am Verhalten der TTreeView liegt, und wie das zu umgehen ist: TreeView und andere Samples

Hoffe, das hilft Dir weiter
Da ich eigentlich aus der Ecke von C/C++ komme, fülle ich meine Controls meist eh dynamisch mit Inhalten, alte Angewohnheit Daher ist mir das bisher noch gar nicht aufgefallen
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#24

Re: Realisierung von Mehrsprachigkeit

  Alt 29. Dez 2006, 14:38
So... Ich bin wieder dahin gekommen
Nun habe ich aber ein ziemlich Problematisches Problem (lol)...

Und zwar habe ich ein Label mit der Caption "Items (X)" wobei X sich während der Runtime ändert.
Wie kriege ich es jetzt hin, dass er mir es trotzdem brav übersetzt?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#25

Re: Realisierung von Mehrsprachigkeit

  Alt 29. Dez 2006, 15:37
Das geht mit
Format(_('Items (%d)'), [Items.Count]);
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#26

Re: Realisierung von Mehrsprachigkeit

  Alt 29. Dez 2006, 15:42
Oh, da war jemand schneller

Der grundlegende Trick ist halt, Platzhalter zu verwenden und seine Strings die variable Anteile enthalten können mittels der Format-Funktion zusammenzubauen. Ausser %d für Integer gibts auch noch eine Reihe weitere Platzhalter, dazu steht aber auch einiges in der Delphi-Hilfe. Bei mir ists fast immer %s (für nen String) oder %d (für nen Integerwert), Fließkommazahlen und Werte in anderen Zahlensystemen kann man aber auch benutzen.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#27

Re: Realisierung von Mehrsprachigkeit

  Alt 29. Dez 2006, 20:42
Okay... Funktioniert soweit

Außer dass er sich wehement dagegen aufbringt mir "Items (%d)" zu übersetzen!

Andere Strings mit "%d" funktionieren (Stichprobe)...

Gabs da einen Bug mit Zahlen die in () sind?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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:55 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