Under Administration >> Settings we've got a perfectly good way of setting front-end and back-end languages. However lately there's an increasing wild grow of advanced language settings that make it unpractical and un-telerik worthy for any true multi-lingual website.
First we've got Cultures > PredefinedLanguages > dutch-nl
That has a key which is nowhere used visually where culture and UICulture are both set to 'nl'.
Secondly we've got Cultures > PredefinedCultures > dutch (netherlands)-nl-nl
The key is visually nowhere in use and both culture and UICulture are now set to nl-NL.
Then we have Ecommerce > Countries > NL
Where we have an iso code of 'NL' (caps, not lowercase like in PredefinedLanguages), the culture doesn't match the PredefinedCultures key, but both its values.
And then we move on to Resources > Cultures > dutch-nl
With fields matching exactly the PredefinedLanguages.
And lastly Resources > BackendCultures> dutch-nl
Wich is similar to the front-end languages from above.
I understand that front end and backend cultures/languages may differ (resources>cultures / resources>backendcultures). But can't we extend the frontend resource cultures to include all definable fields and adhere to ISO standards?
That would give us a single point of editing and a standardized method of utilizing multi-lingualism.
So we'd get something like:
ISO Countrycode: 528
And since we're consolidating the information, we add the currency information on it as well:
currency: EUR (from a dropdown)
Number of digits after decimal seperator: 2
Currency in the above example gets pulled from a dropdown, populated by a consolidated settings page where we define the basics:
ISO 4217 Code: EUR
This way all related country/language/culture information is stored/editable in a single table/form where even a novice user can find and alter them and the fields are all based on .NET & ISO standards.
The language/country also has currency instantly applied, allowing for an easy configuration in combination with E-Commerce. Instead of having to configure multiple options/settings in order to get multi-currency functionality, it would now be only a matter of adding 'Dutch' as a 2nd front-end language in order for it to work.