Автор Тема: Русификация Dwarf Fortress  (Прочитано 627337 раз)

0 Пользователей и 5 Гостей просматривают эту тему.

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #60 : 10 Марта 2012, 15:59:15 »
insolor, а вообще есть хоть какая-нибудь возможность менять слова в тексте местами, если они относятся к разным строкам?
Это, например, к той же мастерской ремесленника относится.

Долго пытался вникнуть в смысл предложения :) Оказалось что имеется в виду менять местами слова) Если таких мест не много, то можно попробовать. В любом случае это придется делать вручную.

mialax, вариант интересный, только думаю нужно брать не онлайн переводчик, а внешний файл, тем более что он уже есть)

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #61 : 12 Марта 2012, 16:16:02 »
Есть такой фокус. Скачиваем исходники библиотеки SDL_ttf и добавляем свои код в функцию вывода текста. Можно сделать небольшой словарь замен. Вызывается функция с параметром  "Exit", а ты меняешь на "Выход".
Идея просто замечательная  :)
Мои мысли по этому поводу:
  • Не придется патчить всё и вся
  • Строки в библиотеку будут приходить уже в готовом виде, не будет проблем со всякими Craftsman's Workshop
  • Можно использовать уже имеющиеся наработки по переводу, не придется все начинать сначала
  • Это будет работать без изменений под любой версией DF, поддерживающей шрифт TTF
  • Можно даже не возиться с исходниками SDL_ttf, а сделать свою библиотеку-переходник между Dwarf Fortress и SDL_ttf
  • Решение потенциально кросс-платформенное, подобную библиотеку-переходник можно будет с минимальными усилиями переделать под Linux

Оффлайн mialax

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #62 : 12 Марта 2012, 20:27:25 »
Есть ещё один значительный плюс. Теоретически можно сделать переключение между языками по нажатию кнопки. Самое трудное тут заставить DF перерисовать картинку.

Самые большие трудности это перевод составных фраз. (В вашем первоначальном варианте это тоже проблема) "yak cheese" самое простое.  Не забивать же в словарик все возможные варианты. Надо уже разбирать входящую строку на части.

Оффлайн Arex

  • Старожил
  • ****
  • Сообщений: 407
  • Ленивый дварфовод
    • Просмотр профиля
    • На викидварфии
Re: Русификация Dwarf Fortress
« Ответ #63 : 12 Марта 2012, 22:18:00 »
Народ, а можно поподробнее, до чего вы тут дошли?  ::)
Желательно попроще, для тех, кто не в теме. Можно пару-другую ссылок.  ;)

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #64 : 12 Марта 2012, 23:56:46 »
Arex, ссылок не будет, это можно сказать ноу-хау :) На самом деле все просто: вывод текста в режиме TTF идет через библиотеку SDL_ttf.dll, которая лежит в папке с игрой. Библиотека получает на входе текст, а выдает условно говоря рисунок этого текста. Идея в том, чтобы вместо настоящей SDL_ttf.dll подсунуть свою библиотеку, которая будет получать на входе английский текст, переводить его, передавать в настоящую SDL_ttf.dll, и возвращать полученный из нее рисунок текста (но уже русского). Получается по типу синхронный перевод :)

mialax, не совсем понял как предполагается делать переключение языка.
Насчет составных фраз, я все-таки думаю пока что хранить их перевод целиком, или прикрутить какой-нибудь "склонятор", получится мини-переводчик словосочетаний. Для длинных предложений скорее всего придется хранить готовый перевод, т.к. машинный переводчик постоянно выдает что-то неадекватное.

Оффлайн iKlim

  • Старожил
  • ****
  • Сообщений: 391
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #65 : 13 Марта 2012, 10:06:00 »
То есть ты предлагаешь на лету переводить интерфейс машинным переводчиком?
Как мне кажется лучше готовый вариант подготовить, как сейчас и пусть оно его из файла берёт, чем читать всякую несуразицу.

Оффлайн Arex

  • Старожил
  • ****
  • Сообщений: 407
  • Ленивый дварфовод
    • Просмотр профиля
    • На викидварфии
