There are 3 requirements for language-localization in channels:
All strings in the channel code which you want to be localized must be referenced via the L() method. Convention is that string is contained in it's entirety in the code in that fashion (usually in english but, I think that's just because most channel developers are english speakers).
L('This string will be localized')
Then in each of the appropriately named json files in the plugin's Strings directory, the string is matched with the localized language translation.
{
"This string will be be localized": "This string should be the translated version of the key string"
}
As hinted above, there must be a xx.json file for the relevant locale in the plugin Strings directory, where 'xx' is the 2-letter language code.
The locale setting on the Plex Media Server must have a matching strings file in the channel Strings directory.
To more directly answer your question, the localization is based on the settings on the server (with appropriate support built in to the channel).
I can't think of one. AFAIK, even the channel prefs are saved on the server and used across all clients accessing the channel. I don't think it's currently possible (or at least practical) to provide a different localization experience for two clients accessing the same channel on the same server.
To more directly answer your question, the localization is based on the settings on the server (with appropriate support built in to the channel).
Where can we configure the server locale in Windows? I would like to change it to try if locale starts working for me. I have never been able to make it work.
And anyway, hasn't it a lot more sense locale being client dependant and not a server configuration? If a server can serve content in several languages the expected behaviour is that the client has the ability to decide which language to receive. No doubt about the usefulness of such an implementation.