tnodir / fort

Fort Firewall for Windows
GNU General Public License v3.0
1.38k stars 120 forks source link

automatic localization, according to the locale #157

Closed b-user closed 9 months ago

b-user commented 9 months ago

In the settings menu I can select localization. Could you please add the item "automatically, according to the locale".

tnodir commented 9 months ago

Fixed by a12c5da7.

tnodir commented 9 months ago

Please check v3.10.5-test1.

b-user commented 9 months ago

It works well. Thank you.

tnodir commented 9 months ago

Fixed in v3.10.5-test2 to use actual System Language, not System Locale's Language.

b-user commented 9 months ago

В простом случае (русифицированный дистрибутив, язык интерфейса == русский) автоматика срабатывает. Тут вопросов нет.

НО: в сложном случае получается неожиданный результат. Итак:

fort v3.10.5-test2. Кстати, как простым способом удостовериться что запущенный fort это v3.10.5-test2 ? windows 7 utlimate - официальный русифицированный дистрибутив

Скачен и установлен (через штатную утилиту "центр обновления windows" / windows update) eng

языком интерфейса выбран "English" eng2 (ок-логон)

далее из проводника даблкликом мышки запускаю экзешник eng3

в трее, по иконке форта - пкм - опции-опции- закладка опции, язык= system скрин двумя строками ниже

фактический результат: интерфейс fort - на русском ru-en

ожидаемый результат: переключилось на английский

tnodir commented 9 months ago

как простым способом удостовериться что запущенный fort это v3.10.5-test2 ?

Сейчас никак из-за лени) А надо бы добавить индикатор тестовой сборки в версию..

b-user commented 9 months ago

Сейчас никак из-за лени)

В таком случае верьте на слово (главное чтобы я не ошибся, когда утверждаю о чём-то). А так наверное в "about" добавить можно (и вроде бы вполне логично), ни или как говорите - доп поле в заголовке.

tnodir commented 9 months ago

Странно, этот кейс у меня работает: fort-syslang

b-user commented 9 months ago

Возможно оттого что дистрибутив английский и язык интерфейса "English". Или из-за того что в ярлыке --lang=en

Вообще, при автодетекте наверное не стоит в ярлык добавлять --lang=xxx

tnodir commented 9 months ago

Дистриб русский вроде: Windows 7 SP1 52in1 (x86-x64) +- Office 2019 by Eagle123 (07.2023).iso. Пакет English я потом выбрал.

Или из-за того что в ярлыке --lang=en

И с этим я проверил.

Вообще, при автодетекте наверное не стоит в ярлык добавлять --lang=xxx

Этот ярлык Установщик добавляет, там нет автодетекта.

tnodir commented 9 months ago

Может всё-таки старая версия? Добавлю в заголовок индикатор теста)

b-user commented 9 months ago

Рядом со словами "далее из проводника даблкликом мышки запускаю экзешн" на картинке - дата/время. Вроде бы test2

b-user commented 9 months ago

Этот ярлык Установщик добавляет, там нет автодетекта.

я говорю "если в fort есть автодетект языка, то создавать в ярлыке --lang=xxx - вредно"

tnodir commented 9 months ago

я говорю "если в проге есть автодетект языка", то создавать в ярлыке --lang=xxx - вредно"

точно. тоже думал, что надо убрать..

tnodir commented 9 months ago

Итак. При смене языка на English, Винда делает логофф. После логина Форт должен показать всё на Англ-ком, т.к. выбран Системный язык.

Сейчас перепроверю..

Всё работает в Win7:

b-user commented 9 months ago

а если установить и выбрать итальянский языковой интерфейс ? странно. с итальянским - всё нормально.

с русским тоже всё нормально

а вот с английским у меня - косяк.

Что сказать. На данный момент не воспроизводится.

tnodir commented 9 months ago

странно. с итальянским - всё нормально.

Логика обработки системного языка такая:

Значит для англ-го имя отличается что-ли..

b-user commented 9 months ago

en-US ?

tnodir commented 9 months ago

English

b-user commented 9 months ago

HKCU\Control Panel\Desktop\PreferredUILanguages

tnodir commented 9 months ago

HKCU\Control Panel\Desktop\PreferredUILanguages

Что у вас там содержится?

b-user commented 9 months ago

HKCU\Control Panel\Desktop\PreferredUILanguages en-US

tnodir commented 9 months ago

HKCU\Control Panel\Desktop\PreferredUILanguages

Лучше из реестра брать?

Сейчас так: https://github.com/tnodir/fort/blob/ef30b5f7a066ad5d67fd7ba48cef0121f2263eff/src/ui/util/osutil.cpp#L125

b-user commented 9 months ago

Сейчас так:

Пытаюсь разобраться почему у нас разница

tnodir commented 9 months ago

Лучше из реестра получить HKCU\Control Panel\Desktop\PreferredUILanguages. Т.к. именно такой формат мне и нужен.

tnodir commented 9 months ago

Fixed by 8aec6951.

tnodir commented 9 months ago

я говорю "если в fort есть автодетект языка, то создавать в ярлыке --lang=xxx - вредно"

А если в системе стоит English, но в Установщике выбираю Russian?

Пусть остаётся этот параметр. Не мешает же?

tnodir commented 9 months ago

Please check v3.10.5-test3.

b-user commented 9 months ago

тест3 - норм (c MUI), но сравнить с тест2 не могу: тест2 отсутствует