-
Notifications
You must be signed in to change notification settings - Fork 116
Home
Welcome to the RimWorld-ru wiki!
Перечитывайте ваш перевод, чтобы не было "ему нравиться медецинский стот" и тому подобного.
Перед созданием пул-реквеста проверьте ваш перевод в игре на:
-
Корректное отображение на UI. Если пишется лейбл для кнопки, то он должен влезать в эту самую кнопку.
-
Контекст переведённых фраз. Из некоторых строк игрой составляются предложения. Ваша фраза может не подходить по контексту. Если вы нашли такой случай, напишите в коде комментарий о том, как это выглядит в игре.
-
Согласованность с остальным переводом. Не должно быть так, чтобы одна и та же вещь в нескольких местах была переведена по-разному. Если есть сомнения, лучше лишний раз спросите коллег-переводчиков в Телеграме.
Перевод состоит их текстов разного формата:
Этот формат представляет собой плоский неструктурированный набор XML-тегов с текстами и фразами. Используется для текстов пользовательского интерфейса и общих фраз.
В игре файлы этого формата находятся по путям:
-
Mods\Core\Languages\English\Keyed - оригинал
-
Mods\Core\Languages\Russian\Keyed - перевод
В файлах этого формата теги представляют собой путь, по которому происходит подстановка строк в ресурсах игры (Defs), имеют более сложную, вложенную, структуру.
Допустим, в файле Mods\Core\Defs\Tutor\Concepts_NotedSelfshow.xml ресурсов игры находится объект
<ConceptDef>
<defName>Stockpiles</defName>
<label>Stockpiles</label>
<priority>40</priority>
<helpText>Your colonists need somewhere to store items. Designate a STOCKPILE for them to store things.\n\nFind the stockpile in the ZONES section of the ARCHITECT menu in the lower-left.</helpText>
<highlightTags>
<li>MainTab-Architect-Closed</li>
<li>DesignationCategoryButton-Zone-Closed</li>
<li>Designator-ZoneAddStockpile_Resources</li>
</highlightTags>
</ConceptDef>
<ConceptDef>
- указывает на путь, по которому игра будет искать строки для текущей локализации, то есть, в папке Mods\Core\Languages\Russian\DefInjected\ConceptDef. Имя файла не имеет значения для игры.
<defName>Stockpiles</defName>
- указывает на имя объекта, в данном случае: Stockpiles.
<label>Stockpiles</label>
, <priority>40</priority>
- имена и значения полей объекта Stockpiles.
В файле перевода ConceptDef\Concepts_NotedSelfshow.xml вы видите строки:
<Stockpiles.label>Склады</Stockpiles.label>
<Stockpiles.helpText>Вашим поселенцам нужно где-то хранить вещи. Обозначьте для них склад.\n\nЧтобы разместить склад, зайдите во вкладку «Области» в меню «Проектирование» в левом нижнем углу экрана.</Stockpiles.helpText>
Здесь строка <Stockpiles.label>Склады</Stockpiles.label>
значит, что значение поля label объекта Stockpiles будет заменено на Склады
.
В свою очередь, строка <Stockpiles.helpText>Вашим поселенцам нужно где-то хранить вещи. Обозначьте для них склад.\n\nЧтобы разместить склад, зайдите во вкладку «Области» в меню «Проектирование» в левом нижнем углу экрана.</Stockpiles.helpText>
отвечает за замену значения поля helpText того же объекта.
Эти подставленные значения будут видны в игре.
Если в переводе какая-либо из ожидаемых подстановок отсутствует, то игра при старте в режиме разработчика выдаст соответствующее предупреждение в логе.
В ресурсах игры все объекты описаны по пути _Mods\Core\Defs_. Они разбиты по подпапкам.
В переводе файлы формата DefInjected находятся по пути _Mods\Core\Languages\Russian\DefInjected_, тоже распределены по папкам.
Имена папок нельзя менять, иначе то, что там находилось, игрой не подтянется. Внутри папки можно мешать файлы и объекты как угодно. Но желательно руководствоваться соответствовать переводам на другие языки, например, на немецкий. Это делается для удобства поиска.
Инструкции по форматированию инъекций.