uk:authors_main:admin_api:admin_api_json

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
uk:authors_main:admin_api:admin_api_json [2024/05/09 22:22]
sparklingsky создано
uk:authors_main:admin_api:admin_api_json [2026/08/16 20:24] (поточний)
Рядок 11: Рядок 11:
    "​lines":​ [] /* Список лінійок проходження */,    "​lines":​ [] /* Список лінійок проходження */,
    "​tasks":​ [] /* Список рівнів гри*/,    "​tasks":​ [] /* Список рівнів гри*/,
 +   "​translations":​ {} /* Переклади гри, за мовами. Лише в багатомовної гри */,
 } }
 </​code>​ </​code>​
Рядок 86: Рядок 87:
         "​answer_prefix":​ "​фф",​         "​answer_prefix":​ "​фф",​
         /* Префікс кодів */         /* Префікс кодів */
-         "​default_line":​ ""​+         "​default_line":​ ""​,
          /* Лінійка за замовчуванням (назва) */          /* Лінійка за замовчуванням (назва) */
 +        "​lang":​ "​ru",​
 +        /* Мова гри - мова, якою написані всі тексти.
 +        Порожня,​ якщо локалізацію не ввімкнено */
 +        "​langs":​ "​{\"​en\":​null,​\"​uk\":​null,​\"​*\":​\"​en\"​}"​
 +        /* Мови перекладу:​ рядок із JSON вигляду
 +        "​мова перекладу"​ -> "​мова,​ на яку вона падає"​ (null - на мову гри).
 +        Ключ "​*"​ - куди відправляти всі інші мови.
 +        Докладніше:​ uk:​authors_main:​game_management:​localization */
     }     }
 } }
Рядок 132: Рядок 141:
 } }
 </​code>​ </​code>​
 +
 +===== Переклади =====
 +
 +Секція з'​являється лише в гри, у якої є переклади,​ і повертається під час імпорту. Ключ — код мови (дві літери) або ''"​*"''​ — псевдомова з позначками «не перекладати ніде».
 +
 +<code JavaScript [enable_line_numbers="​false"​]>​
 +{
 +    "​translations":​ {
 +        "​en":​ [
 +            {
 +                "​src":​ "​Рядок із гри, як він є в тексті",​
 +                /* Оригінал. Він же ключ: переклад шукається за текстом,​
 +                а не за id завдання чи поля */
 +                "​dst":​ "The string as the player sees it"
 +                /* Переклад. Порожній - перекладу немає */
 +            },
 +            {
 +                "​src":​ "​Nokia",​
 +                "​dst":​ "",​
 +                "​skip":​ true
 +                /* Не перекладати цей рядок цією мовою */
 +            }
 +        ],
 +        "​*":​ [
 +            { "​src":​ "​Nokia",​ "​dst":​ "",​ "​skip":​ true }
 +            /* Не перекладати ніде: позначка на всі мови одразу */
 +        ]
 +    }
 +}
 +</​code>​
 +
 +Усередині ''​src''​ і ''​dst''​ трапляються плейсхолдери ''​⟦N⟧''​ та ''​⟦/​N⟧''​ — замість розмітки,​ посилань і картинок — і підстановки на кшталт ''​!username!''​. Переклад,​ який їх не зберігає,​ імпорт відхиляє цілком. Що це за рядки, звідки беруться і як їх перекладати — [[uk:​authors_main:​game_management:​localization|Багатомовна гра]] та [[uk:​authors_main:​game_management:​localization_ai|Переклад гри за допомогою AI]].
 +
 +Секція ''​translations''​ замінює словники мов цілком. Точкова правка — секція ''​translations_edit'':​ список записів ''​{"​lang":​ "​en",​ "​src":​ "​...",​ "​dst":​ "​..."​}'',​ де ''"​delete":​ 1''​ або порожній ''​dst''​ видаляє пару. Дві секції в одному імпорті разом не йдуть.
  
 ===== Рівень ===== ===== Рівень =====
  
 Рівень гри також має блокову структуру:​ Рівень гри також має блокову структуру:​
 +
 +При [[uk:​authors_main:​admin_api:​admin_json_export#​експорт_з_ідентифікаторами|експорті з ids=1]] у секції ''​task''​ з'​являється ще поле ''​id''​ - ідентифікатор рівня, за яким його можна адресувати при [[uk:​authors_main:​admin_api:​admin_api_import_game#​точкове_редагування|точковому редагуванні]]. У кодів, бонусів і підказок у цьому разі з'​являються ''​id''​ та ''​number''​.
  
 <code JavaScript [enable_line_numbers="​false"​]>​ <code JavaScript [enable_line_numbers="​false"​]>​
Рядок 279: Рядок 324:
 ====== Приклад усієї гри повністю ====== ====== Приклад усієї гри повністю ======
  
-Опис полів [[ua:​admin_api_json#​Гра|тут]].+Опис полів [[uk:​authors_main:​admin_api:​admin_api_json#​Гра|тут]].
  
 Приклад без опису: Приклад без опису:
Рядок 379: Рядок 424:
  
 ====== Приклад рівня повністю ====== ====== Приклад рівня повністю ======
-Опис полів [[ua:​admin_api_json#​Рівень|тут]].+Опис полів [[uk:​authors_main:​admin_api:​admin_api_json#​Рівень|тут]].
  
 Приклад без опису нижче: Приклад без опису нижче:
  • uk/authors_main/admin_api/admin_api_json.1715293359.txt.gz
  • Востаннє змінено: 2024/05/09 22:22
  • повз sparklingsky