Implementing better fallback algorithm.

Before:
 current_locale->default_locale

Now:
 current_locale->chain_of_parent_locales->default_locale

If default_locale is de, and current locale en_US, we follow:
en_US -> en -> de

en is not a Chrome locale (only en_US, en_GB are), but we fake it to allow this kind of fallback.

Developers can implement common locale root with most of the messages (like en) and put locale specifics in en_GB (color->colour) or en_US. You can even symlink en and en_US and save on work.

I am planning on fixing loading local resources too, to use this child->parent fallback.

BUG=12131

Review URL: http://codereview.chromium.org/293037

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29684 0039d316-1c4b-4281-b951-d872f2087c98
9 files changed