Bug 24306 - Dosbox не поддерживает русский язык по умолчанию
: Dosbox не поддерживает русский язык по умолчанию
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/dosbox)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
: l10n
:
:
  Show dependency tree
 
Reported: 2010-10-15 03:52 by
Modified: 2014-07-11 20:52 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-10-15 03:52:52
Свежеустановленный Alt Linux Школьный Юниор 5.0.1

Потребовалось использовать Dosbox для запуска QBasic. QBasic запустился, но все
меню (которое было русифицировано) отобразилось кракозябрами.

Проблема четко решается по инструкции отсюда:
http://www.jackyfox.com/2009/09/13/dosbox-russian/ (положить в ~/.dosbox файл
russian.txt и задать 2 настройки в ~/.dosbox/dosbox.conf:
"language=russian.txt" и keyboardlayout=RU), но в школьном дистрибутиве
желательно все это поведение иметь по умолчанию.
------- Comment #1 From 2010-10-15 08:59:23 -------
language=/usr/share/doc/dosbox-0.73/DOSBox-russian-lang/russian.txt, я бы
сказал.
И keyb ru в [autoexec], а keyboardlayout оставить auto.
------- Comment #2 From 2010-11-07 09:59:41 -------
(В ответ на комментарий №1)
> language=/usr/share/doc/dosbox-0.73/DOSBox-russian-lang/russian.txt, я бы
> сказал.
> И keyb ru в [autoexec], а keyboardlayout оставить auto.

Добавил исправленный файл конфигурации в /usr/share/doc/dosbox-0.74. Глобальные
файлы конфигурации dosbox игнорирует. Пэтому для русификации стоит или
использовать этот файл (отредактировав его прочие настройки под свои нужды),
либо редактировать свой. Я также в пакет положил файл с руководством по
русификации.
------- Comment #3 From 2010-11-09 14:27:54 -------
Полазил немного по исходникам (http://www.dosbox.com/download.php?main=1).

Значиния для генерируемого по умолчанию файла с настройками задаются в файле
src/dosbox.cpp - в частности для параметров "language" и "keyboardlayout" стоят
такие строки:

Pstring = secprop->Add_path("language",Property::Changeable::Always,"");

Pstring = secprop->Add_string("keyboardlayout",Property::Changeable::WhenIdle,
"auto");

Я думаю собрать версию с маленьким патчем, исправляющим эти значения, должно
быть не сложно, а если сделать как-нибудь поумнее - типа задания этих значений
через параметры компиляции, то патч наверное смогут принять в апстрим.
------- Comment #4 From 2010-11-10 13:22:08 -------
(В ответ на комментарий №3)
> Полазил немного по исходникам (http://www.dosbox.com/download.php?main=1).
> 
> Значиния для генерируемого по умолчанию файла с настройками задаются в файле
> src/dosbox.cpp - в частности для параметров "language" и "keyboardlayout" стоят
> такие строки:
> 
> Pstring = secprop->Add_path("language",Property::Changeable::Always,"");
> 
> Pstring = secprop->Add_string("keyboardlayout",Property::Changeable::WhenIdle,
> "auto");
> 
> Я думаю собрать версию с маленьким патчем, исправляющим эти значения, должно
> быть не сложно, а если сделать как-нибудь поумнее - типа задания этих значений
> через параметры компиляции, то патч наверное смогут принять в апстрим.

(В ответ на комментарий №3)
> Полазил немного по исходникам (http://www.dosbox.com/download.php?main=1).
> 
> Значиния для генерируемого по умолчанию файла с настройками задаются в файле
> src/dosbox.cpp - в частности для параметров "language" и "keyboardlayout" стоят
> такие строки:
> 
> Pstring = secprop->Add_path("language",Property::Changeable::Always,"");
> 
> Pstring = secprop->Add_string("keyboardlayout",Property::Changeable::WhenIdle,
> "auto");
> 
> Я думаю собрать версию с маленьким патчем, исправляющим эти значения, должно
> быть не сложно, а если сделать как-нибудь поумнее - типа задания этих значений
> через параметры компиляции, то патч наверное смогут принять в апстрим.

В последнем релизе я скрипт добавил, который переключает параметры языка в
имеющемся файле конкретного пользователя. Скрипт называется dosbox-set-lang. 

Патч сделать не трудно, вопрос в том нужен ли он? Вы уверены, что всем
русскоязычным пользователям надо обязательно поддержку русского языка? Многие
игрушки и так работают. Кому надо - может переключить язык. Еще вопрос - не
поломается ли что-то еще с такими дефолтными настройками.
Тут мне кажется нужно пообсуждать этот вопрос.
------- Comment #5 From 2010-11-10 13:39:32 -------
>Вы уверены, что всем русскоязычным пользователям надо обязательно поддержку русского языка?

Я могу сказать только за свой юскейс - в школе, в которой я помогал
устанавливать Юниор, учитель использовал QBasic (насколько это распространенная
практика я не знаю - просто там было так). В этой ситуации наличие
предустановленного досбокса оказалось очень кстати, но отсутствие поддержки
русского языка из коробки добавило  некоторых проблем - во-первых, пришлось
искать решение в интернете, во-вторых русификацию пришлось проводить на всех
компьютерах и писать инструкцию, как это делать для новых. 

Геймерам скорее всего действительно все равно, но в случае каких-то прикладных
досовских приложений, которые до сих пор всплывают в разных ситуациях, я думаю
в русскоязычном дистрибутиве русификация по умолчанию может быть актуальной.
------- Comment #6 From 2013-11-04 19:21:23 -------
Скрипт dosbox-set-lang нерабочий и не принадлежит пакету dosbox.
Исправления:
ftp://ftp.mageialinux.ru/mageia2/SRPMS/dosbox-0.74-17.mrc.mga2.src.rpm
------- Comment #7 From 2013-11-04 19:53:56 -------
Спасибо; к сожалению, dosbox в альте несколько лет как осиротел.
------- Comment #8 From 2014-07-11 20:52:25 -------
dosbox-0.74-alt2.4 -> sisyphus:

* Fri Jul 11 2014 Mikhail Kolchin <mvk@altlinux> 0.74-alt2.4
- fixed script dosbox-set-lang (ALT#24306)