openspec(localize-i18n-ru): propose — русская локализация UI (i18n/ru.toml)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
## 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 использует значение по умолчанию из темы (английское) и сборка проходит без ошибок
|
||||
Reference in New Issue
Block a user