From 23b3adddf7c3b0e9cedfe3dbfb1f0db577333c21 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Tue, 25 Feb 2025 13:54:29 +0530 Subject: [PATCH] chore: russian translation updated (#2600) --- .../src/locales/ru/translations-extended.json | 1084 +++++++++++++++++ packages/i18n/src/store/index.ts | 2 + 2 files changed, 1086 insertions(+) create mode 100644 packages/i18n/src/locales/ru/translations-extended.json diff --git a/packages/i18n/src/locales/ru/translations-extended.json b/packages/i18n/src/locales/ru/translations-extended.json new file mode 100644 index 0000000000..f2202055a8 --- /dev/null +++ b/packages/i18n/src/locales/ru/translations-extended.json @@ -0,0 +1,1084 @@ +{ + "workspace_dashboards": "Дашборды", + "pi_chat": "Pi Чат", + "in_app": "В приложении", + "forms": "Формы", + + "common": { + "worklogs": "Рабочие журналы", + "live": "В реальном времени", + "epics": "Эпики", + "project_updates": "Обновления проекта", + "overview": "Обзор", + "workflows": "Рабочие процессы" + }, + + "issue": { + "relation": { + "start_before": "Начинается до", + "start_after": "Начинается после", + "finish_before": "Заканчивается до", + "finish_after": "Заканчивается после" + } + }, + + "profile": { + "actions": { + "connections": "Соединения" + } + }, + + "project_settings": { + "initiatives": { + "heading": "Инициативы", + "sub_heading": "Разблокируйте высший уровень организации для всей вашей работы в Plane.", + "title": "Включить инициативы", + "description": "Установите более крупные цели для мониторинга прогресса", + "toast": { + "updating": "Обновление функции инициатив", + "enable_success": "Функция инициатив успешно включена.", + "disable_success": "Функция инициатив успешно отключена.", + "error": "Не удалось обновить функцию инициатив!" + } + }, + "customers": { + "heading": "Клиенты", + "settings_heading": "Управляйте работой по атрибутам клиентов.", + "settings_sub_heading": "Начните с основных атрибутов клиентов на Plane, интегрируйте с вашим CRM или инструментом поддержки позже и управляйте работой по атрибутам клиентов." + }, + "empty_state": { + "integrations": { + "title": "Интеграции не настроены", + "description": "Настройте GitHub и другие интеграции для синхронизации ваших рабочих элементов проекта." + } + } + }, + + "teamspaces": { + "label": "Командные пространства", + "empty_state": { + "general": { + "title": "Командные пространства открывают лучшую организацию и отслеживание в Plane.", + "description": "Создайте выделенную поверхность для каждой реальной команды, отделенной от всех других рабочих поверхностей в Plane, и настройте их в соответствии с тем, как работает ваша команда.", + "primary_button": { + "text": "Создать новое командное пространство" + } + } + } + }, + + "teamspace_projects": { + "empty_state": { + "general": { + "title": "Начните с привязки проектов к этому командному пространству.", + "description": "Командные пространства связывают проекты, в которых находятся члены команды, чтобы вы могли видеть только их работу, их вклад в прогресс в этих проектах и метрики работы, специфичные для команды." + } + } + }, + + "teamspace_work_items": { + "empty_state": { + "no_work_items": { + "title": "Создайте специфические для команды рабочие элементы.", + "description": "Рабочие элементы, назначенные членам этой команды в любом связанном проекте, автоматически появятся здесь. Если вы ожидаете увидеть некоторые рабочие элементы здесь, убедитесь, что ваши связанные проекты имеют рабочие элементы, назначенные членам этой команды, или создайте рабочие элементы.", + "primary_button": { + "text": "Добавить рабочие элементы в связанный проект" + } + }, + "work_items_empty_filter": { + "title": "Нет специфических для команды рабочих элементов для примененных фильтров", + "description": "Измените некоторые из этих фильтров или очистите их все, чтобы увидеть рабочие элементы, относящиеся к этому пространству.", + "secondary_button": { + "text": "Очистить все фильтры" + } + } + } + }, + + "teamspace_cycles": { + "empty_state": { + "current": { + "title": "Ни один из ваших связанных проектов не имеет активного цикла.", + "description": "Активные циклы в связанных проектах автоматически появятся здесь. Если вы ожидаете увидеть активный цикл, убедитесь, что он работает в связанном проекте прямо сейчас." + }, + "completed": { + "title": "Ни один из ваших связанных проектов не имеет завершенного цикла.", + "description": "Завершенные циклы в связанных проектах автоматически появятся здесь. Если вы ожидаете увидеть завершенный цикл, убедитесь, что он также завершен в связанном проекте." + }, + "upcoming": { + "title": "Ни один из ваших связанных проектов не имеет предстоящего цикла.", + "description": "Предстоящие циклы в связанных проектах автоматически появятся здесь. Если вы ожидаете увидеть предстоящий цикл, убедитесь, что он есть в связанном проекте тоже." + } + } + }, + + "teamspace_views": { + "empty_state": { + "team_view": { + "title": "Вид вашей команды на вашу работу без нарушения других видов в вашем рабочем пространстве", + "description": "Смотрите работу вашей команды в представлениях, которые сохранены только для вашей команды и отдельно от представлений проекта.", + "primary_button": { + "text": "Создать представление" + } + }, + "project_view": { + "title": "Ни один из ваших связанных проектов не имеет публичных представлений.", + "description": "Публичные представления в связанных проектах автоматически появятся здесь. Чтобы увидеть публичные представления из связанных проектов здесь, убедитесь, что эти проекты имеют публичные представления, доступные всем членам проекта." + }, + "filter": { + "title": "Нет совпадающих представлений", + "description": "Нет представлений, соответствующих критериям поиска. \n Создайте новое представление вместо этого." + } + } + }, + + "teamspace_pages": { + "empty_state": { + "team_page": { + "title": "Сохраните знания вашей команды на страницах команды.", + "description": "В отличие от страниц в проекте, вы можете сохранить знания, специфичные для команды, в отдельном наборе страниц здесь. Получите все функции страниц, создайте документы с лучшими практиками и вики команды легко.", + "primary_button": { + "text": "Создать вашу первую командную страницу" + } + }, + "project_page": { + "title": "Ни один из ваших связанных проектов не имеет публичных страниц.", + "description": "Публичные страницы в связанных проектах автоматически появятся здесь. Если вы ожидаете увидеть публичные страницы здесь, убедитесь, что ваши связанные проекты имеют публичные страницы, доступные всем членам проекта." + }, + "filter": { + "title": "Нет совпадающих страниц", + "description": "Уберите фильтры, чтобы увидеть все страницы" + }, + "search": { + "title": "Нет совпадающих страниц", + "description": "Уберите критерии поиска, чтобы увидеть все страницы" + } + } + }, + + "teamspace_analytics": { + "empty_state": { + "progress": { + "title": "Ни один из ваших связанных проектов не имеет опубликованных рабочих элементов.", + "description": "Создайте некоторые рабочие элементы в одном или нескольких из этих проектов, чтобы увидеть прогресс по датам, состояниям и приоритетам." + }, + "relation": { + "blocking": { + "title": "У вас нет рабочих элементов, блокирующих товарища по команде.", + "description": "Отличная работа! Вы очистили путь для вашей команды. Вы хороший командный игрок." + }, + "blocked": { + "title": "У вас нет рабочих элементов товарища по команде, блокирующих вас.", + "description": "Хорошие новости! Вы можете продвигаться по всем вашим назначенным рабочим элементам." + } + }, + "stats": { + "general": { + "title": "Ни один из ваших связанных проектов не имеет опубликованных рабочих элементов.", + "description": "Создайте некоторые рабочие элементы в одном или нескольких из этих проектов, чтобы увидеть распределение работы по проектам и членам команды." + }, + "filter": { + "title": "Нет командной статистики для примененных фильтров.", + "description": "Создайте некоторые рабочие элементы в одном или нескольких из этих проектов, чтобы увидеть распределение работы по проектам и членам команды." + } + } + } + }, + + "initiatives": { + "label": "Инициативы", + "add_initiative": "Добавить инициативу", + "create_initiative": "Создать инициативу", + "update_initiative": "Обновить инициативу", + "initiative_name": "Название инициативы", + "all_initiatives": "Все инициативы", + "delete_initiative": "Удалить инициативу", + "fill_all_required_fields": "Пожалуйста, заполните все обязательные поля.", + "toast": { + "create_success": "Инициатива {name} успешно создана.", + "create_error": "Не удалось создать инициативу. Пожалуйста, попробуйте снова!", + "update_success": "Инициатива {name} успешно обновлена.", + "update_error": "Не удалось обновить инициативу. Пожалуйста, попробуйте снова!", + "delete": { + "success": "Инициатива успешно удалена.", + "error": "Не удалось удалить инициативу" + }, + "link_copied": "Ссылка на инициативу скопирована в буфер обмена.", + "project_update_success": "Проекты инициативы успешно обновлены.", + "project_update_error": "Не удалось обновить проекты инициативы. Пожалуйста, попробуйте снова!", + "epic_update_success": "Эпик{count, plural, one { успешно добавлен в инициативу.} other {ов добавлено в инициативу успешно.}}", + "epic_update_error": "Не удалось добавить эпик в инициативу. Пожалуйста, попробуйте позже." + }, + "empty_state": { + "general": { + "title": "Организуйте работу на самом высоком уровне с инициативами", + "description": "Когда вам нужно организовать работу, охватывающую несколько проектов и команд, инициативы приходят на помощь. Связывайте проекты и эпики с инициативами, смотрите автоматически свёрнутые обновления и видите леса, прежде чем доберётесь до деревьев.", + "primary_button": { + "text": "Создать инициативу" + } + }, + "search": { + "title": "Нет совпадающих инициатив", + "description": "Не обнаружено инициатив, соответствующих критериям. \n Создайте новую инициативу вместо этого." + }, + "not_found": { + "title": "Инициатива не существует", + "description": "Инициатива, которую вы ищете, не существует или была удалена.", + "primary_button": { + "text": "Посмотреть другие инициативы" + } + } + } + }, + + "workspace_pages": { + "empty_state": { + "general": { + "title": "Напишите заметку, документ или полную базу знаний. Попросите Галила, ИИ-помощника Plane, помочь вам начать", + "description": "Страницы — это пространство для мыслей в Plane. Записывайте заметки с встреч, форматируйте их легко, встраивайте рабочие элементы, раскладывайте их с помощью библиотеки компонентов и держите их все в контексте вашего проекта. Чтобы быстро справиться с любым документом, вызовите Галила, ИИ Plane, с помощью сочетания клавиш или нажатием кнопки.", + "primary_button": { + "text": "Создать вашу первую страницу" + } + }, + "private": { + "title": "Пока нет частных страниц", + "description": "Держите свои частные мысли здесь. Когда вы будете готовы поделиться, команда всего в одном клике." + }, + "public": { + "title": "Пока нет публичных страниц", + "description": "Смотрите страницы, поделенные со всеми в вашем рабочем пространстве, прямо здесь.", + "primary_button": { + "text": "Создать вашу первую страницу" + } + }, + "archived": { + "title": "Пока нет архивированных страниц", + "description": "Архивируйте страницы, которые не на вашем радаре. Получите к ним доступ здесь, когда это необходимо." + } + } + }, + + "epics": { + "label": "Эпики", + "no_epics_selected": "Эпики не выбраны", + "add_selected_epics": "Добавить выбранные эпики", + "epic_link_copied_to_clipboard": "Ссылка на эпик скопирована в буфер обмена.", + "project_link_copied_to_clipboard": "Ссылка на проект скопирована в буфер обмена", + "empty_state": { + "general": { + "title": "Создайте эпик и назначьте его кому-то, даже себе", + "description": "Для больших объемов работы, которые охватывают несколько циклов и могут существовать в разных модулях, создайте эпик. Связывайте рабочие элементы и подрабочие элементы в проекте с эпиком и переходите к рабочему элементу из обзора.", + "primary_button": { + "text": "Создать эпик" + } + }, + "section": { + "title": "Пока нет эпиков", + "description": "Начните добавлять эпики, чтобы управлять и отслеживать прогресс.", + "primary_button": { + "text": "Добавить эпики" + } + } + } + }, + + "epic_relation": { + "empty_state": { + "search": { + "title": "Совпадающих эпиков не найдено" + }, + "no_epics": { + "title": "Эпики не найдены" + } + } + }, + + "workspace_cycles": { + "empty_state": { + "active": { + "title": "Нет активных циклов", + "description": "Циклы ваших проектов, которые включают любой период, охватывающий сегодняшнюю дату в своем диапазоне. Найдите прогресс и детали всех ваших активных циклов здесь." + } + } + }, + + "active_cycle_analytics": { + "empty_state": { + "progress": { + "title": "Добавьте рабочие элементы в цикл, чтобы увидеть его \n прогресс" + }, + "priority": { + "title": "Наблюдайте за высокоприоритетными рабочими элементами, решаемыми в \n цикле на первый взгляд." + }, + "assignee": { + "title": "Добавьте назначенных к рабочим элементам, чтобы увидеть \n разбивку работы по назначенным." + }, + "label": { + "title": "Добавьте метки к рабочим элементам, чтобы увидеть \n разбивку работы по меткам." + } + } + }, + + "workspace_settings": { + "settings": { + "integrations": { + "title": "Интеграции" + }, + "imports": { + "title": "Импорт" + }, + "worklogs": { + "title": "Рабочие журналы" + }, + "project_states": { + "title": "Состояния проектов" + }, + "teamspaces": { + "title": "Командные пространства" + }, + "initiatives": { + "title": "Инициативы" + }, + "customers": { + "title": "Клиенты" + }, + "cancel_trial": { + "title": "Сначала отмените свою пробную версию.", + "description": "У вас есть активная пробная версия одного из наших платных планов. Пожалуйста, отмените ее сначала, чтобы продолжить.", + "dismiss": "Закрыть", + "cancel": "Отменить пробную версию", + "cancel_success_title": "Пробная версия отменена.", + "cancel_success_message": "Теперь вы можете удалить рабочее пространство.", + "cancel_error_title": "Это не сработало.", + "cancel_error_message": "Попробуйте снова, пожалуйста." + } + } + }, + + "bulk_operations": { + "error_details": { + "invalid_archive_state_group": { + "title": "Не удалось архивировать рабочие элементы", + "message": "Только рабочие элементы, принадлежащие завершенным или отмененным группам состояния, могут быть архивированы." + }, + "invalid_issue_start_date": { + "title": "Не удалось обновить рабочие элементы", + "message": "Выбранная дата начала превышает дату окончания для некоторых рабочих элементов. Убедитесь, что дата начала раньше даты окончания." + }, + "invalid_issue_target_date": { + "title": "Не удалось обновить рабочие элементы", + "message": "Выбранная дата окончания предшествует дате начала для некоторых рабочих элементов. Убедитесь, что дата окончания позже даты начала." + }, + "invalid_state_transition": { + "title": "Не удалось обновить рабочие элементы", + "message": "Изменение состояния не разрешено для некоторых рабочих элементов. Убедитесь, что изменение состояния разрешено." + } + } + }, + + "work_item_types": { + "label": "Типы рабочих элементов", + "label_lowercase": "типы рабочих элементов", + "settings": { + "title": "Типы рабочих элементов", + "properties": { + "title": "Пользовательские свойства", + "tooltip": "Каждый тип рабочего элемента имеет набор свойств по умолчанию, таких как Заголовок, Описание, Ответственный, Состояние, Приоритет, Дата начала, Дата окончания, Модуль, Цикл и т.д. Вы также можете настроить и добавить свои собственные свойства, чтобы адаптировать их к потребностям вашей команды.", + "add_button": "Добавить новое свойство", + "dropdown": { + "label": "Тип свойства", + "placeholder": "Выберите тип" + }, + "property_type": { + "text": { + "label": "Текст" + }, + "number": { + "label": "Число" + }, + "dropdown": { + "label": "Выпадающий список" + }, + "boolean": { + "label": "Логический" + }, + "date": { + "label": "Дата" + }, + "member_picker": { + "label": "Выбор участника" + } + }, + "attributes": { + "label": "Атрибуты", + "text": { + "single_line": { + "label": "Одна строка" + }, + "multi_line": { + "label": "Параграф" + }, + "readonly": { + "label": "Только для чтения", + "header": "Данные только для чтения" + }, + "invalid_text_format": { + "label": "Неверный текстовый формат" + } + }, + "number": { + "default": { + "placeholder": "Добавить число" + } + }, + "relation": { + "single_select": { + "label": "Один выбор" + }, + "multi_select": { + "label": "Множественный выбор" + }, + "no_default_value": { + "label": "Нет значения по умолчанию" + } + }, + "boolean": { + "label": "Истина | Ложь", + "no_default": "Нет значения по умолчанию" + }, + "option": { + "create_update": { + "label": "Опции", + "form": { + "placeholder": "Добавить опцию", + "errors": { + "name": { + "required": "Имя опции обязательно.", + "integrity": "Опция с таким именем уже существует." + } + } + } + }, + "select": { + "placeholder": { + "single": "Выберите опцию", + "multi": { + "default": "Выберите опции", + "variable": "{count} опций выбрано" + } + } + } + } + }, + "toast": { + "create": { + "success": { + "title": "Успех!", + "message": "Свойство {name} успешно создано." + }, + "error": { + "title": "Ошибка!", + "message": "Не удалось создать свойство. Пожалуйста, попробуйте снова!" + } + }, + "update": { + "success": { + "title": "Успех!", + "message": "Свойство {name} успешно обновлено." + }, + "error": { + "title": "Ошибка!", + "message": "Не удалось обновить свойство. Пожалуйста, попробуйте снова!" + } + }, + "delete": { + "success": { + "title": "Успех!", + "message": "Свойство {name} успешно удалено." + }, + "error": { + "title": "Ошибка!", + "message": "Не удалось удалить свойство. Пожалуйста, попробуйте снова!" + } + }, + "enable_disable": { + "loading": "{action} {name} свойство", + "success": { + "title": "Успех!", + "message": "Свойство {name} {action} успешно." + }, + "error": { + "title": "Ошибка!", + "message": "Не удалось {action} свойство. Пожалуйста, попробуйте снова!" + } + } + }, + "create_update": { + "form": { + "display_name": { + "placeholder": "Заголовок" + }, + "description": { + "placeholder": "Описание" + } + }, + "errors": { + "name": { + "required": "Вы должны назвать ваше свойство.", + "max_length": "Имя свойства не должно превышать 255 символов." + }, + "property_type": { + "required": "Вы должны выбрать тип свойства." + }, + "options": { + "required": "Вы должны добавить хотя бы одну опцию." + } + } + }, + "enable_disable": { + "label": "Активно", + "tooltip": { + "disabled": "Нажмите, чтобы отключить", + "enabled": "Нажмите, чтобы включить" + } + }, + "delete_confirmation": { + "title": "Удалить это свойство", + "description": "Удаление свойств может привести к потере существующих данных.", + "secondary_description": "Хотите отключить свойство вместо этого?", + "primary_button": "{action}, удалить его", + "secondary_button": "Да, отключить его" + }, + "mandate_confirmation": { + "label": "Обязательное свойство", + "content": "Похоже, что для этого свойства есть значение по умолчанию. Сделав свойство обязательным, вы удалите значение по умолчанию, и пользователи должны будут добавить значение по своему выбору.", + "tooltip": { + "disabled": "Этот тип свойства не может быть сделан обязательным", + "enabled": "Снимите отметку, чтобы отметить поле как необязательное", + "checked": "Установите отметку, чтобы отметить поле как обязательное" + } + }, + "empty_state": { + "title": "Добавьте пользовательские свойства", + "description": "Новые свойства, которые вы добавите для этого типа рабочего элемента, будут отображаться здесь." + } + } + }, + "create": { + "title": "Создать тип рабочего элемента", + "button": "Добавить тип рабочего элемента", + "toast": { + "success": { + "title": "Успех!", + "message": "Тип рабочего элемента успешно создан." + }, + "error": { + "title": "Ошибка!", + "message": "Не удалось создать тип рабочего элемента. Пожалуйста, попробуйте снова!" + } + } + }, + "update": { + "title": "Обновить тип рабочего элемента", + "button": "Обновить тип рабочего элемента", + "toast": { + "success": { + "title": "Успех!", + "message": "Тип рабочего элемента {name} успешно обновлен." + }, + "error": { + "title": "Ошибка!", + "message": "Не удалось обновить тип рабочего элемента. Пожалуйста, попробуйте снова!" + } + } + }, + "create_update": { + "form": { + "name": { + "placeholder": "Дайте этому типу рабочего элемента уникальное имя" + }, + "description": { + "placeholder": "Опишите, для чего предназначен этот тип рабочего элемента и когда его следует использовать." + } + } + }, + "enable_disable": { + "toast": { + "loading": "{action} {name} тип рабочего элемента", + "success": { + "title": "Успех!", + "message": "Тип рабочего элемента {name} {action} успешно." + }, + "error": { + "title": "Ошибка!", + "message": "Не удалось {action} тип рабочего элемента. Пожалуйста, попробуйте снова!" + } + }, + "tooltip": "Нажмите, чтобы {action}" + }, + "empty_state": { + "enable": { + "title": "Включить типы рабочих элементов", + "description": "Настройте рабочие элементы под свои нужды с помощью типов рабочих элементов. Настройте с помощью значков, фонов и свойств и настройте их для этого проекта.", + "primary_button": { + "text": "Включить" + }, + "confirmation": { + "title": "После включения типы рабочих элементов не могут быть отключены.", + "description": "Тип рабочего элемента Plane станет типом рабочего элемента по умолчанию для этого проекта и будет отображаться с его значком и фоном в этом проекте.", + "button": { + "default": "Включить", + "loading": "Настройка" + } + } + }, + "get_pro": { + "title": "Получите Pro, чтобы включить типы рабочих элементов.", + "description": "Настройте рабочие элементы под свои нужды с помощью типов рабочих элементов. Настройте с помощью значков, фонов и свойств и настройте их для этого проекта.", + "primary_button": { + "text": "Получить Pro" + } + }, + "upgrade": { + "title": "Обновите, чтобы включить типы рабочих элементов.", + "description": "Настройте рабочие элементы под свои нужды с помощью типов рабочих элементов. Настройте с помощью значков, фонов и свойств и настройте их для этого проекта.", + "primary_button": { + "text": "Обновить" + } + } + } + }, + + "importers": { + "imports": "Импорт", + "logo": "Логотип", + "import_message": "Импортируйте ваши данные {serviceName} в проекты Plane.", + "deactivate": "Деактивировать", + "deactivating": "Деактивируется", + "migrating": "Миграция", + "migrations": "Миграции", + "refreshing": "Обновление", + "import": "Импорт", + "serial_number": "Ср. №", + "project": "Проект", + "workspace": "workspace", + "status": "Статус", + "total_batches": "Всего партий", + "imported_batches": "Импортированные партии", + "re_run": "Запустить снова", + "cancel": "Отменить", + "start_time": "Время начала", + "no_jobs_found": "Работы не найдены", + "no_project_imports": "Вы еще не импортировали ни одного проекта {serviceName}.", + "cancel_import_job": "Отменить задачу импорта", + "cancel_import_job_confirmation": "Вы уверены, что хотите отменить эту задачу импорта? Это остановит процесс импорта для этого проекта.", + "re_run_import_job": "Запустить задачу импорта снова", + "re_run_import_job_confirmation": "Вы уверены, что хотите запустить эту задачу импорта снова? Это перезапустит процесс импорта для этого проекта.", + "upload_csv_file": "Загрузите CSV файл для импорта данных пользователей.", + "connect_importer": "Подключить {serviceName}", + "migration_assistant": "Ассистент миграции", + "migration_assistant_description": "Бесшовно мигрируйте ваши проекты {serviceName} в Plane с помощью нашего мощного ассистента.", + "token_helper": "Вы получите это от вашего", + "personal_access_token": "Личный токен доступа", + "source_token_expired": "Токен истек", + "source_token_expired_description": "Предоставленный токен истек. Пожалуйста, деактивируйте и переподключите с новым набором учетных данных.", + "user_email": "Электронная почта пользователя", + "select_state": "Выбрать состояние", + "select_service_project": "Выбрать проект {serviceName}", + "loading_service_projects": "Загрузка проектов {serviceName}", + "select_service_workspace": "Выбрать {serviceName} рабочее пространство", + "loading_service_workspaces": "Загрузка рабочих пространств {serviceName}", + "select_priority": "Выбрать приоритет", + "select_service_team": "Выбрать команду {serviceName}", + "add_seat_msg_free_trial": "Вы пытаетесь импортировать {additionalUserCount} незарегистрированных пользователей, и у вас всего {currentWorkspaceSubscriptionAvailableSeats} мест доступно в текущем плане. Чтобы продолжить импорт, обновите сейчас.", + "add_seat_msg_paid": "Вы пытаетесь импортировать {additionalUserCount} незарегистрированных пользователей, и у вас всего {currentWorkspaceSubscriptionAvailableSeats} мест доступно в текущем плане. Чтобы продолжить импорт, купите как минимум {extraSeatRequired} дополнительных мест.", + "skip_user_import_title": "Пропустить импорт данных пользователя", + "skip_user_import_description": "Пропуск импорта пользователя приведет к тому, что рабочие элементы, комментарии и другие данные от {serviceName} будут созданы пользователем, выполняющим миграцию в Plane. Вы все еще можете вручную добавить пользователей позже.", + "invalid_pat": "Недействительный личный токен доступа" + }, + + "integrations": { + "integrations": "Интеграции", + "loading": "Загрузка", + "unauthorized": "У вас нет прав для просмотра этой страницы.", + "configure": "Настроить", + "not_enabled": "{name} не включен для этого рабочего пространства.", + "not_configured": "Не настроено", + "disconnect_personal_account": "Отключить личный аккаунт {providerName}", + "not_configured_message_admin": "Интеграция {name} не настроена. Пожалуйста, свяжитесь с администратором вашей инстанции для настройки.", + "not_configured_message_support": "Интеграция {name} не настроена. Пожалуйста, свяжитесь с поддержкой для настройки.", + "external_api_unreachable": "Не удалось получить доступ к внешнему API. Пожалуйста, попробуйте снова позже.", + "error_fetching_supported_integrations": "Не удалось получить поддерживаемые интеграции. Пожалуйста, попробуйте снова позже.", + "back_to_integrations": "Назад к интеграциям", + "select_state": "Выбрать состояние" + }, + + "github_integration": { + "name": "GitHub", + "description": "Подключите и синхронизируйте ваши рабочие элементы GitHub с Plane.", + "connect_org": "Подключить организацию", + "connect_org_description": "Подключите вашу организацию GitHub к Plane.", + "processing": "Обработка", + "org_added_desc": "Организация GitHub добавлена и время", + "connection_fetch_error": "Ошибка получения данных подключения с сервера", + "personal_account_connected": "Личный аккаунт подключен", + "personal_account_connected_description": "Ваш личный аккаунт GitHub подключен к Plane.", + "connect_personal_account": "Подключить личный аккаунт", + "connect_personal_account_description": "Подключите ваш личный аккаунт GitHub к Plane.", + "repo_mapping": "Сопоставление репозиториев", + "repo_mapping_description": "Сопоставьте ваши репозитории GitHub с проектами Plane.", + "remove_entity": "Удалить сущность", + "remove_entity_confirmation": "Вы уверены, что хотите удалить эту сущность?", + "issue_sync_message": "Рабочие элементы синхронизированы с {project}", + "link": "Ссылка на репозиторий GitHub в проект Plane", + "pull_request_automation": "Автоматизация запросов на слияние", + "pull_request_automation_description": "Настройте сопоставление состояния запросов на слияние из GitHub в Plane", + "DRAFT_MR_OPENED": "При открытии чернового PR установить состояние на", + "MR_OPENED": "При открытии PR установить состояние на", + "MR_READY_FOR_MERGE": "При готовности PR к слиянию установить состояние на", + "MR_REVIEW_REQUESTED": "При запросе на обзор PR установить состояние на", + "MR_MERGED": "При слиянии PR установить состояние на", + "MR_CLOSED": "При закрытии PR установить состояние на" + }, + + "gitlab_integration": { + "name": "Gitlab", + "description": "Подключите и синхронизируйте ваши запросы на слияние Gitlab с Plane.", + "connection_fetch_error": "Ошибка получения данных подключения с сервера", + "connect_org": "Подключить организацию", + "connect_org_description": "Подключите вашу организацию Gitlab к Plane.", + "project_connections": "Подключения проектов Gitlab", + "project_connections_description": "Синхронизируйте запросы на слияние из Gitlab в проекты Plane.", + "plane_project_connection": "Подключение проекта Plane", + "plane_project_connection_description": "Настройте сопоставление состояния запросов на слияние из Gitlab в проекты Plane", + "remove_connection": "Удалить подключение", + "remove_connection_confirmation": "Вы уверены, что хотите удалить это подключение?", + "link": "Ссылка на репозиторий Gitlab в проект Plane", + "pull_request_automation": "Автоматизация запросов на слияние", + "pull_request_automation_description": "Настройте сопоставление состояния запросов на слияние из Gitlab в Plane", + "DRAFT_MR_OPENED": "При открытии чернового MR установить состояние на", + "MR_OPENED": "При открытии MR установить состояние на", + "MR_REVIEW_REQUESTED": "При запросе на обзор MR установить состояние на", + "MR_READY_FOR_MERGE": "При готовности MR к слиянию установить состояние на", + "MR_MERGED": "При слиянии MR установить состояние на", + "MR_CLOSED": "При закрытии MR установить состояние на", + "integration_enabled_text": "С включенной интеграцией Gitlab вы можете автоматизировать рабочие процессы рабочих элементов", + "choose_entity": "Выбрать сущность", + "choose_project": "Выбрать проект", + "link_plane_project": "Ссылка на проект Plane" + }, + + "slack_integration": { + "name": "Slack", + "description": "Подключите ваше рабочее пространство Slack к Plane.", + "connect_personal_account": "Подключите ваш личный аккаунт Slack к Plane.", + "personal_account_connected": "Ваш личный аккаунт {providerName} теперь подключен к Plane.", + "link_personal_account": "Связать ваш личный аккаунт {providerName} с Plane.", + "connected_slack_workspaces": "Подключенные рабочие пространства Slack", + "connected_on": "Подключено {date}", + "disconnect_workspace": "Отключить рабочее пространство {name}" + }, + + "file_upload": { + "upload_text": "Нажмите здесь, чтобы загрузить файл", + "drag_drop_text": "Перетащите и отпустите", + "processing": "Обработка", + "invalid": "Недопустимый тип файла", + "missing_fields": "Отсутствуют поля", + "success": "{fileName} загружен!" + }, + + "silo_errors": { + "invalid_query_params": "Предоставленные параметры запроса недействительны или отсутствуют обязательные поля", + "invalid_installation_account": "Предоставленный аккаунт установки недействителен", + "generic_error": "Произошла неожиданная ошибка при обработке вашего запроса", + "connection_not_found": "Запрашиваемое подключение не найдено", + "multiple_connections_found": "Найдено несколько подключений, когда ожидалось только одно", + "installation_not_found": "Запрашиваемая установка не найдена", + "user_not_found": "Запрашиваемый пользователь не найден", + "error_fetching_token": "Не удалось получить токен аутентификации" + }, + + "import_status": { + "created": "Создано", + "initiated": "Инициировано", + "pulling": "Извлечение", + "pulled": "Извлечено", + "transforming": "Преобразование", + "transformed": "Преобразовано", + "pushing": "Отправка", + "finished": "Завершено", + "error": "Ошибка", + "cancelled": "Отменено" + }, + + "jira_importer": { + "jira_importer_description": "Импортируйте ваши данные Jira в проекты Plane.", + "personal_access_token": "Личный токен доступа", + "user_email": "Электронная почта пользователя", + "atlassian_security_settings": "Настройки безопасности Atlassian", + "email_description": "Это электронная почта, связанная с вашим личным токеном доступа", + "jira_domain": "Домен Jira", + "jira_domain_description": "Это домен вашей инстанции Jira", + "steps": { + "title_configure_plane": "Настроить Plane", + "description_configure_plane": "Пожалуйста, сначала создайте проект в Plane, в который вы собираетесь мигрировать ваши данные Jira. После создания проекта выберите его здесь.", + "title_configure_jira": "Настроить Jira", + "description_configure_jira": "Пожалуйста, выберите рабочее пространство Jira, из которого вы хотите мигрировать ваши данные.", + "title_import_users": "Импортировать пользователей", + "description_import_users": "Пожалуйста, добавьте пользователей, которых вы хотите мигрировать из Jira в Plane. В качестве альтернативы вы можете пропустить этот шаг и вручную добавить пользователей позже.", + "title_map_states": "Сопоставить состояния", + "description_map_states": "Мы автоматически сопоставили статусы Jira с состояниями Plane наилучшим образом. Пожалуйста, сопоставьте любые оставшиеся состояния перед продолжением, вы также можете создать состояния и сопоставить их вручную.", + "title_map_priorities": "Сопоставить приоритеты", + "description_map_priorities": "Мы автоматически сопоставили приоритеты наилучшим образом. Пожалуйста, сопоставьте любые оставшиеся приоритеты перед продолжением.", + "title_summary": "Резюме", + "description_summary": "Вот резюме данных, которые будут мигрированы из Jira в Plane." + } + }, + + "asana_importer": { + "asana_importer_description": "Импортируйте ваши данные Asana в проекты Plane.", + "select_asana_priority_field": "Выберите поле приоритета Asana", + "steps": { + "title_configure_plane": "Настроить Plane", + "description_configure_plane": "Пожалуйста, сначала создайте проект в Plane, в который вы собираетесь мигрировать ваши данные Asana. После создания проекта выберите его здесь.", + "title_configure_asana": "Настроить Asana", + "description_configure_asana": "Пожалуйста, выберите рабочее пространство и проект Asana, из которых вы хотите мигрировать ваши данные.", + "title_map_states": "Сопоставить состояния", + "description_map_states": "Пожалуйста, выберите состояния Asana, которые вы хотите сопоставить с состояниями проектов Plane.", + "title_map_priorities": "Сопоставить приоритеты", + "description_map_priorities": "Пожалуйста, выберите приоритеты Asana, которые вы хотите сопоставить с приоритетами проектов Plane.", + "title_summary": "Резюме", + "description_summary": "Вот резюме данных, которые будут мигрированы из Asana в Plane." + } + }, + + "linear_importer": { + "linear_importer_description": "Импортируйте ваши данные Linear в проекты Plane.", + "steps": { + "title_configure_plane": "Настроить Plane", + "description_configure_plane": "Пожалуйста, сначала создайте проект в Plane, в который вы собираетесь мигрировать ваши данные Linear. После создания проекта выберите его здесь.", + "title_configure_linear": "Настроить Linear", + "description_configure_linear": "Пожалуйста, выберите команду Linear, из которой вы хотите мигрировать ваши данные.", + "title_map_states": "Сопоставить состояния", + "description_map_states": "Мы автоматически сопоставили статусы Linear с состояниями Plane наилучшим образом. Пожалуйста, сопоставьте любые оставшиеся состояния перед продолжением, вы также можете создать состояния и сопоставить их вручную.", + "title_map_priorities": "Сопоставить приоритеты", + "description_map_priorities": "Пожалуйста, выберите приоритеты Linear, которые вы хотите сопоставить с приоритетами проектов Plane.", + "title_summary": "Резюме", + "description_summary": "Вот резюме данных, которые будут мигрированы из Linear в Plane." + } + }, + + "jira_server_importer": { + "jira_server_importer_description": "Импортируйте ваши данные Jira Server в проекты Plane.", + "steps": { + "title_configure_plane": "Настроить Plane", + "description_configure_plane": "Пожалуйста, сначала создайте проект в Plane, в который вы собираетесь мигрировать ваши данные Jira Server. После создания проекта выберите его здесь.", + "title_configure_jira": "Настроить Jira", + "description_configure_jira": "Пожалуйста, выберите рабочее пространство Jira, из которого вы хотите мигрировать ваши данные.", + "title_map_states": "Сопоставить состояния", + "description_map_states": "Пожалуйста, выберите состояния Jira, которые вы хотите сопоставить с состояниями проектов Plane.", + "title_map_priorities": "Сопоставить приоритеты", + "description_map_priorities": "Пожалуйста, выберите приоритеты Jira, которые вы хотите сопоставить с приоритетами проектов Plane.", + "title_summary": "Резюме", + "description_summary": "Вот резюме данных, которые будут мигрированы из Jira Server в Plane." + } + }, + + "flatfile_importer": { + "flatfile_importer_description": "Импортируйте ваши данные CSV в проекты Plane.", + "steps": { + "title_configure_plane": "Настроить Plane", + "description_configure_plane": "Пожалуйста, сначала создайте проект в Plane, в который вы собираетесь мигрировать ваши данные CSV. После создания проекта выберите его здесь.", + "title_configure_csv": "Настроить CSV", + "description_configure_csv": "Пожалуйста, загрузите ваш файл CSV и настройте поля для сопоставления с полями Plane." + } + }, + + "dashboards": { + "widget": { + "chart_types": { + "bar_chart": { + "short_label": "Бар", + "long_label": "Баровая диаграмма" + }, + "line_chart": { + "short_label": "Линия", + "long_label": "Линейная диаграмма" + }, + "area_chart": { + "short_label": "Площадь", + "long_label": "Площадная диаграмма" + }, + "donut_chart": { + "short_label": "Пончик", + "long_label": "Диаграмма-пончик" + }, + "pie_chart": { + "short_label": "Пирог", + "long_label": "Круговая диаграмма" + }, + "text": { + "short_label": "Текст", + "long_label": "Текст" + } + } + } + }, + + "workflows": { + "workflow_states": { + "work_item_creation": "Разрешить новые рабочие элементы", + "default_state": "Стандартное состояние позволяет всем участникам создавать новые рабочие элементы. Это нельзя изменить", + "state_change_count": "{count, plural, one {1 разрешенное изменение состояния} other {{count} разрешенных изменения состояния}}", + "movers_count": "{count, plural, one {1 указанный перемещатель} other {{count} указанных перемещателей}}", + "state_changes": { + "label": { + "default": "Добавить разрешенное изменение состояния", + "loading": "Добавление разрешенного изменения состояния" + }, + "move_to": "Переместить в", + "movers": { + "label": "Когда перемещено", + "tooltip": "Перемещатели — это люди, которым разрешено перемещать рабочие элементы из одного состояния в другое.", + "add": "Добавить перемещателей" + } + } + }, + "workflow_disabled": { + "title": "Вы не можете переместить этот рабочий элемент сюда." + }, + "workflow_enabled": { + "label": "Изменение состояния" + }, + "workflow_tree": { + "label": "Для рабочих элементов в", + "state_change_label": "можно переместить в" + }, + "empty_state": { + "upgrade": { + "title": "Контролируйте хаос изменений и проверок с помощью Рабочих процессов.", + "description": "Установите правила для того, куда перемещается ваша работа, кем и когда с помощью Рабочих процессов в Plane." + } + }, + "quick_actions": { + "view_change_history": "Просмотреть историю изменений", + "reset_workflow": "Сбросить рабочий процесс" + }, + "confirmation_modals": { + "reset_workflow": { + "title": "Вы уверены, что хотите сбросить этот рабочий процесс?", + "description": "Если вы сбросите этот рабочий процесс, все ваши правила изменения состояния будут удалены, и вам придется создать их заново, чтобы они работали в этом проекте." + }, + "delete_state_change": { + "title": "Вы уверены, что хотите удалить это правило изменения состояния?", + "description": "После удаления вы не сможете отменить это изменение, и вам придется установить правило снова, если вы хотите, чтобы оно работало для этого проекта." + } + }, + "toasts": { + "enable_disable": { + "loading": "{action} рабочие процессы", + "success": { + "title": "Рабочие процессы {action} успешно", + "message": "Рабочие процессы {action} успешно" + }, + "error": { + "title": "Ошибка {action} рабочих процессов", + "message": "Рабочие процессы не могут быть {action}. Пожалуйста, попробуйте снова." + } + }, + "reset": { + "success": { + "title": "Рабочие процессы успешно сброшены", + "message": "Рабочие процессы успешно сброшены" + }, + "error": { + "title": "Ошибка сброса рабочих процессов", + "message": "Рабочие процессы не могут быть сброшены. Пожалуйста, попробуйте снова." + } + }, + "add_state_change_rule": { + "error": { + "title": "Ошибка добавления правила изменения состояния", + "message": "Правило изменения состояния не может быть добавлено. Пожалуйста, попробуйте снова." + } + }, + "modify_state_change_rule": { + "error": { + "title": "Ошибка изменения правила изменения состояния", + "message": "Правило изменения состояния не может быть изменено. Пожалуйста, попробуйте снова." + } + }, + "remove_state_change_rule": { + "error": { + "title": "Ошибка удаления правила изменения состояния", + "message": "Правило изменения состояния не может быть удалено. Пожалуйста, попробуйте снова." + } + }, + "modify_state_change_rule_movers": { + "error": { + "title": "Ошибка изменения утверждающих правил изменения состояния", + "message": "Утверждающие правила изменения состояния не могут быть изменены. Пожалуйста, попробуйте снова." + } + } + } + }, + + "customers": { + "label": "{count, plural, one {Клиент} other {Клиенты}}", + "properties": { + "default": { + "title": "Стандартные свойства", + "customer_name": "Имя клиента", + "description": "Описание", + "email": "Электронная почта", + "website_url": "URL сайта", + "employees": "Сотрудники", + "domain": "Домен", + "stage": "Этап", + "contract_status": "Статус контракта", + "revenue": "Доход" + }, + "custom": { + "title": "Пользовательские свойства", + "info": "Настройте свои свойства клиента здесь. Выберите из различных типов свойств для агрегирования данных ваших клиентов." + }, + "empty_state": { + "title": "Добавьте пользовательские свойства", + "description": "Новые свойства, которые вы добавите для клиента, будут отображаться здесь" + }, + "add": { + "primary_button": "Добавить новое свойство" + } + }, + "settings": { + "unauthorized": "У вас нет прав для доступа к этой странице.", + "description": "Отслеживайте и управляйте отношениями с клиентами в вашем рабочем процессе.", + "enable": "Включить клиентов", + "toasts": { + "enable": { + "loading": "Включение функции клиентов...", + "success": { + "title": "Клиенты включены", + "message": "Отслеживайте и управляйте отношениями с клиентами." + }, + "error": { + "title": "Ошибка", + "message": "Не удалось включить функцию клиентов!" + } + }, + "disable": { + "loading": "Отключение функции клиентов...", + "success": { + "title": "Клиенты отключены", + "message": "Функция клиентов успешно отключена!" + }, + "error": { + "title": "Ошибка", + "message": "Не удалось отключить функцию клиентов!" + } + } + } + } + } +} diff --git a/packages/i18n/src/store/index.ts b/packages/i18n/src/store/index.ts index ac3391d99c..efc4c16329 100644 --- a/packages/i18n/src/store/index.ts +++ b/packages/i18n/src/store/index.ts @@ -180,6 +180,8 @@ export class TranslationStore { return import("../locales/ja/translations-extended.json"); case "zh-CN": return import("../locales/zh-CN/translations-extended.json"); + case "ru": + return import("../locales/ru/translations-extended.json"); default: throw new Error(`Unsupported language: ${language}`); }