openspec: удалить change localize-i18n-ru (не относится к проекту — локализация GoToSocial/Phanpy, в теме rDedInit уже есть themes/rDedInit/i18n/ru.yaml)
deploy-dedinit / Build & SFTP Deploy (push) Successful in 7m23s

This commit is contained in:
2026-09-26 07:00:50 +00:00
parent 800f93a22f
commit bba9a39a6b
5 changed files with 0 additions and 99 deletions
@@ -1,2 +0,0 @@
schema: spec-driven
created: 2026-09-12
@@ -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-история позволит откатить.
@@ -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`) — сайт вернётся к английским строкам по умолчанию, как сейчас.
@@ -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 использует значение по умолчанию из темы (английское) и сборка проходит без ошибок
@@ -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)