mirror of
https://github.com/lobehub/lobehub.git
synced 2026-03-26 13:19:34 +07:00
* ✨ feat(electron): refactor RecentlyViewed with Pinned + Recent architecture - Add Pinned section for user-pinned pages (persisted to localStorage) - Add Recent section with auto-deduplication and 20 items limit - Support dynamic title updates (e.g., conversation names instead of generic "Chat") - Add Pin/Unpin toggle on hover - Keep navigation history (back/forward) independent from recent pages Closes LOBE-4212 Closes LOBE-4230 * 📝 docs(linear): update issue management guidelines - Revise description for clarity on triggering conditions for Linear issues. - Add critical section on PR creation with Linear issues, emphasizing immediate comment requirements. - Update completion comment format to include structured summary and key changes. - Clarify workflow steps and correct examples for task completion and status updates. Signed-off-by: Innei <tukon479@gmail.com> * ✨ feat(electron): history stack - Introduce a new plugin system for RecentlyViewed, allowing dynamic resolution of page references. - Implement caching for display data, improving performance and user experience. - Refactor existing page handling to support various page types (agents, groups, etc.) with dedicated plugins. - Update Recent and Pinned pages management to utilize the new plugin system for better data integrity and retrieval. Signed-off-by: Innei <tukon479@gmail.com> --------- Signed-off-by: Innei <tukon479@gmail.com>
121 lines
9.2 KiB
JSON
121 lines
9.2 KiB
JSON
{
|
||
"navigation.chat": "Чат",
|
||
"navigation.discover": "Открыть",
|
||
"navigation.discoverAssistants": "Открыть Ассистентов",
|
||
"navigation.discoverMcp": "Открыть MCP",
|
||
"navigation.discoverModels": "Открыть Модели",
|
||
"navigation.discoverProviders": "Открыть Провайдеров",
|
||
"navigation.group": "Группа",
|
||
"navigation.groupChat": "Групповой Чат",
|
||
"navigation.home": "Главная",
|
||
"navigation.image": "Изображение",
|
||
"navigation.knowledgeBase": "База Знаний",
|
||
"navigation.lobehub": "LobeHub",
|
||
"navigation.memory": "Память",
|
||
"navigation.memoryContexts": "Память - Контексты",
|
||
"navigation.memoryExperiences": "Память - Опыт",
|
||
"navigation.memoryIdentities": "Память - Идентичности",
|
||
"navigation.memoryPreferences": "Память - Предпочтения",
|
||
"navigation.noPages": "Пока нет страниц",
|
||
"navigation.onboarding": "Введение",
|
||
"navigation.page": "Страница",
|
||
"navigation.pages": "Страницы",
|
||
"navigation.pin": "Закрепить",
|
||
"navigation.pinned": "Закреплено",
|
||
"navigation.provider": "Провайдер",
|
||
"navigation.recentView": "Недавние просмотры",
|
||
"navigation.resources": "Ресурсы",
|
||
"navigation.settings": "Настройки",
|
||
"navigation.unpin": "Открепить",
|
||
"notification.finishChatGeneration": "Генерация сообщения ИИ завершена",
|
||
"proxy.auth": "Требуется аутентификация",
|
||
"proxy.authDesc": "Если прокси-сервер требует имя пользователя и пароль",
|
||
"proxy.authSettings": "Настройки аутентификации",
|
||
"proxy.basicSettings": "Настройки прокси",
|
||
"proxy.basicSettingsDesc": "Настройте параметры подключения к прокси-серверу",
|
||
"proxy.bypass": "Адреса, не использующие прокси",
|
||
"proxy.connectionTest": "Тест подключения",
|
||
"proxy.enable": "Включить прокси",
|
||
"proxy.enableDesc": "При включении доступ к сети будет осуществляться через прокси-сервер",
|
||
"proxy.password": "Пароль",
|
||
"proxy.password_placeholder": "Пожалуйста, введите пароль",
|
||
"proxy.port": "Порт",
|
||
"proxy.resetButton": "Сбросить",
|
||
"proxy.saveButton": "Сохранить",
|
||
"proxy.saveFailed": "Ошибка сохранения: {{error}}",
|
||
"proxy.saveSuccess": "Настройки прокси успешно сохранены",
|
||
"proxy.server": "Адрес сервера",
|
||
"proxy.testButton": "Проверить подключение",
|
||
"proxy.testDescription": "Проверьте подключение с текущей конфигурацией прокси, чтобы убедиться, что всё работает корректно",
|
||
"proxy.testFailed": "Не удалось подключиться",
|
||
"proxy.testSuccessWithTime": "Подключение успешно, время: {{time}} мс",
|
||
"proxy.testUrl": "URL для теста",
|
||
"proxy.testUrlPlaceholder": "Пожалуйста, введите URL для теста",
|
||
"proxy.testing": "Проверка подключения...",
|
||
"proxy.type": "Тип прокси",
|
||
"proxy.unsavedChanges": "У вас есть несохранённые изменения",
|
||
"proxy.username": "Имя пользователя",
|
||
"proxy.username_placeholder": "Пожалуйста, введите имя пользователя",
|
||
"proxy.validation.passwordRequired": "Пароль обязателен при включённой аутентификации",
|
||
"proxy.validation.portInvalid": "Порт должен быть числом от 1 до 65535",
|
||
"proxy.validation.portRequired": "Порт обязателен при включённом прокси",
|
||
"proxy.validation.serverInvalid": "Пожалуйста, введите корректный адрес сервера (IP или доменное имя)",
|
||
"proxy.validation.serverRequired": "Адрес сервера обязателен при включённом прокси",
|
||
"proxy.validation.typeRequired": "Тип прокси обязателен при включённом прокси",
|
||
"proxy.validation.usernameRequired": "Имя пользователя обязательно при включённой аутентификации",
|
||
"remoteServer.authError": "Ошибка авторизации: {{error}}",
|
||
"remoteServer.authPending": "Пожалуйста, завершите авторизацию в браузере",
|
||
"remoteServer.configDesc": "Подключитесь к удалённому серверу LobeHub для синхронизации данных",
|
||
"remoteServer.configError": "Ошибка конфигурации",
|
||
"remoteServer.configTitle": "Настройка облачной синхронизации",
|
||
"remoteServer.connect": "Подключиться и авторизоваться",
|
||
"remoteServer.connected": "Подключено",
|
||
"remoteServer.disconnect": "Отключиться",
|
||
"remoteServer.disconnectError": "Не удалось отключиться",
|
||
"remoteServer.disconnected": "Не подключено",
|
||
"remoteServer.fetchError": "Не удалось получить конфигурацию",
|
||
"remoteServer.invalidUrl": "Пожалуйста, введите корректный URL",
|
||
"remoteServer.serverUrl": "Адрес сервера",
|
||
"remoteServer.statusConnected": "Подключено",
|
||
"remoteServer.statusDisconnected": "Не подключено",
|
||
"remoteServer.urlRequired": "Пожалуйста, введите адрес сервера",
|
||
"sync.continue": "Продолжить",
|
||
"sync.inCloud": "Используется облачная синхронизация",
|
||
"sync.inLocalStorage": "Используется локальное хранилище",
|
||
"sync.isIniting": "Инициализация...",
|
||
"sync.lobehubCloud.description": "Официальная облачная версия",
|
||
"sync.lobehubCloud.title": "LobeHub Облако",
|
||
"sync.local.description": "Использует локальную базу данных, полностью доступен офлайн",
|
||
"sync.local.title": "Локальная база данных",
|
||
"sync.mode.cloudSync": "Облачная синхронизация",
|
||
"sync.mode.localStorage": "Локальное хранилище",
|
||
"sync.mode.title": "Выберите режим подключения",
|
||
"sync.mode.useSelfHosted": "Использовать собственный сервер?",
|
||
"sync.selfHosted.description": "Сообщественная версия, которую вы можете развернуть самостоятельно",
|
||
"sync.selfHosted.title": "Собственный сервер",
|
||
"updater.checkingUpdate": "Проверка обновлений",
|
||
"updater.checkingUpdateDesc": "Получение информации о версии...",
|
||
"updater.downloadNewVersion": "Скачать новую версию",
|
||
"updater.downloadingUpdate": "Загрузка обновления",
|
||
"updater.downloadingUpdateDesc": "Обновление загружается, пожалуйста, подождите...",
|
||
"updater.installLater": "Обновить при следующем запуске",
|
||
"updater.isLatestVersion": "У вас установлена последняя версия",
|
||
"updater.isLatestVersionDesc": "Отлично! Установленная версия {{version}} является самой актуальной.",
|
||
"updater.later": "Позже",
|
||
"updater.newVersionAvailable": "Доступна новая версия",
|
||
"updater.newVersionAvailableDesc": "Обнаружена новая версия {{version}}. Хотите скачать её сейчас?",
|
||
"updater.restartAndInstall": "Установить обновление и перезапустить",
|
||
"updater.updateError": "Ошибка обновления",
|
||
"updater.updateReady": "Доступна новая версия",
|
||
"updater.updateReadyDesc": "Новая версия {{version}} загружена. Перезапустите приложение для завершения установки.",
|
||
"updater.upgradeNow": "Обновить сейчас",
|
||
"updater.willInstallLater": "Обновление будет установлено при следующем запуске",
|
||
"waitingOAuth.cancel": "Отмена",
|
||
"waitingOAuth.description": "Браузер открыл страницу авторизации, пожалуйста, завершите авторизацию в браузере",
|
||
"waitingOAuth.error": "Ошибка авторизации: {{error}}",
|
||
"waitingOAuth.errorTitle": "Не удалось подключиться к авторизации",
|
||
"waitingOAuth.helpText": "Если браузер не открылся автоматически, нажмите «Отмена» и попробуйте снова",
|
||
"waitingOAuth.retry": "Повторить",
|
||
"waitingOAuth.title": "Ожидание подключения к авторизации"
|
||
}
|