Как делать перевод игры

Внутриигровая локализация сейчас делается так

  1. Найдите в коде игры нужный для перевода кусок
  2. Переведите его на русский
  3. Не забудьте учесть все потенциальные роды и склонения

Правила

Термины

Пожалуйста, строго следите за совпадением терминологии с вики. Если вы считаете что на вики термин назван неверно — обсудите этот вопрос с главным редактором вики и получите его одобрение на смену термина.

Буква «Ё»

В русском языке 33 буквы. Буква «ё» не строго обязательна, но она помогает чуть лучше ощутить смысл фраз. Не пропускайте её.

Типографика

Игровой текст — текст чата или СМС. Он не набран на скорую руку и ему нет оправдания в пренебрежении оформлением. Используйте принятые в русской типографике символы

Подробнее о типографике можно почитать в Ководстве. Если вы планируете много работать с текстом, рекомендуется установить себе третий слой клавиатурных знаков.

Символ Название Описание
Длинное тире Длинное тире — это не дефисоминус с клавиатуры. Оно ставится между словами и отделяется от них пробелами с обеих сторон.
«» Кавычки-ёлочки Основные русские кавычки
„“ Кавычки-запятые Второй уровень кавычек, если вам надо вложить кавычки в кавычки.
° Знак градуса Используется в температурных интерфейсах

Обращение к игроку

Половина информирующих строк чата выглядит как «Your arm hurts!». На английском тут нет проблем, но в сообществе пока что нет единого мнения как правильно переводить«you» в контексте обращения к игроку.

Вы
«У вас болит рука!»
Это более нейтрально-отстранённый стиль. С одной стороны, это может помочь игроку чувствовать себя ответственным сотрудником научной станции. С другой стороны, это эмоционально отделяет его от персонажа, делает персонажа более «кукольным».
Ты
«У тебя болит рука!»
Это более более эмоционально-причастный стиль. С одной стороны, это может помочь игроку эмоционально приблизиться к своему персонажу, делая персонажа живее для игрока. С другой стороны, это может уменьшать ощущение научной станции и уважительной атмосферы между сотрудниками.

Вопрос ещё обсуждается.

Инструменты локализации

Сейчас для локализации реализованы несколько процедур. Все они полагаются на встроенную в DreamMaker систему полов.

Полов в DreamMaker четыре

MALE
Мужской
FEMALE
Женский
NEUTER
Средний
PLURAL
Множественный
Да, хотя в русском языке пол и число — формально разные вещи, но на практике это просто ещё один пол.
Подумайте об этом, это действительно так.
К примеру, у Дион множественный пол, так как они являются сборным гештальтом из нимф.

Гендеризация — genderize_ru

Процедура genderize_ru

Принимает

Принимает текущий пол и четыре строки для разных полов.

Возвращает

Возвращает соответствующую полу строку из заданных.

Сигнатура

genderize_ru(пол, мужской, женский, средний, множественный)

Пример

Похоже, это [genderize_ru(user.gender,"он","она","оно","они")]!

Плюрализация — pluralize_ru

Та же гендеризация, но более короткая её версия, для случаев, когда нужно различать только единственное и множественное число.

Принимает

Принимает текущий пол и две строки — для единственного числа и для множественного.

Возвращает

Возвращает соответствующую полу строку из заданных.

Сигнатура

pluralize_ru(пол, одиночный, множественный)

Пример

[user] помеща[pluralize_ru(user.gender,"ет","ют")] свою голову между лезвиями

Склонение единиц измерения — declension_ru

Та же гендеризация, но для единиц измерения.

Принимает

Принимает число и три строки — для единственного, двойственного и множественного числа. Да, в русском языке не два, а три числа, вас обманывали в школе. Двойственное число используется для 2,3 или 4 предметов.

Возвращает

Возвращает соответствующую числу строку из заданных.

Сигнатура

declension_ru(число, одиночное, двойное, множественное)

Пример

Вася нашёл [num] [declension_ru(num,"яйцо","яйца","яиц")]

Склонение по падежам — declent_ru

Самая мякотка. Вершина нанотехнологий НаноТрейзен по локализации строк.

На самом деле ничего сложного. Метод declent_ru и свойство ru_names наследуется от atom и есть у любого материального предмета. Для правильного склонения названия предмета ему надо добавить список ru_names, где указать как его название склоняется по падежам.

Пример заполнения ru_names

ru_names = list(NOMINATIVE = "челюсти жизни", GENITIVE = "челюстей жизни", DATIVE = "челюстям жизни", ACCUSATIVE = "челюсти жизни", INSTRUMENTAL = "челюстями жизни", PREPOSITIONAL = "челюстях жизни")

Принимает

Принимает падеж.

Второй необязательный аргумент — собственный список склонения, если список ru_names предмета вас почему-то не устраивает.

Падежи
Именительный NOMINATIVE
Кто это? Клоун и ассистуха
Родительный GENITIVE
Откусить кусок от кого? От клоуна и ассистухи
Дательный DATIVE
Дать полный доступ кому? Клоуну и ассистухе
Винительный ACCUSATIVE
Обвинить кого? Клоуна и ассистуху
Творительный INSTRUMENTAL
Возить по полу кем? Клоуном и ассистухой
Предложный PREPOSITIONAL
Прохладная история о ком? О клоуне и об ассистухе

Возвращает

Возвращает соответствующую этому падежу строку из списка ru_names или, если список ru_names у предмета не задан, то просто его name, для обратной совместимости.

Сигнатура

declent_ru(пол, одиночный, множественный)

Пример

Текст до перевода

[user] is putting [user.p_their()] head in [src]. It looks like [user.p_theyre()] trying to commit suicide!

Корректно переведённый текст

[user] помеща[pluralize_ru(user.gender,"ет","ют")] свою голову между лезвиями [src.declent_ru(GENITIVE)]. Похоже, [genderize_ru(user.gender,"он","она","оно","они")] пыта[pluralize_ru(user.gender,"ется","ются")] использовать [src.declent_ru(ACCUSATIVE)] для самоубийства

Как внести свой вклад?
Общее Руководство по разработке
Сервер Настройка базы данных, Запуск локального сервера
Код Структура кода SS13, SS13 для опытных программистов, Форматирование текста, Как делать перевод игры
Маппинг Руководство по маппингу
Спрайтинг Руководство по спрайтингу
Вики Руководство по редактированию вики