OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 21:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: Воскресенье, 01 Март, 2020 01:58 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Когда в Центре улучшали работу с языками, сломали эталонное поведение. Язык по-умолчанию вместо "" стал "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 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Евгений, если также будет работать всё, то поддерживаю,
надо внимательно только понять, а на что это повлияет, вот в этих файлах зашито "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 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
А в диалоге выбора не может быть значения "", которое и означает defaultLanguage?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Март, 2020 06:42 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Евгений Темиргалеев писал(а):
А в диалоге выбора не может быть значения "", которое и означает defaultLanguage?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Март, 2020 09:39 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Почему не пустой? А что же это тогда?
System/Rsrc/Strings

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Март, 2020 09:43 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
С точки зрения пользователя язык по-умолчанию не пустой. Это какой-то язык с названием. Я думаю, что надо о пользователях прикладных проектов думать, а не о документации. Если скажем вы комплектуете свой проект каким-то другим языком, то правильное предложение избавиться везде от хардкодед "en". Полностью поддерживаю. Это недочёт. Надо устранить. Но в диалоге надо название показывать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Март, 2020 10:02 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Согласен, что показывать в диалоге вместо "" что-то более понятное лучше. Это же решаемо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Март, 2020 12:34 
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Март, 2020 13:17 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
А для единообразия ресурсы для пустого языка помещать в язык system.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Март, 2020 13:53 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Денисов писал(а):
надо о пользователях прикладных проектов думать
Хорошо, что именно прикладник такую видную роль тут играет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 05 Апрель, 2021 19:14 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Добавил переменную Dialog.defaultLanguage так что теперь возможно настроить, чтобы по умолчанию был любой язык основным для Блэкбокса, а остальные опциональными.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB