Русская версия Dwarf Fortress: различия между версиями

Материал из Dwarf Fortress Wiki
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
(не показаны 83 промежуточные версии 12 участников)
Строка 1: Строка 1:
'''Русская версия Dwarf Fortress, миф или реальность?''' Этот вопрос занимает умы многих и каждый день в поисковые системы идут запросы с данным словосочетанием. Вынужден огорчить, на данный момент стабильной русской версии игры не существует. Для добавления в игру возможности полноценного перевода, [[ToadyOne]] вынужден будет переписать массу кода, а ему это пока не интересно.  
=== Ссылки ===
* [https://dfint.github.io/russian '''Главная страница проекта русификации''']. <!-- не нужно писать, что ссылки устаревшие, парой строк ниже указано, что в группе ВК выкладываются свежие сборки --Insolor -->
* Перевод ведётся на [https://www.transifex.com/projects/p/dwarf-fortress/ transifex.com].
* '''Скачать''' готовые сборки можно в группе ВК [http://vk.com/dfrus '''Русификация Dwarf Fortress'''] (периодически выкладываются свежие сборки). Обсуждение перевода ведётся там же и [http://forum.dfwk.ru на форуме] в теме [http://forum.dfwk.ru/index.php/topic,204.0.html '''Русификация Dwarf Fortress'''].
* Исходный код проекта перенесен на Github: https://github.com/dfint


== Прошлые попытки русификации ==
=== Дисклеймер: информация ниже неактуальна (актуальна ~ на 2016 год), обновляться не будет ===
Предпринимались попытки добавить русский язык в интерфейс игры, но каждый раз наталкивались на серьёзные проблемы.


Рассказывает [[Участник:LockIt|LockIt]], участник вики-дварфии [http://forum.dfwk.ru/index.php/topic,204.msg2642.html#msg2642]:
Актуальную информацию ищите по ссылкам выше.
[[Image:Ruslockit1.png|500px|thumb|Попытка русификации от LockIt]] [[Image:Ruslockit2.png|500px|thumb|Ещё один пример русификации от LockIt]] [[Image:Rusmialax1.jpg|500px|thumb|Пример русификации меню от mialax]]
<pre style="overflow:auto;">
Итак, что я сделал:
Во-первых, берёшь тайлсет
Заменяешь латинские буквы на русские. ABCDEF.. на АБВГДЕ, или лучше на АБЦДЕФ.., чтоб легче было потом подстановки делать.
Во-вторых, в raw файлах переводишь параметр имени. Т.е. там написано, к примеру, "hammer", мы меняем это на "molot",
в игре это отображается как  "молот", т.к. из-за первого шага буквы:
m - это м
o - o
l - л
o - o
t - т
получается "молот".
Таким образом я перевел больше половины всех файлов, в частности материалы, камни, руду.
Появилось одно "но". Остальная половина всего текста находится в exe'шнике.
Текст оттуда модифицируется только HEX редактором и, насколько я понял,  переведенный вариант слова должен содержать столько же букв,
сколько изначальное английское. Т.е. "red" должен быть переведен так, чтобы содержать  только три буквы.


Второе "но" - зачем? Тут есть те, кто не знают английский?)
====Что было реализовано====
К слову, переводят обычно только финальные версии игры.
</pre>


Комментарий от участника '''mialax''' на форуме:
* Добавлена поддержка кириллицы
<pre style="overflow:auto;">
* Создана программа-патчер, позволяющая заменять текст, вшитый в exe-файл, в том числе и на более длинный
* Переведен и более-менее вычитан текст, зашитый в exe-файл
* Переведен и вычитан текст из raw-файлов
* Исправлен вывод русского текста на некоторых экранах (таких как "Мысли и предпочтения").
* Добавлена возможность ввода русского текста и поиск предметов в "менеджере" (реализовано для некоторых предыдущих версий DF)
* Автоматизирована замена только нужных частей raw-файлов вместо замены файлов целиком.
* Ведется разработка русификации для '''Linux'''. Уже доступны тестовые сборки.
 
====Что осталось реализовать====
 
* Добавить перевод в верхний регистр первых букв названий и имен на русском
* Добавить поддержку русского языка в утилиты
** Ведется работа по русификации утилиты [https://bitbucket.org/dfint/dwarftherapistrus-attributes/ Dwarf Therapist], добавлению поддержки русского языка утилитой [https://bitbucket.org/Skin36/sounsenserus/wiki Soundsence].
* Поддержка Mac OS
* Русская версия [[Графическая версия#☼MASTERWORK☼ Dwarf Fortress|MASTERWORK Dwarf Fortress]]
** Присутствует русской версии Masterwork DF. Запущена соответствующая [http://forum.dfwk.ru/index.php/topic,1380.0.html тема на форуме] (на данный момент проект не активен).
 
 
=== Скриншоты ===
<gallery widths=320px heights=240px>
Файл:DFrus04024.png
Файл:Mid.png
Файл:Tfn6TDVX.png
</gallery>
 
== Первые попытки русификации ==
При первых попытках добавить русский язык в интерфейс игры, переводчики каждый раз наталкивались на серьёзные проблемы.
 
[[Image:Ruslockit1.png|400px|thumb|Попытка русификации от LockIt]] [[Image:Ruslockit2.png|400px|thumb|Ещё один пример русификации от LockIt]] [[Image:Rusmialax1.jpg|400px|thumb|Пример русификации меню от mialax]]
 
{{Цитата|
 
Итак, что я сделал:<br>
Во-первых, берёшь тайлсет, заменяешь латинские буквы на русские. ABCDEF.. на АБВГДЕ, или лучше на АБЦДЕФ.., чтоб легче было потом подстановки делать.<br>
Во-вторых, в raw файлах переводишь параметр имени. Т.е. там написано, к примеру, "hammer", мы меняем это на "molot", в игре это отображается как  "молот", т.к. из-за первого шага буквы:<br>
m — это м<br>
o — o<br>
l — л<br>
o — o<br>
t — т<br>
получается "молот".<br>
Таким образом я перевел больше половины всех файлов, в частности материалы, камни, руду. Появилось одно "но". Остальная половина всего текста находится в exe'шнике. Текст оттуда модифицируется только HEX редактором и, насколько я понял,  переведенный вариант слова должен содержать столько же букв, сколько изначальное английское. Т.е. "red" должен быть переведен так, чтобы содержать  только три буквы.<br><br>
 
Второе "но" — зачем? Тут есть те, кто не знают английский?) К слову, переводят обычно только финальные версии игры.|[[Участник:LockIt|LockIt]], участник вики-дварфии [http://forum.dfwk.ru/index.php/topic,204.msg2642.html#msg2642]}}
 
 
{{Цитата|
Я делал перевод с помощью своего тайлсета на основе символьной графики, так как стандартный не содержит кириллицы. Можно сделать и графический вариант, но это будет не просто. Вообще графические версии приводят к извращениям: буква "О" ужасно выглядит (потому что она используется для прорисовки стен), точка тоже не лучше. Приходится разрываться между красотой графики и текста. В русской версии эта дилемма будет острее, так как надо будет впихнуть недостающие символы. Анимации дварфов и других существ это всё не касается.
Я делал перевод с помощью своего тайлсета на основе символьной графики, так как стандартный не содержит кириллицы. Можно сделать и графический вариант, но это будет не просто. Вообще графические версии приводят к извращениям: буква "О" ужасно выглядит (потому что она используется для прорисовки стен), точка тоже не лучше. Приходится разрываться между красотой графики и текста. В русской версии эта дилемма будет острее, так как надо будет впихнуть недостающие символы. Анимации дварфов и других существ это всё не касается.
В игре есть возможность (я ей никогда не пользуюсь) указывать менеджеру командовать проведением определённых работ. Например построить железные стулья. Таких работ очень много и чтобы не искать нужную в списке, можно написать текстом. Если предметы будут называться по-русски, то ничего не получится.
В игре есть возможность (я ей никогда не пользуюсь) указывать менеджеру командовать проведением определённых работ. Например построить железные стулья. Таких работ очень много и чтобы не искать нужную в списке, можно написать текстом. Если предметы будут называться по-русски, то ничего не получится.<br><br>
 
1) В общем это выглядит так:
Есть словарь для raw и для экзешника (1-я строка - переводимое выражение, 2-я - перевод).
В начале прога в этих словарях заменяет все русские буквы, на символы, коды которых соответствуют тайлу изображающему эту букву.
Далее программа проходит по всем raw файлам и заменяет найденые выражения на перевод. Также переводится и экзешник.
2) Перевести можно почти всё. Меню не проблема.
Мастерская ремесленника вызывает проблемы, так как слово формируется из разных источников.
Статус существ тоже не выходит. Будет получаться что-то вроде "Her волосы is бежевый". Где это описывается я так и не нашёл.
Писать по русски не получится (теоретически это можно устранить, но сложно), что усложнит выбор заданий через менеджера.
Наверняка ещё много чего встретится.
3)Во-первых необходимо составлять словари. Для файлов из папки raw это не сложно, хотя объёмы большие. Для экзешника это сложней. Нужно следить, чтобы не перевелось лишнее (с Table это очень актуально). 


Основные проблемы:
1) В общем это выглядит так:<br>
* Часто меняются версии, так перевод должен быть автоматизирован.
Есть словарь для raw и для экзешника (1-я строка — переводимое выражение, 2-я — перевод).<br>
* При переводе экзешника русские слова не должны содержать больше символов, чем английские.  
В начале прога в этих словарях заменяет все русские буквы, на символы, коды которых соответствуют тайлу изображающему эту букву.<br>
* Кое-что вообще вряд ли возможно перевести.
Далее программа проходит по всем raw файлам и заменяет найденые выражения на перевод. Также переводится и экзешник.<br>
</pre>
2) Перевести можно почти всё. Меню не проблема.<br>
Мастерская ремесленника вызывает проблемы, так как слово формируется из разных источников.<br>
Статус существ тоже не выходит. Будет получаться что-то вроде "Her волосы is бежевый". Где это описывается я так и не нашёл.<br>
Писать по русски не получится (теоретически это можно устранить, но сложно), что усложнит выбор заданий через менеджера.<br>
Наверняка ещё много чего встретится.<br>
3)Во-первых необходимо составлять словари. Для файлов из папки raw это не сложно, хотя объёмы большие. Для экзешника это сложней. Нужно следить, чтобы не перевелось лишнее (с Table это очень актуально).<br><br>


Комментарий от '''Anruin''' на форуме:
Основные проблемы:<br>
<pre style="overflow:auto;">
* Часто меняются версии, так перевод должен быть автоматизирован.<br>
Они перевели только тайлсет и, возможно, содержимое файлов данных, текстовых. ЕХЕ-файл они, скорее всего, не правили. Потому что если изменять длину строк, нужно править отступы вызываемых функций, тех же строк, данных и ещё кучу всего, что в принципе практически нереально. Вставил один байт - и всё, ехе не запускается.  
* При переводе экзешника русские слова не должны содержать больше символов, чем английские. <br>
* Кое-что вообще вряд ли возможно перевести.<br>
|комментарий от участника mialax на форуме}}


Дело не только в выносе текста за рамки exe-файла, чего так некоторые ждут от разработчика, но также и в алгоритмах построения предложений. Подумал, и понял, что многое перевести правильно не удастся, в частности, описания существ, мыслей дворфов. В русском грамматика отличная от английского. His eyes are green - Его глаза зеленого цвета. Как пример. Для перевода нужен новый алгоритм построения предложений.
</pre>


==Текущая разработка==
{{Цитата|
В настоящее время проводится очередная русификация игры. Однако, в отличие от предыдущих попыток, в этот раз проектом занимается не один человек, а принять участие в переводе может любой желающий. На данный момент переведён почти весь текст, но кое-где перевод оставляет желать лучшего. Алгоритм построения предложений по большей части остался от английской версии. Русификация проводится для '''Dwarf Fortress v. 0.31.25'''. Русская версия пока получается менее стабильной, чем оригинал, и нуждается в тестировании.
Они перевели только тайлсет и, возможно, содержимое файлов данных, текстовых. ЕХЕ-файл они, скорее всего, не правили. Потому что если изменять длину строк, нужно править отступы вызываемых функций, тех же строк, данных и ещё кучу всего, что в принципе практически нереально. Вставил один байт — и всё, ехе не запускается. <br><br>


Перевод ведётся [[Участник:Insolor/translation|здесь]].
Дело не только в выносе текста за рамки exe-файла, чего так некоторые ждут от разработчика, но также и в алгоритмах построения предложений. Подумал, и понял, что многое перевести правильно не удастся, в частности, описания существ, мыслей дворфов. В русском грамматика отличная от английского. His eyes are green — Его глаза зеленого цвета. Как пример. Для перевода нужен новый алгоритм построения предложений.
|Комментарий от Anruin на форуме}}


Обсуждение ведётся [http://forum.dfwk.ru/index.php/topic,204.0.html здесь.]
<noinclude>[[Категория:Страницы_без_интервики]]</noinclude>
[[Категория:Разработка игры]]

Версия от 07:27, 5 сентября 2022

Ссылки

Дисклеймер: информация ниже неактуальна (актуальна ~ на 2016 год), обновляться не будет

Актуальную информацию ищите по ссылкам выше.

Что было реализовано

  • Добавлена поддержка кириллицы
  • Создана программа-патчер, позволяющая заменять текст, вшитый в exe-файл, в том числе и на более длинный
  • Переведен и более-менее вычитан текст, зашитый в exe-файл
  • Переведен и вычитан текст из raw-файлов
  • Исправлен вывод русского текста на некоторых экранах (таких как "Мысли и предпочтения").
  • Добавлена возможность ввода русского текста и поиск предметов в "менеджере" (реализовано для некоторых предыдущих версий DF)
  • Автоматизирована замена только нужных частей raw-файлов вместо замены файлов целиком.
  • Ведется разработка русификации для Linux. Уже доступны тестовые сборки.

Что осталось реализовать

  • Добавить перевод в верхний регистр первых букв названий и имен на русском
  • Добавить поддержку русского языка в утилиты
    • Ведется работа по русификации утилиты Dwarf Therapist, добавлению поддержки русского языка утилитой Soundsence.
  • Поддержка Mac OS
  • Русская версия MASTERWORK Dwarf Fortress
    • Присутствует русской версии Masterwork DF. Запущена соответствующая тема на форуме (на данный момент проект не активен).


Скриншоты

Первые попытки русификации

При первых попытках добавить русский язык в интерфейс игры, переводчики каждый раз наталкивались на серьёзные проблемы.

Попытка русификации от LockIt
Ещё один пример русификации от LockIt
Пример русификации меню от mialax

Итак, что я сделал:
Во-первых, берёшь тайлсет, заменяешь латинские буквы на русские. ABCDEF.. на АБВГДЕ, или лучше на АБЦДЕФ.., чтоб легче было потом подстановки делать.
Во-вторых, в raw файлах переводишь параметр имени. Т.е. там написано, к примеру, "hammer", мы меняем это на "molot", в игре это отображается как "молот", т.к. из-за первого шага буквы:
m — это м
o — o
l — л
o — o
t — т
получается "молот".
Таким образом я перевел больше половины всех файлов, в частности материалы, камни, руду. Появилось одно "но". Остальная половина всего текста находится в exe'шнике. Текст оттуда модифицируется только HEX редактором и, насколько я понял, переведенный вариант слова должен содержать столько же букв, сколько изначальное английское. Т.е. "red" должен быть переведен так, чтобы содержать только три буквы.

Второе "но" — зачем? Тут есть те, кто не знают английский?) К слову, переводят обычно только финальные версии игры.

LockIt, участник вики-дварфии [1]


Я делал перевод с помощью своего тайлсета на основе символьной графики, так как стандартный не содержит кириллицы. Можно сделать и графический вариант, но это будет не просто. Вообще графические версии приводят к извращениям: буква "О" ужасно выглядит (потому что она используется для прорисовки стен), точка тоже не лучше. Приходится разрываться между красотой графики и текста. В русской версии эта дилемма будет острее, так как надо будет впихнуть недостающие символы. Анимации дварфов и других существ это всё не касается. В игре есть возможность (я ей никогда не пользуюсь) указывать менеджеру командовать проведением определённых работ. Например построить железные стулья. Таких работ очень много и чтобы не искать нужную в списке, можно написать текстом. Если предметы будут называться по-русски, то ничего не получится.

1) В общем это выглядит так:
Есть словарь для raw и для экзешника (1-я строка — переводимое выражение, 2-я — перевод).
В начале прога в этих словарях заменяет все русские буквы, на символы, коды которых соответствуют тайлу изображающему эту букву.
Далее программа проходит по всем raw файлам и заменяет найденые выражения на перевод. Также переводится и экзешник.
2) Перевести можно почти всё. Меню не проблема.
Мастерская ремесленника вызывает проблемы, так как слово формируется из разных источников.
Статус существ тоже не выходит. Будет получаться что-то вроде "Her волосы is бежевый". Где это описывается я так и не нашёл.
Писать по русски не получится (теоретически это можно устранить, но сложно), что усложнит выбор заданий через менеджера.
Наверняка ещё много чего встретится.
3)Во-первых необходимо составлять словари. Для файлов из папки raw это не сложно, хотя объёмы большие. Для экзешника это сложней. Нужно следить, чтобы не перевелось лишнее (с Table это очень актуально).

Основные проблемы:

  • Часто меняются версии, так перевод должен быть автоматизирован.
  • При переводе экзешника русские слова не должны содержать больше символов, чем английские.
  • Кое-что вообще вряд ли возможно перевести.

— комментарий от участника mialax на форуме


Они перевели только тайлсет и, возможно, содержимое файлов данных, текстовых. ЕХЕ-файл они, скорее всего, не правили. Потому что если изменять длину строк, нужно править отступы вызываемых функций, тех же строк, данных и ещё кучу всего, что в принципе практически нереально. Вставил один байт — и всё, ехе не запускается.

Дело не только в выносе текста за рамки exe-файла, чего так некоторые ждут от разработчика, но также и в алгоритмах построения предложений. Подумал, и понял, что многое перевести правильно не удастся, в частности, описания существ, мыслей дворфов. В русском грамматика отличная от английского. His eyes are green — Его глаза зеленого цвета. Как пример. Для перевода нужен новый алгоритм построения предложений.

— Комментарий от Anruin на форуме