Как делать перевод игры: различия между версиями

imported>Ohar
(Новая страница: «Внутриигровая локализация сейчас делается так # Найдите в коде игры нужный для перевода кусок # Переводите его на русский # Не забудьте учесть все потенциальные роды и склонения ==Инструменты локализации== Сейчас для локализации реализованы несколько...»)
 
(Чуток актуализировал страничку)
 
(не показаны 24 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{toc_right}}
Внутриигровая локализация сейчас делается так
Внутриигровая локализация сейчас делается так


# Найдите в коде игры нужный для перевода кусок
# Создать новую ветку в своём <code>fork</code> репозитории от ветки <code>upstream/translate</code> (как его сделать можно узнать по этой [[Руководство_по_разработке#Форк_кода_Парадайза|ссылке]])
# Переводите его на русский
# Найдите в коде игры нужный для перевода фрагмент. [[#Как_в_VS_Code_найти_нужный_фрагмент_кода_для_перевода|Как её найти?]]
# Не забудьте учесть все потенциальные роды и склонения
# Переведите его на русский
# [[Руководство_по_разработке#Настройка_и_использование_Github_Desktop|Отправьте ваши переводы на ознакомление]].
# Исправьте ошибки, на которые указывают другие участники, если они есть
# Наслаждайтесь внесенным вкладом!
Не забудьте ознакомиться с [[Руководство_по_разработке#Настройка_и_использование_Github_Desktop|руководством по разработке]]. Если вы будете пошагово следовать всему что там написано, у вас не должно возникнуть проблем.


==Инструменты локализации==
Если у вас возникли проблемы и вопросы, вы всегда можете обратиться в [https://discord.com/channels/1097181193939730453/1214475261547118612 Discord нашего сервера] к нашим разработчикам. Они помогут разобраться в GitHub и составить ваш первый PR.
Сейчас для локализации реализованы несколько процедур. Все они полагаются на встроенную в DreamMaker систему полов.
 
==Правила==
===Термины===
Пожалуйста, строго следите за совпадением терминологии с вики. Если вы считаете что на вики термин назван неверно — обсудите этот вопрос с главным редактором вики и получите его одобрение на смену термина.
 
===Буква «Ё»===
В русском языке 33 буквы. Буква «ё» не строго обязательна, но она помогает чуть лучше ощутить смысл фраз. Не пропускайте её.
 
===Названия предметов===
Названия предметов (их <code>name</code>) не нужно переводить.
 
===Типографика===
Игровой текст — не текст чата или СМС. Он не набран на скорую руку и ему нет оправдания в пренебрежении оформлением. Используйте принятые в русской типографике символы.
 
Подробнее о типографике можно почитать в [https://www.artlebedev.ru/kovodstvo/sections/97/ Ководстве]. Если вы планируете много работать с текстом, рекомендуется установить себе [https://ilyabirman.ru/typography-layout/ третий слой клавиатурных знаков].
 
{| class="wikitable"
!Символ
!Название
!Описание
|-
|<code>—</code>
|Длинное тире
|Длинное тире — это не дефисоминус с клавиатуры. Оно ставится между словами и отделяется от них пробелами с обеих сторон.
|-
|<code>«»</code>
|Кавычки-ёлочки
|Основные русские кавычки
|-
|<code>„“</code>
|Кавычки-запятые
|Второй уровень кавычек, если вам надо вложить кавычки в кавычки.
|-
|<code>°</code>
|Знак градуса
|Используется в температурных интерфейсах
|-
|}


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


;<code>MALE</code>
;Вы
: Мужской
:''«У вас болит рука!»''<br>Это более нейтрально-отстранённый стиль. С одной стороны, это может помочь игроку чувствовать себя ответственным сотрудником научной станции. С другой стороны, это эмоционально отделяет его от персонажа, делает персонажа более «кукольным».
;<code>FEMALE</code>
;Ты
: Женский
:''«У тебя болит рука!»''<br>Это более более эмоционально-причастный стиль. С одной стороны, это может помочь игроку эмоционально приблизиться к своему персонажу, делая персонажа живее для игрока. С другой стороны, это может уменьшать ощущение научной станции и уважительной атмосферы между сотрудниками.  
;<code>NEUTER</code>
: Средний
;<code>PLURAL</code>
: Множественный. Да, хотя в русском языке пол и число — формально разные вещи, но на практике это просто ещё один пол. Подумайте об этом, это действительно так.


===Гендеризация — <code>genderize_ru</code>===
Все личные переводы желательно вести от 2-го лица: ''Вы, Вас, Ваш(е(го)/и(х)).''
Процедура <code>genderize_ru</code>
====Принимает====
Принимает текущий пол и четыре строки для разных полов.
====Возвращает====
Возвращает соответствующую полу строку из заданных.
====Сигнатура====
<code>genderize_ru(пол, мужской, женский, средний, множественный)</code>
====Пример====
<code>Похоже, это [genderize_ru(user.gender,"он","она","оно","они")]!</code>


===Плюрализация — <code>pluralize_ru</code>===
==Инструменты локализации==
Та же [[#гендеризация|гендеризация]], но более короткая её версия, для случаев, когда нужно различать только единственное и множественное число.
====Принимает====
Принимает текущий пол и две строки — для единственного числа и для множественного.
====Возвращает====
Возвращает соответствующую полу строку из заданных.
====Сигнатура====
<code>pluralize_ru(пол, одиночный, множественный)</code>
====Пример====
<code>[user] помеща[pluralize_ru(user.gender,"ет","ют")] свою голову между лезвиями</code>


===Склонение единиц измерения — <code>declension_ru</code>===
== Как в VS Code найти нужный фрагмент кода для перевода? ==
Та же [[#гендеризация|гендеризация]], но для единиц измерения.
[[Файл:Search code fragment.png|мини|600x600пкс|Поиск нужной части кода в VS Code]]
====Принимает====
Открываете редактор [https://wiki.ss220.space/index.php/Руководство&#x20;по&#x20;разработке#Устанавливаем&#x20;и&#x20;настраиваем&#x20;Visual&#x20;Studio&#x20;Code VS Code] и проект, после чего следуете простым вещам для поиска необходимого вам фрагмента:
Принимает число и три строки — для единственного, двойственного и множественного числа. Да, в русском языке не два, а три числа, вас обманывали в школе. Двойственное число используется для 2,3 или 4 предметов.
====Возвращает====
Возвращает соответствующую числу строку из заданных.
====Сигнатура====
<code>declension_ru(число, одиночное, двойное, множественное)</code>
====Пример====
<code>Вася нашёл [num] [declension_ru(num,"яйцо","яйца","яиц")]</code>


===Склонение по падежам — <code>declent_ru</code>===
# Нажимаете на "лупу" для открытия окна поиска.
# Пишете интересующую вас строку
# Ищете среди результатов то что вам нужно и нажимаете на строку
# Переходите к строке в коде и изменяете её.


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


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


=====Пример заполнения <code>ru_names</code>=====
Вы можете как самостоятельно искать необходимые вам строки, так и напрямую вставлять элементы из самой игры. Всё что вы встречали в игре - всегда есть в коде.
<code>ru_names = list(NOMINATIVE = "челюсти жизни", GENITIVE = "челюстей жизни", DATIVE = "челюстям жизни", ACCUSATIVE = "челюсти жизни", INSTRUMENTAL = "челюстями жизни", PREPOSITIONAL = "челюстях жизни")</code>


====Принимает====
Если вы что-то не нашли, но в игре оно есть, то попробуйте перефразировать и использовать не целые словосочетания. Возможно нужное вам "слово" является составным из нескольких слов.
Принимает [[#Падежи|падеж]].


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


=====Падежи=====
'''Будьте аккуратны.'''


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


====Возвращает====
{{Contribution Guides}}
Возвращает соответствующую этому падежу строку из списка <code>ru_names</code> или, если список <code>ru_names</code> у предмета не задан, то просто его <code>name</code>, для обратной совместимости.


====Сигнатура====
[[Категория:Руководства]]
<code>declent_ru(пол, одиночный, множественный)</code>
====Пример====
=====Текст до перевода=====
<code>[user] is putting [user.p_their()] head in [src]. It looks like [user.p_theyre()] trying to commit suicide!</code>
=====Корректно переведённый текст=====
<code>[user] помеща[pluralize_ru(user.gender,"ет","ют")] свою голову между лезвиями [src.declent_ru(GENITIVE)]. Похоже, [genderize_ru(user.gender,"он","она","оно","они")] пыта[pluralize_ru(user.gender,"ется","ются")] использовать [src.declent_ru(ACCUSATIVE)] для самоубийства</code>

Текущая версия от 02:34, 2 июня 2024

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

  1. Создать новую ветку в своём fork репозитории от ветки upstream/translate (как его сделать можно узнать по этой ссылке)
  2. Найдите в коде игры нужный для перевода фрагмент. Как её найти?
  3. Переведите его на русский
  4. Отправьте ваши переводы на ознакомление.
  5. Исправьте ошибки, на которые указывают другие участники, если они есть
  6. Наслаждайтесь внесенным вкладом!

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

Если у вас возникли проблемы и вопросы, вы всегда можете обратиться в Discord нашего сервера к нашим разработчикам. Они помогут разобраться в GitHub и составить ваш первый PR.

Правила

Термины

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

Буква «Ё»

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

Названия предметов

Названия предметов (их name) не нужно переводить.

Типографика

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

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

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

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

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

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

Все личные переводы желательно вести от 2-го лица: Вы, Вас, Ваш(е(го)/и(х)).

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

Как в VS Code найти нужный фрагмент кода для перевода?

Поиск нужной части кода в VS Code

Открываете редактор VS Code и проект, после чего следуете простым вещам для поиска необходимого вам фрагмента:

  1. Нажимаете на "лупу" для открытия окна поиска.
  2. Пишете интересующую вас строку
  3. Ищете среди результатов то что вам нужно и нажимаете на строку
  4. Переходите к строке в коде и изменяете её.


Данным методом вы можете найти любую интересующую вас строку.

Вы можете как самостоятельно искать необходимые вам строки, так и напрямую вставлять элементы из самой игры. Всё что вы встречали в игре - всегда есть в коде.

Если вы что-то не нашли, но в игре оно есть, то попробуйте перефразировать и использовать не целые словосочетания. Возможно нужное вам "слово" является составным из нескольких слов.


Будьте аккуратны.

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

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