OberonCore
https://forum.oberoncore.ru/

#030 Windows: вернуть язык по-умолчанию: ""
https://forum.oberoncore.ru/viewtopic.php?f=134&t=6573
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Воскресенье, 01 Март, 2020 01:58 ]
Заголовок сообщения:  #030 Windows: вернуть язык по-умолчанию: ""

Когда в Центре улучшали работу с языками, сломали эталонное поведение. Язык по-умолчанию вместо "" стал "en". А это некорректно, потому что "" # "en" (Rsrc/Strings и Rsrc/en/Strings -- это разные файлы, потому что не у всех язык по-умолчанию является английским).
Код:
MODULE HostDialog;
      defaultLanguage = "en";

   PROCEDURE InitLanguage;
      VAR loc: Files.Locator; li: Files.LocInfo; lang: Dialog.Language; n: INTEGER;
   BEGIN
      ...
      IF prefs.language.item = '' THEN prefs.language.item := defaultLanguage END;
   END InitLanguage;

Автор:  Иван Денисов [ Воскресенье, 01 Март, 2020 15:18 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

Евгений, если также будет работать всё, то поддерживаю,
надо внимательно только понять, а на что это повлияет, вот в этих файлах зашито "en"
Std/Mod/Api.odc 2
Dev/Mod/Inspector.odc 1
Dev/Mod/Markers.odc 1
Dev/Mod/Search.odc 1

Ведь "" заменили на "en" не просто так, а потому что сделали диалог выбора языка. Его ведь раньше просто не было.
Так что в диалоге выбора языка надо каким-то иным путем указать тогда какой язык есть. Это происходит в InitPrefDialog/InitLanguage. Но не вижу, где вызывается InitPrefDialog...
Я тогда предлагаю сделать defaultLanguage не константой, а переменной, чтобы её можно было устанавливать из Config.

Автор:  Евгений Темиргалеев [ Понедельник, 02 Март, 2020 04:55 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

А в диалоге выбора не может быть значения "", которое и означает defaultLanguage?

Автор:  Иван Денисов [ Понедельник, 02 Март, 2020 06:42 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

Евгений Темиргалеев писал(а):
А в диалоге выбора не может быть значения "", которое и означает defaultLanguage?

Но ведь это не соответсвует факту, что существует язык по-умолчанию, и это не пустой язык. Надо, чтобы, если лежит папка "ru", то было два языка в меню, скажем сейчас это "en" и "ru".

Автор:  Евгений Темиргалеев [ Понедельник, 02 Март, 2020 09:39 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

Почему не пустой? А что же это тогда?
System/Rsrc/Strings

По моему пониманию это и есть язык по-умолчанию. Вот как разработчик делал, что положил напрямую в ресурсы, такое и умолчание. А в языковых подкаталогах уже конкретные переводы. И соответствующая схема доступа к ресурсам:

rsrc := ReadRsrc(lang); IF rsrc = NIL THEN rsrc := ReadRsrc("") END

Не помню, по этому поводу в документации официальной есть что-то?

Автор:  Иван Денисов [ Понедельник, 02 Март, 2020 09:43 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

С точки зрения пользователя язык по-умолчанию не пустой. Это какой-то язык с названием. Я думаю, что надо о пользователях прикладных проектов думать, а не о документации. Если скажем вы комплектуете свой проект каким-то другим языком, то правильное предложение избавиться везде от хардкодед "en". Полностью поддерживаю. Это недочёт. Надо устранить. Но в диалоге надо название показывать.

Автор:  Евгений Темиргалеев [ Понедельник, 02 Март, 2020 10:02 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

Согласен, что показывать в диалоге вместо "" что-то более понятное лучше. Это же решаемо.

Автор:  Иван Денисов [ Вторник, 03 Март, 2020 12:34 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

Евгений Темиргалеев писал(а):
Согласен, что показывать в диалоге вместо "" что-то более понятное лучше. Это же решаемо.

Да, надо как-то решить это, и исправим. Правильно было бы это указывать в файле Config. Это ведь настройка среды, какой комплект языка лежит по-умолчанию.

Автор:  Trurl [ Вторник, 03 Март, 2020 13:17 ]
Заголовок сообщения:  Re: #030 Windows: вернуть язык по-умолчанию: ""

А для единообразия ресурсы для пустого языка помещать в язык system.

Автор:  Info21 [ Вторник, 03 Март, 2020 13:53 ]
Заголовок сообщения:  Re: Windows: вернуть язык по-умолчанию: ""

Иван Денисов писал(а):
надо о пользователях прикладных проектов думать
Хорошо, что именно прикладник такую видную роль тут играет.

Автор:  Иван Денисов [ Понедельник, 05 Апрель, 2021 19:14 ]
Заголовок сообщения:  Re: #030 Windows: вернуть язык по-умолчанию: ""

Добавил переменную Dialog.defaultLanguage так что теперь возможно настроить, чтобы по умолчанию был любой язык основным для Блэкбокса, а остальные опциональными.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/