Re: Translation issues with strftime



Keld Jørn Simonsen <keld@dkuug.dk> writes:
> On Sat, Dec 06, 2003 at 12:06:30PM +0100, Ole Laursen wrote:
>> 
>>   mandag, 13. november skrev Zorglub:
>
> I would rather like:
>
>    mandag den 13. november skrev Zorglub:
>
> But both formats should be possible.

The entire concept of using strftime for formatting sentences like
this one is broken, AFAICT (some may have noticed that I have stopped
doing that, and now they know the reason :).

You mention the problem of capitalisation, but there's much more than
that: names of months and days are *nouns*, and should go through
declinations in many languages.

Yet, I couldn't find any allowance for more than one string in a
locale for any particular setting (as per ISO 14652 if I remembered
correctly, thanks, again, Keld for pointing me to that draft).

So, what is written in a locale definition is nominative, eg.
 "Today is Saturday"

In the example of mails, one often likes to do
 "On Saturday of November 17, Zorglub wrote"

Roughly translated to Serbian, it would become
 "U subotu 17. novembra, Zorglub napisa"
         ^          ^^^
Yet, nominative for "November" is "novembar", and it would be a major
PITA if it's stuck there (not to mention that nominative for Saturday
is "subota" instead of "subotu" :).

Though, that "den" in Keld's example looks like a German article to
me, so perhaps that's also what changes depending on declination
(e.g. it's "Today is der 13. november", but "On den 13. november").
                     ^^^                        ^^^

>> There's no way to tell strftime that the weekday should be
>> capitalised.
>
> That should also be possible, to say "use capitalization on the first
> letter". Any suggestions on how it could be done?
> This should apply to both month names and weekday names, and both
> abbreviated and long forms. So maybe a general "make it uppercase"
> flag could be used ("+" maybe?).

While we're sending our suggestions over here (and while you're
listening :), how about extending locale definitions to allow more
than one definition for a string? :)

So, in LC_TIME instead of 
 mon     "јануар";"фебруар";"март";"април";...

I would have a chance to define:
 num_of_forms 2
 mon     "јануар"|"јануара";"фебруар"|"фебруара";"март"|"марта";...


This would also need extension of strftime syntax, but since the
number of forms is pretty constant for every language I heard of
(even if it might be really large -- it's 7 for Serbian), I think
it's not a big problem.

I'd love to be able to translate "%B %d" as "%d. %{2}B". :o)

Still, I can imagine that there are languages where even this
wouldn't be sufficient: they might use some form of article ("die",
"der",...) and also have different gender for different month names
(this is just a wild and crazy example which I am not aware of being
true in any locale :).


Actually, this is one major reason I have switched from Gnomeish mail
clients to Gnus -- I'm planning on hacking my own string for quoting
mails (didn't get 'round to it yet, but will soon :), which means also
holding an array of "declinated" month and day names -- not very good,
since it increases redunancy.


Cheers,
Danilo



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]