FOnline Engine
Current master GitHub
Документация Docs/ru/reference/text-format/languages.md

Языки и нормализация

Сгенерированный справочник. Не редактируйте его напрямую. Обновите BuildTools/TextFormatInterface.json, затем выполните python BuildTools/docs_text_format.py --write.

Индекс Синтаксис Языки Текст прототипов Runtime Проверка Канонический JSON Руководство

Языковой fallback материализуется baker-ами. Runtime lookup читает выбранный бинарный языковой пакет и не обращается к базовому пакету.

Значения движка по умолчанию

Настройка Исходное значение по умолчанию Смысл
Baking.BakeLanguages engl Упорядоченные выходные языки; первый служит базой нормализации.
Client.Language engl Начальный пакет текущего языка, загружаемый клиентом.
Стабильный ID Правило Требование Причина Источник
text-format.language.filename Имя исходного файла Базовое имя .fotxt содержит ровно два сегмента, разделённых точкой: имя текстового пакета и идентификатор языка. TextBaker отклоняет любую другую форму базового имени. Source/Tools/TextBaker.cpp
text-format.language.identifier Идентификатор языка Engine рассматривает суффикс имени файла как непрозрачную настроенную строку и не накладывает фиксированного ограничения на число символов. Допустимость определяется равенством имени языка, разобранному из Baking.BakeLanguages; валидатора длины или формы локали нет. Source/Tools/TextBaker.cpp
text-format.language.base Базовый язык Baking.BakeLanguages не может быть пустым, а его первый bare language является базой нормализации по умолчанию. TextPack::ParseBakeLanguages проверяет упорядоченные declarations до их использования любым text baker. Source/Tools/TextBaker.cpp, Source/Common/TextPack.cpp
text-format.language.fallback-declaration Объявление fallback Каждая запись BakeLanguages имеет форму language или child:parent; имена уникальны, а parent обязан находиться раньше child. Явный parent создаёт упорядоченную bake-time fallback chain, а bare language после первого использует fallback на первый язык. Source/Common/TextPack.cpp, Source/Tests/Test_TextPack.cpp
text-format.language.default-source-required Обязательный базовый исходник Для каждого изменённого исходного текстового пакета выбранный набор файлов должен содержать исходник базового языка. TextBaker не может нормализовать изменённый пакет без базового языка и вызывает исключение до разбора выхода. Source/Tools/TextBaker.cpp
text-format.language.incremental-pack-set Дополнение инкрементального набора При изменении одного языкового файла текстового пакета TextBaker включает в повторное запекание все настроенные языковые файлы того же пакета. Частичное обновление языка всё равно должно пройти нормализацию полного пакета. Source/Tools/TextBaker.cpp, Source/Tests/Test_TextBaker.cpp
text-format.language.unsupported Неподдерживаемый язык Для исходного текстового файла с суффиксом, отсутствующим в Baking.BakeLanguages, выводится предупреждение, а файл пропускается. Неподдерживаемые исходные языки не создают бинарных пакетов. Source/Tools/TextBaker.cpp
text-format.language.bake-time-fallback Fallback при запекании Отсутствующие пакеты и ключи копируются из настроенного fallback каждого языка во время запекания; пакеты и ключи, отсутствующие в этом fallback, удаляются. Runtime lookup загружает уже нормализованные бинарные пакеты и не выполняет fallback. Source/Common/TextPack.cpp
text-format.language.variant-cardinality Количество вариантов Нормализация выравнивает наличие ключей, но не количество или порядок повторяющихся вариантов существующего ключа. FixStr проверяет только нулевое количество ключа и сохраняет все существующие варианты, когда ключ существует. Source/Common/TextPack.cpp
text-format.language.binary-name Имя запечённого файла Baker-ы исходного текста и текста прототипов создают <ResourcePack>.<TextPack>.<Language>.fotxt-bin. Позднее TextPack::LoadFromResources требует ровно три таких сегмента базового имени. Source/Tools/TextBaker.cpp, Source/Common/TextPack.cpp
Введите запрос.