Страница 1 из 1

Где взять патч русификации?

СообщениеДобавлено: Пн окт 30, 2006 07:35
biomike
Здравствуйте!

Где можно взять последнюю версию патча русификации? По слову русификация поиск находит несколько тем, но не понятно насколько там свежие и официальные версии патча.

СообщениеДобавлено: Пн окт 30, 2006 10:32
Oleg
Странный вопрос. Русификация уже входит в сборки OpenTTD, представленные на этом форуме.

СообщениеДобавлено: Пн окт 30, 2006 12:05
biomike
Я сам собираю OpenTTD из исходников, и хотелось бы добавить поддержку русского языка. Исходники беру из subversion с официального сайта. С подключением russian.grf я могу писать кириллицей, но хочется меню по русски и всё остальное.

СообщениеДобавлено: Пн окт 30, 2006 14:46
biomike
Взял russian.txt вот здесь http://forums.ttdrussia.net/viewtopic.php?t=1019 , и после перекомпилирования появилась поддержка русского языка. Только русских названий городов ещё нет.

Вопрос собственно заключается в том, где брать свежие версии патча русификации и русский перевод? Они выкладываются на этом форуме (или где нибудь ещё)?

СообщениеДобавлено: Вт окт 31, 2006 02:12
biomike
Пожалуй я сам и отвечу на свой вопрос.

Чтобы русифицировать английскую версию исходников нужно скачать с этого сайта исходники русской сборки, скопировать оттуда файлы
Код: Выделить всё
data/russian.grf
lang/russian.txt
table/namegen_rus.h

и внести изменения в файлы openttd.h, namegen.c, english.txt. Патч для ревизии 7007:
Код: Выделить всё
Index: lang/english.txt
===================================================================
--- lang/english.txt    (revision 7007)
+++ lang/english.txt    (working copy)
@@ -874,6 +874,7 @@

############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH                                   :English (Original)
+STR_TOWNNAME_RUSSIAN                                            :Russian
STR_TOWNNAME_FRENCH                                             :French
STR_TOWNNAME_GERMAN                                             :German
STR_TOWNNAME_ADDITIONAL_ENGLISH                                 :English (Additional)
Index: openttd.h
===================================================================
--- openttd.h   (revision 7007)
+++ openttd.h   (working copy)
@@ -483,6 +483,7 @@
        // special strings for town names. the town name is generated dynamically on request.
        SPECSTR_TOWNNAME_START     = 0x20C0,
        SPECSTR_TOWNNAME_ENGLISH   = SPECSTR_TOWNNAME_START,
+       SPECSTR_TOWNNAME_RUSSIAN,
        SPECSTR_TOWNNAME_FRENCH,
        SPECSTR_TOWNNAME_GERMAN,
        SPECSTR_TOWNNAME_AMERICAN,
Index: namegen.c
===================================================================
--- namegen.c   (revision 7007)
+++ namegen.c   (working copy)
@@ -6,6 +6,7 @@
#include "macros.h"
#include "namegen.h"
#include "table/namegen.h"
+#include "table/namegen_rus.h"
#include "string.h"

static inline uint32 SeedChance(int shift_by, int max, uint32 seed)
@@ -728,11 +729,16 @@
        return 0;
}

+static byte MakeRussianTownName(char *buf, uint32 seed)
+{
+       strcpy(buf, name_russian_real[SeedChance(0, lengthof(name_russian_real), seed)]);
+       return 0;
+}

-
TownNameGenerator * const _town_name_generators[] =
{
        MakeEnglishOriginalTownName,
+       MakeRussianTownName,
        MakeFrenchTownName,
        MakeGermanTownName,
        MakeEnglishAdditionalTownName,

Ну и не забыть добавить в openttd.cfg следующие строки:
Код: Выделить всё
[newgrf]
russian.grf

СообщениеДобавлено: Вт окт 31, 2006 09:11
Smoky555
Умница :)
тока не забудь еще перелопатить файл russian.txt, что отловить все баги, появившиеся из-за того, что поменялся формат некоторых фраз в оригинальном, англ. языковом файле :)

СообщениеДобавлено: Ср ноя 08, 2006 00:28
Quark
кстати, в патче забыли прописать russian для хранения настройки в конфиге и там вместо него оказывается french — а что будет, если выбрать последний язык и сохранить?

СообщениеДобавлено: Ср июл 04, 2007 07:12
hhr
biomike писал(а):Чтобы русифицировать английскую версию исходников нужно скачать с этого сайта исходники русской сборки, скопировать оттуда файлы
Код: Выделить всё
data/russian.grf
lang/russian.txt
table/namegen_rus.h

и внести изменения в файлы openttd.h, namegen.c, english.txt. Патч для ревизии 7007:

а как можно эти файлы отдельно получить? обновляюсь тоже с svn, но там такого нет (кстати, почему?) да и выкачивать по 4 метра при выходе новой сборки ради трех файлов как-то не это... не того... ;)