I'm using a number of custom controls in a multi language application. What's the best way to make the controls display the correct language? Do I change properties of the control via the application depending on language strings fetched by it, or do I make the control itself support multiple languages?
I find it strange too. I have yet to find a single 'real world' example of doing this despite hours of searching. Makes you wonder...
I haven't found anything since last time I posted... Really strange no one comes up with the answer.
I suspect part of the problem is that the 'automatic' translation of labels and such works on the setting of UICulture and, in XP at least, there is no obvious way to change this for the purposes of testing - see my adjacent post which has yet to produce an answer.
Now one could assume that M. Customer in, say France, will have his UICulture set to fr-FR and everything will work. But I'm not convinced it is safe to assume that becauses my bought-in-the-UK, everything in English(UK), PC's UICulture is English(US) and resists all attempts to change it. It would not surprise me if very many PCs around the world are similarly English(US) and if I (fairly computer capable) cannot change it I doubt if someone less capable, like an average user, is going to succeed.
So the 'automatic' translation is possibly a non-runner though I would be very happy if someone could demonstrate, with a working example, that I am wrong. Nevertheless people are clearly using locales, possibly by retrieving language-dependant strings programmatically.
In the time it has taken me to investigate, and fail to get working, localisation the Microsoft way I could have written a database-driven alternative which would provide a central library of translations, let people choose their preferred language, and be much easier to maintain and distribute than all these little .resx files. In fact I think I will do just that...
What did you do?