Настройка игр

Настрой язык игры

Открыть как Markdown

Игра поставляется с языками, на которые её перевёл автор. На вкладке Язык редактора игры ты можешь переопределить эти строки, исправить перевод, подстроить формулировки под свой продукт или добавить язык, с которым игра не поставлялась, и изменение применяется к отрисованной игре.

Настройка языка доступна от тарифа Alpha и выше (Alpha, Troop, Apex).

Задай языковые строки

Открой игру на странице Игры ключа сайта (или команды), затем вкладку Язык. Каждый язык, который предлагает игра, это пресет, и каждый пресет это набор именованных строк (внутриигровые метки и сообщения). Отредактируй строки, которые хочешь поменять; оставь остальные, и они сохранят встроенные формулировки игры.

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

Как язык выбирается в рантайме

Каждый языковой пресет несёт языковой тег (en, es, fr и так далее), и пресеты сгруппированы по этому тегу. Выбор одного происходит в два этапа.

Сначала виджет решает, какой язык запросить:

  1. Атрибут locale виджета, если страница его задала (явное намерение автора).
  2. Иначе язык браузера посетителя (первый из его предпочитаемых языков), вместе со следующими двумя его предпочитаемыми языками, чтобы игра без строк на первом могла взять следующий, прежде чем откатиться на своё умолчание.
  3. Иначе ничего, и сервер откатывается на умолчание игры.

Затем сервер сопоставляет этот язык с пресетами, после слияния твоих переопределений (ключ сайта поверх команды поверх встроенного набора игры), в этом порядке:

  1. Пресет, чьё имя точно совпадает с запрошенным значением (атрибут locale или, если он не задан, язык браузера посетителя).
  2. Пресет на том же базовом языке: pt-BR одинаково совпадает с пресетом pt, pt-BR или pt-PT. Традиционный китайский (zh-TW, zh-HK, zh-MO, zh-Hant) совпадает только с пресетом zh-Hant, никогда с упрощённым.
  3. Следующие предпочитаемые языки посетителя, по порядку, если виджет их прислал, сопоставленные тем же способом.
  4. Английский пресет.
  5. Первый пресет игры.

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

На элементе <caputchin-game> ты также можешь передать инлайновый объект locale: объект JSON, записанный как значение атрибута, например locale='{"start":"Go!"}'. Виджет шлёт его на сервер как языковой сигнал этого монтирования, а сервер парсит его и накладывает поверх разрешённых пресетов, так что твои инлайновые строки побеждают всё выше (включая твои переопределения команды и ключа сайта). Это свойство твоей собственной разметки, так что оно работает на любом тарифе. Галочный <caputchin-widget> не принимает инлайновый locale; его атрибут locale принимает только языковой тег или имя пресета. Смотри нашу философию о том, почему это составление для каждого встраивания бесплатно.

Направление текста (слева-направо или справа-налево) выводится из языкового тега автоматически, так что язык с письмом справа-налево рендерится правильно без дополнительной настройки.

Добавь или расширь язык

Ты можешь расширить любой язык, с которым поставляется игра: новый пресет наследует каждую строку от того, который ты расширяешь, и ты переопределяешь только те, что меняешь. Чтобы добавить язык, с которым игра не поставлялась, создай пресет с тегом этого языка и заполни строки.

Что применяется и где

Переопределения языка разрешаются на сервере, самое-конкретное-побеждает: пресет ключа сайта побеждает пресет команды, который побеждает встроенный язык игры. Язык браузера посетителя выбирает, какой разрешённый пресет он видит.

См. также