Настрой язык игры
Игра поставляется с языками, на которые её перевёл автор. На вкладке Язык редактора игры ты можешь переопределить эти строки, исправить перевод, подстроить формулировки под свой продукт или добавить язык, с которым игра не поставлялась, и изменение применяется к отрисованной игре.
Настройка языка доступна от тарифа Alpha и выше (Alpha, Troop, Apex).
Задай языковые строки
Открой игру на странице Игры ключа сайта (или команды), затем вкладку Язык. Каждый язык, который предлагает игра, это пресет, и каждый пресет это набор именованных строк (внутриигровые метки и сообщения). Отредактируй строки, которые хочешь поменять; оставь остальные, и они сохранят встроенные формулировки игры.
Поля языка всегда обычный текст. Выбирать тут нечего, кроме слов.
Как язык выбирается в рантайме
Каждый языковой пресет несёт языковой тег (en, es, fr и так далее), и пресеты сгруппированы по этому тегу. Выбор одного происходит в два этапа.
Сначала виджет решает, какой язык запросить:
- Атрибут
localeвиджета, если страница его задала (явное намерение автора). - Иначе язык браузера посетителя (первый из его предпочитаемых языков).
- Иначе ничего, и сервер откатывается на умолчание игры.
Затем сервер сопоставляет этот язык с пресетами, после слияния твоих переопределений (ключ сайта поверх команды поверх встроенного набора игры), в этом порядке:
- Точное совпадение тега (
pt-BRнаходит пресетpt-BR). - Базовый язык (
pt-BRоткатывается на пресетpt). - Пресет, который ты пометил умолчанием.
- Первый пресет игры.
Так что игра с любыми пресетами всегда рендерит настоящий текст, никогда сырые ключи. Ты помечаешь один пресет на язык как умолчание в редакторе.
На элементе <caputchin-game> ты также можешь передать инлайновый объект locale: объект JSON, записанный как значение атрибута, например locale='{"start":"Go!"}'. Виджет шлёт его на сервер как языковой сигнал этого монтирования, а сервер парсит его и накладывает поверх разрешённых пресетов, так что твои инлайновые строки побеждают всё выше (включая твои переопределения команды и ключа сайта). Это свойство твоей собственной разметки, так что оно работает на любом тарифе. Галочный <caputchin-widget> не принимает инлайновый locale; его атрибут locale принимает только языковой тег или имя пресета. Смотри нашу философию о том, почему это пер-встраивательное авторствование бесплатно.
Направление текста (слева-направо или справа-налево) выводится из языкового тега автоматически, так что язык с письмом справа-налево рендерится правильно без дополнительной настройки.
Добавь или расширь язык
Ты можешь расширить любой язык, с которым поставляется игра: новый пресет наследует каждую строку от того, который ты расширяешь, и ты переопределяешь только те, что меняешь. Чтобы добавить язык, с которым игра не поставлялась, создай пресет с тегом этого языка и заполни строки.
Что применяется и где
Переопределения языка разрешаются на сервере, самое-конкретное-побеждает: пресет ключа сайта побеждает пресет команды, который побеждает встроенный язык игры. Язык браузера посетителя выбирает, какой разрешённый пресет он видит.
См. также
- Обзор настройки игр: зарегистрируй игру и управляй ею.
- Конфигурации и скин: две другие оси.
- Справочник схемы: модель пресетов и типы полей.