[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Composing sentences makes them hard to translate
From: |
Göran Uddeborg |
Subject: |
Re: Composing sentences makes them hard to translate |
Date: |
Thu, 2 Nov 2006 10:53:14 +0100 |
Paul Eggert writes:
> True, but how would we fix it?
Wouldn't it be possible to enumerate the objects, just as you do for
the errors? That is, you would call
STRTOL_FATAL_ERROR (spec, block_size, e);
where "block_size" is a value in an enumeration type defined in
xstrtol.h similar to strtol_error. Then you could collect all the
error messages in a two-dimensional table, and do a lookup in the
_STRTOL_ERROR function. In this way the messages would still be
collected in one place and not very hard to maintain?
> There is a tradeoff here between ease of maintenance and idiomatic
> translations.
I find it slightly surprising, and amusing, that you consider it
acceptable to do the tradeoff. To explain my point, let me make up an
example. Assume the function
absence(const char *who, enum reason)
was meant to give a reason for absence. The function would do a case
analysis just like _STRTOL_ERROR:
case ill: error("%s is ill", who); break;
case left: error("%s has left for the day", who); break;
case dead: error("his creator has called %s home", who); break;
Now call this function from different places:
absence("John", r);
absence("Richard", r);
absence("Ann", r);
absence("I", r);
absence("they", r);
This would break in the same way as the current implementation of
_STRTOL_ERROR breaks for Swedish and other languages. (After
translation to Swedish, only the case "dead" would be broken, b.t.w.)
My question of course is: Would you argue that this breakage is an
acceptable compromise between correct grammar and ease of maintenance?
Now don't get this wrong. As I said, I am both a bit surprised and a
bit amused. The question is asked with a friendly smile on my lips.
And it is NOT purely rethorical. I am indeed curious on your view on
what is reasonable and what is not.