You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Küng <to...@gmail.com> on 2008/09/11 16:49:48 UTC

crash with korean po file

Hi,

The korean po file in 1.5.x
(https://svn.collab.net/repos/svn/branches/1.5.x/subversion/po/ko.po)
has invalid translations in it which causes Subversion (and of course
TSVN) to crash. From crash reports sent for TSVN I know that at least
the translation for

#: ../libsvn_ra_neon/util.c:248
#, fuzzy, c-format
#| msgid "Error parsing %s property on '%s': '%s'"
msgid "Error setting property '%s': "
msgstr "'%s'에 대한 %s 속성을 분석하던 중 오류 발생: '%s'"

is completely wrong: it has three '%s' in it while the original text
only has one. This causes the printf statement to crash.



The translation is fixed on trunk, but the commit which fixed this also
changed a lot of other translated strings (r32303). So I think simply
backporting that commit won't work (I honestly don't know since I don't
understand the language).

What would be the best way to deal with this? Simply change that
specific translation to

#: ../libsvn_ra_neon/util.c:248
#, c-format
msgid "Error setting property '%s': "
msgstr ""

So it is marked as 'not translated'?

This invalid tranlated string causes about 70% of all crash reports I
get for the latest TSVN version, so I think this should get fixed before
the next release.

Stefan

-- 
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net


Re: crash with korean po file

Posted by Barry Scott <ba...@barrys-emacs.org>.

On Sep 11, 2008, at 22:13, Jens Seidel wrote:
>
> Until msgfmt is called with option -f (which would be a bad idea)  
> fuzzy
> strings are ignored. Using a --check* option per default as  
> proposed is
> nevertheless a good idea (I thought is is the default).

--check* are not default.

Barry


Re: crash with korean po file

Posted by Hojin Choi <ho...@gmail.com>.
Anyway, ko.po of the branch 1.5 is now fixed not to have such style
comments in r33033.
Everything had been happened by my lazy update :-(

Have a nice weekend!

On Fri, Sep 12, 2008 at 6:56 AM, Jens Seidel <je...@users.sf.net> wrote:
> On Thu, Sep 11, 2008 at 11:13:25PM +0200, Jens Seidel wrote:
>> On Thu, Sep 11, 2008 at 06:49:48PM +0200, Stefan Küng wrote:
>> > #: ../libsvn_ra_neon/util.c:248
>> > #, fuzzy, c-format
>> > #| msgid "Error parsing %s property on '%s': '%s'"
>> > msgid "Error setting property '%s': "
>> > msgstr "'%s'에 대한 %s 속성을 분석하던 중 오류 발생: '%s'"
>>
>> The translation isn't used as this message is marked "fuzzy". That's
>> just a guess of msgmerge from other existing translations to simplify
>> translators work.
>
> The guess comes from: "Error parsing %s property on '%s': '%s'" which
> has indeed three %s and is similar.
>
>> Until msgfmt is called with option -f (which would be a bad idea) fuzzy
>> strings are ignored. Using a --check* option per default as proposed is
>> nevertheless a good idea (I thought is is the default).
>>
>> So you have another problem!?
>
> I think I know what happened:
>
> I created this PO file via option --previous of msgmerge which adds "#|"
> style of comments. This is useful, as you now have only to integrate
> the differences of the old and new msgid into the msgstr. Here it's
> nearly useless but there are large help messages in which sometime only
> a few characters change ...
>
> The problem is probably that you used on older gettext version (at least
> 2 years old) which does not support --previous and seems to be confused
> by the comment "#|". Since gettext could even introduce further comment
> types (e.g. "#:") the fuzzy state should not be ignored if an
> unrecognized comment is found (why should it? in this case it is considered
> as normal comment). So it could be an ordinary bug in your old gettext
> version.
>
> I know that Cygwin provides only an old package but that's the problem
> if you work with proprietary systems: They do not ship useful software
> and other stuff you obtain in not recent enough :-))
>
> Jens
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
>



-- 
=========================================================
Name : Hojin Choi <hojin.choi -at- gmail.com>
Home Page : http://coolengineer.com/
=========================================================

Re: crash with korean po file

