Документация
Docs/ru/reference/text-format/validation.md
Проверка формата текста
Сгенерированный справочник. Не редактируйте его напрямую. Обновите
BuildTools/TextFormatInterface.json, затем выполнитеpython BuildTools/docs_text_format.py --write.
| Индекс | Синтаксис | Языки | Текст прототипов | Runtime | Проверка | Канонический JSON | Руководство |
| Стабильный ID | Правило | Требование | Причина | Источник |
|---|---|---|---|---|
text-format.validation.malformed-raw |
Некорректный исходный текст | Исходник без обязательного поля или с незавершённым значением приводит к ошибке text bake, даже если остальные записи разобрались успешно. | LoadFromString сообщает совокупную ошибку, а TextBaker отклоняет исходный файл целиком. | Source/Common/TextPack.cpp, Source/Tools/TextBaker.cpp, Source/Tests/Test_TextPack.cpp |
text-format.validation.empty-languages |
Пустой BakeLanguages | TextBaker, ProtoTextBaker и нормализация TextPack отклоняют пустой список Baking.BakeLanguages. | Невозможно детерминированно выбрать базовый язык. | Source/Tools/TextBaker.cpp, Source/Tools/ProtoTextBaker.cpp, Source/Common/TextPack.cpp |
text-format.validation.raw-unsupported-warning |
Предупреждение о неподдерживаемом исходном языке | Файлы неподдерживаемого исходного языка создают предупреждение и не создают выход для этого языка. | Проекты могут хранить несвязанные исходники в более широком дереве входов, не публикуя их молча. | Source/Tools/TextBaker.cpp |
text-format.validation.proto-token-count |
Число токенов ключа прототипа | Ключ $Text прототипа, содержащий после $Text больше Language, Key2 и Key3, приводит к ошибке запекания. | У TextPackKey нет дополнительного поля ключа. | Source/Tools/ProtoTextBaker.cpp, Source/Tests/Test_ProtoTextBaker.cpp |
text-format.validation.proto-intersection |
Пересечение выходов прототипов | Повторяющиеся полные ключи, созданные исходниками разных типов прототипов в одном выходном пакете, приводят к ошибке запекания. | Сгенерированный пакет не должен зависеть от порядка обхода каталогов типов. | Source/Tools/ProtoTextBaker.cpp, Source/Tests/Test_ProtoTextBaker.cpp |
Команды проверки
python BuildTools\docs_text_format.py --check
python -m unittest BuildTools.tests.test_docs_text_format
cmake --build <build-dir> --config RelWithDebInfo --target RunUnitTests
В подключаемом проекте завершите проверку запеканием ресурсов, проектными проверками локализации и видимой проверкой переключения языка и форматированного текста в клиенте.