Files
dedinit.ru/openspec/changes/localize-i18n-ru/design.md
T

2.3 KiB

Context

Проект dedinit.ru — Hugo Extended 0.165, тема rDedInit (форк PaperMod), язык ru-ru. Сейчас i18n/ отсутствует, UI-строки темы отображаются английскими дефолтами PaperMod. См. proposal.md — Why.

Goals / Non-Goals

Goals:

  • Создать i18n/ru.toml с переводами всех ключей, используемых шаблонами rDedInit.
  • Русский UI без изменения разметки и контента.

Non-Goals:

  • Не переводим содержимое контента (посты).
  • Не добавляем мультиязычность (en/ru переключатель) — вне рамок задачи.

Decisions

  • Формат TOML (Hugo i18n) — стандарт Hugo, ru.toml рядом с другими локалями.
  • Источник ключей: извлечены из themes/rDedInit/layouts/ — home, next_page, prev_page, read_time, words, toc, code_copy, code_copied, edit_post, translations; дополнительно стандартные ключи PaperMod (search, page_not_found, archives, tags, categories, posted_on, continue_reading, min_read, newer, older, page, of, read_more, translations и др.) для полноты — отсутствующий ключ Hugo просто не находит и ничего не ломает (fallback).
  • Структура строки: [ключ]\nother = "перевод" — Hugo i18n-формат (other — для языков без gender/plural).
  • Проверка: make build + grep в public/ на русские строки («Читать далее», «Теги», «Содержание»).

Risks / Trade-offs

  • [Перевод строки, которую тема не использует] → Не навредит: Hugo игнорирует неиспользуемые ключи; лишние ключи просто расширяют словарь (fallback при будущих фичах темы).
  • [Ключ использован темой, но перевод терминологически неточен] → Быстрый фикс: правим одну строку в ru.toml; git-история позволит откатить.