diff --git a/openspec/changes/localize-i18n-ru/.openspec.yaml b/openspec/changes/localize-i18n-ru/.openspec.yaml deleted file mode 100644 index 2b596d1..0000000 --- a/openspec/changes/localize-i18n-ru/.openspec.yaml +++ /dev/null @@ -1,2 +0,0 @@ -schema: spec-driven -created: 2026-09-12 diff --git a/openspec/changes/localize-i18n-ru/design.md b/openspec/changes/localize-i18n-ru/design.md deleted file mode 100644 index 86c410c..0000000 --- a/openspec/changes/localize-i18n-ru/design.md +++ /dev/null @@ -1,25 +0,0 @@ -## 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-история позволит откатить. \ No newline at end of file diff --git a/openspec/changes/localize-i18n-ru/proposal.md b/openspec/changes/localize-i18n-ru/proposal.md deleted file mode 100644 index f0f6db7..0000000 --- a/openspec/changes/localize-i18n-ru/proposal.md +++ /dev/null @@ -1,23 +0,0 @@ -## Why - -Сайт dedinit.ru — русскоязычный блог (язык ru-ru), но в теме rDedInit (форк PaperMod) отсутствует файл `i18n/ru.toml`, из-за чего интерфейсные строки (кнопки, навигация, время чтения) показываются на английском по умолчанию. Это выглядит неаккуратно для русскоязычной аудитории. - -## What Changes - -- Создать `i18n/ru.toml` с русскими переводами всех UI-ключей темы rDedInit (PaperMod). -- Перевести строки: Home → «Главная», Read time → «Время чтения», Words → «слов», Table of Contents → «Содержание», Code copy → «Копировать код», Code copied → «Скопировано», Edit post → «Редактировать пост», Next → «Следующая», Prev → «Предыдущая», Translations → «Переводы», Search → «Поиск» (и др. стандартные ключи PaperMod). -- Поведение сайта, разметка, контент — не меняются; это чисто интернационализация UI. - -## Capabilities - -### New Capabilities -- `i18n`: русская локализация интерфейса темы (ключи-переводы UI). Новая способность проекта «русская локализация UI». - -### Modified Capabilities -Отсутствуют — существующих spec в `openspec/specs/` не затронуто (site-rss не меняется). - -## Impact - -- Затронутые файлы: `i18n/ru.toml` (новый). -- Не затрагивает: контент, шаблоны, деплой, RSS. -- Откат (rollback): удалить `i18n/ru.toml` (или `git revert`) — сайт вернётся к английским строкам по умолчанию, как сейчас. \ No newline at end of file diff --git a/openspec/changes/localize-i18n-ru/specs/i18n/spec.md b/openspec/changes/localize-i18n-ru/specs/i18n/spec.md deleted file mode 100644 index b040647..0000000 --- a/openspec/changes/localize-i18n-ru/specs/i18n/spec.md +++ /dev/null @@ -1,39 +0,0 @@ -## Purpose - -Обеспечивает русскоязычный интерфейс сайта dedinit.ru: все UI-строки темы (навигация, время чтения, код, пагинация) отображаются на русском языке для аудитории ru-ru. - -## ADDED Requirements - -### Requirement: Русские UI-строки в i18n/ru.toml -Система SHALL предоставлять файл `i18n/ru.toml`, содержащий русские переводы всех ключей интерфейса, используемых темой rDedInit (PaperMod): `home`, `next_page`, `prev_page`, `read_time`, `words`, `toc`, `code_copy`, `code_copied`, `edit_post`, `translations`, `search`, `page_not_found` и стандартные ключи PaperMod. - -#### Scenario: Главная страница -- **WHEN** пользователь открывает главную страницу сайта -- **THEN** строка навигации «Home» отображается как «Главная» - -#### Scenario: Время чтения статьи -- **WHEN** пользователь открывает статью с временем чтения -- **THEN** строка «X min read» отображается как «X мин чтения» (или эквивалент на русском) - -#### Scenario: Оглавление -- **WHEN** статья содержит оглавление -- **THEN** заголовок оглавления отображается как «Содержание», а не «Table of Contents» - -#### Scenario: Кнопки копирования кода -- **WHEN** пользователь наводит на блок кода -- **THEN** подсказка отображается как «Копировать код»; после копирования — «Скопировано» - -#### Scenario: Пагинация -- **WHEN** пользователь видит пагинацию списка постов -- **THEN** ссылки отображаются как «Следующая» / «Предыдущая», а не «Next» / «Prev» - -#### Scenario: Отсутствующий ключ -- **WHEN** в теме используется ключ, отсутствующий в `i18n/ru.toml` -- **THEN** сайт продолжает работать, отображая ключ по умолчанию из темы (Hugo fallback) — поведение не ломается - -### Requirement: Фолбэк на английский при отсутствии перевода -Система SHALL сохранять работоспособность сайта при отсутствии какого-либо ключа: Hugo отображает строку по умолчанию темы (английскую), сайт не падает и не ломает разметку. - -#### Scenario: Нет ключа в ru.toml -- **WHEN** в ru.toml отсутствует конкретный ключ -- **THEN** Hugo использует значение по умолчанию из темы (английское) и сборка проходит без ошибок \ No newline at end of file diff --git a/openspec/changes/localize-i18n-ru/tasks.md b/openspec/changes/localize-i18n-ru/tasks.md deleted file mode 100644 index c265209..0000000 --- a/openspec/changes/localize-i18n-ru/tasks.md +++ /dev/null @@ -1,10 +0,0 @@ -## 1. Локализация - -- [ ] 1.1 Создать каталог `i18n/` и файл `i18n/ru.toml` с переводами всех ключей темы (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, read_more и др.) — проверить `ls i18n/ru.toml` -- [ ] 1.2 Собрать сайт: `make build` — сборка проходит без ошибок (exit 0) - -## 2. Проверка - -- [ ] 2.1 Проверить в собранном public/ русские строки: `grep -r "Читать далее" public/ | head` и `grep -r "Содержание" public/ | head` — обе строки присутствуют в HTML -- [ ] 2.2 Проверить пагинацию: `grep -r "Следующая" public/ | head` и `grep -r "Предыдущая" public/ | head` — присутствуют -- [ ] 2.3 Закоммитить `i18n/ru.toml` и запушить в gitverse (origin main) \ No newline at end of file