250 lines
17 KiB
JSON
250 lines
17 KiB
JSON
{
|
||
"language": {
|
||
"default": "По умолчанию",
|
||
"en": "Английский",
|
||
"ru": "Русский",
|
||
"ua": "Украинский",
|
||
"instructionName": "Russian"
|
||
},
|
||
"providerChoice.default": "По умолчанию",
|
||
"errorText": "⚠️ Произошла ошибка.",
|
||
"waitThinkText": "⏳ Думаю...",
|
||
"analyzingPictureText": "🔍 Анализирую изображение...",
|
||
"analyzingPicturesText": "🔍 Анализирую изображения...",
|
||
"reasoningText": "🤔 Рассуждаю...",
|
||
"transcribingAudioText": "🦻 Распознаю аудио...",
|
||
"genImageText": "👨🎨 Генерирую изображение...",
|
||
"cancelText": "❌ Отмена",
|
||
"regenerateText": "🔄 Сгенерировать заново",
|
||
"aiCancelCallbackText": "Отменить генерацию ИИ",
|
||
"aiRegenerateCallbackText": "Сгенерировать ответ ИИ заново",
|
||
"userSettingsCallbackText": "Настройки пользователя",
|
||
"noAccessText": "Нет доступа",
|
||
"notBotCreatorText": "Вы не создатель бота.",
|
||
"notBotAdministratorText": "Вы не администратор бота.",
|
||
"notAChatText": "Это не чат.",
|
||
"notChatAdministratorText": "Вы не администратор чата.",
|
||
"botNotChatAdministratorText": "Бот не является администратором чата.",
|
||
"replyRequiredText": "Нужно ответить на сообщение.",
|
||
"onlyOriginalAuthorText": "Это действие доступно только автору исходного сообщения.",
|
||
"dockerContainerLabelText": "Docker-контейнер",
|
||
"processLabelText": "Процесс",
|
||
"systemLabelText": "Система",
|
||
"systemInfoOsLabelText": "ОС",
|
||
"systemInfoRuntimeLabelText": "RUNTIME",
|
||
"systemInfoDockerLabelText": "DOCKER",
|
||
"systemInfoCpuLabelText": "CPU",
|
||
"systemInfoRamLabelText": "RAM",
|
||
"systemInfoCpuCoresText": "ядер",
|
||
"systemInfoCpuThreadsText": "потоков",
|
||
"idChatLabelText": "id чата",
|
||
"idFromLabelText": "id пользователя",
|
||
"idReplyLabelText": "id ответа",
|
||
"runtimeProviderLabelText": "провайдер",
|
||
"runtimeModelLabelText": "модель",
|
||
"runtimeCapabilitiesLabelText": "возможности",
|
||
"runtimeExternalLabelText": "внешний",
|
||
"infoAiBlockLabelText": "AI",
|
||
"infoSupportedProvidersLabelText": "поддерживаемые провайдеры",
|
||
"infoToolsBlockLabelText": "инструменты",
|
||
"infoCountLabelText": "количество",
|
||
"infoCommandsBlockLabelText": "команды",
|
||
"infoPublicLabelText": "публичные",
|
||
"infoPrivateLabelText": "приватные",
|
||
"infoChatLabelText": "чат",
|
||
"infoCallbackLabelText": "колбэки",
|
||
"commandsHeaderText": "Команды:\n\n",
|
||
"sentCommandsInDmText": "Отправил команды в личные сообщения 😎",
|
||
"couldNotSendCommandsInDmText": "Не получилось отправить команды в личные сообщения ☹️\nОтправляю их сюда",
|
||
"administratorsHeaderText": "*Администраторы*:\n\n",
|
||
"noUserInfoText": "Нет информации о пользователе",
|
||
"useLeaveCommandText": "Используйте /leave",
|
||
"databaseBackupCaption": "Резервная копия базы данных",
|
||
"databaseBackupSentText": "Успешно отправил создателю в личные сообщения!",
|
||
"noChoicesText": "Не из чего выбирать",
|
||
"qrCodeMissingTextText": "Не найден текст для генерации QR-кода.",
|
||
"quoteMissingTextText": "Не удалось найти текст в сообщении 😢",
|
||
"quoteBuildFailedText": "Не удалось собрать цитату 😢",
|
||
"speechToTextInstructionText": "Отправьте аудио/voice/video-note или ответьте /stt на сообщение с аудио.",
|
||
"speechToTextEmptyResultText": "Распознавание речи не вернуло текст.",
|
||
"textToSpeechInstructionText": "Отправьте текст после команды или ответьте /tts на сообщение с текстом.",
|
||
"titleMissingText": "Не удалось найти заголовок...",
|
||
"betterFallbackText": "Лучше",
|
||
"pongText": "понг",
|
||
"modelListHeaderText": "Доступные модели:\n\n",
|
||
"modelListLoadFailedText": "Не удалось загрузить список моделей",
|
||
"noCurrentModelText": "Модель не задана. Используйте одно из значений из списка.",
|
||
"unsupportedAttachmentText": "Этот тип вложения не поддерживается.",
|
||
"attachmentMissingFromCacheText": "Файл вложения отсутствует в кэше.",
|
||
"noSupportedTranscriptionProviderText": "Не настроен ни один провайдер распознавания речи.",
|
||
"noSupportedTextToSpeechProviderText": "Не настроен ни один провайдер синтеза речи.",
|
||
"noSpeechToTextProviderForAccessText": "Для вашего уровня доступа не настроены провайдеры распознавания речи.",
|
||
"noTextToSpeechProviderForAccessText": "Для вашего уровня доступа не настроены провайдеры синтеза речи.",
|
||
"noTextToSynthesizeText": "Нет текста для синтеза речи.",
|
||
"speechFileTooLargeText": "Файл речи больше 50 МБ и не может быть отправлен.",
|
||
"userSettingsTitle": "Настройки пользователя",
|
||
"userSettingsAiProviderSelectionTitle": "Выбор AI-провайдера",
|
||
"userSettingsInterfaceLanguageSelectionTitle": "Выбор языка интерфейса",
|
||
"userSettingsResponseLanguageSelectionTitle": "Выбор языка ответов",
|
||
"userSettingsContextSizeSelectionTitle": "Выбор размера контекста",
|
||
"userSettingsVoiceModeSelectionTitle": "Режим голосовых сообщений",
|
||
"userSettingsTierLabel": "Уровень",
|
||
"userSettingsAiProviderLabel": "AI-провайдер",
|
||
"userSettingsInterfaceLanguageLabel": "Язык интерфейса",
|
||
"userSettingsResponseLanguageLabel": "Язык ответов LLM",
|
||
"userSettingsContextSizeLabel": "Размер контекста",
|
||
"userSettingsVoiceModeLabel": "Голосовые сообщения",
|
||
"userSettingsBackButtonText": "Назад",
|
||
"userSettingsAiProviderButtonPrefix": "AI-провайдер",
|
||
"userSettingsInterfaceLanguageButtonPrefix": "Язык интерфейса",
|
||
"userSettingsResponseLanguageButtonPrefix": "Язык ответов",
|
||
"userSettingsContextSizeButtonPrefix": "Контекст",
|
||
"userSettingsVoiceModeButtonPrefix": "Голосовые",
|
||
"userSettingsCreatorTierText": "Создатель",
|
||
"userSettingsAdminTierText": "Админ",
|
||
"userSettingsUserTierText": "Пользователь",
|
||
"userSettingsSelectedPrefix": "✓ ",
|
||
"userSettingsContextSizeDefaultText": "По умолчанию",
|
||
"userSettingsVoiceModeExecuteText": "Выполнять через ИИ",
|
||
"userSettingsVoiceModeTranscriptText": "Только расшифровка",
|
||
"startingImageGenText": "🌈 Запускаю генерацию изображения...",
|
||
"imageGenText": "🌈 Генерирую изображение...",
|
||
"finalizingImageGenText": "🌈 Завершаю генерацию изображения...",
|
||
"botCannotMakeItselfAdminText": "Бот не может назначить себя администратором",
|
||
"botCreatorAlreadyAdminText": "Создатель бота уже администратор",
|
||
"botCannotRemoveItselfFromAdminsText": "Бот не может удалить себя из администраторов",
|
||
"botCreatorCannotStopBeingAdminText": "Создатель бота не может перестать быть администратором",
|
||
"botWillNotBanCreatorText": "Бот не будет банить своего создателя.",
|
||
"botWillNotBanAdminsText": "Бот не будет банить своих администраторов.",
|
||
"botIsNotBannedByItselfText": "Бот и так не забанен сам собой.",
|
||
"botCreatorNeverBannedText": "Создатель бота не забанен и никогда не будет.",
|
||
"botAdminsNotBannedText": "Администраторы бота и так не забанены.",
|
||
"botWillNotIgnoreItselfText": "Бот не будет игнорировать себя.",
|
||
"botWillNotIgnoreCreatorText": "Бот не будет игнорировать своего создателя.",
|
||
"botWillNotIgnoreAdminsText": "Бот не будет игнорировать своих администраторов.",
|
||
"botIsNotIgnoredByItselfText": "Бот и так не игнорирует сам себя.",
|
||
"botCreatorNotIgnoredText": "Создатель бота не игнорируется и никогда не будет.",
|
||
"botAdminsNotIgnoredText": "Администраторы бота и так не игнорируются.",
|
||
"botAlreadyAlwaysListensToItselfText": "Бот и так всегда слушает сам себя",
|
||
"botAlwaysListensToCreatorText": "Бот всегда слушает своего создателя",
|
||
"coinHeadsText": "Орёл",
|
||
"coinTailsText": "Решка",
|
||
"distortReplyInstructionText": "Ответьте /distort на сообщение с изображением (фото, документ или стикер).\nПример: /distort 16 80",
|
||
"distortMissingImageText": "Не вижу изображения в ответе. Отправьте фото или файл изображения.",
|
||
"shutdownFallbackText": "...",
|
||
"shutdownSequenceTexts": [
|
||
"ну что ж, народ",
|
||
"было приятно пообщаться",
|
||
"но мне пора отдохнуть",
|
||
"всем добра"
|
||
],
|
||
"shutdownDoneText": "*R.I.P*",
|
||
"whenNowText": "прямо сейчас",
|
||
"whenNeverText": "никогда",
|
||
"whenYearUnitText": "год",
|
||
"whenDayUnitText": "день",
|
||
"whenWeekUnitText": "неделя",
|
||
"whenMonthUnitText": "месяц",
|
||
"whenHourUnitText": "час",
|
||
"whenMinuteUnitText": "минута",
|
||
"whenSecondUnitText": "секунда",
|
||
"getCancelledText": "{provider}\n❌ Генерация отменена.",
|
||
"getPartialImageGenText": "🌈 Генерирую изображение ({iteration}/{total})...",
|
||
"getImageGenDoneText.withModel": "👨🎨 Изображение сгенерировано. Модель: `{model}`.",
|
||
"getImageGenDoneText.default": "👨🎨 Изображение сгенерировано.",
|
||
"getErrorText.withReason": "{errorText} Причина:\n{reason}",
|
||
"getUseToolText.python": "👨💻 Запускаю `Python`",
|
||
"getUseToolText.default": "🔧 Использую инструмент `{name}`",
|
||
"getAnalyzingDocumentText.default": "🔍 Анализирую документ...",
|
||
"getAnalyzingDocumentText.single": "🔍 Анализирую документ: `{name}`",
|
||
"getAnalyzingDocumentText.many": "🔍 Анализирую документы: {names}",
|
||
"getPreparingRAGText.default": "🔍 Готовлю RAG для документа...",
|
||
"getPreparingRAGText.single": "🔍 Готовлю RAG для документа: `{name}`",
|
||
"getPreparingRAGText.many": "🔍 Готовлю RAG для документов: {names}",
|
||
"getBuildingRAGIndexText.default": "🧠 Строю RAG-индекс...",
|
||
"getBuildingRAGIndexText.withModel": "🧠 Строю RAG-индекс: `{modelName}`.",
|
||
"queueNoneText": "нет",
|
||
"getAiQueueText.queued": "⏳ Запрос к {provider} поставлен в очередь.",
|
||
"getAiQueueText.ahead": "Запросов впереди: {count}.",
|
||
"getTelegramFileTooLargeText": "Файл {fileName} больше {maxSizeMb} МБ и не может быть отправлен.",
|
||
"getUserIsNowAdminText": "{name} теперь администратор!",
|
||
"getUserAlreadyAdminText": "{name} уже администратор 🤔",
|
||
"getUserNoLongerAdminText": "{name} больше не администратор!",
|
||
"getUserWasNotAdminText": "{name} не был администратором 🤔",
|
||
"getUserBannedText": "{name} забанен 🚫",
|
||
"getUserBanFailedText": "Не удалось забанить {name} ☹️",
|
||
"getUserUnbannedText": "{name} разбанен ⛓️💥",
|
||
"getUserUnbanFailedText": "Не удалось разбанить {name} ☹️",
|
||
"getUserIgnoredText": "{name} заглушён! 🔇",
|
||
"getUserAlreadyIgnoredText": "{name} уже заглушён 🤔",
|
||
"getUserIgnoreFailedText": "Не удалось заглушить {name} ☹️",
|
||
"getUserUnignoredText": "{name} больше не заглушён! 🔈",
|
||
"getUserWasNotIgnoredText": "{name} не был заглушён 🤔",
|
||
"getUserUnignoreFailedText": "Не удалось включить {name} обратно ☹️",
|
||
"getChoiceText": "Выбрал *{choice}*",
|
||
"getCoinResultText": "Выпало: *{result}*",
|
||
"getLoadedModelsText": "Загруженные модели: {models}",
|
||
"getSelectedModelText": "Выбрана модель: `{model}`",
|
||
"getCurrentModelText": "Текущая модель: `{model}`",
|
||
"getLoadingModelText": "Загружаю модель `{model}`...",
|
||
"getUserSettingsContextSizeText": "{size} токенов",
|
||
"getQrCodeTextTooLongText": "Текст слишком длинный для QR ({actualLength} символов). Обрежу до {maxLength} символов.",
|
||
"getQrCodeReadyText": "QR-код готов ✅\nСодержимое:\n<blockquote expandable>{content}</blockquote>",
|
||
"getQrCodeFailedText": "Не удалось сгенерировать QR: {reason}",
|
||
"getWhenPrefixText": "через ",
|
||
"getWhenPluralUnitText": "{unit}",
|
||
"getWhenDurationText": "{prefix}{value} {unit}",
|
||
"commandDescriptions": {
|
||
"ae": "вычисление",
|
||
"adminsAdd": "Добавить пользователя в администраторы",
|
||
"adminsRemove": "Удалить пользователя из администраторов",
|
||
"ban": "забанить пользователя в чате",
|
||
"choice": "Выбрать случайное значение",
|
||
"coin": "Орёл или решка",
|
||
"debug": "Вернуть msg или reply в JSON",
|
||
"dice": "Отправить случайный или конкретный дайс",
|
||
"distort": "Искажение изображения",
|
||
"geminiChat": "Чат с AI (Gemini)",
|
||
"geminiGetModel": "Показать текущую модель Gemini",
|
||
"geminiListModels": "Показать все модели Gemini",
|
||
"geminiSetModel": "Установить модель Gemini",
|
||
"help": "Показать список команд",
|
||
"id": "ID чата, пользователя и ответа",
|
||
"ignore": "Бот будет игнорировать пользователя",
|
||
"info": "Информация о боте",
|
||
"leave": "Бот покинет текущий чат",
|
||
"mistralChat": "Чат с AI (Mistral)",
|
||
"mistralGetModel": "Показать текущую модель Mistral",
|
||
"mistralListModels": "Показать все модели Mistral",
|
||
"mistralSetModel": "Установить модель Mistral",
|
||
"ollamaChat": "Чат с AI (Ollama)",
|
||
"ollamaGetModel": "Показать текущую модель Ollama",
|
||
"ollamaListModels": "Показать все модели Ollama",
|
||
"ollamaSearch": "Веб-поиск через Ollama",
|
||
"ollamaSetModel": "Установить модель Ollama",
|
||
"openAiChat": "Чат с AI (OpenAI)",
|
||
"openAiGetModel": "Показать текущую модель OpenAI",
|
||
"openAiListModels": "Показать все модели OpenAI",
|
||
"openAiSetModel": "Установить модель OpenAI",
|
||
"ping": "Задержка между получением и отправкой сообщения",
|
||
"qr": "Сгенерировать QR-код из текста",
|
||
"quote": "Сделать цитату из текста",
|
||
"randomInt": "Случайное число из диапазона",
|
||
"randomString": "Случайная строка до 4096 символов",
|
||
"settings": "Настройки пользователя",
|
||
"shutdown": "Выключить бота",
|
||
"speechToText": "Распознать речь в текст",
|
||
"start": "Запустить бота",
|
||
"systemInfo": "Информация о системе",
|
||
"textToSpeech": "Сгенерировать речь из текста",
|
||
"title": "Изменить название группы",
|
||
"test": "Проверка системной функциональности",
|
||
"transliteration": "Транслитерация EN <--> RU",
|
||
"unban": "разбанить пользователя в чате",
|
||
"unignore": "Бот снова будет отвечать пользователю",
|
||
"uptime": "Время работы бота",
|
||
"whatBetter": "случайно выбрать a или b",
|
||
"when": "случайная дата"
|
||
}
|
||
}
|