Shadowsocks-windows: Client doesn't respect Windows 10 language preferences, no proper way to switch UI to English

Created on 28 Jul 2020  ·  3Comments  ·  Source: shadowsocks/shadowsocks-windows

Describe the bug

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).

Environment

  • Shadowsocks client version: 4.1.10.0
  • OS version: Windows 10 20H1 (2004)
  • .NET version: 4.8

Steps you have tried

I don't need to try anything, as my Windows is configured correctly according to my preferences.

What did you expect to see?

The UI language should match the preferred (top) language defined in Settings - Time & Language - Language - Preferred languages.

image

What did you see instead?

The UI language matches the language defined in Settings - Time & Language - Language - Regional format.

Notes

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.

help wanted new feature pull requests welcome

Most helpful comment

We should implement this in the new WPF GUI.

All 3 comments

Temporary solution:

  1. When Shadowsocks is started, Right the Shadowsocks icon at icon tray area, Select 帮助 (or help), And click 写入翻译模板 (or Write translation template).

  2. Open the directory where shadowsocks.exe is located, there is a new file name i18n.csv, Open it with any Table Editor (eg. Excel).

  3. 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:
image

After:
image

  1. Restart Shadowsocks, Then should using the language you wanted.

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.

Was this page helpful?
0 / 5 - 0 ratings