![]() |
Problem mit GetText - Strings mit Umbruch werden nicht erkan
Hallo,
habe schon erfolgreich ein Programm mit gettext übersetzt, jetzt aber habe ich damit ein kleines Problem, und zwar gettext kann nicht folgende Strings richtig in eine .po Datei übertragen. Aus diesem String wird nur "Soll dieses heruntergeladen und installiert werden?" gesehen und übertragen, der erste Satz nicht...
Delphi-Quellcode:
Und von diesem nur "Das Programm konnte nicht geschlossen werden."
UpdateMessage := _('Ein neues Update ist verfügbar!') + #13 + _('Soll dieses heruntergeladen und installiert werden?');
Delphi-Quellcode:
Wer kann mir sagen woran es liegt?CloseFailMessage := _('Das Programm konnte nicht geschlossen werden.') + #13 + _('Bitte schließen Sie es manuell und klicken Sie dann auf OK'); |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Hallo Alex,
stimmt Dein Hex-Code? Ich verwende immer #13#10 (CR + LF). Viele Grüße Ines |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Ne damit klappt das auch nicht :gruebel:
|
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
|
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Zitat:
|
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Mit resourcestring legt man Stringkonstanten als Ressources fest, die nach kompilieren der Exe noch ausgetauscht/verändert werden können. Das ist ja dann üblicherweise der Zeitpunkt an dem Übersetzungstools (ich nehme an GetText gehört dazu, ich kenne es nicht) losschlagen.
Sherlock |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Zitat:
|
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
:pale:
Uuuuh, ok. Hört sich ja grauslig an. Dann mische ich mich lieber nicht mehr ein. Sherlock |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Du irrst dich. ;)
GetText nimmt sowohl die Resourcestrings, als auch die Funktion "_()". ;) @TE: Schonmal so probiert?
Delphi-Quellcode:
Sollte vom Prinzip so gehen...
resourcestring
VERYIMPORTANTTEXT = 'Hallo ihr da'; VERYIMPORTANTTEXT2 = 'Ich bin die zweite Zeile'; {...} CloseFailMessage := VERYIMPORTANTTEXT + #13#10 + VERYIMPORTANTTEXT2 |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Delphi-Quellcode:
Hierbei ist der Zeilenumbruch (wenn auch mit falschem Code) dem GnuGetText vollkommen egal, da dieser von dem Umbruch garnichts mitbekommt.
UpdateMessage := _('Ein neues Update ist verfügbar!') + #13 + _('Soll dieses heruntergeladen und installiert werden?');
Schließlich liegt er nicht innerhalb der Übersetzungfunktion. Also entweder UpdateMessage wird dann an einen anderen Befehl weitergegeben, welcher via PChar arbeitet und GetText hängt zufällig an alle/diese Strings eine #0 an Oder mit der Anzeigefunktion ist etwas nicht OK und diese mag keine Zeilenumbrüche. so würde der Zeilenumbruch direkt in der Übersetzung landen:
Delphi-Quellcode:
UpdateMessage := _('Ein neues Update ist verfügbar!'#13#10'Soll dieses heruntergeladen und installiert werden?');
|
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Hallo,
der Grund sind die Sonderzeichen ü und ß. Gruß Obelisk |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Leider hilft auch das nicht :pale:
Aber komischer weise wenn ich nach dem fehlenden Satz in Poedit suche wird mir der Satz angezeigt, welcher übertragen wird. Also "Soll dieses heruntergeladen und installiert werden?" wird in Poedit angezeigt, "Ein neues Update ist verfügbar" - nicht, sucht man aber nach "Ein neues Update ist verfügbar", wird "Soll dieses heruntergeladen und installiert werden?" markiert. :roteyes: |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Hat keiner Ideen mehr?
|
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
probier mal das von obelisk und entferne Testweise die Umlaute
|
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Wow das stimmt, jetzt geht's :hello:
Irgendwie hab ich sein Post übersehen. Ok danke! |
Re: Problem mit GetText - Strings mit Umbruch werden nicht e
Naja, aber das kann ich ja auch nicht die beste Lösung sein, oder? Wie bekommt man denn die "German Umlauts" in GetText?
(Nun weiß ich auch, warum man die Anwendung im Original auf Englisch schreiben soll...) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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 by Thomas Breitkreuz