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

(Чуток актуализировал страничку)
(Обновление перевода)
(не показано 13 промежуточных версий 2 участников)
Строка 2: Строка 2:
Внутриигровая локализация сейчас делается так
Внутриигровая локализация сейчас делается так


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


==Инструменты локализации==
==Инструменты локализации==
=== <big>Падежи</big> ===
==== <big>Объект</big> ====
У каждого объекта должны быть падежи для дальнейшего корректного использования в переводе.
{| class="wikitable"
|'''<big>Падежи</big>'''
|Описание
|-
|'''NOMINATIVE'''
|'''Именительный:''' Кто это? Клоун и ассистуха.
|-
|'''GENITIVE'''
|'''Родительный:''' Откусить кусок от кого? От клоуна и ассистухи.
|-
|'''DATIVE'''
|'''Дательный:''' Дать полный доступ кому? Клоуну и ассистухе.
|-
|'''ACCUSATIVE'''
|'''Винительный:''' Обвинить кого? Клоуна и ассистуху.
|-
|'''INSTRUMENTAL'''
|'''Творительный:''' Возить по полу кем? Клоуном и ассистухой.
|-
|'''PREPOSITIONAL'''
|'''Предложный:''' Прохладная история о ком? О клоуне и об ассистухе.
|}
Все переводы хранятся в модуле '''translate''', в папке /code/data, файл '''ru_names.toml'''. Пример пути на BANDASTATION: '''modular_bandastation\translations\code\data\ru_names.toml'''
===== Пример: =====
В данном примере перевод объекта добавлен в '''ru_names.toml''', в котором определены все падежи.
<code>["jaws of life"]</code>
<code>nominative = "челюсти жизни"</code>
<code>genitive = "челюстей жизни"</code>
<code>dative = "челюстям жизни"</code>
<code>accusative = "челюсти жизни"</code>
<code>instrumental = "челюстями жизни"</code>
<code>prepositional = "челюстях жизни"</code>
Обязательно делать падежи предметов отдельно от основных переводов текстов в ветку  '''[https://github.com/ss220club/Bandastation/tree/master ss220club:master]'''
=== <big>Сообщения</big> ===
Игрок всегда видит сообщения которые обращаются либо к нему, либо исходят от каких-либо объектов.
Данные переводы должны идти в ветку  [https://github.com/ss220club/Bandastation/tree/translate '''ss220club:translate''']
==== <big>Склонения</big> ====
Имеются аналоги русифицированных склонений
{| class="wikitable"
|'''<big>Склонение</big>'''
|'''<big>Описание</big>'''
|-
|'''ru_p_they()'''
|Применяет одно из "они", "оно", "он", или "она" в зависимости от пола.
|-
|'''ru_p_them()'''
|Применяет одно из "их", "его", или "её" в зависимости от пола.
|-
|'''ru_p_themselves()'''
|Применяет одно из "сами", "само", "сам", или "сама" в зависимости от пола.
|-
|'''ru_p_have()'''
|Применяет "имеет" для единственного числа и "имеют" для множественного ("она имеет" / "они имеют").
|-
|'''ru_p_were()'''
|Применяет "было" для единственного числа и "были" для множественного ("оно было" / "они были").
|-
|'''ru_p_do()'''
|Применяет "делает" для единственного числа и "делают" для множественного ("она делает" / "они делают").
|}
''Установите TRUE для заглавной буквы.''
===== Пример: =====
<code>"[src] is thrashing wildly! It looks like [p_theyre()] trying to commit [roskomnadzor]."</code>
<code>"[capitalize(declent_ru(NOMINATIVE))] неистово дергается! Кажется, [ru_p_they()] пытается совершить [роскомнадзор]."</code>
<code>capitalize()</code> - используется для написания слова с заглавной буквы.
==== <big>Падежи-сообщения</big> ====
[[Как делать перевод игры#Падежи|Падежи]] в сообщениях могут обращаться как к юзеру, цели, так и любому другому объекту, если у него были прописаны падежи.
===== Пример: =====
<code>"[user]'s [atk_verb] briefly winds [target]!"</code>
<code>"[capitalize(user.declent_ru(NOMINATIVE))] [atk_verb] и выдувает воздух из [target.declent_ru(GENITIVE)]!"</code>


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


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


{{Contribution Guides}}
{{Contribution Guides}}


[[Категория:Руководства]]
[[Категория:Руководства]]

Версия от 15:35, 9 ноября 2024

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

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

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

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

Правила

Термины

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

Буква «Ё»

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

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

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

Типографика

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

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

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

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

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

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

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

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

Падежи

Объект

У каждого объекта должны быть падежи для дальнейшего корректного использования в переводе.

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


Все переводы хранятся в модуле translate, в папке /code/data, файл ru_names.toml. Пример пути на BANDASTATION: modular_bandastation\translations\code\data\ru_names.toml

Пример:

В данном примере перевод объекта добавлен в ru_names.toml, в котором определены все падежи.

["jaws of life"]

nominative = "челюсти жизни"

genitive = "челюстей жизни"

dative = "челюстям жизни"

accusative = "челюсти жизни"

instrumental = "челюстями жизни"

prepositional = "челюстях жизни"

Обязательно делать падежи предметов отдельно от основных переводов текстов в ветку ss220club:master


Сообщения

Игрок всегда видит сообщения которые обращаются либо к нему, либо исходят от каких-либо объектов.

Данные переводы должны идти в ветку ss220club:translate


Склонения

Имеются аналоги русифицированных склонений

Склонение Описание
ru_p_they() Применяет одно из "они", "оно", "он", или "она" в зависимости от пола.
ru_p_them() Применяет одно из "их", "его", или "её" в зависимости от пола.
ru_p_themselves() Применяет одно из "сами", "само", "сам", или "сама" в зависимости от пола.
ru_p_have() Применяет "имеет" для единственного числа и "имеют" для множественного ("она имеет" / "они имеют").
ru_p_were() Применяет "было" для единственного числа и "были" для множественного ("оно было" / "они были").
ru_p_do() Применяет "делает" для единственного числа и "делают" для множественного ("она делает" / "они делают").

Установите TRUE для заглавной буквы.

Пример:

"[src] is thrashing wildly! It looks like [p_theyre()] trying to commit [roskomnadzor]."

"[capitalize(declent_ru(NOMINATIVE))] неистово дергается! Кажется, [ru_p_they()] пытается совершить [роскомнадзор]."

capitalize() - используется для написания слова с заглавной буквы.


Падежи-сообщения

Падежи в сообщениях могут обращаться как к юзеру, цели, так и любому другому объекту, если у него были прописаны падежи.

Пример:

"[user]'s [atk_verb] briefly winds [target]!"

"[capitalize(user.declent_ru(NOMINATIVE))] [atk_verb] и выдувает воздух из [target.declent_ru(GENITIVE)]!"


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

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

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

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


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

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

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


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

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


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