{
  "app": {
    "name": "Docker Watcher",
    "version": "v0.1"
  },
  "nav": {
    "dashboard": "Панель",
    "projects": "Проекты",
    "deploy": "Деплой",
    "settings": "Настройки"
  },
  "dashboard": {
    "title": "Панель управления",
    "quickDeploy": "Быстрый деплой",
    "totalProjects": "Всего проектов",
    "runningInstances": "Запущенных экземпляров",
    "failedInstances": "Сбойных экземпляров",
    "projects": "Проекты",
    "retry": "Повторить",
    "noProjects": "Проектов пока нет.",
    "addFirst": "Добавьте первый проект",
    "loadFailed": "Не удалось загрузить панель"
  },
  "projects": {
    "title": "Проекты",
    "addProject": "Добавить проект",
    "cancel": "Отмена",
    "newProject": "Новый проект",
    "name": "Название",
    "image": "Образ",
    "port": "Порт",
    "registry": "Реестр",
    "created": "Создан",
    "view": "Открыть",
    "noProjects": "Проекты ещё не настроены.",
    "getStarted": "Нажмите «Добавить проект» для начала.",
    "createProject": "Создать проект",
    "creating": "Создание...",
    "healthcheck": "Путь проверки здоровья",
    "nameRequired": "Название и образ обязательны.",
    "loadFailed": "Не удалось загрузить проекты",
    "createFailed": "Не удалось создать проект"
  },
  "projectDetail": {
    "deleteProject": "Удалить проект",
    "envVars": "Переменные окружения",
    "volumes": "Тома",
    "stages": "Стадии",
    "noStages": "Для этого проекта не настроены стадии.",
    "pattern": "Шаблон",
    "autoDeploy": "авто-деплой",
    "requiresConfirm": "нужно подтверждение",
    "instances": "экземпляров",
    "deployNewVersion": "Развернуть новую версию",
    "selectTag": "Выберите тег для деплоя",
    "loadingTags": "Загрузка тегов...",
    "chooseTag": "Выберите тег...",
    "enterTag": "Введите тег образа (напр., dev-abc123)",
    "deploy": "Развернуть",
    "deploying": "Развёртывание...",
    "recentDeploys": "Последние деплои",
    "noDeployHistory": "Нет истории деплоев для этого проекта.",
    "tag": "Тег",
    "status": "Статус",
    "started": "Начат",
    "finished": "Завершён",
    "error": "Ошибка",
    "noInstancesRunning": "Нет запущенных экземпляров",
    "deleteConfirmTitle": "Удалить проект",
    "deleteConfirmMessage": "Это безвозвратно удалит проект '{name}' и все его стадии, экземпляры и историю деплоев.",
    "loadFailed": "Не удалось загрузить проект",
    "deleteFailed": "Не удалось удалить проект",
    "deployFailed": "Деплой не удался"
  },
  "envEditor": {
    "title": "Переменные окружения",
    "description": "Управление переопределениями переменных окружения на уровне стадий. Значения стадий переопределяют значения проекта.",
    "stage": "Стадия",
    "projectDefaults": "Значения проекта по умолчанию",
    "stageOverrides": "Переопределения стадии",
    "key": "Ключ",
    "value": "Значение",
    "secret": "Секрет",
    "source": "Источник",
    "actions": "Действия",
    "overridden": "переопределено",
    "inherited": "наследуется",
    "overridesProject": "переопределяет проект",
    "stageOnly": "только стадия",
    "edit": "Изменить",
    "change": "Изменить",
    "delete": "Удалить",
    "save": "Сохранить",
    "add": "Добавить",
    "adding": "Добавление...",
    "noStages": "Стадии не настроены. Сначала добавьте стадии к проекту.",
    "loadFailed": "Не удалось загрузить проект",
    "envAdded": "Переменная окружения добавлена",
    "envUpdated": "Переменная окружения обновлена",
    "envDeleted": "Переменная окружения удалена",
    "addFailed": "Не удалось добавить переменную",
    "updateFailed": "Не удалось обновить переменную",
    "deleteFailed": "Не удалось удалить переменную",
    "loadEnvFailed": "Не удалось загрузить переменные"
  },
  "volumeEditor": {
    "title": "Тома",
    "description": "Настройка монтирования томов для контейнеров.",
    "sharedDesc": "Режим «Общий» использует путь источника как есть для всех экземпляров.",
    "isolatedDesc": "Режим «Изолированный» добавляет /{stage}-{tag}/ к источнику, создавая свою директорию для каждого экземпляра.",
    "sourceHost": "Источник (хост)",
    "targetContainer": "Цель (контейнер)",
    "mode": "Режим",
    "actions": "Действия",
    "shared": "Общий",
    "isolated": "Изолированный",
    "edit": "Изменить",
    "delete": "Удалить",
    "save": "Сохранить",
    "add": "Добавить",
    "adding": "Добавление...",
    "noVolumes": "Тома ещё не настроены. Добавьте один выше.",
    "volumeAdded": "Том добавлен",
    "volumeUpdated": "Том обновлён",
    "volumeDeleted": "Том удалён",
    "loadFailed": "Не удалось загрузить тома",
    "addFailed": "Не удалось добавить том",
    "updateFailed": "Не удалось обновить том",
    "deleteFailed": "Не удалось удалить том"
  },
  "quickDeploy": {
    "title": "Быстрый деплой",
    "description": "Разверните образ контейнера без настройки. Вставьте URL образа, проверьте параметры и разверните.",
    "step1": "1. Введите URL образа",
    "imageUrl": "URL образа",
    "imageUrlHelp": "Полный URL образа с тегом (напр., git.example.com/user/app:dev-abc123)",
    "inspect": "Проверить",
    "inspecting": "Проверка...",
    "step2": "2. Проверка конфигурации",
    "reviewDesc": "Эти параметры были обнаружены из образа. Измените при необходимости перед деплоем.",
    "projectName": "Имя проекта",
    "port": "Порт",
    "portHelp": "Порт контейнера (1-65535)",
    "healthCheckPath": "Путь проверки здоровья",
    "healthCheckHelp": "Необязательный HTTP-путь для проверки работоспособности",
    "stage": "Стадия",
    "development": "Разработка",
    "release": "Релиз",
    "production": "Продакшн",
    "stageHelp": "Стадия развёртывания для этого образа",
    "subdomainOverride": "Переопределение поддомена",
    "subdomainHelp": "Оставьте пустым для использования шаблона по умолчанию",
    "envVars": "Переменные окружения",
    "envVarsHelp": "По одной на строку, формат KEY=VALUE",
    "step3": "3. Развёртывание",
    "deployDesc": "Будет создан новый проект и контейнер будет развёрнут немедленно.",
    "deployBtn": "Развернуть",
    "inspectedSuccess": "Образ успешно проверен",
    "deployedSuccess": "{name} успешно развёрнут!",
    "inspectFailed": "Не удалось проверить образ",
    "deployFailed": "Развёртывание не удалось"
  },
  "settings": {
    "title": "Настройки",
    "general": "Общие",
    "registries": "Реестры",
    "credentials": "Учётные данные",
    "authentication": "Аутентификация",
    "appearance": "Внешний вид"
  },
  "settingsGeneral": {
    "title": "Общие настройки",
    "globalConfig": "Глобальная конфигурация",
    "domain": "Домен",
    "domainHelp": "Базовый домен для маршрутизации поддоменов",
    "serverIp": "IP сервера",
    "serverIpHelp": "Публичный IP-адрес сервера",
    "dockerNetwork": "Docker-сеть",
    "dockerNetworkHelp": "Docker-сеть для развёрнутых контейнеров",
    "subdomainPattern": "Шаблон поддомена",
    "subdomainPatternHelp": "Шаблон для автоматически генерируемых поддоменов",
    "pollingInterval": "Интервал опроса (секунды)",
    "pollingIntervalHelp": "Как часто проверять реестры на новые теги (10-86400)",
    "notificationUrl": "URL уведомлений",
    "notificationUrlHelp": "URL вебхука для уведомлений о деплоях",
    "saveSettings": "Сохранить настройки",
    "saving": "Сохранение...",
    "saved": "Настройки успешно сохранены",
    "saveFailed": "Не удалось сохранить настройки",
    "loadFailed": "Не удалось загрузить настройки",
    "webhookUrl": "URL вебхука",
    "webhookDesc": "Этот секретный URL получает уведомления о push-событиях из вашего CI-пайплайна.",
    "noWebhookUrl": "URL вебхука не настроен",
    "copy": "Копировать",
    "copied": "URL вебхука скопирован в буфер обмена",
    "regenerateUrl": "Перегенерировать URL",
    "regenerating": "Перегенерация...",
    "regenerated": "URL вебхука перегенерирован",
    "regenerateFailed": "Не удалось перегенерировать URL вебхука",
    "regenerateWarning": "Внимание: перегенерация сделает текущий URL недействительным. Обновите ваши CI-пайплайны."
  },
  "settingsRegistries": {
    "title": "Реестры контейнеров",
    "description": "Управление реестрами контейнеров для обнаружения образов.",
    "addRegistry": "Добавить реестр",
    "editRegistry": "Редактировать реестр",
    "addNewRegistry": "Добавить новый реестр",
    "name": "Название",
    "nameHelp": "Понятное название для этого реестра",
    "url": "URL",
    "urlHelp": "Базовый URL реестра",
    "type": "Тип",
    "typeHelp": "Тип реестра для совместимости API",
    "token": "Токен",
    "tokenHelpNew": "API-токен для аутентификации",
    "tokenHelpEdit": "Оставьте пустым, чтобы сохранить текущий токен",
    "save": "Сохранить",
    "saving": "Сохранение...",
    "update": "Обновить",
    "test": "Тест",
    "testing": "Тестирование...",
    "edit": "Изменить",
    "delete": "Удалить",
    "noRegistries": "Реестры ещё не настроены.",
    "addFirst": "Добавьте первый реестр",
    "registryUpdated": "Реестр обновлён",
    "registryAdded": "Реестр добавлен",
    "registryDeleted": "Реестр «{name}» удалён",
    "testSuccess": "Подключение к «{name}» успешно",
    "saveFailed": "Не удалось сохранить реестр",
    "deleteFailed": "Не удалось удалить реестр",
    "testFailed": "Тест подключения не удался",
    "loadFailed": "Не удалось загрузить реестры",
    "deleteConfirm": "Удалить реестр «{name}»? Это действие необратимо."
  },
  "settingsCredentials": {
    "title": "Учётные данные",
    "description": "Управление учётными данными для Nginx Proxy Manager и токенами реестров. Все значения зашифрованы.",
    "npm": "Nginx Proxy Manager",
    "npmDesc": "Учётные данные для управления прокси-хостами через NPM API",
    "configured": "Настроено",
    "npmUrl": "URL NPM",
    "npmUrlHelp": "URL API Nginx Proxy Manager",
    "email": "Email",
    "emailHelp": "Email администратора NPM",
    "password": "Пароль",
    "passwordHelpNew": "Пароль администратора NPM (будет зашифрован)",
    "passwordHelpEdit": "Введите новый пароль для замены текущего",
    "changeCredentials": "Изменить учётные данные",
    "save": "Сохранить",
    "saving": "Сохранение...",
    "saved": "Учётные данные NPM сохранены",
    "saveFailed": "Не удалось сохранить учётные данные NPM",
    "loadFailed": "Не удалось загрузить учётные данные",
    "registryTokens": "Токены реестров",
    "registryTokensDesc": "Токены аутентификации реестров управляются для каждого реестра в разделе",
    "registriesLink": "Реестры",
    "registryTokensSuffix": ". Каждый реестр хранит свой токен в зашифрованном виде."
  },
  "settingsAuth": {
    "title": "Настройки аутентификации",
    "description": "Настройка режима аутентификации и управление пользователями.",
    "authMode": "Режим аутентификации",
    "local": "Локальный (логин/пароль)",
    "oidc": "OIDC (SSO)",
    "oidcConfig": "Конфигурация OIDC-провайдера",
    "issuerUrl": "URL издателя",
    "clientId": "ID клиента",
    "clientSecret": "Секрет клиента",
    "redirectUrl": "URL перенаправления",
    "saveSettings": "Сохранить настройки",
    "saving": "Сохранение...",
    "saved": "Настройки сохранены",
    "saveFailed": "Не удалось сохранить",
    "loadFailed": "Не удалось загрузить настройки",
    "localUsers": "Локальные пользователи",
    "username": "Имя пользователя",
    "email": "Email",
    "role": "Роль",
    "created": "Создан",
    "noUsers": "Пользователи не найдены.",
    "addUser": "Добавить пользователя",
    "viewer": "Наблюдатель",
    "admin": "Администратор",
    "userCreated": "Пользователь создан",
    "userDeleted": "Пользователь удалён",
    "createFailed": "Не удалось создать пользователя",
    "deleteFailed": "Не удалось удалить пользователя",
    "deleteConfirm": "Вы уверены, что хотите удалить этого пользователя?",
    "usernameRequired": "Имя пользователя и пароль обязательны"
  },
  "login": {
    "title": "Docker Watcher",
    "subtitle": "Войдите в свой аккаунт",
    "username": "Имя пользователя",
    "password": "Пароль",
    "signIn": "Войти",
    "signingIn": "Вход...",
    "or": "или",
    "ssoButton": "Войти через SSO (OIDC)",
    "loginFailed": "Ошибка входа",
    "networkError": "Ошибка сети"
  },
  "common": {
    "cancel": "Отмена",
    "confirm": "Подтвердить",
    "delete": "Удалить",
    "edit": "Изменить",
    "save": "Сохранить",
    "retry": "Повторить",
    "loading": "Загрузка...",
    "noData": "Нет данных",
    "project": "Проект",
    "back": "Назад",
    "actions": "Действия",
    "stop": "Остановить",
    "start": "Запустить",
    "restart": "Перезапустить",
    "remove": "Удалить",
    "instance": "экземпляр",
    "instances": "экземпляров"
  },
  "instance": {
    "stopConfirm": "Контейнер будет остановлен. Экземпляр можно будет запустить снова позже.",
    "restartConfirm": "Контейнер будет перезапущен с кратковременным простоем.",
    "removeConfirm": "Контейнер и его прокси-конфигурация будут безвозвратно удалены.",
    "actionFailed": "Действие не удалось"
  },
  "empty": {
    "noProjects": "Проектов пока нет",
    "noProjectsDesc": "Начните с создания первого проекта или используйте быстрый деплой.",
    "createProject": "Создать проект",
    "noInstances": "Нет экземпляров",
    "noInstancesDesc": "Разверните новую версию, чтобы увидеть экземпляры здесь.",
    "noDeploys": "Нет истории деплоев",
    "noDeploysDesc": "История деплоев появится здесь после первого развёртывания.",
    "noRegistries": "Нет реестров",
    "noRegistriesDesc": "Добавьте реестр контейнеров для обнаружения образов.",
    "noVolumes": "Нет томов",
    "noVolumesDesc": "Настройте монтирование томов для постоянных данных.",
    "noUsers": "Нет пользователей",
    "noUsersDesc": "Добавьте локальных пользователей для управления доступом."
  },
  "validation": {
    "required": "Поле {field} обязательно",
    "invalidUrl": "Неверный формат URL",
    "invalidDomain": "Неверный формат домена",
    "invalidIp": "Неверный формат IP",
    "invalidEmail": "Неверный формат email",
    "invalidPort": "Порт должен быть от 1 до 65535",
    "invalidPollingInterval": "Интервал опроса должен быть от 10 до 86400 секунд",
    "invalidProjectName": "Допускаются только строчные буквы, цифры и дефисы",
    "requiredWhenUpdating": "Поле {field} обязательно при обновлении учётных данных",
    "requiredForNew": "Поле {field} обязательно для новых реестров"
  },
  "confirm": {
    "stopInstance": "Остановить экземпляр",
    "startInstance": "Запустить экземпляр",
    "restartInstance": "Перезапустить экземпляр",
    "removeInstance": "Удалить экземпляр"
  },
  "theme": {
    "light": "Светлая",
    "dark": "Тёмная",
    "system": "Системная"
  },
  "language": {
    "en": "Английский",
    "ru": "Русский"
  }
}
