Hi!
1.) Gettext way: I call a format_plural($count, '1 comment', '$count
comments'), and this function can handle special cases (for example
Russian), and the given language file can store multiple plural format.
2.) "All-in-one" way: only one string belongs to one string id, and this
string holds the different versions of the given word/sentence, and the
rules too on which we can decide which version should be used. For example:
"[0]No comment.|[1]1 comment.|[2,]$count comments."
Here you'd probably want to use {1,number,integer} instead of $count and
provide $count as parameter, otherwise you'd lose local number formatting.
o Maybe the most obvious one is that the rules are repeated in every
entry and the fact that the rules belongs to the language not to an
entry (so the data model is a little strange, it holds some redundancy).
Yes, that's correct - but you could always isolate it into specific
printing function - i.e. create function print_comments_count($count)
and use the pattern there, and then insert it into bigger pattern.
Depends on how often that pattern repeats, I guess.
o My other problem is that for this structure it would be not easy to
create a logical/usable user interface for translating.
Well, here I don't have any meaningful experience, but I think since ICU
uses it there must be some tools that support it. Right now the
extension does not deal with the question where you get the patterns
from or how you switch between pattern sets (we planned to add support
for resource bundles, etc. later). Maybe other people on the list could
help more with that :)
--
Stanislav Malyshev, Zend Software Architect
[EMAIL PROTECTED] http://www.zend.com/
(408)253-8829 MSN: [EMAIL PROTECTED]
--
PHP Unicode & I18N Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php