…This is useful for other translation engines that do not want to use the key based syntax (tr8n). Also makes it a lot easier to put a cache in front of I18n.
It was incorrectly written; Based both on the knowledge of my mother tongue (Polish) and the pluralization rules specified on the Unicode.org website (http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html)
…ault!` to be named as it acts. Refactor `extract_non_symbol_default!` to be shorten and better readable with no performance hit.
…n for bc
…18n::MissingTranslation (which is a plain Object) for the default case. Create an I18n::MissingTranslationData exception only if it needs to be raised to the user.
Right now this helper can be used to enable 0.5.0 exception handling in Rails 3.0.x. Not sure we want to entirely move this from ActionPack. But keeping changes in I18n and ActionPack in sync is a pain, especially because Rails' releases happen way less frequently.
…n I18n::Backend::Base.resolve for re-translating symbols
…needs further investigation as MissingTranslationData still is a subclass of Exception and the I18n.t still simply raises (as currently defined by the API).
…/json/encoding uses it but does not require it
Rationale: the I18n::Backend part of this library is designed to provide various modules that can be included into the I18n::Backend::Simple backend or other compatible backend implementations and thereby extend their functionality in an optional manner. Thus, both code and documentation have been cluttered with lots of calls sending :include to the Simple backend class. It seems that we in fact treat sending include as a public API of the Simple backend class and therefor should make it public.
This is so that other Rubies, such as MacRuby, which compile the code can require files and load the compiled file instead of the source file. Signed-off-by: Mark Rada <email@example.com>