PDA

Просмотр полной версии : CivIV и локализация



GooRoo
11.11.2005, 17:05
Сразу скажу, что речь пойдёт не о русификации, а о локализации вообще.

Цива у меня mds+mdf без всяких там пиратских переводов. Помимо англ срзу же есть франц, герм и тд.

Я попробовал поиграть на другом языке (французском, но это не суть) и покопаться в xml-ках. Результаты:

1. Цива игнорит аттрибут encoding в xml-ках. Всегда считается, что "latin-1".

2. Выбранный язык, это всего лишь индекс (0, 1, 2...), а имена тегов в локализационных xml-ках не играют роли. Поясню на примере. Пусть у меня выбран язык 1 (это французский). Лезем в xml, и видим там что-то вроде этого:
<English>Текст на англиском</English>
<French>Текст на французском</French>
<German>Текст на немецком</German>
Меняем на:
<English>Текст на англиском</English>
<German>Текст на немецком</German>
<French>Текст на французском</French>
Как вы думаете, что мы получим играя на французком (напомню, индекс 1)? Не правильно, мы получим "Текст на немецком". Уволил бы программеров :censored: .

3. Цива у меня работает стабильно, без багов и зависаний (только мувники тормозят). Теперь внимание, играю на английском, сохраняюсь, перехожу на французский, загружаюсь. Много лет я не видел винду в 16 цветах и разрешении что-то вроде 640x480. Стабильно, либо так, либо слетает мгновенно и ресетится. Кривые ручки, :censored: .

4. Великие люди, вообще песня. В файле CIV4GameTextInfos_GreatPeople.xml есть имена великих людей на всех необходимых языках в виде примерно
<Tag>TXT_KEY_GREAT_PERSON_VASYA_PUPKIN</Tag>
<English>Vasya Pupkin</English>
<French>
<Text>Vasya Pupkin French</Text>
<Gender>Male</Gender>
<Plural>0</Plural>
</French>
итд.
В файле CIV4UnitInfos.xml есть описания всех юнитов. У некоторых есть уникальные имена (у тех же великих) в виде
<UniqueNames>
<UniqueName>Vasya Pupkin</UniqueName>
...
</UniqueNames>
Так вот уникальные имена написаны по-английски. И файл CIV4GameTextInfos_GreatPeople.xml игнорится :censored: . Ну почему, играя на французском я должен получать ******овские имена :censored: ?

5. Почему-то при игре не на английском у меня пропадают контролы с нижней части экрана (инфа, кнопки, миникарта).

6. Каким боком цива выбирает кодовую страницу? Откуда при игре на французском у меня русские буквы вместо всяких умлаутов. Я конечно понимаю, что эта мегаумная игра спросила у винды (или так оно по-дефолту) и та ей честно даёт юзать win-1251. Но я хочу играть на французском!

7. Объясните мне, ну почему выбор не английского языка увеличивает в разы время загрузки?!

Короче говоря, стандартная уже имеющаяся локализация сделана так :censored: , что я тех, кто это всё дело реализовывал выгнал бы уже на собеседовании.
И это только локализация, про другие баги вы уже слышали ;)

Итог: Поздравляю всех фанатов, мы с вами записаны в бетта-тестеры.

akasoft
12.11.2005, 19:02
GooRoo, это уже традицией стало выпускать недоделанные продукты, и потом доделывать их в течении разного времени.

1. Более того, их латин_1 ещё и кодируется в юникод, поэтом русские буквы начиная с А "уплывают" в неверный диапазон. Почему бы не выбрать юникодную кодировку сразу, или хотя бы любимую Майкрософтом UTF-8? :)))

2. Я так и знал! Добавлю, что в их CyTranslator() похоже жёстко зашиты 5 языков, и ни больше.

N. В Цивилопедии, например, про ресурсы есть нелокализованная надпись History, которая так в CvPediaBonus.py и задаётся, даже без u"" - признака юникодности в Питоне.

6. Спорим, что никаким? Эх, ещё раз напомню про UTF-8 и юникодные шрифты.

M. Эти их тгашные шрифты - песня редкая. Зачем их было смешивать с пиктограммами. :) Нет, я понимаю, что м.б. движок битмапы быстрее рисует, нежели TTF, но можно же было динамически создать эту битмапу, нарисовав нужным TTF буковы, выбрав его размер и пр.

7. Подозреваю, что из-за файла CIV4GameTextInfos_Objects.xml , там есть выбор пола и пр., для английского варианта всё бесполое.

Я всё думал, что наконец Цив станет юникодным приложением. Ага, щасблин. Всё осталось, как было, только из-за кривости их читателя XML ни маппинг не работает, ни encoding...

Mahler
12.11.2005, 19:57
на французком не пробовал. английский и немецкий нормально идут, под немецкой операционкой.

GooRoo
12.11.2005, 20:28
akasoft Ну не на столько же сырым выпускать. Тем более некоторые вещи - не недоделка или ошибка, а принципиально неверное решение.

1. Ага, видал я это :applau2:

2. Не думаю.

6. Другими словами, как в Винде проставлено конвертить, так оно автоматом и делается =)

M. Вспоминаются далёкие 80-е -начало 90-х с такими шрифтами. Твоё решение, действительно, адекватное.

7. Хм. Из-за этого на столько тормозить? :censored:

akasoft
12.11.2005, 21:05
GooRoo , и тем не менее с добавлением ещё одной секции-языка вышел облом. Стоит выбрать язык номер 5, как все (!) надписи становятся равными пустой строке. Попробуй вернуть язык не прибегая к выходу из игры и правке INI-файла. :)

GooRoo
12.11.2005, 21:36
akasoft 5 начиная с 0, т.е. шестой по счёту язык? А теги лишние добавлены?

akasoft
15.11.2005, 20:22
GooRoo, конечно добавил, причём махом во все файлы. Английскую и добавил, обозвал русской, завёл всё что надо, в Опциях выбирается, и всё. Финишъ.