Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit GetText - Strings mit Umbruch werden nicht erkan (https://www.delphipraxis.net/140617-problem-mit-gettext-strings-mit-umbruch-werden-nicht-erkan.html)

AlexII 22. Sep 2009 10:35


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:
UpdateMessage := _('Ein neues Update ist verfügbar!') + #13 + _('Soll dieses heruntergeladen und installiert werden?');
Und von diesem nur "Das Programm konnte nicht geschlossen werden."
Delphi-Quellcode:
                                             
CloseFailMessage := _('Das Programm konnte nicht geschlossen werden.') + #13 + _('Bitte schließen Sie es manuell und klicken Sie dann auf OK');
Wer kann mir sagen woran es liegt?

Ines 22. Sep 2009 11:08

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

AlexII 22. Sep 2009 11:11

Re: Problem mit GetText - Strings mit Umbruch werden nicht e
 
Ne damit klappt das auch nicht :gruebel:

Sherlock 22. Sep 2009 11:20

Re: Problem mit GetText - Strings mit Umbruch werden nicht e
 
Warum verwendest Du nicht Delphi-Referenz durchsuchenresourcestrings?

Sherlock

AlexII 22. Sep 2009 11:26

Re: Problem mit GetText - Strings mit Umbruch werden nicht e
 
Zitat:

Zitat von Sherlock
Warum verwendest Du nicht Delphi-Referenz durchsuchenresourcestrings?

Hab davon noch nie irgendwas gehört. :gruebel:

Sherlock 22. Sep 2009 12:47

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

Uwe Raabe 22. Sep 2009 12:54

Re: Problem mit GetText - Strings mit Umbruch werden nicht e
 
Zitat:

Zitat von Sherlock
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.

Wenn ich micht nicht irre, geht GetText einen anderen Weg, bei dem der Sourcecode so geändert werden muss, daß die übersetzten Strings durch einen Funktionsaufruf ermittelt werden.

Sherlock 22. Sep 2009 12:57

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

Mithrandir 22. Sep 2009 12:58

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:
resourcestring
VERYIMPORTANTTEXT = 'Hallo ihr da';
VERYIMPORTANTTEXT2 = 'Ich bin die zweite Zeile';

{...}

CloseFailMessage := VERYIMPORTANTTEXT + #13#10 + VERYIMPORTANTTEXT2
Sollte vom Prinzip so gehen...

himitsu 22. Sep 2009 13:05

Re: Problem mit GetText - Strings mit Umbruch werden nicht e
 
Delphi-Quellcode:
UpdateMessage := _('Ein neues Update ist verfügbar!') + #13 + _('Soll dieses heruntergeladen und installiert werden?');
Hierbei ist der Zeilenumbruch (wenn auch mit falschem Code) dem GnuGetText vollkommen egal, da dieser von dem Umbruch garnichts mitbekommt.
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?');


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr.
Seite 1 von 2  1 2      

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