Содержание

Переклад домену

Шапку, меню, підвал і сторінки домену можна показувати мовою глядача. Влаштовано це так само, як переклади гри: поряд із текстом лежить словник пар «оригінал → переклад», і при показі текст підмінюється. Перекладу немає — глядач бачить оригінал.

Екран — «Переклад» в адмінській панелі домену («Переклади» у новій адмінці). Відкрити його може адміністратор домену.

Мова лише про той текст, який написали ви. Кнопки, листи та інший текст самого рушія перекладаються самі й до цього словника стосунку не мають.

Налаштування

Вкладка «Налаштування»: мова домену, мови перекладу і на що падає неперекладене

Падати можна лише на мову, яку домен оголосив. Знімете галочку з мови — усе, що на неї падало, скинеться тут же, на екрані.

Вимкнути локалізацію («Локалізацію вимкнено») можна будь-коли: підміна перестане працювати одразу для всіх, а словник лишиться цілим.

Сторінки

Вкладка «Сторінки» перелічує сторінки домену і питає про кожну: перекладаємо її словником чи ні.

У сторінки може бути своя копія іншою мовою. Така копія завжди сильніша за словник: якщо вона є, глядач побачить її, а словник до сторінки не застосовується. Перетворити копію на пари словника нічим — або копія, або словник.

Переклади

Третя вкладка — сама таблиця пар. Вона та сама, що у вкладці «Переклад» редактора гри: ті самі групи «неперекладені / перекладені / неперекладні», той самий фільтр, ті самі позначки «не перекладати». Як вона влаштована, докладно описано на сторінці Багатомовна гра.

Відмінність одна — селектор «Що перекладаємо» в рядку фільтра:

«Усе разом» пише переклад у кілька словників. Рядок, який трапляється і в шапці, і на сторінці, — це один рядок таблиці, і правка запишеться у словник кожного місця, де рядок трапився. Потрібен сторінці свій переклад тієї самої фрази — звузьте «Що перекладаємо» до цієї сторінки.

Що перекладається

Не перекладається: css, адреси (ім’я домену, адреса сторінки), налаштування пошти й оплати, текст самого рушія і зміст ігор — в ігор свої переклади.

Листи домену йдуть із базовою назвою, не з перекладеною.

Шаблони {% match lang %} у дизайні домену не працюють — це прийом для завдань.

Текст усередині скриптів: gt()

Меню домену — це скрипт, і підписи кнопок у ньому лежать рядками. Щоб рушій їх побачив, огорніть кожну в gt():

add_navbar({
  items: [
    {name: gt('ИГРЫ'), url: 'index.php'},
    {name: gt('АРХИВ'), url: 'archive.php'},
  ],
  ...
});

Далі підпис з’явиться у таблиці перекладів як звичайний рядок, і переклад підставиться на сервері, до того як сторінка поїде глядачеві.

Це працює в будь-якому html-блоці дизайну, не тільки в меню.

JSON: вивантажити і завантажити

Кнопка «JSON» угорі екрана:

Завантаження не зберігає: воно править екран, а записує все кнопка «Зберегти». Піти зі сторінки з незбереженими правками браузер не дасть мовчки — запитає.

Завантаження зливає, а не заміняє: пари накладаються по одній. Порожній переклад у файлі означає «прибрати цю пару».

Приймаються обидва види файлів — і повний знімок, і файл перекладача.

Новий домен

Новий домен отримує словник базового у спадок — копією, один раз, у момент створення. Подальші правки словника базового домену до нього вже не приїдуть.

Назва в нового домену своя, тому успадкований переклад старої назви приїде в «Застарілі переклади», а нова лишиться неперекладеною.

Що варто знати

Старий спосіб: addTranslation()

Раніше підписи меню перекладалися у браузері, викликом у тому самому блоці меню:

addTranslation('en', 'АВТОРАМ', 'ABOUT');

Він далі працює, і в доменів, що йдуть, його не забирають. Але він покриває лише підписи кнопок меню — ні шапку, ні підвал, ні сторінки, — і не каже, що ще не перекладено.

Подвійного перекладу не буде: якщо рядок переклав сервер, у браузер приїде вже англійський, і addTranslation його просто не знайде.

Для нового домену беріть gt() і цю сторінку.

Дивіться також