Re: [mb-i18n] Internationalization for lists
Oliver Charles asked:
Something that came up on IRC but needed more
discussion is how to
handle lists of items, in a human readable form. In English, one would
write, for example:
Foo & Bar
Foo, Bar & Baz
With any more than 3 items, we join them together with commas except the
last item. Saddly, I only speak English, so I don't know how this
construct looks in other languages.
It does crop up in a few places in the templates (displaying
relationships, and other short lists) - so it would be nice to have a
solution to display lists in this manner, taking i18n.
Nobody has mentioned the East Asian languages, I don't have any special
experience with these, but Wikipedia provides some relevant information
Enumeration comma ( 、 )
The enumeration comma, known as the "pause mark" in Chinese
(simplified Chinese: 顿号; traditional Chinese: 頓號; pinyin: dùnhào;
literally "pause mark"), must be used instead of the regular comma when
separating words constituting a list. Chinese language does not observe
the English custom of serial comma (extra comma before "and" or "or" in
a list), although the issue is of little in Chinese at any rate, as the
English "A, B, and C" is more likely to be rendered in Chinese as "A、 B
、 C", without using a conjunction such as 和 or 与.
Japanese apparently follows this style as well, whereas Korean uses
more Western punctuation forms.
Worth noting for all of these East Asian languages is that the
fullspace comma does not need space character between it and following
So, you could probably do fine with just three i18n terms:
1) ' and '
2) ', '
3) ', and '
although in theory, if you wanted to support a localization that
required punctuation around each item (e.g. a Lisp-like syntax that
uses parentheses like ((a) (b) (c)) for lists of items), you could add
two more terms for start-of-list and end-of-list (which in English
would be empty strings, although end-of-list could be a period).
Sample localizations of these terms might look something like the
following table, showing space characters as ␣ for clarity (it might
well be worth making these a personal preference, since users in any
locale might well prefer different variants, for example "and" vs.
MusicBrainz-i18n mailing list