Posted by Jens Seidel <je...@users.sourceforge.net>.
On Thu, Sep 11, 2008 at 11:13:25PM +0200, Jens Seidel wrote:
> On Thu, Sep 11, 2008 at 06:49:48PM +0200, Stefan Küng wrote:
> > #: ../libsvn_ra_neon/util.c:248
> > #, fuzzy, c-format
> > #| msgid "Error parsing %s property on '%s': '%s'"
> > msgid "Error setting property '%s': "
> > msgstr "'%s'에 대한 %s 속성을 분석하던 중 오류 발생: '%s'"
> 
> The translation isn't used as this message is marked "fuzzy". That's
> just a guess of msgmerge from other existing translations to simplify
> translators work.

The guess comes from: "Error parsing %s property on '%s': '%s'" which
has indeed three %s and is similar.

> Until msgfmt is called with option -f (which would be a bad idea) fuzzy
> strings are ignored. Using a --check* option per default as proposed is
> nevertheless a good idea (I thought is is the default).
> 
> So you have another problem!?

I think I know what happened:

I created this PO file via option --previous of msgmerge which adds "#|"
style of comments. This is useful, as you now have only to integrate
the differences of the old and new msgid into the msgstr. Here it's
nearly useless but there are large help messages in which sometime only
a few characters change ...

The problem is probably that you used on older gettext version (at least
2 years old) which does not support --previous and seems to be confused
by the comment "#|". Since gettext could even introduce further comment
types (e.g. "#:") the fuzzy state should not be ignored if an
unrecognized comment is found (why should it? in this case it is considered
as normal comment). So it could be an ordinary bug in your old gettext
version.

I know that Cygwin provides only an old package but that's the problem
if you work with proprietary systems: They do not ship useful software
and other stuff you obtain in not recent enough :-))

Jens

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: crash with korean po file

Posted by Jens Seidel <je...@users.sourceforge.net>.
On Thu, Sep 11, 2008 at 06:49:48PM +0200, Stefan Küng wrote:
> #: ../libsvn_ra_neon/util.c:248
> #, fuzzy, c-format
> #| msgid "Error parsing %s property on '%s': '%s'"
> msgid "Error setting property '%s': "
> msgstr "'%s'에 대한 %s 속성을 분석하던 중 오류 발생: '%s'"

The translation isn't used as this message is marked "fuzzy". That's
just a guess of msgmerge from other existing translations to simplify
translators work.

Until msgfmt is called with option -f (which would be a bad idea) fuzzy
strings are ignored. Using a --check* option per default as proposed is
nevertheless a good idea (I thought is is the default).

So you have another problem!?

> What would be the best way to deal with this? Simply change that
> specific translation to
> 
> #: ../libsvn_ra_neon/util.c:248
> #, c-format
> msgid "Error setting property '%s': "
> msgstr ""
> 
> So it is marked as 'not translated'?

Yep, or even better adding "#, fuzzy" is the normal solution.

Jens

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: crash with korean po file

Posted by Barry Scott <ba...@barrys-emacs.org>.
I'd suggest the svn build is changed to use

msgfmt --check-format

which will error out on this class of problem.

Barry


On Sep 11, 2008, at 17:49, Stefan Küng wrote:

> Hi,
>
> The korean po file in 1.5.x
> (https://svn.collab.net/repos/svn/branches/1.5.x/subversion/po/ko.po)
> has invalid translations in it which causes Subversion (and of course
> TSVN) to crash. From crash reports sent for TSVN I know that at least
> the translation for
>
> #: ../libsvn_ra_neon/util.c:248
> #, fuzzy, c-format
> #| msgid "Error parsing %s property on '%s': '%s'"
> msgid "Error setting property '%s': "
> msgstr "'%s'에 대한 %s 속성을 분석하던 중 오류 발생:  
> '%s'"
>
> is completely wrong: it has three '%s' in it while the original text
> only has one. This causes the printf statement to crash.
>
>
>
> The translation is fixed on trunk, but the commit which fixed this  
> also
> changed a lot of other translated strings (r32303). So I think simply
> backporting that commit won't work (I honestly don't know since I  
> don't
> understand the language).
>
> What would be the best way to deal with this? Simply change that
> specific translation to
>
> #: ../libsvn_ra_neon/util.c:248
> #, c-format
> msgid "Error setting property '%s': "
> msgstr ""
>
> So it is marked as 'not translated'?
>
> This invalid tranlated string causes about 70% of all crash reports I
> get for the latest TSVN version, so I think this should get fixed  
> before
> the next release.
>
> Stefan
>
> -- 
>        ___
>   oo  // \\      "De Chelonian Mobile"
>  (_,\/ \_/ \     TortoiseSVN
>    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
>    /_/   \_\     http://tortoisesvn.net
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org