Subject: Re: [boost] Boost.Locale and the standard "message" facet
From: Artyom (artyomtnk_at_[hidden])
Date: 2011-04-30 09:46:53
> Subject: [boost] Boost.Locale and the standard "message" facet
> I was wondering how Boost.Locale is related
> to the standard message facet which is used
> to translate messages.
The standard message catalogs allow to extract
messages by integer identifiers but may use string
identifiers and it is implementation defined
It is undefined how to load message facets
or format them and so on.
It does not support plural forms and context.
It is the most unless facet around.
> Note that the facet
> interface work with integer identifiers
> avoiding all the issues raised by the
> get_text/translate functions
> provided by Boost.Locale.
Use of integer identifiers is the best
way to screw the localization in the software.
What does 3456 means? Do you really think
it is good to write translate(MY_MESSAGE_OPENING_FILE)
No, never - never - never - never - never
use such "constant" or "integer" identifiers.
Always use natural text.
> Is there any reason Boost.Locale
> could not follow the standard design?
The standard message catalogs to weak
> What are the advantages of the Boost.Locale design?
1. Defined way to load and format catalogs
2. Support of pural forms
3. Support of message-context
4. Using natural language identifiers as keys
5. Convenense interface