Ah yes plurals!

Certainly it is challenging to try and capture language semantics in an easy modifiable way.

The best option I have seen so far with in the Chandler libraries is the PyICU ChoiceFormat class.

I use it in the mail service to format numeric variations in English strings.

For example:

DOWNLOAD_START_MESSAGES = ChoiceFormat(_(u"1#%(accountName)s: Downloading %(numberOfMessages)s message...|1<%(accountName)s: Downloading %(numberOfMessages)s messages..."))


The above statement says if the value passed to the ChoiceFormat is 1 then use:

%(accountName)s: Downloading %(numberOfMessages)s message...


Otherwise:

%(accountName)s: Downloading %(numberOfMessages)s messages...

Note that in this case 0 or any negative numbers are not going to be passed to the ChoiceFormat.

Since the entire ChoiceFormat string appears in the localizers po file, he or she is free
to add language specific numeric string variations to the translation.


-Brian



On Dec 2, 2007, at 10:14 PM, Philippe Bossut wrote:

Interesting. Note that they're wrong saying that semitic languages have only 2 forms. Arabic at least has 3: singular, dual (for 2 of something) and plural. Hebrew also but only some nouns have the dual form. Apparently, the GNU still needs a couple more iterations...

Cheers,
- Philippe

Heikki Toivonen wrote:
http://ed.agadak.net/2007/12/one-potato-two-potato-three-potato-four

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to