The client displays the UI in the language defined by regional formats. In my case, I have English as the preferred language and Russian as the regional format language. The result is that the UI is in Russian, while I expect English.
The client should rely on the preferred user language (see more below).
I don't need to try anything, as my Windows is configured correctly according to my preferences.
The UI language should match the preferred (top) language defined in Settings - Time & Language - Language - Preferred languages.

The UI language matches the language defined in Settings - Time & Language - Language - Regional format.
Changing the Regional format language to English is not an acceptable solution, because it affects user-wide format settings. I should not be changing the regional formats for the purpose of changing the UI language for a single app.
Either code the client properly, or provide an option to fall back the UI to English.
Temporary solution:
When Shadowsocks is started, Right the Shadowsocks icon at icon tray area, Select 帮助 (or help), And click 写入翻译模板 (or Write translation template).
Open the directory where shadowsocks.exe is located, there is a new file name i18n.csv, Open it with any Table Editor (eg. Excel).
What is your shadowsocks current language? Assume current is simplified Chinese and you want English, Then exchange first-row en and zh-CN, Save and exit.
Before:

After:

This worked, thanks a lot. But it's not the way you want end users to change the language. Like I said, either rely on user preferred lang, or add a user language option to the client.
We should implement this in the new WPF GUI.
Most helpful comment
We should implement this in the new WPF GUI.