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.
What you want to achieve can be done with a custom culture.
However, we haven't added such option to Sitefinity, because the configuration and changes that you will make when modifying a culture, will affect the .net framework of the machine, where the your project is running. This is out of the scope of Sitefinity and might lead to unwanted behavior. If you, for example, later move the website to another server, where the .net framework doesn't include your custom culture, you will probably receive exceptions and other problems.
You may also find this article useful:
+1 for anything that keeps stuff at one place and simply (adding a forget password takes my brain to full gear)
I also think that sorting is once again an issue. it takes a while to find what you need to change.
Keep the languages together sf_language_cultures_02.png
PS: Did I ever mention that I would like the SBE to have multiple backend languages. Because you can add 10 back-end languages but use only one :-) - I know I might be repeating myself, but I am old and forget so please forgive me :-)
I discussed your recommendations with our architects and we concluded that they are reasonable. This is why I've logged a feature request for extending the language/cultural settings in Sitefinity. Here's the PITS:
Glad to hear they were in a good mood this morning ;)