You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Erik Huelsmann <e....@gmx.net> on 2005/02/26 22:19:19 UTC

[l10n] problem: BDB_WRAP macro in libsvn_fs_base

The BDB_WRAP macro in libsvn_fs_base is given a partial string to insert
into another string which provides context.

This is exactly the situation as described in the gettext manual how *not*
to do it :-)

Ofcourse, the short-term solution would be to leave these strings alone.


For the longer term, I'd like to find a better solution though. There are
several which come to mind immediately:

1) Copy the context string all over the place so there is no string
insertion anymore
2) Refrase the to-be-inserted strings so the context string becomes
redundant

Is there anybody who has a better idea how to resolve this situation?


bye,


Erik.


-- 
Lassen Sie Ihren Gedanken freien Lauf... z.B. per FreeSMS
GMX bietet bis zu 100 FreeSMS/Monat: http://www.gmx.net/de/go/mail

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

Re: [l10n] problem: BDB_WRAP macro in libsvn_fs_base

Posted by "Peter N. Lundblad" <pe...@famlundblad.se>.
On Sun, 27 Feb 2005, Julian Foad wrote:

> Erik Huelsmann wrote:
> > The BDB_WRAP macro in libsvn_fs_base is given a partial string to insert
> > into another string which provides context.
>
> The context string is:
> "Berkeley DB error while %s for filesystem %s:\n"
>
> The partial strings for the first "%s" are verb phrases:
>    "creating environment"
>    "opening 'nodes' table"
>    "getting youngest revision (closing cursor)"
> etc.
>
It includes more generic fragments as well, like "fetching changes".

> Do you not think that that combination can be successfully translated?  I think
> it probably can be.  For example, here is a translation into English with
> different word order, punctuation, voice and tense:
>
> "%s. During this operation on the filesystem %s, Berkeley DB returned the
> following error:\n"
>    "An environment was being created"
>    "The 'nodes' table was being opened"
>    "While closing the cursor, the youngest revision was being sought"
>
>
The capitalization of the "translation" indicates that you assume that the
fragment is used only in this particular place. What if it is used in
another context as well, where capitalization is inappropriate?

> > This is exactly the situation as described in the gettext manual how *not*
> > to do it :-)
>
> I doubt that those instructions were intended to cover situations where a _lot_
> of duplication is avoided and each partial string is a phrase that _can_ be
> translated.
>
The problems with message fragments are always there, regardless how much
duplication it avoids:-)

There is actually a solution to this fragment problem described in the
gettext manual. They are using GUI labels as an example.

YOu can prefix the translatable string with something, like "DB|". Then,
if the string was translated, you just use the translation (which doesn't
include the prefix). If the string wasn't translated (gettext returns its
argument), you just drop the prefix. This disambiguates fragments in
different context. IN general, we should avoid this, but for this DB_WRAP
case, it might be worth it.

HOpe this clarifies,
//Peter

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

Re: [l10n] problem: BDB_WRAP macro in libsvn_fs_base

Posted by Julian Foad <ju...@btopenworld.com>.
Erik Huelsmann wrote:
> The BDB_WRAP macro in libsvn_fs_base is given a partial string to insert
> into another string which provides context.

The context string is:
"Berkeley DB error while %s for filesystem %s:\n"

The partial strings for the first "%s" are verb phrases:
   "creating environment"
   "opening 'nodes' table"
   "getting youngest revision (closing cursor)"
etc.

Do you not think that that combination can be successfully translated?  I think 
it probably can be.  For example, here is a translation into English with 
different word order, punctuation, voice and tense:

"%s. During this operation on the filesystem %s, Berkeley DB returned the 
following error:\n"
   "An environment was being created"
   "The 'nodes' table was being opened"
   "While closing the cursor, the youngest revision was being sought"


> This is exactly the situation as described in the gettext manual how *not*
> to do it :-)

I doubt that those instructions were intended to cover situations where a _lot_ 
of duplication is avoided and each partial string is a phrase that _can_ be 
translated.

- Julian

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