Looks good. Small suggestions:
1. In section 2.1, in the note, I think the example locale is better
to be :en-GB rather than :en-UK. Also, in that locale, the currency
symbol is £ not €.
2. This note I also find quite confusing. I says that the I18n
library only uses the language key, not the region key. But then
later on says you can use the region key if you want. It also
suggests inheriting from a locale - which as far as I know doesn't
make much sense (using inheritance in the Ruby class context which I
think most people would use as the context here).In fact, as far as I
can tell, I18n library places no restrictions on naming the locale at
all. I could call is :this_is_my_silly_locale if I wanted. I18n and
SimpleBackend don't care.
So at the risk of editing something I'm a novice at, may I suggest
something like (for the 2.1 note section):
------
Rails I18n (with the included SimpleBackend) doesn't impose any formal
structure or requirements on naming locales. I18n takes the pragmatic
approach and the only locale included in a default Rails installation
is :en (that is, the english language). Many international
applications use only the "language" element of a locale such
as :cz, :th or :es (for Czech, Thai and Spanish). However there are
also regional differences within different language groups that may be
important. For example, the currency symbol is different for the UK
versus the US even if both speak English. Therefore you might
consider creating a locale named :en-GB which is the same as the
default :en, but with the current symbol changed from $ to £. This
same approach can be used to adjust for different spellings, grammar
or date/time formats in different regions that use the same overall
language (like the differences between :de-DE, :de-AT, :de-CH).
Note that the SimpleBackend that ships with rails does not provide
locale fallback. That is, it will look for translation and
localisation data in the requested locale and only that locale.
Therefore if you are implementing multiple regional locales for a
common language (:en-GB, :en-US, :en-AU for example) you will need to
include the complete set of translations and localisations in each
locale file - even if they are a very close copy in most cases. There
are several plugins that do provide fallback mechanisms
(Globalize2, ...) and you may consider one of these for your
application.
------
Use or discard as you see fit,
Cheers, --Kip