lobehub/locales/ru-RU/components.json
Innei 26449e522a
feat(resource): add select all hint and improve resource explorer selection (#13134)
*  feat(resource): add select all hint and improve resource explorer selection

Made-with: Cursor

* ♻️ refactor(resource): flatten store actions and improve type imports

Made-with: Cursor

* ♻️ refactor resource explorer list view

* refactor: engine

Signed-off-by: Innei <tukon479@gmail.com>

*  feat: checkpoint current workspace updates

* ♻️ refine resource explorer fetch ownership

* 🐛 fix: resolve resource manager ci regressions

* 🐛 fix(lambda): delete page-backed knowledge items by document id

* 🐛 fix(lambda): include knowledge-base files in remove-all

* 🐛 fix(resource): preserve cross-page select-all exclusions

* 🐛 fix(resource): retain off-screen optimistic resources

* 🐛 fix(resource): hide moved root items from current query

* 🐛 fix(resource): reset explorer selection on query change

* 🐛 fix(resource): fix select-all batchChunking and optimistic replace visibility

- batchChunking: pass through server-resolved IDs not in local resourceMap
  when selectAllState is 'all', letting server filter unsupported types
- replaceLocalResource: keep replacement visible if the optimistic item was
  already in the list, avoiding slug-vs-UUID mismatch in visibility check

* 🐛 fix(resource): reset selectAllState after batch operations and preserve off-screen optimistic items

- Reset selectAllState to 'none' after delete, removeFromKnowledgeBase,
  and batchChunking to prevent stale 'all' state causing unintended
  re-selection of remaining items
- Preserve off-screen optimistic resources in clearCurrentQueryResources
  so background uploads from other folders survive delete-all-by-query

* 🐛 fix: satisfy import-x/first in resource action test

Made-with: Cursor

* 🎨 lint: sort imports in ResourceExplorer

Made-with: Cursor

* 🐛 fix: widen searchQuery type in useResetSelectionOnQueryChange test

Made-with: Cursor

---------

Signed-off-by: Innei <tukon479@gmail.com>
2026-03-28 11:51:23 +08:00

188 lines
19 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"ArgsInput.addArgument": "Добавить аргумент",
"ArgsInput.argumentPlaceholder": "Аргумент {{index}}",
"ArgsInput.enterFirstArgument": "Введите первый аргумент...",
"DragUpload.dragDesc": "Перетащите файлы сюда, чтобы загрузить несколько изображений.",
"DragUpload.dragFileDesc": "Перетащите изображения и файлы сюда, чтобы загрузить несколько изображений и файлов.",
"DragUpload.dragFileTitle": "Загрузка файлов",
"DragUpload.dragTitle": "Загрузка изображений",
"FileManager.actions.addToLibrary": "Добавить в библиотеку",
"FileManager.actions.batchChunking": "Пакетная сегментация",
"FileManager.actions.chunking": "Сегментация",
"FileManager.actions.chunkingTooltip": "Разделить файл на несколько текстовых фрагментов и встроить их для семантического поиска и диалога с файлом.",
"FileManager.actions.chunkingUnsupported": "Этот файл не поддерживает сегментацию.",
"FileManager.actions.confirmDelete": "Вы собираетесь удалить этот файл. После удаления восстановление будет невозможно. Подтвердите действие.",
"FileManager.actions.confirmDeleteAllFiles": "Вы собираетесь удалить все результаты в текущем представлении. После удаления их нельзя будет восстановить. Пожалуйста, подтвердите действие.",
"FileManager.actions.confirmDeleteFolder": "Вы собираетесь удалить эту папку и всё её содержимое. Это действие необратимо. Подтвердите решение.",
"FileManager.actions.confirmDeleteMultiFiles": "Вы собираетесь удалить выбранные {{count}} файлов. После удаления восстановление будет невозможно. Подтвердите действие.",
"FileManager.actions.confirmRemoveFromLibrary": "Вы собираетесь удалить {{count}} выбранный(е) файл(ы) из библиотеки. Они останутся доступны во всех файлах. Подтвердите, чтобы продолжить.",
"FileManager.actions.copyUrl": "Скопировать ссылку",
"FileManager.actions.copyUrlSuccess": "Ссылка на файл успешно скопирована.",
"FileManager.actions.createChunkingTask": "Подготовка...",
"FileManager.actions.deleteSuccess": "Файл успешно удалён.",
"FileManager.actions.downloading": "Загрузка файла...",
"FileManager.actions.goBack": "Назад",
"FileManager.actions.goForward": "Вперёд",
"FileManager.actions.goToParent": "Перейти к родительской папке",
"FileManager.actions.moveError": "Не удалось переместить файл",
"FileManager.actions.moveHere": "Переместить сюда",
"FileManager.actions.moveSuccess": "Файл успешно перемещён",
"FileManager.actions.moveToFolder": "Переместить в...",
"FileManager.actions.moveToOtherLibrary": "Переместить в другую библиотеку",
"FileManager.actions.moveToRoot": "Переместить в корневую директорию",
"FileManager.actions.moving": "Перемещение...",
"FileManager.actions.removeFromLibrary": "Удалить из библиотеки",
"FileManager.actions.removeFromLibrarySuccess": "Файл успешно удалён.",
"FileManager.actions.rename": "Переименовать",
"FileManager.actions.renameError": "Ошибка при переименовании",
"FileManager.actions.renameSuccess": "Переименование прошло успешно",
"FileManager.bottom": "Вы достигли конца.",
"FileManager.config.showFilesInLibrary": "Показать содержимое в библиотеке",
"FileManager.emptyStatus.actions.file": "Загрузить файл",
"FileManager.emptyStatus.actions.folder": "Загрузить папку",
"FileManager.emptyStatus.actions.knowledgeBase": "Создать библиотеку",
"FileManager.emptyStatus.or": "или",
"FileManager.emptyStatus.title": "Перетащите файлы или папки сюда",
"FileManager.noFolders": "Нет доступных папок",
"FileManager.search.noResults": "Файлы не найдены",
"FileManager.search.placeholder": "Поиск файлов...",
"FileManager.sort.dateAdded": "Дата добавления",
"FileManager.sort.name": "Имя",
"FileManager.sort.size": "Размер",
"FileManager.title.createdAt": "Дата создания",
"FileManager.title.size": "Размер",
"FileManager.title.title": "Файл",
"FileManager.total.allSelectedCount": "Все {{count}} элементов выбраны.",
"FileManager.total.allSelectedFallback": "Выбраны все результаты.",
"FileManager.total.fileCount": "Всего {{count}} элементов",
"FileManager.total.loadedSelectedCount": "Выбрано {{count}} загруженных элементов.",
"FileManager.total.selectAll": "Выбрать все {{count}} элементов",
"FileManager.total.selectAllFallback": "Выбрать все элементы",
"FileManager.total.selectedCount": "Выбрано {{count}} элементов",
"FileManager.view.list": "Список",
"FileManager.view.masonry": "Сетка",
"FileParsingStatus.chunks.embeddingStatus.empty": "Текстовые фрагменты ещё не встроены, что делает функцию семантического поиска недоступной. Для улучшения качества поиска выполните встраивание фрагментов.",
"FileParsingStatus.chunks.embeddingStatus.error": "Ошибка встраивания",
"FileParsingStatus.chunks.embeddingStatus.errorResult": "Ошибка векторизации, пожалуйста, проверьте и повторите попытку. Подробности ошибки:",
"FileParsingStatus.chunks.embeddingStatus.processing": "Встраивание текстовых фрагментов, пожалуйста, подождите.",
"FileParsingStatus.chunks.embeddingStatus.success": "Все текущие текстовые фрагменты успешно встроены",
"FileParsingStatus.chunks.embeddings": "Встраивание",
"FileParsingStatus.chunks.status.error": "Ошибка сегментации",
"FileParsingStatus.chunks.status.errorResult": "Сегментация не удалась, пожалуйста, проверьте и повторите попытку. Подробности ошибки:",
"FileParsingStatus.chunks.status.processing": "Сегментация",
"FileParsingStatus.chunks.status.processingTip": "Сервер разделяет текст на фрагменты; закрытие страницы не повлияет на процесс.",
"GenerationModelItem.creditsPerImageApproximate": "Примерно {{amount}} кредитов / изображение",
"GenerationModelItem.creditsPerImageExact": "{{amount}} кредитов / изображение",
"GenerationModelItem.creditsPerVideoApproximate": "Примерно {{amount}} кредитов / видео",
"GenerationModelItem.creditsPerVideoExact": "{{amount}} кредитов / видео",
"GoBack.back": "Назад",
"HtmlPreview.actions.download": "Скачать",
"HtmlPreview.actions.preview": "Предпросмотр",
"HtmlPreview.iframeTitle": "Предпросмотр HTML",
"HtmlPreview.mode.code": "Код",
"HtmlPreview.mode.preview": "Предпросмотр",
"HtmlPreview.title": "Предпросмотр HTML",
"ImageUpload.actions.changeImage": "Нажмите, чтобы изменить изображение",
"ImageUpload.actions.dropMultipleFiles": "Загрузка нескольких файлов одновременно не поддерживается; будет использован только первый файл",
"ImageUpload.placeholder.primary": "Добавить изображение",
"ImageUpload.placeholder.secondary": "Нажмите или перетащите для загрузки",
"ImageUpload.validation.imageAspectRatioInvalid": "Соотношение сторон {{fileName}} ({{actualRatio}}) выходит за пределы допустимого диапазона: {{range}}",
"ImageUpload.validation.imageDimensionTooLarge": "{{fileName}} ({{width}}x{{height}}) слишком велик, требуется: {{maxDimension}}",
"ImageUpload.validation.imageDimensionTooSmall": "{{fileName}} ({{width}}x{{height}}) слишком мал, требуется: {{minDimension}}",
"KeyValueEditor.addButton": "Добавить строку",
"KeyValueEditor.deleteTooltip": "Удалить",
"KeyValueEditor.duplicateKeyError": "Ключ должен быть уникальным",
"KeyValueEditor.keyPlaceholder": "Ключ",
"KeyValueEditor.valuePlaceholder": "Значение",
"LocalFile.action.open": "Открыть",
"LocalFile.action.showInFolder": "Показать в папке",
"MaxTokenSlider.unlimited": "Без ограничений",
"ModelSelect.featureTag.custom": "Пользовательская модель по умолчанию поддерживает вызовы функций и визуальное распознавание. Пожалуйста, проверьте доступность этих возможностей в вашей ситуации.",
"ModelSelect.featureTag.file": "Эта модель поддерживает загрузку файлов для чтения и распознавания.",
"ModelSelect.featureTag.functionCall": "Эта модель поддерживает вызовы функций.",
"ModelSelect.featureTag.imageOutput": "Эта модель поддерживает генерацию изображений.",
"ModelSelect.featureTag.reasoning": "Эта модель поддерживает глубокое мышление.",
"ModelSelect.featureTag.search": "Эта модель поддерживает онлайн-поиск.",
"ModelSelect.featureTag.tokens": "Эта модель поддерживает до {{tokens}} токенов за одну сессию.",
"ModelSelect.featureTag.video": "Эта модель поддерживает распознавание видео",
"ModelSelect.featureTag.vision": "Эта модель поддерживает визуальное распознавание.",
"ModelSelect.removed": "Модель отсутствует в списке. Она будет автоматически удалена при снятии выбора.",
"ModelSwitchPanel.byModel": "По модели",
"ModelSwitchPanel.byProvider": "По провайдеру",
"ModelSwitchPanel.detail.abilities": "Возможности",
"ModelSwitchPanel.detail.abilities.files": "Файлы",
"ModelSwitchPanel.detail.abilities.functionCall": "Вызов инструмента",
"ModelSwitchPanel.detail.abilities.imageOutput": "Вывод изображения",
"ModelSwitchPanel.detail.abilities.reasoning": "Логика",
"ModelSwitchPanel.detail.abilities.search": "Поиск",
"ModelSwitchPanel.detail.abilities.video": "Видео",
"ModelSwitchPanel.detail.abilities.vision": "Компьютерное зрение",
"ModelSwitchPanel.detail.config": "Конфигурация модели",
"ModelSwitchPanel.detail.context": "Длина контекста",
"ModelSwitchPanel.detail.pricing": "Цены",
"ModelSwitchPanel.detail.pricing.cachedInput": "Кэшированный ввод ${{amount}}/М",
"ModelSwitchPanel.detail.pricing.group.audio": "Аудио",
"ModelSwitchPanel.detail.pricing.group.image": "Изображение",
"ModelSwitchPanel.detail.pricing.group.text": "Текст",
"ModelSwitchPanel.detail.pricing.input": "Ввод ${{amount}}/М",
"ModelSwitchPanel.detail.pricing.output": "Вывод ${{amount}}/М",
"ModelSwitchPanel.detail.pricing.perImage": "~ {{amount}} / изображение",
"ModelSwitchPanel.detail.pricing.perVideo": "~ {{amount}} / видео",
"ModelSwitchPanel.detail.pricing.unit.audioInput": "Аудио-ввод",
"ModelSwitchPanel.detail.pricing.unit.audioInput_cacheRead": "Аудио-ввод (из кэша)",
"ModelSwitchPanel.detail.pricing.unit.audioOutput": "Аудио-вывод",
"ModelSwitchPanel.detail.pricing.unit.imageGeneration": "Генерация изображения",
"ModelSwitchPanel.detail.pricing.unit.imageInput": "Ввод изображения",
"ModelSwitchPanel.detail.pricing.unit.imageInput_cacheRead": "Ввод изображения (из кэша)",
"ModelSwitchPanel.detail.pricing.unit.imageOutput": "Вывод изображения",
"ModelSwitchPanel.detail.pricing.unit.textInput": "Ввод",
"ModelSwitchPanel.detail.pricing.unit.textInput_cacheRead": "Ввод (из кэша)",
"ModelSwitchPanel.detail.pricing.unit.textInput_cacheWrite": "Ввод (запись в кэш)",
"ModelSwitchPanel.detail.pricing.unit.textOutput": "Вывод",
"ModelSwitchPanel.detail.releasedAt": "Выпущено {{date}}",
"ModelSwitchPanel.emptyModel": "Нет включённых моделей. Перейдите в настройки, чтобы включить.",
"ModelSwitchPanel.emptyProvider": "Нет включённых провайдеров. Перейдите в настройки, чтобы включить одного из них.",
"ModelSwitchPanel.goToSettings": "Перейти в настройки",
"ModelSwitchPanel.manageProvider": "Управление провайдером",
"ModelSwitchPanel.provider": "Провайдер",
"ModelSwitchPanel.searchPlaceholder": "Поиск моделей...",
"ModelSwitchPanel.title": "Модель",
"ModelSwitchPanel.useModelFrom": "Использовать эту модель от:",
"MultiImagesUpload.actions.uploadMore": "Нажмите или перетащите для загрузки дополнительных изображений",
"MultiImagesUpload.modal.complete": "Готово",
"MultiImagesUpload.modal.newFileIndicator": "Новый",
"MultiImagesUpload.modal.selectImageToPreview": "Выберите изображение для предпросмотра",
"MultiImagesUpload.modal.title": "Управление изображениями ({{count}})",
"MultiImagesUpload.modal.upload": "Загрузить изображения",
"MultiImagesUpload.placeholder.primary": "Нажмите или перетащите для загрузки изображений",
"MultiImagesUpload.placeholder.secondary": "Поддерживается выбор нескольких изображений",
"MultiImagesUpload.progress.uploadingWithCount": "Загружено {{completed}} из {{total}}",
"MultiImagesUpload.validation.fileSizeExceeded": "Размер файла превышает допустимый максимум",
"MultiImagesUpload.validation.fileSizeExceededDetail": "{{fileName}} ({{actualSize}}) превышает максимальный размер {{maxSize}}",
"MultiImagesUpload.validation.fileSizeExceededMultiple": "{{count}} файлов превышают максимальный размер {{maxSize}}: {{fileList}}",
"MultiImagesUpload.validation.imageCountExceeded": "Превышено максимальное количество изображений",
"OllamaSetupGuide.action.close": "Закрыть подсказку",
"OllamaSetupGuide.action.start": "Установлено",
"OllamaSetupGuide.cors.description": "Из-за ограничений безопасности браузера необходимо настроить кросс-доменные разрешения, чтобы Ollama работал корректно.",
"OllamaSetupGuide.cors.linux.env": "Добавьте `Environment` в раздел [Service] и установите переменную окружения OLLAMA_ORIGINS:",
"OllamaSetupGuide.cors.linux.reboot": "Перезагрузите systemd и перезапустите Ollama",
"OllamaSetupGuide.cors.linux.systemd": "Отредактируйте службу ollama с помощью systemd:",
"OllamaSetupGuide.cors.macos": "Откройте приложение 'Терминал', вставьте следующую команду и нажмите Enter для выполнения.",
"OllamaSetupGuide.cors.reboot": "Пожалуйста, перезапустите службу Ollama после выполнения.",
"OllamaSetupGuide.cors.title": "Настройка Ollama для кросс-доменного доступа",
"OllamaSetupGuide.cors.windows": "В Windows откройте 'Панель управления' и перейдите к редактированию системных переменных среды. Создайте новую переменную среды с именем 'OLLAMA_ORIGINS' для вашей учётной записи пользователя, установите значение * и нажмите 'ОК/Применить' для сохранения.",
"OllamaSetupGuide.install.description": "Убедитесь, что Ollama запущен. Если вы ещё не скачали Ollama, посетите официальный сайт, чтобы <1>скачать</1> его.",
"OllamaSetupGuide.install.docker": "Если вы предпочитаете использовать Docker, Ollama также предоставляет официальный образ Docker, который можно загрузить с помощью следующей команды:",
"OllamaSetupGuide.install.linux.command": "Установите с помощью следующей команды:",
"OllamaSetupGuide.install.linux.manual": "Вы также можете ознакомиться с <1>руководством по ручной установке для Linux</1>.",
"OllamaSetupGuide.install.title": "Установите и запустите приложение Ollama локально",
"OllamaSetupGuide.install.windowsTab": "Windows (предварительная версия)",
"Thinking.thinking": "Глубокое мышление...",
"Thinking.thought": "Обдумано (за {{duration}} секунд)",
"Thinking.thoughtWithDuration": "Обдумано",
"devTools.cache.empty": "Кэш пуст",
"devTools.metadata.empty": "Метаданные отсутствуют",
"knowledgeBase.empty.description": "Создайте библиотеку для организации и управления вашими ресурсами",
"knowledgeBase.empty.search": "Соответствующая библиотека не найдена",
"knowledgeBase.empty.title": "Библиотека отсутствует"
}