Mehrsprachigkeit durch Ini wie lösen



  • Hallo,

    ich habe bereits meine Anwendung in zwei Sprachen geschrieben. Das ganze löse ich mit Ini-Dateien. Beim Laden des Dialogs lesen ist jedes mal die Ini-Datei aus und verändere so die Captions/Labels. Meine Frage ist folgende: Wenn ich Drucken möchte, sollen die Texte auch übersetzt werden, soll ich die Labels/Texte vorher als String Variablen definieren und diese auch beim Laden des Dialogs direkt aus der Ini-Datei mit den jeweiligen Zeichenketten belegen? Ist doch ok so, oder verbrauche ich so unnötig Speicher da man nicht jedes mal Drucken muss oder soll. Wäre es nicht besser die TIniFile die ganze Zeit offen zu lassen und die String bei bedarf direkt auszulesen?

    Gruss
    Sebastian



  • Was/wie druckst du denn?
    Wenn du einfach dein Fenster auf den Printer-Canvas zeichnest hast du doch prinzipiell schon WYSIWYG!?



  • Ja schon klar, nur ich habe auch noch Text die ich drucken will wie ua. Absender, Empfänger, die ich in der Ini-Datei internationalisiert habe. Diese muss ich ja irgendwie auslesen damit ich diese im Englischen usw. darstellen kann. Meine Frage ist halt, ob ich diese explizit in der Ini-Datei auslesen soll oder vorher schon in einer Variable ablegen soll. Und da taucht eine Frage von mir auf, ob es denn nicht besser wäre die TIniFile ständig offen zu lassen und bei Bedarf zu lesen oder lieber doch in Variablen ablegen mit dem Risiko den Speicher zu verschwenden? Ist das so, oder denke ich da total falsch.



  • Von wieviel MB pro Ini reden wir denn?
    Allein um die Ini-Daten vor Veränderungen durch das Editieren der Ini ausserhalb deines Programmes zu schützen, also um Konsistenz zwischen Bildschirm und Ausdruck zu sichern, bietet sich ggf. generell die Verwendung von TMemIniFile an.



  • IniFrage schrieb:

    ich habe bereits meine Anwendung in zwei Sprachen geschrieben. Das ganze löse ich mit Ini-Dateien.

    Das ist die denkbar schlechteste Variante, da mit viel Handarbeit verbunden.

    Für das Lokalisieren von C++Builder-Anwendungen eignen sich ITE und ETM (bereits mitgeliefert), dxgettext (Open-Source) oder eine der zahlreichen kommerziellen Varianten.



  • Das ist ja eine super Lösung. Ich werde es dann mit ITE lösen.

    Danke


Anmelden zum Antworten