First, let say that i18n is great!
We use it in all circumstances: standard form display, custom list management, localized field format, ...
But now our solutions are mature, and we happen to have customer from UK and US accessing the same solution. While user can accomodate to read 'programme' instead of 'program', there is still one annoying thing: this weird way they write their dates and numbers.
Should you use only one way of displaying dates in your solution you could eventually use the 'default date format' setup in preferences, but real solutions display dates and datestamps in various format depending on context. Using i18n keys to format dates and other columns was a great feature, but proved its limit with country specific variations.
So please servoy team, implement the country code in i18n management!
(in version 3.5.x and 4.1.x)
Suggestions: currently, i18n keys are replaced by current langage value if it exists, then by reference if there is no key for current locale language. Adding country management, I suggest that keys will be first searched for language+country, then for country and at last for reference.
ie: en-UK = AAAA; en = AABA and ref= BBBB
Please note that we may need non conventionnal language/country couples, like en-CH for english switzerland where english is NOT an official language in the given country (ar-US, ...)
We try to implement it ourselves, adding a country column in message table and using filters. Its manageable for simple labels, but is unusuable when using i18n keys as formatting keys.