feat: add full Russian language support; update Readme.md files, and .gitignore update (#514)

* feat: add Russian locale

- Add ru translations and register namespaces

- Add Russian to supported languages list

- Ignore .gemini workspace config

* fix: improve Russian plural forms in sidebar translations

Add proper Russian plural forms (few/many) for correct grammar with different count values

* docs(readme): add Russian translation and fix language switcher order

- Create README.ru.md based on the current English README.
- Update language switchers in all localized README files so
    English comes first, Russian second, and the remaining
    languages follow.
- Fix the issue where the current language was not shown
    correctly in the switcher for some localized README files

* fix(readme): fix language switcher positions and markdown issues

- Fix language switcher positions in README.md.
- Add bash language tags to command code blocks in README.ru.md.

* fix(readme): fix tool setup step numbering

- Fix tool setup step numbering in README.md and localized README files.

* fix(gitignore): allow translation task files to be tracked

Add exceptions to .gitignore for task translation files across multiple locales
(en, ja, ru, ko, zh-CN) to enable version control of translated content while
keeping generated task files ignored.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* feat(i18n): add Russian translation for tasks

Add Russian locale translation file for TaskMaster task management interface.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* fix: ignore missing tasks.json files for ko and zh-cn locales

* Delete .worktrees directory

---------

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Igor Zarubin
2026-03-09 18:07:16 +08:00
committed by GitHub
parent 8afb46af2e
commit c7dcba8d91
15 changed files with 1550 additions and 14 deletions

View File

@@ -0,0 +1,269 @@
{
"codeBlock": {
"copy": "Копировать",
"copied": "Скопировано",
"copyCode": "Копировать код"
},
"copyMessage": {
"copy": "Копировать сообщение",
"copied": "Сообщение скопировано"
},
"messageTypes": {
"user": "П",
"error": "Ошибка",
"tool": "Инструмент",
"claude": "Claude",
"cursor": "Cursor",
"codex": "Codex",
"gemini": "Gemini"
},
"tools": {
"settings": "Настройки инструмента",
"error": "Ошибка инструмента",
"result": "Результат инструмента",
"viewParams": "Просмотр входных параметров",
"viewRawParams": "Просмотр сырых параметров",
"viewDiff": "Просмотр различий редактирования для",
"creatingFile": "Создание нового файла:",
"updatingTodo": "Обновление списка задач",
"read": "Чтение",
"readFile": "Чтение файла",
"updateTodo": "Обновить список задач",
"readTodo": "Прочитать список задач",
"searchResults": "результаты"
},
"search": {
"found": "Найдено {{count}} {{type}}",
"file": "файл",
"files": "файлов",
"pattern": "шаблон:",
"in": "в:"
},
"fileOperations": {
"updated": "Файл успешно обновлен",
"created": "Файл успешно создан",
"written": "Файл успешно записан",
"diff": "Различия",
"newFile": "Новый файл",
"viewContent": "Просмотр содержимого файла",
"viewFullOutput": "Просмотр полного вывода ({{count}} символов)",
"contentDisplayed": "Содержимое файла отображено в представлении различий выше"
},
"interactive": {
"title": "Интерактивный запрос",
"waiting": "Ожидание вашего ответа в CLI",
"instruction": "Пожалуйста, выберите опцию в терминале, где запущен Claude.",
"selectedOption": "✓ Claude выбрал опцию {{number}}",
"instructionDetail": "В CLI вы бы выбрали эту опцию интерактивно, используя клавиши со стрелками или введя номер."
},
"thinking": {
"title": "Думаю...",
"emoji": "💭 Думаю..."
},
"json": {
"response": "JSON ответ"
},
"permissions": {
"grant": "Предоставить разрешение для {{tool}}",
"added": "Разрешение добавлено",
"addTo": "Добавляет {{entry}} в разрешенные инструменты.",
"retry": "Разрешение сохранено. Повторите запрос для использования инструмента.",
"error": "Не удалось обновить разрешения. Попробуйте снова.",
"openSettings": "Открыть настройки"
},
"todo": {
"updated": "Список задач успешно обновлен",
"current": "Текущий список задач"
},
"plan": {
"viewPlan": "📋 Просмотр плана реализации",
"title": "План реализации"
},
"usageLimit": {
"resetAt": "Достигнут лимит использования Claude. Ваш лимит будет сброшен в **{{time}} {{timezone}}** - {{date}}"
},
"codex": {
"permissionMode": "Режим разрешений",
"modes": {
"default": "Режим по умолчанию",
"acceptEdits": "Принимать правки",
"bypassPermissions": "Обход разрешений",
"plan": "Режим планирования"
},
"descriptions": {
"default": "Только доверенные команды (ls, cat, grep, git status и т.д.) выполняются автоматически. Другие команды пропускаются. Может записывать в рабочее пространство.",
"acceptEdits": "Все команды выполняются автоматически в рабочем пространстве. Полный автоматический режим с изолированным выполнением.",
"bypassPermissions": "Полный системный доступ без ограничений. Все команды выполняются автоматически с полным доступом к диску и сети. Используйте с осторожностью.",
"plan": "Режим планирования - команды не выполняются"
},
"technicalDetails": "Технические детали"
},
"gemini": {
"permissionMode": "Режим разрешений Gemini",
"description": "Управление тем, как Gemini CLI обрабатывает подтверждения операций.",
"modes": {
"default": {
"title": "Стандартный (запрашивать подтверждение)",
"description": "Gemini будет запрашивать подтверждение перед выполнением команд, записью файлов и получением веб-ресурсов."
},
"autoEdit": {
"title": "Автоматическое редактирование (пропускать подтверждения файлов)",
"description": "Gemini будет автоматически подтверждать редактирование файлов и веб-запросы, но все еще будет запрашивать подтверждение для команд оболочки."
},
"yolo": {
"title": "YOLO (обход всех разрешений)",
"description": "Gemini будет выполнять все операции без запроса подтверждения. Будьте осторожны."
}
}
},
"input": {
"placeholder": "Введите / для команд, @ для файлов, или спросите {{provider}} что угодно...",
"placeholderDefault": "Введите ваше сообщение...",
"disabled": "Ввод отключен",
"attachFiles": "Прикрепить файлы",
"attachImages": "Прикрепить изображения",
"send": "Отправить",
"stop": "Остановить",
"hintText": {
"ctrlEnter": "Ctrl+Enter для отправки • Shift+Enter для новой строки • Tab для смены режима • / для команд",
"enter": "Enter для отправки • Shift+Enter для новой строки • Tab для смены режима • / для команд"
},
"clickToChangeMode": "Нажмите для смены режима разрешений (или нажмите Tab в поле ввода)",
"showAllCommands": "Показать все команды",
"clearInput": "Очистить ввод",
"scrollToBottom": "Прокрутить вниз"
},
"thinkingMode": {
"selector": {
"title": "Режим размышления",
"description": "Расширенное размышление дает Claude больше времени для оценки альтернатив",
"active": "Активен",
"tip": "Более высокие режимы размышления занимают больше времени, но обеспечивают более тщательный анализ"
},
"modes": {
"none": {
"name": "Стандартный",
"description": "Обычный ответ Claude",
"prefix": ""
},
"think": {
"name": "Думать",
"description": "Базовое расширенное размышление",
"prefix": "думать"
},
"thinkHard": {
"name": "Думать усердно",
"description": "Более тщательная оценка",
"prefix": "думать усердно"
},
"thinkHarder": {
"name": "Думать еще усерднее",
"description": "Глубокий анализ с альтернативами",
"prefix": "думать еще усерднее"
},
"ultrathink": {
"name": "Ультра-размышление",
"description": "Максимальный бюджет размышления",
"prefix": "ультра-размышление"
}
},
"buttonTitle": "Режим размышления: {{mode}}"
},
"providerSelection": {
"title": "Выберите вашего AI-ассистента",
"description": "Выберите провайдера для начала нового разговора",
"selectModel": "Выбрать модель",
"providerInfo": {
"anthropic": "от Anthropic",
"openai": "от OpenAI",
"cursorEditor": "AI редактор кода",
"google": "от Google"
},
"readyPrompt": {
"claude": "Готов использовать Claude с {{model}}. Начните вводить сообщение ниже.",
"cursor": "Готов использовать Cursor с {{model}}. Начните вводить сообщение ниже.",
"codex": "Готов использовать Codex с {{model}}. Начните вводить сообщение ниже.",
"gemini": "Готов использовать Gemini с {{model}}. Начните вводить сообщение ниже.",
"default": "Выберите провайдера выше для начала"
}
},
"session": {
"continue": {
"title": "Продолжить разговор",
"description": "Задавайте вопросы о вашем коде, запрашивайте изменения или получайте помощь с задачами разработки"
},
"loading": {
"olderMessages": "Загрузка старых сообщений...",
"sessionMessages": "Загрузка сообщений сеанса..."
},
"messages": {
"showingOf": "Показано {{shown}} из {{total}} сообщений",
"scrollToLoad": "Прокрутите вверх для загрузки еще",
"showingLast": "Показаны последние {{count}} сообщений (всего {{total}})",
"loadEarlier": "Загрузить более ранние сообщения",
"loadAll": "Загрузить все сообщения",
"loadingAll": "Загрузка всех сообщений...",
"allLoaded": "Все сообщения загружены",
"perfWarning": "Все сообщения загружены — прокрутка может быть медленнее. Нажмите \"Прокрутить вниз\" для восстановления производительности."
}
},
"shell": {
"selectProject": {
"title": "Выберите проект",
"description": "Выберите проект для открытия интерактивной оболочки в этом каталоге"
},
"status": {
"newSession": "Новый сеанс",
"initializing": "Инициализация...",
"restarting": "Перезапуск..."
},
"actions": {
"disconnect": "Отключиться",
"disconnectTitle": "Отключиться от оболочки",
"restart": "Перезапустить",
"restartTitle": "Перезапустить оболочку (сначала отключитесь)",
"connect": "Продолжить в оболочке",
"connectTitle": "Подключиться к оболочке"
},
"loading": "Загрузка терминала...",
"connecting": "Подключение к оболочке...",
"startSession": "Начать новый сеанс Claude",
"resumeSession": "Возобновить сеанс: {{displayName}}...",
"runCommand": "Выполнить {{command}} в {{projectName}}",
"startCli": "Запуск Claude CLI в {{projectName}}",
"defaultCommand": "команда"
},
"claudeStatus": {
"actions": {
"thinking": "Думает",
"processing": "Обрабатывает",
"analyzing": "Анализирует",
"working": "Работает",
"computing": "Вычисляет",
"reasoning": "Рассуждает"
},
"state": {
"live": "В сети",
"paused": "Приостановлен"
},
"elapsed": {
"seconds": "{{count}}с",
"minutesSeconds": "{{minutes}}м {{seconds}}с",
"label": "Прошло {{time}}",
"startingNow": "Начинается сейчас"
},
"controls": {
"stopGeneration": "Остановить генерацию",
"pressEscToStop": "Нажмите Esc в любое время для остановки"
},
"providers": {
"assistant": "Ассистент"
}
},
"projectSelection": {
"startChatWithProvider": "Выберите проект для начала чата с {{provider}}"
},
"tasks": {
"nextTaskPrompt": "Начать следующую задачу"
}
}