Путевые заметки в процессе познания Python и PyQt/PySide.
Помни - только тег CODE не портит код добавлением пробела в начало пустой строки.
Помни - только тег CODE не портит код добавлением пробела в начало пустой строки.
К вопросу о "дарах данайцев"... (часть 3)
Запись от iamvic размещена 26.06.2023 в 22:46
Показов 1302
Комментарии 0
|
Предыдущие серии: прелюдия, часть 1, часть 2 Надо сразу сказать, что добиться от OpenSUSE более-менее вменяемого поведения, наверное, можно только установкой английского в качестве языка системы (системной локали). Во всех остальных случаях навязываемый системой неафишируемый сервис приводит к обескураживающим результатам, вступая в противоречие с существующей практикой. Например, при написании Qt-приложений, хорошим тоном считается использовать английский язык в текстовых данных (строках), которые будут применяться в элементах пользовательского интерфейса (UI). Предполагается, что можно подготовить отдельные файлы переводов этих текстов на различные языки, а программист может добавить в своё изделие код, который будет подключать файл перевода, соответствующий системной локали пользователя. И если возникнет необходимость в новых переводах, то код программы менять не потребуется, достаточно подготовить новый файл перевода. Ключевыми моментами во всём выше изложенном, по моему мнению, являются постулирование первичности английского в качестве языка пользовательского интерфейса и возложение на программиста обязанности принимать решение "подключать имеющиеся файлы переводов или нет?". Причём это относится ко всем файлам переводов, в том числе и присутствующим в пакете Qt для обслуживания стандартных диалогов, стандартных кнопок и т.д. Если программист решил, что не будет подключать стандартные файлы переводов qtbase_*.qm, то тогда в любых системах это приложение должно открывать стандартные диалоги именно на английском языке, как это и заложено в коде этих самых диалогов: А вот OpenSUSE с языком системной локали, отличным от английского, умничает и самостоятельно применяет стандартные файлы переводов на язык системной локали (в данном случае, русский), хотя этого здесь не требуется: Попытка отказаться от навязанного сервиса путём удаления трансляторов, заранее загруженных системой, приводит к неожиданным результатам: Картинки получены во время выполнения кода нижеуказанного пробника под Windows 7 и под OpenSUSE 42.3: stddlg_probe.py
А о том, что ui-файлы, создаваемые Qt Designer-ом под OpenSUSE, всё-таки могут отличаться не в лучшую сторону от ui-файлов, создаваемых под честными системами (например, Windows, Ubuntu и т.д.), наверное, в следующей серии. | ||||||||||
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


