![]() |
Re: Realisierung von Mehrsprachigkeit
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.
|
Re: Realisierung von Mehrsprachigkeit
1. Statisch (also nicht dynamisch)
2. Alle Werte vordefiniert 3. = Codebeispiel ist schlecht (außer die .dfm?) Vielleicht, guckst du dir das mal an: ![]() |
Re: Realisierung von Mehrsprachigkeit
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:
Zweiter Edit: Hier ist noch ein Hinweise darauf, dass es am Verhalten der TTreeView liegt, und wie das zu umgehen ist: ![]() 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 :) |
Re: Realisierung von Mehrsprachigkeit
So... Ich bin wieder dahin gekommen :P
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? |
Re: Realisierung von Mehrsprachigkeit
Das geht mit
Delphi-Quellcode:
Format(_('Items (%d)'), [Items.Count]);
|
Re: Realisierung von Mehrsprachigkeit
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. |
Re: Realisierung von Mehrsprachigkeit
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? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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