Плейсхолдеры¶
Термины
Если вы впервые сталкиваетесь с термином «плейсхолдер», загляните в Словарь: ../glossary.md#плейсхолдер
Плейсхолдеры — это специальные метки внутри строк, которые подставляются во время выполнения (числа, имена и т.д.). RimLoc распознаёт два семейства:
- Фигурные скобки:
{...} - Примеры:
{0},{count},{PAWN_label},{weapon} - Процентные токены:
%... - Примеры:
%s,%d,%i,%f, позиционные%1$s, ширина%02d
RimLoc проверяет наличие и форму плейсхолдеров, а не их семантический тип. Перевод должен сохранять те же плейсхолдеры, что и источник.
Правила и рекомендации¶
- Нельзя удалять, переименовывать или изменять плейсхолдеры между исходником и переводом.
- Скобки должны быть попарными и непустыми:
{}— неверно;{ name }— допустимо (пробелы разрешены). - Процентные токены должны быть валидными:
%%считается литеральным процентом, а не плейсхолдером. - Порядок обычно допускается, но несоответствие множеств будет отмечено.
Как RimLoc валидирует¶
rimloc-cli validate --root <MOD>- Выдаёт категорию
placeholder-check, когда в строках есть плейсхолдеры. - Предупреждает о проблемных токенах (несбалансированные
{}, пустые/невалидные имена, подозрительные%). rimloc-cli validate-po --po <FILE>- Сравнивает плейсхолдеры в
msgidиmsgstr. Любое различие считается несоответствием. - Флаг
--strictделает несоответствия фатальными (код возврата 1).
См. также: ../cli/validate_po.md
Типичные ошибки¶
- Полное удаление плейсхолдера: в переводе должны остаться все токены.
- Несбалансированные скобки
{nameили пустые{}. - Опечатки в процентных токенах:
%z,% 2d— невалидны. - Смешивание литеральных скобок с плейсхолдерами: в RimWorld XML это редкость; экранируйте при необходимости.
Быстрые проверки¶
# Проверка XML‑строк (читаемый вывод)
rimloc-cli --quiet validate --root ./Mods/MyMod --format text
# Строгая проверка плейсхолдеров в PO (машиночитаемый вывод)
rimloc-cli --quiet validate-po --po ./out/mymod.po --strict --format json | jq .