openspec(localize-i18n-ru): propose — русская локализация UI (i18n/ru.toml)

This commit is contained in:
2026-09-12 17:11:03 +00:00
parent 0f4d6da3c5
commit f07bffe838
5 changed files with 99 additions and 0 deletions
@@ -0,0 +1,25 @@
## 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-история позволит откатить.