Re: Русификация Dwarf Fortress
« Ответ #66 : 13 Марта 2012, 11:06:05 »
То есть ты предлагаешь на лету переводить интерфейс машинным переводчиком?
Как мне кажется лучше готовый вариант подготовить, как сейчас и пусть оно его из файла берёт, чем читать всякую несуразицу.
Насколько я понял, не совсем. "Словарь" составляем мы сами, получится почти то же самое, что и сейчас: соответствие слов и фраз их переводу, но с более тонкой возможностью настройки. Так что в целом перевод должен быть лучше, чем получается на данный момент.
С другой стороны, пока так до конца и не ясно, по каким критериям различать, например, повар/готовить (cook) и т.п.
Да и со склонением/спряжением  не всё так просто. Например, как "переводчик" сможет узнать пол существа, чтобы правильно просклонять глагол? Там, где he/she-his/her, всё понятно, а вот как быть с именами? Разве что как-то через DFHack искать пол существа с таким именем...  :-\

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #67 : 13 Марта 2012, 13:51:37 »
Да, именно так. Никакого стороннего машинного переводчика не будет, в большинстве случаев будет замена текста целиком по нашему словарю, в простых случаях (например словосочетаниях из двух слов), возможно, будет перевод по отдельным словам с согласованием форм. Конечно многие проблемы останутся, но часть имеющихся проблем решится.

Пока что я буду продолжать работу над патчем, т.к. он уже на 60% свою работу делает, а когда будет готова библиотека-переводчик, и будет ли она давать желаемый результат - не известно (пока). Добью патч - возьмусь за библиотеку.

Оффлайн mialax

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #68 : 13 Марта 2012, 20:32:49 »
Насчёт переключению языка. Я делал так: В библиотеки сканировал нажат ли NumLock и в зависимости от этого переводил или оставлял оригинал. Только вся загвоздка, что чаще всего обновляются не все строки, а только некоторые из них. Пробовал перехватить процесс DF и пошаманить с ним, но толку не вышло.

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #69 : 15 Марта 2012, 01:49:42 »
Отчет о работе, проделанной почти за месяц, в картинках :)
Эту версию патча пока не выкладываю, потому как пока что полно багов >:( Выложу или сегодня, или завтра.

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #70 : 16 Марта 2012, 18:05:15 »
На этой странице www.dfwk.ru/Участник:Insolor/translation внизу есть ссылка на патч. Нужно тестирование, отчеты (у кого работает, у кого нет, у кого выдает какую-нибудь ошибку, на какой винде и т.д.)

Оффлайн Arex

  • Старожил
  • ****
  • Сообщений: 407
  • Ленивый дварфовод
    • Просмотр профиля
    • На викидварфии
Re: Русификация Dwarf Fortress
« Ответ #71 : 16 Марта 2012, 18:23:23 »
А разве та версия не обновлялась несколько недель назад?
Просто ссылка давно не менялась...

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #72 : 16 Марта 2012, 18:32:41 »
Arex, это ссылка на т.н. "релиз", ее можно не менять, а менять только файлы, находящиеся по ней. Дату обновления я указываю с помощью подписи.

Оффлайн Arex

  • Старожил
  • ****
  • Сообщений: 407
  • Ленивый дварфовод
    • Просмотр профиля
    • На викидварфии
Re: Русификация Dwarf Fortress
« Ответ #73 : 16 Марта 2012, 18:36:55 »
Да уже заметил, что перевод гораздо лучше, чем с неделю назад.
Тогда попробую продолжить игру в режиме приключений, который впервые опробовал только несколько дней назад.
Кстати, по каким критериям отслеживать обновления? А то датой по ссылке, например, так и стоит 8 марта.
И ещё одно. Можно самостоятельно менять текст перевода в trans.txt и генерировать exe с исправлениями или из-за этого exe перестанет работать?

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1064
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: Русификация Dwarf Fortress
« Ответ #74 : 16 Марта 2012, 18:45:35 »
Я же говорю, после ссылки стоит подпись: --Insolor 22:55, 15 марта 2012 (MSK)
Это и есть дата последнего обновления) Кроме того, если в релизе нажать на сам файл (dfrus002.7z), то там можно посмотреть дату закачки файла, она отличается от даты создания "релиза" (dfrus).

P.S. я так понял, у тебя никаких проблем с патчем не возникло?

Ах да, trans.txt. Да, можно пробовать менять и смотреть что получится. Ничего страшного случиться не должно, максимум игра ошибку выдаст.
« Последнее редактирование: 16 Марта 2012, 18:57:45 от insolor »