Bug 24306 - Dosbox не поддерживает русский язык по умолчанию
Summary: Dosbox не поддерживает русский язык по умолчанию
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: dosbox (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Fr. Br. George
QA Contact: qa-sisyphus
URL:
Keywords: l10n
Depends on:
Blocks:
 
Reported: 2010-10-15 03:52 MSD by Anton Moiseev
Modified: 2014-07-11 20:52 MSK (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Moiseev 2010-10-15 03:52:52 MSD
Свежеустановленный 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 Andrey Rahmatullin 2010-10-15 08:59:23 MSD
language=/usr/share/doc/dosbox-0.73/DOSBox-russian-lang/russian.txt, я бы сказал.
И keyb ru в [autoexec], а keyboardlayout оставить auto.
Comment 2 Anton Chernyshov 2010-11-07 09:59:41 MSK
(В ответ на комментарий №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 Anton Moiseev 2010-11-09 14:27:54 MSK
Полазил немного по исходникам (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 Anton Chernyshov 2010-11-10 13:22:08 MSK
(В ответ на комментарий №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 Anton Moiseev 2010-11-10 13:39:32 MSK
>Вы уверены, что всем русскоязычным пользователям надо обязательно поддержку русского языка?

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

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