Bug 230388

Summary: cut off german text in YaST2 registration module
Product: [openSUSE] openSUSE 10.2 Reporter: Christian Boltz <suse-beta>
Component: YaST2Assignee: J. Daniel Schmidt <jdsn>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: jdsn
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on: 287150    
Bug Blocks:    
Attachments: screenshot

Description Christian Boltz 2006-12-21 21:54:19 UTC
The YaST registration module cuts off the german description text:

... erhalten Sie beim Novell Cus

Enlarging the window size makes the text visible, but the line is ways too long.

Please add a linebreak or allow automatic linebreaks.
Comment 1 Christian Boltz 2006-12-21 21:55:14 UTC
Created attachment 110775 [details]
screenshot

This screenshot was taken with (nearly?) original window size.
Comment 2 J. Daniel Schmidt 2007-01-10 17:01:32 UTC
Karl, could you please add an additional new line after "Abonnements" in the german translation.
Btw. what about other languages? Are there any other long translations for that string?
Comment 3 Karl Eichwalder 2007-01-11 09:46:07 UTC
Ok, I fix it in our SVN for the 10.2 update.

Jens, can't you use the "rtf" widget?  If not, please add a comment for SLE10SP1 and OS 10.3.  The translator might not know that he is allowed to spread the text over more than 2 lines.

(There are no reports about other languages.)
Comment 4 J. Daniel Schmidt 2007-01-11 14:24:22 UTC
  // Translators: limit to 2x 50 charachters - if more needed take 3x 50 chars but NOTHING more

Do you think this is sufficient? :)
This note is in the code since the first version. Obviously the translator(s) did not read it.

No. I cann't use richtext here - this is a label text. An RTF widget would be very ugly there.
Comment 5 Karl Eichwalder 2007-01-11 16:49:31 UTC
Fixed in SVN.  
Don't blame the translators, blame xgettext ;)  xgettext seems to ignore the comment because the following message text starts and ends on line of its own.  If you'd write it as follows, it would work:

    // Translators: limit to 2x 50 charachters - if more needed take 3x 50 chars but NOTHING more
    string nccc_top = _("\
Get technical support and product updates and
manage subscriptions with Novell Customer Center.");

Probably a strange xgettext limitation...  I'm going to investigate.
Comment 6 Karl Eichwalder 2007-06-11 15:59:09 UTC
Reported upstream.  After the next run, it should appear here:

http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/threads.html
Comment 7 Karl Eichwalder 2007-06-12 09:49:07 UTC
We are going to fix or work around it as rephrased by Martin:
 
From: Martin Vidner <mvidner@suse.cz>
Subject: Re: [yast-devel] [Bruno Haible] Re: xgettext: Extracting comment blocks from YCP files
To: yast-devel@opensuse.org
Cc: Karl Eichwalder <ke@suse.de>
Date: Tue, 12 Jun 2007 11:20:58 +0200

On Tue, Jun 12, 2007 at 09:48:02AM +0200, Karl Eichwalder wrote:
> Please, change comments in YCP source files as explained in the
> attachment, if time permits.  This bug surfaced along with
> https://bugzilla.novell.com/show_bug.cgi?id=230388

Thanks, Karl.

It took me some time to understand so I'll rephrase:

If you have unusual formatting, comments for translators will not
make it to the pot files. So make sure that there are no newlines
between the parentheses and quotes.

Good:
  // Foo!
  _("long ... string")
Bad:
  // Foo!
  _(
   "long ... string"
   )

To see how much code needs fixing I have searched[*] my system and
SVN for newlines after the opening paren and found these files. (I
cannot search for newlines before the closing paren because that
would catch also non-gettext stuff, but that will be fixed in
xgettext itself.)

./isns/src/helps.ycp
./iscsi-server/src/helps.ycp
./registration/src/clients/suse_register_auto.ycp
./registration/src/clients/inst_suse_register.ycp
./printer/src/common/dialogs-connection.ycp


[*] find . -name \*.ycp | xargs grep '_([^"]*$'
Comment 8 Karl Eichwalder 2007-06-12 09:51:47 UTC
Back to the initial problem.  3x50 is too small.  ATM, the German text looks as follows:

#: src/clients/inst_suse_register.ycp:77
msgid ""
"Get technical support and product updates and\n"
"manage subscriptions with Novell Customer Center."
msgstr ""
"Über das Novell Customer Center können Sie "
"technischen Support in Anspruch nehmen, "
"Produktaktualisierungen anfordern und "
"Abonnements verwalten."
Comment 9 Karl Eichwalder 2007-06-25 09:39:49 UTC
Jens, please re-write the comment as explained by Martin (#c7).
Comment 10 J. Daniel Schmidt 2007-07-19 14:08:01 UTC
fixed