Skip to content
Andrey Lemin edited this page Oct 20, 2016 · 25 revisions

Welcome to the RimWorld-ru wiki!

Основные правила:

Перечитывайте, что вы пишете.

Перечитывайте ваш перевод, чтобы не было "ему нравиться медецинский стот" и тому подобного.

Проверяйте перевод в игре

Перед созданием пул-реквеста проверьте ваш перевод в игре на:

  1. Корректное отображение на UI. Если пишется лейбл для кнопки, то он должен влезать в эту самую кнопку.

  2. Контекст переведённых фраз. Из некоторых строк игрой составляются предложения. Ваша фраза может не подходить по контексту. Если вы нашли такой случай, напишите в коде комментарий о том, как это выглядит в игре.

  3. Согласованность с остальным переводом. Не должно быть так, чтобы одна и та же вещь в нескольких местах была переведена по-разному. Если есть сомнения, лучше лишний раз спросите коллег-переводчиков в Телеграме.

Технические моменты

Перевод состоит их текстов разного формата:

Keyed

Этот формат представляет собой плоский неструктурированный набор XML-тегов с текстами и фразами. Используется для текстов пользовательского интерфейса и общих фраз.

В игре файлы этого формата находятся по путям:

  • Mods\Core\Languages\English\Keyed - оригинал

  • Mods\Core\Languages\Russian\Keyed - перевод

DefInjected

В файлах этого формата теги представляют собой путь, по которому происходит подстановка строк в ресурсах игры (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_, тоже распределены по папкам.

Имена папок нельзя менять, иначе то, что там находилось, игрой не подтянется. Внутри папки можно мешать файлы и объекты как угодно. Но желательно руководствоваться соответствовать переводам на другие языки, например, на немецкий. Это делается для удобства поиска.

Инструкции по форматированию инъекций.