front: Refactored locale stuff a bit, added country/variant support.

Example:
To provide users the choice between French (France) and French (Canada)
just update the string array in res/values/arrays.xml to include fr_FR
and fr_CA.

In such cases, you should include the following resource directories:
res/values-fr
res/values-fr-rCA
res/values-fr-rFR

Non-regionalized French resources should be maintained so that a user
whose system locale is French (Switzerland) will still see a French
translation.