449 lines
23 KiB
JavaScript
449 lines
23 KiB
JavaScript
export default {
|
||
'nav.today': 'Сегодня',
|
||
'nav.inbox': 'Неразобранное',
|
||
'nav.activity': 'Активность',
|
||
'nav.journal': 'Журнал',
|
||
'nav.clients': 'Клиенты',
|
||
'nav.projects': 'Проекты',
|
||
'nav.recipes': 'Рецепты',
|
||
'nav.documents': 'Документы',
|
||
'nav.archive': 'Архив',
|
||
'nav.sections': 'Разделы',
|
||
'nav.cases': 'Дела',
|
||
'nav.noCases': 'Нет дел',
|
||
'nav.sync': 'Синхронизация',
|
||
'nav.syncSettings': 'Настройки синхронизации',
|
||
'nav.syncNow': 'Синхронизировать',
|
||
'nav.selectPrompt': 'Выберите раздел или дело',
|
||
'nav.brand': 'Верстак',
|
||
'nav.system': 'Системное',
|
||
'nav.workspace': 'Рабочее пространство',
|
||
'nav.noNodes': 'Нет узлов',
|
||
'nav.openFolder': 'Открыть папку',
|
||
'nav.createInside': 'Создать внутри',
|
||
'nav.createNode': 'Создать элемент',
|
||
'nav.moveToRoot': 'Переместить в корень',
|
||
|
||
'tab.overview': 'Обзор',
|
||
'tab.notes': 'Заметки',
|
||
'tab.files': 'Файлы',
|
||
'tab.actions': 'Действия',
|
||
'tab.worklog': 'Журнал',
|
||
'tab.activity': 'Активность',
|
||
|
||
'common.save': 'Сохранить',
|
||
'common.cancel': 'Отмена',
|
||
'common.delete': 'Удалить',
|
||
'common.rename': 'Переименовать',
|
||
'common.close': 'Закрыть',
|
||
'common.create': 'Создать',
|
||
'common.confirm': 'Подтверждение',
|
||
'common.back': '← Назад',
|
||
'common.backLabel': 'Назад',
|
||
'common.loading': 'Загрузка...',
|
||
'common.error': 'Ошибка:',
|
||
'common.yes': 'Да',
|
||
'common.ok': 'OK',
|
||
'common.copy': 'Копировать',
|
||
'common.cut': 'Вырезать',
|
||
'common.paste': 'Вставить',
|
||
'common.duplicate': 'Дублировать',
|
||
'common.run': 'Запустить',
|
||
'common.test': 'Test',
|
||
'common.all': 'Все',
|
||
'common.open': 'Открыть',
|
||
'common.no': 'Нет',
|
||
'common.date': 'Дата',
|
||
'common.search': 'Найти',
|
||
'common.testAgain': 'Проверить',
|
||
'common.connect': 'Подключиться',
|
||
'common.disconnect': 'Отключиться',
|
||
'common.settings': 'Настройки',
|
||
'common.name': 'Название',
|
||
'common.type': 'Тип',
|
||
'common.section': 'Раздел',
|
||
'common.created': 'Создано',
|
||
'common.empty': 'Нет',
|
||
'common.newName': 'Новое имя',
|
||
|
||
'welcome.title': 'Верстак',
|
||
'welcome.selectSection': 'Выберите раздел в боковой панели.',
|
||
'welcome.createCase': 'Или создайте новое дело кнопкой «+».',
|
||
'welcome.addCase': 'Добавить дело',
|
||
|
||
'event.noteCreated': 'Заметка создана',
|
||
'event.noteUpdated': 'Заметка изменена',
|
||
'event.fileAdded': 'Файл добавлен',
|
||
'event.fileDeleted': 'Файл удалён',
|
||
'event.fileRenamed': 'Файл переименован',
|
||
'event.fileCopied': 'Файл скопирован',
|
||
'event.fileMoved': 'Файл перемещён',
|
||
'event.folderAdded': 'Папка добавлена',
|
||
'event.folderDeleted': 'Папка удалена',
|
||
'event.folderRenamed': 'Папка переименована',
|
||
'event.caseCreated': 'Дело создано',
|
||
'event.caseUpdated': 'Дело изменено',
|
||
|
||
'kind.project': 'Проект',
|
||
'kind.client': 'Клиент',
|
||
'kind.document': 'Документ',
|
||
'kind.recipe': 'Рецепт',
|
||
'kind.folder': 'Папка',
|
||
'kind.note': 'Заметка',
|
||
'kind.file': 'Файл',
|
||
'kind.archive': 'Архив',
|
||
'kind.case': 'Дело',
|
||
|
||
'action.openUrl': 'Открыть URL',
|
||
'action.openFile': 'Открыть файл',
|
||
'action.openFolder': 'Открыть папку',
|
||
'action.runCommand': 'Запустить команду',
|
||
'action.runScript': 'Запустить скрипт',
|
||
'action.openTerminal': 'Открыть терминал',
|
||
'action.launchApp': 'Запустить приложение',
|
||
'action.addAction': '+ Добавить действие',
|
||
'action.newAction': 'Новое действие',
|
||
'action.noActions': 'Действий пока нет',
|
||
'action.run': 'Запустить',
|
||
'action.dataUrl': 'URL',
|
||
'action.dataPath': 'Путь',
|
||
'action.dataCommand': 'Команда',
|
||
'action.urlPlaceholder': 'https://example.com',
|
||
'action.pathPlaceholder': '/path/to/file',
|
||
'action.commandPlaceholder': 'команда',
|
||
'action.namePlaceholder': 'Например: Открыть сайт',
|
||
|
||
'note.add': '+ Добавить заметку',
|
||
'note.new': 'Новая заметка',
|
||
'note.title': 'Название заметки',
|
||
'note.noNotes': 'Нет заметок',
|
||
'note.createFirst': 'Создайте первую заметку для этого дела.',
|
||
'note.placeholder': 'Начните писать...',
|
||
'note.unsavedTitle': 'Несохранённые изменения',
|
||
'note.unsavedMessage': 'Закрыть редактор? Все несохранённые изменения будут потеряны.',
|
||
'note.unsavedClose': 'Закрыть',
|
||
|
||
'file.addFile': '+ Добавить файл',
|
||
'file.addFolder': '+ Добавить папку',
|
||
'file.newFile': '+ Новый файл',
|
||
'file.addFileSimple': 'Добавить файл',
|
||
'file.addFolderSimple': 'Добавить папку',
|
||
'file.noFiles': 'В этой папке пока нет файлов',
|
||
'file.noFilesCase': 'В этом проекте пока нет файлов',
|
||
'file.hint': 'Добавьте файл или папку, чтобы сохранить материалы проекта.',
|
||
'file.root': 'Файлы',
|
||
'file.preview': 'Предпросмотр',
|
||
'file.openExternal': 'Открыть во внешней программе',
|
||
'file.openFolder': 'Открыть папку',
|
||
'file.showInExplorer': 'Показать в проводнике',
|
||
'file.more': 'Ещё',
|
||
'file.delete': 'Удалить',
|
||
'file.ariaFolder': 'Папка',
|
||
'file.ariaFile': 'Файл',
|
||
'file.scanning': 'Сканирование...',
|
||
'file.pickSingle': 'Выберите файл',
|
||
'file.pickMultiple': 'Выберите файлы',
|
||
'file.pickDirectory': 'Выберите папку',
|
||
'file.importTitle': 'Добавить в',
|
||
'file.importFiles': 'Файлов:',
|
||
'file.importFolders': 'Папок:',
|
||
'file.importSize': 'Размер:',
|
||
'file.importCopy': 'Скопировать',
|
||
'file.importLink': 'Привязать',
|
||
'file.selectCaseFirst': 'Сначала выберите дело для добавления файлов',
|
||
|
||
'worklog.title': 'Журнал',
|
||
'worklog.whatDone': 'Что сделано',
|
||
'worklog.minutes': 'Мин',
|
||
'worklog.min': 'мин',
|
||
'worklog.log': 'Записать',
|
||
'worklog.addEntry': 'Добавить запись',
|
||
'worklog.acceptSuggestion': 'Принять предложение',
|
||
'worklog.editEntry': 'Редактировать запись',
|
||
'worklog.deleteEntry': 'Удалить запись',
|
||
'worklog.deleteConfirm': 'Удалить эту запись работы? Связанные события останутся в активности, но связь с записью будет удалена.',
|
||
'worklog.date': 'Дата',
|
||
'worklog.empty': 'Записей работы пока нет',
|
||
'worklog.details': 'Детали',
|
||
'worklog.source': 'Источник',
|
||
'worklog.sourceSuggestion': 'Из предложения',
|
||
'worklog.sourceSuggestionNoEvents': 'Из предложения, но связанные события отсутствуют',
|
||
'worklog.sourceManual': 'Ручная запись',
|
||
'worklog.sourceUnknown': 'Источник неизвестен',
|
||
'worklog.suggestions': 'Предложения на сегодня',
|
||
'worklog.apply': 'Применить',
|
||
|
||
'sync.title': 'Синхронизация',
|
||
'sync.settings': 'Настройки синхронизации',
|
||
'sync.status': 'Статус',
|
||
'sync.server': 'Сервер',
|
||
'sync.device': 'Устройство',
|
||
'sync.deviceId': 'ID устройства',
|
||
'sync.unpushed': 'Неотправлено',
|
||
'sync.lastSync': 'Последняя синх.',
|
||
'sync.revoked': 'Отозвано',
|
||
'sync.connected': 'Подключено',
|
||
'sync.notConnected': 'Не подключено',
|
||
'sync.disabled': 'Отключена',
|
||
'sync.serverUrl': 'URL сервера',
|
||
'sync.serverUrlPlaceholder': 'https://example.com:47732',
|
||
'sync.username': 'Логин',
|
||
'sync.usernamePlaceholder': 'username',
|
||
'sync.password': 'Пароль',
|
||
'sync.passwordPlaceholder': 'password',
|
||
'sync.interval': 'Автосинхронизация (мин)',
|
||
'sync.saveInterval': 'Сохранить интервал',
|
||
'sync.syncNow': 'Синхронизировать',
|
||
'sync.disconnect': 'Отключиться',
|
||
'sync.connect': 'Подключиться',
|
||
'sync.test': 'Проверить',
|
||
'sync.settingsSaved': 'интервал сохранён',
|
||
|
||
'today.title': 'Сегодня',
|
||
'today.changedCases': 'Изменён сегодня',
|
||
'today.timeline': 'Лента за сегодня',
|
||
'today.empty': 'Сегодня пока тихо',
|
||
'today.emptyHint': 'Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.',
|
||
'today.plural.case_one': 'дело',
|
||
'today.plural.case_few': 'дела',
|
||
'today.plural.case_many': 'дел',
|
||
'today.plural.note_one': 'заметка',
|
||
'today.plural.note_few': 'заметки',
|
||
'today.plural.note_many': 'заметок',
|
||
'today.plural.file_one': 'файл',
|
||
'today.plural.file_few': 'файла',
|
||
'today.plural.file_many': 'файлов',
|
||
'today.plural.event_one': 'событие',
|
||
'today.plural.event_few': 'события',
|
||
'today.plural.event_many': 'событий',
|
||
|
||
'journal.title': 'Журнал работы',
|
||
'journal.empty': 'Нет записей за выбранный период',
|
||
'journal.dateFrom': 'От',
|
||
'journal.dateTo': 'До',
|
||
'journal.filter': 'Фильтр',
|
||
'journal.total': 'Всего',
|
||
'journal.exportCSV': 'CSV',
|
||
'journal.exportMarkdown': 'Markdown',
|
||
'journal.billable': 'К оплате',
|
||
'journal.billableYes': 'К оплате',
|
||
'journal.billableNo': 'Не к оплате',
|
||
'journal.billableHint': 'К оплате — можно включать в счёт клиенту',
|
||
'journal.approx': 'Тип времени',
|
||
'journal.approxExact': 'Точное',
|
||
'journal.approxEstimated': 'Оценочное',
|
||
'journal.approxHint': 'Оценочное — время предложено системой или введено как примерное',
|
||
'journal.includeChildrenDisabledHint': 'Работает только при выбранном деле/клиенте/проекте',
|
||
'journal.node': 'Дело',
|
||
'journal.path': 'Путь',
|
||
'journal.byDay': 'По дням',
|
||
'journal.byNode': 'По делам',
|
||
'journal.includeChildren': 'Учитывать вложенные дела',
|
||
'journal.nodeSearch': 'Поиск дела...',
|
||
'journal.relatedEvents': 'Связанные события',
|
||
'journal.filterHeading': 'Фильтры',
|
||
'journal.exportHeading': 'Экспорт отчёта',
|
||
'journal.reset': 'Сбросить',
|
||
|
||
'suggest.title': 'Предложения на сегодня',
|
||
'suggest.apply': 'Записать',
|
||
'suggest.dismiss': 'Скрыть',
|
||
'suggest.open': 'Открыть',
|
||
'suggest.confidence.low': 'Низкая уверенность',
|
||
'suggest.confidence.medium': 'Средняя уверенность',
|
||
'suggest.confidence.high': 'Высокая уверенность',
|
||
'suggest.minutes': 'мин',
|
||
'suggest.edit': 'Изменить',
|
||
'suggest.noSuggestions': 'Нет предложений для журнала',
|
||
'suggest.detectedEvents': 'Что обнаружено',
|
||
|
||
'activity.title': 'Активность',
|
||
'activity.empty': 'Активность пока не зафиксирована',
|
||
'activity.perCaseEmpty': 'Активность пока не зафиксирована',
|
||
|
||
'overview.type': 'Тип',
|
||
'overview.section': 'Раздел',
|
||
'overview.created': 'Создано',
|
||
'overview.newNote': 'Новая заметка',
|
||
'overview.addFile': 'Добавить файл',
|
||
'overview.addAction': 'Добавить действие',
|
||
'overview.logTime': 'Записать время',
|
||
'overview.recentNotes': 'Последние заметки',
|
||
'overview.recentEntries': 'Последние записи',
|
||
|
||
'rename.title': 'Переименовать',
|
||
'rename.emptyError': 'Имя не может быть пустым',
|
||
'rename.invalidError': 'Недопустимое имя',
|
||
|
||
'delete.confirmTitle': 'Удаление',
|
||
'delete.confirmMessage': 'Удалить',
|
||
'delete.folder': 'папку',
|
||
'delete.file': 'файл',
|
||
|
||
'template.optionNone': 'Пустое дело',
|
||
'template.optional': 'Шаблон (опционально)',
|
||
'template.none.desc': 'Без шаблона, простой узел-контейнер',
|
||
'template.folder': 'Папка',
|
||
'template.folder.desc': 'Папка для группировки элементов внутри рабочего пространства',
|
||
'template.project': 'Проект',
|
||
'template.project.desc': 'Отдельный проект или задача с файлами, заметками и журналом',
|
||
'template.client': 'Клиент',
|
||
'template.client.desc': 'Организация или человек, для которых ведутся работы',
|
||
'template.document': 'Документ',
|
||
'template.document.desc': 'Документ с описанием, заметками и файлами',
|
||
'template.recipe': 'Рецепт',
|
||
'template.recipe.desc': 'Повторяемая процедура или инструкция',
|
||
'template.note': 'Заметка',
|
||
'template.file': 'Файл',
|
||
'template.select': 'Выберите тип',
|
||
|
||
'mime.jpeg': 'Изображение JPEG',
|
||
'mime.png': 'Изображение PNG',
|
||
'mime.gif': 'Изображение GIF',
|
||
'mime.webp': 'Изображение WebP',
|
||
'mime.svg': 'Изображение SVG',
|
||
'mime.bmp': 'Изображение BMP',
|
||
'mime.tiff': 'Изображение TIFF',
|
||
'mime.avif': 'Изображение AVIF',
|
||
'mime.pdf': 'PDF документ',
|
||
'mime.word': 'Документ Word',
|
||
'mime.excel': 'Таблица Excel',
|
||
'mime.ppt': 'Презентация PowerPoint',
|
||
'mime.zip': 'ZIP архив',
|
||
'mime.gzip': 'GZIP архив',
|
||
'mime.tar': 'TAR архив',
|
||
'mime.sevenz': '7z архив',
|
||
'mime.rar': 'RAR архив',
|
||
'mime.text': 'Текстовый файл',
|
||
'mime.html': 'HTML файл',
|
||
'mime.css': 'CSS файл',
|
||
'mime.js': 'JavaScript файл',
|
||
'mime.json': 'JSON файл',
|
||
'mime.xml': 'XML файл',
|
||
'mime.yaml': 'YAML файл',
|
||
'mime.binary': 'Бинарный файл',
|
||
'mime.executable': 'Исполняемый файл',
|
||
'mime.folder': 'Папка',
|
||
'mime.unknown': 'Неизвестно',
|
||
'mime.file': 'Файл',
|
||
|
||
'error.nameEmpty': 'Имя не может быть пустым',
|
||
'error.nameInvalid': 'Недопустимое имя',
|
||
'error.selectCaseFirst': 'Сначала выберите дело',
|
||
'error.vaultNotOpen': 'Хранилище не открыто',
|
||
'delete.files': 'файлов ({count})',
|
||
'file.namePrompt': 'Введите имя файла:',
|
||
'file.pdfUnavailable': 'Предпросмотр PDF недоступен.',
|
||
'file.previewUnavailable': 'Предпросмотр недоступен для этого типа файлов.',
|
||
'case.new': 'Новое дело',
|
||
'case.namePlaceholder': 'Название дела',
|
||
|
||
'settings.title': 'Настройки',
|
||
'settings.general': 'Общие',
|
||
'settings.generalDesc': 'Основные настройки интерфейса.',
|
||
'settings.workspace': 'Рабочее пространство',
|
||
'settings.workspaceDesc': 'Управление хранилищем данных.',
|
||
'settings.appearance': 'Внешний вид',
|
||
'settings.localization': 'Локализация',
|
||
'settings.templates': 'Шаблоны',
|
||
'settings.plugins': 'Плагины',
|
||
'settings.files': 'Файлы',
|
||
'settings.activity': 'Активность',
|
||
'settings.sync': 'Синхронизация',
|
||
'settings.backup': 'Резервные копии',
|
||
'settings.close': 'Закрыть настройки',
|
||
'settings.noPlugins': 'Плагины пока не установлены.',
|
||
'settings.openPluginsDir': 'Открыть папку plugins',
|
||
'settings.activityStub': 'Здесь будут настройки отслеживания активности.',
|
||
'settings.backupStub': 'Здесь будут настройки резервного копирования.',
|
||
'settings.theme': 'Тема интерфейса',
|
||
'settings.themeSystem': 'Системная',
|
||
'settings.themeLight': 'Светлая',
|
||
'settings.themeDark': 'Тёмная',
|
||
'settings.language': 'Язык интерфейса',
|
||
'settings.langRu': 'Русский',
|
||
'settings.langEn': 'Английский',
|
||
'settings.langSoon': 'будет доступно позже',
|
||
'settings.save': 'Сохранить настройки',
|
||
'settings.saved': 'Настройки сохранены',
|
||
'settings.vaultPath': 'Путь к рабочему пространству',
|
||
'settings.noVaultInfo': 'Нет информации о хранилище.',
|
||
'settings.vaultInfo': 'Информация о рабочем пространстве',
|
||
'settings.openVault': 'Открыть папку vault',
|
||
'settings.changeVault': 'Изменить путь',
|
||
'settings.checkIntegrity': 'Проверить целостность',
|
||
'settings.templatesDesc': 'Включите или выключите шаблоны создания элементов.',
|
||
'settings.templateEnabled': 'Включён',
|
||
'settings.templateDisabled': 'Выключен',
|
||
'settings.filesStub': 'Здесь будут настройки файлового хранилища.',
|
||
'settings.syncEnabled': 'Синхронизация включена',
|
||
'settings.syncDisabled': 'Синхронизация отключена',
|
||
'settings.syncDesc': 'Настройте подключение к серверу синхронизации.',
|
||
'settings.serverUrl': 'URL сервера',
|
||
'settings.deviceName': 'Имя устройства',
|
||
'settings.deviceId': 'ID устройства',
|
||
'settings.lastSync': 'Последняя синхронизация',
|
||
'settings.lastError': 'Последняя ошибка',
|
||
'settings.pendingChanges': 'Ожидающие изменения',
|
||
'settings.checkConnection': 'Проверить подключение',
|
||
'settings.syncNow': 'Синхронизировать сейчас',
|
||
'settings.reconnect': 'Переподключить',
|
||
'settings.disconnect': 'Отключить устройство',
|
||
'settings.resetKey': 'Сбросить ключ',
|
||
'settings.confirmDisconnect': 'Вы уверены, что хотите отключить устройство?',
|
||
'settings.confirmDisconnectDesc': 'Синхронизация будет остановлена. Для повторного подключения потребуется логин и пароль.',
|
||
'settings.confirmResetKey': 'Сбросить ключ синхронизации?',
|
||
'settings.confirmResetKeyDesc': 'Текущий ключ устройства будет удалён. Потребуется переподключение.',
|
||
'settings.connected': 'Подключено',
|
||
'settings.disconnected': 'Не подключено',
|
||
'settings.notConfigured': 'Не настроено',
|
||
'settings.error': 'Ошибка',
|
||
'settings.revoked': 'Отозвано',
|
||
'settings.status': 'Статус',
|
||
|
||
'firstrun.title': 'Добро пожаловать в Верстак',
|
||
'firstrun.desc': 'Верстак хранит данные в локальном рабочем пространстве — vault.',
|
||
'firstrun.pathLabel': 'Путь к vault',
|
||
'firstrun.defaultPath': 'Путь по умолчанию',
|
||
'firstrun.browse': 'Выбрать папку',
|
||
'firstrun.create': 'Создать рабочее пространство',
|
||
'firstrun.quit': 'Выйти',
|
||
'firstrun.pathExists': 'Папка существует. Будет создан новый vault.',
|
||
'firstrun.pathHasVault': 'Найден существующий vault. Будет подключён.',
|
||
'firstrun.pathNew': 'Путь не существует. Будет создан новый vault.',
|
||
'firstrun.errorNoWrite': 'Нет прав на запись в выбранную папку.',
|
||
'firstrun.creating': 'Создание рабочего пространства...',
|
||
'firstrun.created': 'Рабочее пространство создано!',
|
||
|
||
'recovery.title': 'Рабочее пространство не найдено',
|
||
'recovery.expected': 'Ожидался путь',
|
||
'recovery.choose': 'Выбрать другой vault',
|
||
'recovery.create': 'Создать новый vault',
|
||
'recovery.settings': 'Открыть настройки',
|
||
'recovery.quit': 'Выйти',
|
||
'recovery.createConfirm': 'Будет создано новое пустое рабочее пространство. Старый путь в настройках будет заменён.',
|
||
'recovery.createConfirmTitle': 'Создать новое рабочее пространство?',
|
||
|
||
'sync.status.connected': 'Синхронизация доступна',
|
||
'sync.status.disconnected': 'Сервер недоступен',
|
||
'sync.status.disabled': 'Синхронизация не настроена',
|
||
'sync.status.syncing': 'Синхронизация...',
|
||
'sync.status.error': 'Ошибка синхронизации',
|
||
'sync.changes': 'изменений',
|
||
'sync.details': 'Подробнее',
|
||
'sync.configure': 'Настроить',
|
||
'sync.retry': 'Повторить',
|
||
'sync.run': 'Синхронизировать',
|
||
'sync.running': 'Синхронизация...',
|
||
'sync.conflictsCount': 'Конфликты: {count}',
|
||
'sync.applyErrorsCount': 'Ошибки применения: {count}',
|
||
'sync.pushedPulled': 'Отправлено: {pushed}, получено: {pulled}',
|
||
|
||
'error.generic': 'Произошла ошибка',
|
||
'error.invalidCredentials': 'Неверный логин или пароль',
|
||
'error.accountBlocked': 'Аккаунт заблокирован',
|
||
'error.emailNotConfirmed': 'Email не подтверждён',
|
||
'error.tokenInvalid': 'Неверный или просроченный токен',
|
||
'error.tokenExpired': 'Срок действия токена истёк',
|
||
}
|