PDA

Просмотр полной версии : [GUIDE] Падежи, или как правильно русифицировать моды и сценарии



swan
18.06.2011, 08:01
Начиная с патча 1.0.1.217 в игру была введена система согласования родов и падежей русского языка, что позволило значительно улучшить качество локализации, но следствием чего стали появляться различные нестыковки в модах с локализацией, выражающиеся в появлении текстов, вроде "В городе Мемфис был построен водяная мельница", "Наш мотопехота был обстрелян вражескими лучниками" и т.п., где выделенные тёмно-синим слова - это названия объектов, добавляемых модом (просто я не стал заморачиваться с придумыванием названий и вписал уже существующие в основной игре объекты, хотя там могут быть любые другие названия).
Ниже я расскажу, как сделать так, чтобы подобных казусов в выводимых игрой текстах не возникало при использовании русифицированного мода.

Думаю, ни для кого не секрет, что вся игра состоит из взаимодействия различных вещественных и невещественных объектов - юнитов, зданий, типов территории, наук, политик и т.п. Многие мододелы и переводчики модов, возможно уже успели подглядеть в оригинальных текстовиках конструкции подобные следующей:


<Row Tag="TXT_KEY_BUILDING_TEMPLE_DESC">
<Text>Храм|храма|храму|храм|храмом|храме</Text>
<Gender>masculine</Gender>
<Plurality>1</Plurality>
</Row>

Это образец типичной конструкции падежей для различных игровых объектов

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

В теге Gender указывается род объекта - если объект мужского рода (храм, стрелок, оазис) - ставится значение masculine, если объект женского рода (библиотека, колесница, пустыня) - ставится значение feminine, при среднем роде - neuter

В теге Plurality указывается число - если имя объекта в единственном числе - ставится значение 1, если во множественном - ставится 2
Если вы хотите сохранить оригинальную стилистику локализации - вы можете для всех юнитов (кроме великих людей и единичных объектов, как корабли) вписывать падежи во множественном числе, например, разведчики, поселенцы, лучники, танки

В проставлении падежей по различным причинам не нуждаются следующие типы объектов - названия городов (кроме городов-государств), названия больших цивилизаций, имена лидеров, имена великих людей, названия прокачек и названия политик
Для юнитов, типов юнитов, классов юнитов, зданий, чудес, проектов, улучшений клеток, типов территорий, типов особенностей территорий, наук и названий городов-государств нужно проставлять падежи


PS Данная статья имеет рекомендательный характер и не является обязательной к исполнению, но пользователи будут оценивать ваше творение и по этому параметру

oooo4
23.06.2011, 13:55
а как потом игра определит какой падеж взять из списка?

swan
23.06.2011, 14:56
а как потом игра определит какой падеж взять из списка?
Это уже не ваша головная боль - есть люди, которые за это получают денюжку и это уже их головная боль... ;) В 95% случаев падежи работают корректно и с каждым патчем процент только увеличивается

oooo4
23.06.2011, 16:31
а, ну так даже лучше. меньше мороки - больше толку )

swan
23.06.2011, 17:51
Если вы добавляете в мод объект (юнит, науку, здание и т.п.) - то со всеми стандартными действиями падежи будут взаимодействовать корректно.
А если вы добавляете в игру действие (например решили намодить телепортацию юнитов) - то там уже стандартные правила будут действовать только на именительный падеж, а чтобы читались какие-то другие падежи, если в описании данного действия они должны будут работать - вам придется немного заморочиться - но это уже я постараюсь описать позже, когда выйдет полноценный Lua API и/или исходники DLLки

MizhGun
23.06.2011, 20:02
Это для пятёрки гайд? Или и для четвёрки те же правила?

swan
23.06.2011, 20:28
Для четверки правила можно посмотреть в прикрепленном файле - в архиве HTMLка с таблицей и описанием падежей - совместимо только с русиком от наш-фанатиков, поскольку 1С для четверки не заморачивались созданием подстановки падежей

MizhGun
24.06.2011, 14:52
Отлично, спасибо!!!

swan
24.06.2011, 15:35
Отлично, спасибо!!!
На модиках (http://modiki.civfanatics.ru) это давно висело - только сперва третья версия падежей (для варлордов), а потом пятая (для BtS) - но сейчас, почему-то опять третья версия висит - сперва хотел дать линку на модики, но сам глянул и ужаснулся, насколько всё запущено... Если будет время - постараюсь повторно обновить там страницу до пятой версии, как в этом архиве

Montano
21.02.2012, 10:52
А не могли бы вы помочь с переводом мода...
Вот я тут накидал перевод а в игре всёравно по английски гдето есть ошибки

sportcas
13.03.2012, 16:18
А существуют ли программы...переводящие на другой язык другие программы? Русификатор не катить...

zombie_113
14.03.2012, 10:22
А существуют ли программы...переводящие на другой язык другие программы? Русификатор не катить...

Нет не существует. Тем более если не катит русификатор =)

kindofbear
27.10.2015, 03:26
делаю как и в оригинальных текстах

<Row Tag="TXT_KEY_SAILING_DEATH">
<Text>{*1: plural 1?{*1: gender masculine?Ваш; feminine?Ваша; neuter?Ваше;}; 2?Ваши; other?Ваш;} {*1_UnitName: lower} {*1: plural 1?{*1: gender masculine?погиб; feminine?погибла; neuter?погибло;}; 2?погибли; other?погибло;} в пучинах океана.</Text>
</Row>

И если происходит это с воинами, то говорит такое: "Ваш воины погиб в пучинах океана." Не смотря на то, что у воинов masculine и plural 2

Пробовал через луа вызывать вот такой текст, которые из длл генерируется прекрасно
<Row Tag="TXT_KEY_MISC_YOU_UNIT_WITHDRAW">
<Text>{*1: plural 1?{*1: gender masculine?Ваш; feminine?Ваша; neuter?Ваше;}; 2?Ваши; other?Ваше подразделение ;} {*1_UnitName} (урон: {2_Num}) {*1: plural 1?{*1: gender masculine?атаковал; feminine?атаковала; neuter?атаковало;}; 2?атаковали; other?атаковал;}{*3: plural 1?{*3: gender masculine? ; feminine? ; neuter? ;}; 2? ; other? подразделение ;}{*3_EnUName[4]} (урон: {4_Num})!</Text>
</Row>
а из луа и мода опять та же хрень. что я делаю не так?

вместо * в коде значки "собака", парсеру форума они почему-то не понравились

WarBeast2010
11.10.2016, 11:10
Тоже столкнулся с проблемой падежей в ключе: (TXT_KEY_DIPLO_DISCUSS_DENOUNCE) Публично осудить {*1_LeaderName[4]}, где {*1_LeaderName[4]} берется из ключа: TXT_KEY_LEADER_NAPOLEON
<Text>Наполеон|Наполеона|Наполеону|Наполеона|Наполеоном|Наполеоне</Text>
<Gender>masculine</Gender>
<Plurality>1</Plurality>
но игра отображает как Публично осудить Наполеон. Что мешает ключу выбрать не именительный падеж а винительный?