Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi GNU Gettext for Delphi - Zeilenumbrüche (https://www.delphipraxis.net/125790-gnu-gettext-delphi-zeilenumbrueche.html)

Der Jan 11. Dez 2008 17:50


GNU Gettext for Delphi - Zeilenumbrüche
 
Hallo miteinander,

für die Lokalisierung meiner C++Builder Projekte nutze ich dxGettext und bin damit auch sehr zufrieden, es funktioniert einfach. Jetzt soll ich eines unserer Delphi-Projekte lokalisieren und würde dafür gerne auch dxGettext benutzen. Dabei kam mir folgende Frage auf: Wenn ich als String schreibe "Zeile_eins\nZeile_zwei" und lasse diesen String z.B. mittels Showmessage anzeigen, wird im C++Builder der Text richtig in zwei Zeilen angezeigt, in Delphi jedoch der "originale" Text inklusive des "\n".
Daher jetzt die Frage: Wie schreibe ich Zeilenumbrüche, damit sie auch unter Delphi korrekt angezeigt werden ?

DMW 11. Dez 2008 20:46

Re: GNU Gettext for Delphi - Zeilenumbrüche
 
Zitat:

Zitat von Der Jan
Daher jetzt die Frage: Wie schreibe ich Zeilenumbrüche, damit sie auch unter Delphi korrekt angezeigt werden ?

Delphi-Quellcode:
'Zeile eins'#10#13'Zeile zwei'

mkinzler 12. Dez 2008 06:49

Re: GNU Gettext for Delphi - Zeilenumbrüche
 
Achtung es muss #13+#10 heissen oder sLineBreak

Der Jan 12. Dez 2008 07:42

Re: GNU Gettext for Delphi - Zeilenumbrüche
 
Also gibt es keine Möglichkeit, die Strings so zu schreiben, dass sowohl C++Builder als auch Delphi sie richtig interpretieren?

mkinzler 12. Dez 2008 08:05

Re: GNU Gettext for Delphi - Zeilenumbrüche
 
#13 (CR) und #10(LF) sind die in Windows geltenden Zeilentrenner

DMW 12. Dez 2008 15:58

Re: GNU Gettext for Delphi - Zeilenumbrüche
 
Zitat:

Zitat von mkinzler
Achtung es muss #13+#10 heissen oder sLineBreak

Ach, natürlich.
Ich hatte die Reihenfolge extra nachgesehen - und es trotzdem verkehrt gemacht :roll:


Wo genau steht denn nun dieser String? Im Quelltext - du übergibst ihn an dxgettext - oder in einer .po-Datei?

Der Jan 15. Dez 2008 08:43

Re: GNU Gettext for Delphi - Zeilenumbrüche
 
Moin zusammen.

Zitat:

Zitat von mkinzler
#13 (CR) und #10(LF) sind die in Windows geltenden Zeilentrenner

Das ist mir schon klar, "\n" in C stellt ja (unter Windows) auch nichts anderes dar.

Zitat:

Zitat von DMW
Wo genau steht denn nun dieser String? Im Quelltext - du übergibst ihn an dxgettext - oder in einer .po-Datei?

In einer .po-Datei, daher geht

Delphi-Quellcode:
'Zeile eins'+#13#10+'Zeile zwei'
eben nicht.

Man kann keine Strings direkt an Gettext übergeben. Wenn man schreibt

Delphi-Quellcode:
_("Übersetz das")
wird aus dem String ein Hash berechnet, anhand dessen der passende String aus der .mo-Datei gesucht und zurückgegeben wird.

Edit: @DMW, ich glaub, den letzten Abschnitt hätte ich mir sparen können. :) Hab mir grad deine Site angeschaut, also der Artikel mit den Exceptions ist schon Hammer :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 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