Guten morgen allerseits,
hier vielleicht mal eine ganz dumme Frage:
Unter DBNavigator.Hints stehen deutsche Texte, aber egal ob ShowHints gesetzt ist oder nicht, es werden nur die englischen Standards angezeigt.
Hab ich da nen brett vorm Kopf? oder bin blind? Was mach ich falsch?
Gruß hde
hde hat geschrieben:Unter DBNavigator.Hints stehen deutsche Texte, aber egal ob ShowHints gesetzt ist oder nicht, es werden nur die englischen Standards angezeigt.
Lazarus verwendet die übersetzen Hinweismeldungen, dein Programm aber nicht. Du musst diese so wie alle anderen Strings der LCL und RTL ebenfalls lokalisieren, damit dein Programm vollständig in einer anderen Sprache als Englisch läuft.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Naja Socke & Knight, aber das ist schon etwas merkwürdig, was hier abgeht.
Im Obj-Insp. kriege ich die deutsche Liste editierbar präsentiert, im Kompilat aber wieder die englischen Texte?
Intuitiv ist es wirklich nicht, das muss man zugeben. Ist es ein Bug?
@Theo: Wir sind da einer Meinung. Vor einigen Tagen ist mir das gleiche Problem bei den Dialogen (TOpenDialog etc.) aufgefallen. Verwendet man die Komponenten in der IDE, so sind im Hintergrund die po Dateien von Lazarus aktiv. Daher werden dort die deutschen Texte angezeigt. Zur Laufzeit des Programms stehen die po Dateien nicht mehr zur Verfügung und so werden die englischen Texte angezeigt. Es bleiben 3 Möglichkeiten:
- es werden die benötigten po Dateien von Lazarus eingebunden
- für das Programm wird eine eigene po Datei erstellt
- die Texte bekommen zur Laufzeit eine deutsche Zeichenkette zugewiesen
knight hat geschrieben:- es werden die benötigten po Dateien von Lazarus eingebunden
Es wäre toll, wenn man in den Projekteinstellungen eine Standard-Sprache einstellen kann, die automatisch in das Programm hineingelinkt und geladen wird. Bisher ist das für eine kleine Anwendung zu aufwändig.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Danke für Eure Hilfe.
wenn man's weiß funktioniert' s ja auch. Aber ganz schon verwirrend wenn man mit Lazarus noch nicht so lange umgeht. Eigentlich erwartet man ja wohl, dass das was man im Quellcode und Editor sieht auch im Kompilat steht. Aber OK, jetzt hab selbst ich begriffen wie's geht.
Socke hat geschrieben:Es wäre toll, wenn man in den Projekteinstellungen eine Standard-Sprache einstellen kann, die automatisch in das Programm hineingelinkt und geladen wird.
@Knight: Ja, das ist mir klar.
Ich meinte eher, dass das "Hints" Property nicht published sein sollte. Was kann ich denn da im Objektinspektor machen?
Offenbar nichts?
theo hat geschrieben:einte eher, dass das "Hints" Property nicht published sein sollte. Was kann ich denn da im Objektinspektor machen?
Offenbar nichts?
doch, man kann sie im Objektinspektor auch ändern und die Änderungen landen in der .po
Ich finde nur, das mit dem defaulttranslator sollte automatisch und transparenter sein,
so wie's jetzt ist muss man erst mal drauf kommen und mich hat's zunächst ganz schön genervt
hde
Ach so. Ja, das sehe ich erst jetzt.
Sobald man einen String verändert im Obj-Insp. wird diese Liste genommen, sonst die Englische.
So ergibt das wenigstens Sinn, auch wenn es immer noch etwas undurchsichtig ist.
@theo
puh .. das ändern reicht hatte ich ja immer noch nicht mitbekommen.
Ich hatte jetzt testweise die lcl/languages ins Project übernommen und die uses der .lpr um defaulttranslator ergänzt, Dann werden alle deutschen lcl-Text übernommen, auch alle der DBNavigatoren, auch ohne Änderung.
Aber was du rausgefunden hast ist ja noch einfacher.
Doch warum muss man etwas richtiges ändern damit es wirkt?
Ganz schön verwirrend.
hde
Naja es ist halt nicht ganz einfach.
Wenn Lazarus die Übersetzungen automatisch einbindet, dann muss man das languages Verzeichnis mitliefern, was dann auch wieder nicht sofort verstanden wird.
Würde man alle Sprachen als Ressourcen einbinden, geht das Gejammer mit "EXE zu gross" los etc...
theo hat geschrieben:Würde man alle Sprachen als Ressourcen einbinden, geht das Gejammer mit "EXE zu gross" los etc...
Deswegen mein Vorschlag, dass man als Entwickler eine Standard-Sprache auswählen kann und diese wird anstelle des Englischen in die Programmdatei gelinkt. Für kleine, einfache Projekte vollkommen ausreichend und bei großen hat man da sowieso ein entsprechendes Konzept/Vorgehen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
theo hat geschrieben:Würde man alle Sprachen als Ressourcen einbinden, geht das Gejammer mit "EXE zu gross" los etc...
Deswegen mein Vorschlag, dass man als Entwickler eine Standard-Sprache auswählen kann und diese wird anstelle des Englischen in die Programmdatei gelinkt. Für kleine, einfache Projekte vollkommen ausreichend und bei großen hat man da sowieso ein entsprechendes Konzept/Vorgehen.
Ja, das wäre ein guter Kompromiss.
Machst du einen Feature Request im Bugtracker, oder gleich einen Patch?
theo hat geschrieben:Machst du einen Feature Request im Bugtracker, oder gleich einen Patch?
Das ist eine Idee; für den Rest seid ihr zuständig Insbesondere das "Englische Resourcestrings durch Übersetzte Resourcestrings" ersetzen könnte kleinere Änderungen im Compiler erfordern
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein