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

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

  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)] для самоубийства