Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ini als Sprachdatei nutzen ? (https://www.delphipraxis.net/161205-ini-als-sprachdatei-nutzen.html)

Daniela.S 23. Jun 2011 11:22

AW: Ini als Sprachdatei nutzen ?
 
Ich verwende eine kleine Datenbank, die die Sprachübersetzungen beinhaltet. In der werden auch sonstige Sprachrelevanten Dinge gespeichert. Eventuell gibt es auch Bilder, die Sprachabhängig sind, oder je nach Land (Flaggen, Fotos oder Maps von Niederlassungen usw.) müssen bestimmte Daten aufgenommen werden.

Du kannst eine Tabelle für jedes Formular erstellen. Hier reichen zwei Felder, eines mit dem Schlüssel, das andere mit dem Wert. zB. "btnOK", "OK". Ich würde unbedingt den Namen des Objektes nehmen, anstatt den Text.

Und die Texte der Dialoge nicht vergessen...

Blamaster 23. Jun 2011 22:38

AW: Ini als Sprachdatei nutzen ?
 
Hi,

ich nutze jetzt GNU GetText.

Die Frage mit dem Sprache laden konnte ich mir nun selber beantworten (UseLanguage('en'))

Nun sind mir aber ein paar Sachen noch nicht ganz klar.

Ich weiß zwar das man bei der Übersetzung Objekte ignorieren kann, aber gibt es auch eine Möglichkeit, dass man auch manche Forms davon ausschließt variablen in die Übersetzungsdatei abzugeben ?

Wenn ich die Übersetzungsdatei erstellen lasse werden wirklich alle Strings in die Datei aufgenommen. Einige Buttons möchte ich beispielsweise garnicht übersetzen lassen, dennoch tauchen sie in der Übersetzungsdatei aus was wirklich nervt (Das gleiche gilt auch für Filemasken usw.)

Und schließlich noch ein Problem. Wenn ich im Code einer String variable einen zusammengesetzen String habe wie:

Delphi-Quellcode:
variable := 'Sie haben Datei: ' + Dateiname + ' gewählt. Die Datei ist: ' Size + ' MB groß';
Nun kann ich die einzelnen Teilstrings als Resorcen strings anlegen sprich:

Delphi-Quellcode:
variable := _('Sie haben Datei: ') + Dateiname + _(' gewählt. Die Datei ist: ') Size + _(' MB groß');
Nun wir logischerweise in der Übersetzungsdatei folgendes aufgenommen:
Sie haben Datei:
gewählt. Die Datei ist:
MB groß

Durch diese Teilstrings lässt sich eventuell kein sinvoll übersetzter Satz mehr aufbauen. Wie kann man das lösen ?

Gruß Yannic

Satty67 23. Jun 2011 22:53

AW: Ini als Sprachdatei nutzen ?
 
zumindest für das zweite Problem gibt es einen Weg
Zitat:

Zitat von Blamaster (Beitrag 1108001)
Delphi-Quellcode:
variable := 'Sie haben Datei: ' + Dateiname + ' gewählt. Die Datei ist: ' Size + ' MB groß';

wenn es noch nicht zu viel von den Konstrukten gibt, dann umschreiben in

Delphi-Quellcode:
variable := Format('Sie haben Datei: %s gewählt. Die Datei ist: %d MB groß', [Dateiname, Size]);

Blamaster 24. Jun 2011 12:10

AW: Ini als Sprachdatei nutzen ?
 
Hi,

super damit ist das zweit problem schonmal gelöst :)

Gruß Yannic

Edit.

und nochmal eine Frage. Wenn sich nun im Programm sachen ändern und manche Übersetzungstexte daher nicht mehr nötig sind, gibt es dann eine Möglichkeit Einträge aus der po wieder zu löschen ? Beim mergen werden nur neue aufgenommen aber veraltete nicht gelöscht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Seite 2 von 2     12   

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