
Subject: [boost] Boost.Locale and the standard "message" facet
Hi,
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 More?
Best, Vicente
Regards, Artyom