Files
Keep/keep-notes/locales/ru.json
Sepehr Ramezani b6a548acd8 feat: RTL/i18n, AI translate+undo, no-refresh saves, settings perf
- RTL: force dir=rtl on LabelFilter, NotesViewToggle, LabelManagementDialog
- i18n: add missing keys (notifications, privacy, edit/preview, AI translate/undo)
- Settings pages: convert to Server Components (general, appearance) + loading skeleton
- AI menu: add Translate option (10 languages) + Undo AI button in toolbar
- Fix: saveInline uses REST API instead of Server Action → eliminates all implicit refreshes in list mode
- Fix: NotesTabsView notes sync effect preserves selected note on content changes
- Fix: auto-tag suggestions now filter already-assigned labels
- Fix: color change in card view uses local state (no refresh)
- Fix: nav links use <Link> for prefetching (Settings, Admin)
- Fix: suppress duplicate label suggestions already on note
- Route: add /api/ai/translate endpoint
2026-04-15 23:48:28 +02:00

1056 lines
53 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.
{
"about": {
"appDescription": "Мощное приложение для заметок с функциями на базе ИИ",
"appName": "Keep Notes",
"buildDate": "Дата сборки",
"description": "Информация о приложении",
"features": {
"description": "Возможности на базе ИИ",
"dragDrop": "Управление заметками перетаскиванием",
"labelSystem": "Система меток",
"memoryEcho": "Ежедневные идеи Memory Echo",
"multipleProviders": "Несколько провайдеров ИИ (OpenAI, Ollama)",
"notebookOrganization": "Организация по блокнотам",
"paragraphReformulation": "Реформулировка абзацев",
"semanticSearch": "Семантический поиск с эмбеддингами",
"title": "Функции",
"titleSuggestions": "Предложения заголовков с ИИ"
},
"platform": "Платформа",
"platformWeb": "Веб",
"support": {
"description": "Получите помощь и оставьте отзыв",
"documentation": "Документация",
"feedback": "Отзыв",
"reportIssues": "Сообщить о проблемах",
"title": "Поддержка"
},
"technology": {
"ai": "ИИ",
"authentication": "Аутентификация",
"backend": "Бэкенд",
"database": "База данных",
"description": "Создано с использованием современных технологий",
"frontend": "Фронтенд",
"testing": "Тестирование",
"title": "Технологический стек",
"ui": "UI"
},
"title": "О программе",
"version": "Версия"
},
"admin": {
"ai": {
"apiKey": "API Key",
"baseUrl": "Base URL",
"commonEmbeddingModels": "Common embedding models for OpenAI-compatible APIs",
"commonModelsDescription": "Common models for OpenAI-compatible APIs",
"description": "Configure AI providers for auto-tagging and semantic search. Use different providers for optimal performance.",
"embeddingsDescription": "AI provider for semantic search embeddings. Recommended: OpenAI (best quality).",
"embeddingsProvider": "Embeddings Provider",
"model": "Model",
"modelRecommendations": "gpt-4o-mini = Best value • gpt-4o = Best quality",
"openAIKeyDescription": "Your OpenAI API key from platform.openai.com",
"openTestPanel": "Open AI Test Panel",
"provider": "Provider",
"providerEmbeddingRequired": "AI_PROVIDER_EMBEDDING is required",
"providerTagsRequired": "AI_PROVIDER_TAGS is required",
"saveSettings": "Save AI Settings",
"saving": "Saving...",
"selectEmbeddingModel": "Select an embedding model installed on your system",
"selectOllamaModel": "Select an Ollama model installed on your system",
"tagsGenerationDescription": "AI provider for automatic tag suggestions. Recommended: Ollama (free, local).",
"tagsGenerationProvider": "Tags Generation Provider",
"title": "AI Configuration",
"updateFailed": "Failed to update AI settings",
"updateSuccess": "AI Settings updated successfully",
"bestValue": "Лучшее соотношение цена/качество",
"bestQuality": "Лучшее качество",
"providerOllamaOption": "🦙 Ollama (Local & Free)",
"providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)",
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
"saved": "(Сохранено)"
},
"aiTest": {
"description": "Test your AI providers for tag generation and semantic search embeddings",
"embeddingDimensions": "Embedding Dimensions:",
"embeddingsTestDescription": "Test the AI provider responsible for semantic search embeddings",
"embeddingsTestTitle": "Embeddings Test",
"error": "Error:",
"first5Values": "First 5 values:",
"generatedTags": "Generated Tags:",
"howItWorksTitle": "How Testing Works",
"model": "Model:",
"provider": "Provider:",
"responseTime": "Response time: {time}ms",
"runTest": "Run Test",
"tagsTestDescription": "Test the AI provider responsible for automatic tag suggestions",
"tagsTestTitle": "Tags Generation Test",
"testError": "Test Error: {error}",
"testFailed": "Test Failed",
"testPassed": "Test Passed",
"testing": "Testing...",
"tipDescription": "Use the AI Test Panel to diagnose configuration issues before testing.",
"tipTitle": "Tip:",
"title": "AI Provider Testing",
"vectorDimensions": "vector dimensions"
},
"aiTesting": "AI Testing",
"security": {
"allowPublicRegistration": "Allow Public Registration",
"allowPublicRegistrationDescription": "If disabled, new users can only be added by an Administrator via the User Management page.",
"description": "Manage access control and registration policies.",
"title": "Security Settings",
"updateFailed": "Failed to update security settings",
"updateSuccess": "Security Settings updated"
},
"settings": "Admin Settings",
"smtp": {
"description": "Configure email server for password resets.",
"forceSSL": "Force SSL/TLS (usually for port 465)",
"fromEmail": "From Email",
"host": "Host",
"ignoreCertErrors": "Ignore Certificate Errors (Self-hosted/Dev only)",
"password": "Password",
"port": "Port",
"saveSettings": "Save SMTP Settings",
"sending": "Sending...",
"testEmail": "Test Email",
"testFailed": "Failed: {error}",
"testSuccess": "Test email sent successfully!",
"title": "SMTP Configuration",
"updateFailed": "Failed to update SMTP settings",
"updateSuccess": "SMTP Settings updated",
"username": "Username"
},
"title": "Admin Dashboard",
"userManagement": "User Management",
"users": {
"addUser": "Add User",
"confirmDelete": "Вы уверены, что хотите удалить этого пользователя?",
"createFailed": "Failed to create user",
"createSuccess": "User created successfully",
"createUser": "Create User",
"createUserDescription": "Add a new user to the system.",
"deleteFailed": "Failed to delete",
"deleteSuccess": "User deleted",
"demote": "Понизить",
"email": "Email",
"name": "Name",
"password": "Password",
"promote": "Повысить",
"role": "Role",
"roleUpdateFailed": "Failed to update role",
"roleUpdateSuccess": "User role updated to {role}",
"roles": {
"admin": "Администратор",
"user": "Пользователь"
},
"table": {
"actions": "Actions",
"createdAt": "Created At",
"email": "Email",
"name": "Name",
"role": "Role"
}
}
},
"ai": {
"analyzing": "AI analyzing...",
"assistant": "AI Assistant",
"autoLabels": {
"analyzing": "Анализ ваших заметок для предложений меток...",
"create": "Создать",
"createNewLabel": "Создать новую метку",
"created": "{count} тегов успешно создано",
"creating": "Создание меток...",
"description": "Я обнаружил повторяющиеся темы в \"{notebookName}\" ({totalNotes} заметках). Создать для них теги?",
"error": "Failed to fetch label suggestions",
"new": "(новая)",
"noLabelsSelected": "No labels selected",
"note": "note",
"notes": "notes",
"title": "Предложения Меток",
"typeContent": "Type content to get label suggestions...",
"typeForSuggestions": "Введите для предложений"
},
"batchOrganization": {
"analyzing": "Analyzing your notes...",
"apply": "Apply",
"applyFailed": "Ошибка применения",
"applying": "Applying...",
"description": "ИИ проанализирует ваши заметки и предложит организовать их в блокноты.",
"error": "Ошибка организации",
"noNotebooks": "No notebooks available. Create notebooks first to organize your notes.",
"noNotesSelected": "Нет выбранных заметок",
"noSuggestions": "AI could not find a good way to organize these notes.",
"selectAllIn": "Выбрать всё в",
"selectNote": "Выбрать заметку",
"success": "Организация завершена",
"title": "Пакетная организация"
},
"clarify": "Clarify",
"clickToAddTag": "Click to add this tag",
"generateTitles": "Generate titles",
"generateTitlesTooltip": "Generate titles with AI",
"generating": "Generating...",
"generatingTitles": "Generating titles...",
"ignoreSuggestion": "Ignore this suggestion",
"improveStyle": "Improve style",
"languageDetected": "Language detected",
"notebookSummary": {
"regenerate": "Перегенерировать Сводку",
"regenerating": "Перегенерация сводки..."
},
"original": "Original",
"poweredByAI": "Powered by AI",
"processing": "Processing...",
"reformulateText": "Reformulate text",
"reformulated": "Reformulated",
"reformulating": "Reformulating...",
"reformulationApplied": "Reformulated text applied!",
"reformulationComparison": "Reformulation Comparison",
"reformulationError": "Error during reformulation",
"reformulationFailed": "Failed to reformulate text",
"reformulationMaxWords": "Text must have maximum 500 words",
"reformulationMinWords": "Text must have at least 10 words (current: {count} words)",
"reformulationNoText": "Please select text or add content",
"reformulationSelectionTooShort": "Selection too short, using full content",
"shorten": "Shorten",
"tagAdded": "Tag \"{tag}\" added",
"titleApplied": "Title applied!",
"titleGenerateWithAI": "Generate titles with AI",
"titleGenerating": "Generating...",
"titleGenerationError": "Error generating titles",
"titleGenerationFailed": "Failed to generate titles",
"titleGenerationMinWords": "Content must have at least 10 words to generate titles (current: {count} words)",
"titlesGenerated": "💡 {count} titles generated!",
"transformError": "Error during transformation",
"transformMarkdown": "Transform to Markdown",
"transformSuccess": "Text transformed to Markdown successfully!",
"transforming": "Transforming..."
},
"aiSettings": {
"description": "Настройте функции и предпочтения на базе ИИ",
"error": "Не удалось обновить настройку",
"features": "Функции ИИ",
"frequency": "Частота",
"frequencyDaily": "Ежедневно",
"frequencyWeekly": "Еженедельно",
"provider": "Провайдер ИИ",
"providerAuto": "Авто (Рекомендуется)",
"providerOllama": "Ollama (Локальный)",
"providerOpenAI": "OpenAI (Облачный)",
"saved": "Настройка обновлена",
"saving": "Сохранение...",
"title": "Настройки ИИ",
"titleSuggestionsDesc": "Предлагать заголовки для заметок без названия после 50+ слов",
"paragraphRefactorDesc": "Параметры улучшения текста с помощью ИИ",
"frequencyDesc": "Как часто анализировать связи между заметками",
"providerDesc": "Выберите предпочитаемого провайдера ИИ",
"providerAutoDesc": "Ollama при наличии, иначе OpenAI",
"providerOllamaDesc": "100% приватно, работает локально на вашем устройстве",
"providerOpenAIDesc": "Наиболее точно, требует API-ключ"
},
"appearance": {
"description": "Настройте внешний вид приложения",
"title": "Внешний вид"
},
"auth": {
"backToLogin": "Вернуться ко входу",
"checkYourEmail": "Проверьте вашу почту",
"createAccount": "Создайте свой аккаунт",
"email": "Эл. почта",
"emailPlaceholder": "Введите адрес электронной почты",
"forgotPassword": "Забыли пароль?",
"forgotPasswordDescription": "Введите адрес электронной почты, и мы отправим вам ссылку для сброса пароля.",
"forgotPasswordTitle": "Забыли пароль",
"hasAccount": "Уже есть аккаунт?",
"name": "Имя",
"namePlaceholder": "Введите ваше имя",
"noAccount": "Нет аккаунта?",
"orContinueWith": "Или продолжить с",
"password": "Пароль",
"passwordMinChars": "Введите пароль (минимум 6 символов)",
"passwordPlaceholder": "Введите пароль",
"rememberMe": "Запомнить меня",
"resetEmailSent": "Мы отправили ссылку для сброса пароля на вашу почту, если она существует в нашей системе.",
"resetPassword": "Сбросить пароль",
"resetPasswordInstructions": "Введите вашу почту для сброса пароля",
"returnToLogin": "Вернуться ко входу",
"sendResetLink": "Отправить ссылку для сброса",
"sending": "Отправка...",
"signIn": "Войти",
"signInToAccount": "Войдите в свой аккаунт",
"signOut": "Sign out",
"signUp": "Зарегистрироваться"
},
"autoLabels": {
"analyzing": "Анализ ваших заметок...",
"createNewLabel": "Создать эту новую метку и добавить ее",
"created": "Меток успешно создано: {count}",
"description": "Я обнаружил повторяющиеся темы в \"{notebookName}\" ({totalNotes} заметок). Создать метки для них?",
"error": "Не удалось получить предложения меток",
"new": "(новая)",
"noLabelsSelected": "Меток не выбраны",
"note": "заметка",
"notes": "заметки",
"title": "Новые предложения меток",
"typeContent": "Введите контент для получения предложений меток..."
},
"batch": {
"organize": "Организовать",
"organizeWithAI": "Организовать с ИИ"
},
"batchOrganization": {
"analyzing": "Анализ ваших заметок...",
"apply": "Применить ({count})",
"applying": "Применение...",
"confidence": "уверенность",
"description": "ИИ проанализирует ваши заметки и предложит организовать их в блокноты.",
"error": "Не удалось создать план организации",
"noNotebooks": "Нет доступных блокнотов. Создайте сначала блокноты для организации ваших заметок.",
"noNotesSelected": "Нет выбранных заметок",
"noSuggestions": "ИИ не нашел хорошего способа организации этих заметок.",
"notesToOrganize": "{count} заметок для организации",
"selected": "{count} выбрано",
"title": "Организовать с ИИ",
"unorganized": "{count} заметок не удалось категоризовать и останутся в общих заметках."
},
"collaboration": {
"accessRevoked": "Доступ был отозван",
"addCollaborator": "Добавить соавтора",
"addCollaboratorDescription": "Добавьте людей для совместной работы над этой заметкой по их адресу электронной почты.",
"alreadyInList": "Этот адрес уже в списке",
"canEdit": "Может редактировать",
"canView": "Может просматривать",
"done": "Готово",
"emailAddress": "Адрес электронной почты",
"emailPlaceholder": "Введите адрес электронной почты",
"enterEmailAddress": "Введите адрес электронной почты",
"errorLoading": "Ошибка загрузки соавторов",
"failedToAdd": "Не удалось добавить соавтора",
"failedToRemove": "Не удалось удалить соавтора",
"invite": "Пригласить",
"noCollaborators": "Соавторов пока нет. Добавьте кого-нибудь выше!",
"noCollaboratorsViewer": "Соавторов пока нет.",
"nowHasAccess": "{name} теперь имеет доступ к этой заметке",
"owner": "Владелец",
"pending": "Ожидает",
"pendingInvite": "Ожидающее приглашение",
"peopleWithAccess": "Люди с доступом",
"remove": "Удалить",
"removeCollaborator": "Удалить соавтора",
"shareNote": "Поделиться заметкой",
"shareWithCollaborators": "Поделиться с соавторами",
"unnamedUser": "Безымянный пользователь",
"viewerDescription": "У вас есть доступ к этой заметке. Только владелец может управлять соавторами.",
"willBeAdded": "{email} будет добавлен как соавтор при создании заметки"
},
"colors": {
"blue": "Синий",
"default": "По умолчанию",
"gray": "Серый",
"green": "Зелёный",
"orange": "Оранжевый",
"pink": "Розовый",
"purple": "Фиолетовый",
"red": "Красный",
"yellow": "Жёлтый"
},
"common": {
"add": "Добавить",
"cancel": "Отмена",
"close": "Закрыть",
"confirm": "Подтвердить",
"delete": "Удалить",
"edit": "Редактировать",
"error": "Ошибка",
"loading": "Загрузка...",
"noResults": "Нет результатов",
"notAvailable": "Недоступно",
"optional": "Необязательно",
"remove": "Удалить",
"required": "Обязательно",
"save": "Сохранить",
"search": "Поиск",
"success": "Успешно",
"unknown": "Неизвестно"
},
"connection": {
"clickToView": "Нажмите для просмотра заметки",
"helpful": "Полезно",
"isHelpful": "Эта связь полезна?",
"memoryEchoDiscovery": "Обнаружение Memory Echo",
"notHelpful": "Не полезно",
"similarityInfo": "Эти заметки связаны на {similarity}% сходства"
},
"dataManagement": {
"cleanup": {
"button": "Cleanup",
"description": "Remove labels and connections that reference deleted notes.",
"failed": "Error during cleanup",
"title": "Cleanup Orphaned Data"
},
"cleanupComplete": "Очистка завершена",
"cleanupError": "Ошибка очистки",
"dangerZone": "Опасная зона",
"dangerZoneDescription": "Эти действия необратимы",
"delete": {
"button": "Delete All Notes",
"confirm": "Are you sure? This will permanently delete all your notes.",
"description": "Permanently delete all your notes. This action cannot be undone.",
"failed": "Failed to delete notes",
"success": "All notes deleted",
"title": "Delete All Notes"
},
"deleting": "Удаление...",
"export": {
"button": "Export Notes",
"description": "Download all your notes as a JSON file. This includes all content, labels, and metadata.",
"failed": "Failed to export notes",
"success": "Notes exported successfully",
"title": "Export All Notes"
},
"exporting": "Экспорт...",
"import": {
"button": "Import Notes",
"description": "Upload a JSON file to import notes. This will add to your existing notes, not replace them.",
"failed": "Failed to import notes",
"success": "Imported {count} notes",
"title": "Import Notes"
},
"importing": "Импорт...",
"indexing": {
"button": "Rebuild Index",
"description": "Regenerate embeddings for all notes to improve semantic search.",
"failed": "Error during indexing",
"success": "Indexing complete: {count} notes processed",
"title": "Rebuild Search Index"
},
"indexingComplete": "Индексация завершена",
"indexingError": "Ошибка индексации",
"title": "Data Management",
"toolsDescription": "Tools to maintain your database health"
},
"demoMode": {
"activated": "Демо-режим активирован! Memory Echo будет работать мгновенно.",
"createNotesTip": "Создайте 2+ похожие заметки и увидьте Memory Echo в действии!",
"deactivated": "Демо-режим деактивирован. Обычные параметры восстановлены.",
"delayBetweenNotes": "Задержка 0 дней между заметками (обычно 7 дней)",
"description": "Ускоряет Memory Echo для тестирования. Связи появляются мгновенно.",
"parametersActive": "Активные демо-параметры:",
"similarityThreshold": "Порог сходства 50% (обычно 75%)",
"title": "Демо-режим",
"toggleFailed": "Ошибка переключения демо-режима",
"unlimitedInsights": "Неограниченные идеи (без ограничений частоты)"
},
"diagnostics": {
"apiStatus": "Статус API",
"checking": "Checking...",
"configuredProvider": "Настроенный провайдер",
"description": "Check your AI provider connection status",
"errorStatus": "Error",
"operational": "Operational",
"testDetails": "Детали теста:",
"tip1": "Убедитесь, что Ollama запущен (ollama serve)",
"tip2": "Проверьте, что модель установлена (ollama pull llama3)",
"tip3": "Проверьте ваш API-ключ для OpenAI",
"tip4": "Проверьте сетевое подключение",
"title": "Диагностика",
"troubleshootingTitle": "Советы по устранению неполадок:"
},
"favorites": {
"noFavorites": "Нет избранного",
"pinToFavorite": "Добавить в избранное",
"title": "Избранное",
"toggleSection": "Переключить раздел"
},
"footer": {
"openSource": "Open Source клон",
"privacy": "Конфиденциальность",
"terms": "Условия"
},
"general": {
"add": "Добавить",
"apply": "Применить",
"back": "Назад",
"cancel": "Отмена",
"clean": "Clean",
"clear": "Очистить",
"close": "Закрыть",
"confirm": "Подтвердить",
"edit": "Редактировать",
"error": "Произошла ошибка",
"indexAll": "Index All",
"loading": "Загрузка...",
"next": "Далее",
"operationFailed": "Операция не удалась",
"operationSuccess": "Операция успешна",
"preview": "Предпросмотр",
"previous": "Назад",
"reset": "Сбросить",
"save": "Сохранить",
"select": "Выбрать",
"submit": "Отправить",
"testConnection": "Test Connection",
"tryAgain": "Пожалуйста, попробуйте снова"
},
"generalSettings": {
"description": "Общие настройки приложения",
"title": "Общие настройки"
},
"labels": {
"addLabel": "Add label",
"allLabels": "All Labels",
"changeColor": "Change Color",
"changeColorTooltip": "Change color",
"clearAll": "Clear all",
"confirmDelete": "Are you sure you want to delete this label?",
"count": "{count} меток",
"createLabel": "Create label",
"delete": "Delete",
"deleteTooltip": "Delete label",
"editLabels": "Edit Labels",
"editLabelsDescription": "Create, edit colors, or delete labels.",
"filter": "Filter by Label",
"filterByLabel": "Filter by label",
"labelColor": "Label color",
"labelName": "Label name",
"loading": "Loading...",
"manage": "Manage Labels",
"manageLabels": "Manage labels",
"manageLabelsDescription": "Add or remove labels for this note. Click on a label to change its color.",
"manageTooltip": "Manage Labels",
"namePlaceholder": "Enter label name",
"newLabelPlaceholder": "Create new label",
"noLabels": "Нет меток",
"noLabelsFound": "No labels found.",
"notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.",
"selectedLabels": "Selected Labels",
"showLess": "Show less",
"showMore": "Show more",
"tagAdded": "Tag \"{tag}\" added",
"title": "Labels"
},
"memoryEcho": {
"clickToView": "Нажмите для просмотра",
"comparison": {
"title": "💡 Сравнение заметок",
"similarityInfo": "Эти заметки связаны на {similarity}% подобия",
"highSimilarityInsight": "Эти заметки относятся к одной теме с высокой степенью подобия. Их можно объединить.",
"untitled": "Без названия",
"clickToView": "Нажмите для просмотра заметки",
"helpfulQuestion": "Полезно ли это сравнение?",
"helpful": "Полезно",
"notHelpful": "Не полезно"
},
"connection": "connection",
"connections": "Connections",
"connectionsBadge": "{count} connection{plural}",
"dailyInsight": "Daily insight from your notes",
"description": "Proactive connections between your notes",
"dismiss": "Dismiss for now",
"editorSection": {
"title": "⚡ Связанные заметки ({count})",
"loading": "Загрузка...",
"view": "Просмотр",
"compare": "Сравнить",
"merge": "Объединить",
"compareAll": "Сравнить всё",
"mergeAll": "Объединить всё",
"close": "Закрыть"
},
"fused": "Объединено",
"fusion": {
"title": "🔗 Умное слияние",
"mergeNotes": "Объединить {count} заметку/и",
"notesToMerge": "📝 Заметки для объединения",
"optionalPrompt": "💬 Промпт слияния (необязательно)",
"promptPlaceholder": "Необязательные инструкции для ИИ (напр. 'Сохранить формальный стиль заметки 1')...",
"generateFusion": "Сгенерировать слияние",
"generating": "Генерация...",
"previewTitle": "📝 Предпросмотр объединённой заметки",
"edit": "Редактировать",
"modify": "Изменить",
"finishEditing": "Завершить редактирование",
"optionsTitle": "Параметры слияния",
"archiveOriginals": "Архивировать оригинальные заметки",
"keepAllTags": "Сохранить все теги",
"useLatestTitle": "Использовать последнюю заметку как заголовок",
"createBacklinks": "Создать обратную ссылку на оригинальные заметки",
"cancel": "Отмена",
"confirmFusion": "Подтвердить слияние",
"success": "Заметки успешно объединены!",
"error": "Не удалось объединить заметки",
"generateError": "Не удалось создать слияние",
"noContentReturned": "API не вернул содержимого слияния",
"unknownDate": "Неизвестная дата"
},
"helpful": "Helpful",
"insightReady": "Your insight is ready!",
"notHelpful": "Not Helpful",
"overlay": {
"error": "Ошибка",
"loading": "Loading...",
"noConnections": "No connections found",
"searchPlaceholder": "Search connections...",
"sortBy": "Sort by:",
"sortOldest": "Oldest",
"sortRecent": "Recent",
"sortSimilarity": "Similarity",
"title": "Connected Notes",
"viewAll": "View all side by side"
},
"thanksFeedback": "Thanks for your feedback!",
"thanksFeedbackImproving": "Thanks! We'll use this to improve.",
"title": "I noticed something...",
"viewConnection": "View Connection"
},
"nav": {
"accountSettings": "Настройки аккаунта",
"adminDashboard": "Панель администратора",
"aiSettings": "Настройки ИИ",
"archive": "Архив",
"buyMeACoffee": "Купить мне кофе",
"configureAI": "Настройте функции на базе ИИ, провайдера и предпочтения",
"diagnostics": "Диагностика",
"donateOnKofi": "Пожертвовать на Ko-fi",
"donationDescription": "Сделайте единовременное пожертвование или станьте ежемесячным сторонником.",
"donationNote": "Без комиссий платформы • Мгновенные выплаты • Безопасно",
"favorites": "Избранное",
"generalNotes": "Общие заметки",
"home": "Главная",
"login": "Войти",
"logout": "Выйти",
"manageAISettings": "Управление настройками ИИ",
"myLibrary": "Моя библиотека",
"notebooks": "Блокноты",
"notes": "Заметки",
"proPlan": "Про-план",
"profile": "Профиль",
"quickAccess": "Быстрый доступ",
"recent": "Недавние",
"reminders": "Напоминания",
"settings": "Настройки",
"sponsorDescription": "Станьте ежемесячным спонсором и получите признание.",
"sponsorOnGithub": "Спонсорировать на GitHub",
"support": "Поддержать Memento ☕",
"supportDescription": "Memento на 100% бесплатен и открыт. Ваша поддержка помогает сохранить это.",
"supportDevelopment": "Поддержать разработку Memento ☕",
"trash": "Корзина",
"userManagement": "Управление пользователями",
"workspace": "Рабочее пространство"
},
"notebook": {
"cancel": "Отмена",
"create": "Создать блокнот",
"createDescription": "Начните новую коллекцию для эффективной организации ваших заметок, идей и проектов.",
"createNew": "Создать новый блокнот",
"creating": "Создание...",
"delete": "Удалить блокнот",
"deleteConfirm": "Удалить",
"deleteWarning": "Вы уверены, что хотите удалить этот блокнот? Заметки будут перемещены в Общие заметки.",
"edit": "Редактировать блокнот",
"editDescription": "Измените название, значок и цвет вашего блокнота.",
"generating": "Генерация сводки...",
"labels": "Метки",
"name": "Название блокнота",
"noLabels": "Нет меток",
"selectColor": "Цвет",
"selectIcon": "Значок",
"summary": "Сводка блокнота",
"summaryDescription": "Сгенерируйте сводку на основе ИИ всех заметок в этом блокноте.",
"summaryError": "Ошибка генерации сводки"
},
"notebookSuggestion": {
"description": "Эта заметка, похоже, принадлежит этому блокноту",
"dismiss": "Отклонить",
"dismissIn": "Отклонить (закроется через {timeLeft}с)",
"generalNotes": "Общие заметки",
"move": "Переместить",
"moveToNotebook": "Переместить в блокнот",
"title": "Переместить в {icon} {name}?"
},
"notebooks": {
"allNotebooks": "Все блокноты",
"create": "Создать блокнот",
"createFirst": "Создайте свой первый блокнот",
"noNotebooks": "Нет блокнотов"
},
"notes": {
"add": "Добавить",
"addCollaborators": "Добавить соавторов",
"addImage": "Добавить изображение",
"addItem": "Добавить элемент",
"addLink": "Добавить ссылку",
"addListItem": "+ Элемент списка",
"addNote": "Добавить заметку",
"adding": "Добавление...",
"aiAssistant": "ИИ-помощник",
"archive": "Архивировать",
"backgroundOptions": "Параметры фона",
"changeColor": "Изменить цвет",
"changeSize": "Изменить размер",
"clarifyFailed": "Ошибка уточнения",
"close": "Закрыть",
"color": "Цвет",
"confirmDelete": "Вы уверены, что хотите удалить эту заметку?",
"confirmLeaveShare": "Вы уверены, что хотите покинуть эту общую заметку?",
"contentOrMediaRequired": "Пожалуйста, введите содержимое или добавьте ссылку/изображение",
"copy": "Копировать",
"copyFailed": "Не удалось скопировать заметку",
"copySuccess": "Заметка успешно скопирована!",
"createFirstNote": "Создайте свою первую заметку",
"date": "Дата",
"delete": "Удалить",
"dragToReorder": "Перетащите для изменения порядка",
"duplicate": "Дублировать",
"edit": "Редактировать заметку",
"emptyState": "Здесь нет заметок",
"fileTooLarge": "Файл слишком большой: {fileName}. Максимальный размер - {maxSize}.",
"improveFailed": "Ошибка улучшения",
"inNotebook": "В блокноте",
"invalidDateTime": "Недействительная дата или время",
"invalidFileType": "Недопустимый тип файла: {fileName}. Разрешены только JPEG, PNG, GIF и WebP.",
"itemOrMediaRequired": "Пожалуйста, добавьте хотя бы один элемент или медиа",
"large": "Большой",
"leaveShare": "Покинуть",
"linkAddFailed": "Не удалось добавить ссылку",
"linkAdded": "Ссылка добавлена",
"linkMetadataFailed": "Не удалось получить метаданные ссылки",
"listItem": "Элемент списка",
"makeCopy": "Сделать копию",
"markdown": "Markdown",
"markdownMode": "Markdown",
"markdownOff": "Markdown ВЫКЛ",
"markdownOn": "Markdown ВКЛ",
"markdownPlaceholder": "Сделайте заметку... (Поддерживается Markdown)",
"medium": "Средний",
"more": "Ещё",
"moreOptions": "Больше параметров",
"moveFailed": "Ошибка перемещения",
"newChecklist": "Новый контрольный список",
"newNote": "Новая заметка",
"noContent": "Нет содержимого",
"noNotes": "Нет заметок",
"noNotesFound": "Заметки не найдены",
"noteCreateFailed": "Не удалось создать заметку",
"noteCreated": "Заметка успешно создана",
"others": "Другие",
"pin": "Закрепить",
"pinned": "Закреплённые",
"pinnedNotes": "Закреплённые заметки",
"placeholder": "Сделайте заметку...",
"preview": "Предпросмотр",
"readOnly": "Только чтение",
"recent": "Недавние",
"redo": "Повторить (Ctrl+Y)",
"redoShortcut": "Повторить (Ctrl+Y)",
"remindMe": "Напомнить мне",
"reminderDateTimeRequired": "Пожалуйста, введите дату и время",
"reminderMustBeFuture": "Напоминание должно быть в будущем",
"reminderPastError": "Напоминание должно быть в будущем",
"reminderRemoved": "Напоминание удалено",
"reminderSet": "Напоминание установлено на {datetime}",
"remove": "Remove",
"saving": "Сохранение...",
"setReminder": "Установить напоминание",
"setReminderButton": "Установить напоминание",
"share": "Поделиться",
"shareWithCollaborators": "Поделиться с соавторами",
"sharedBy": "Поделился",
"sharedReadOnly": "Эта заметка предоставлена вам в режиме только для чтения",
"shortenFailed": "Ошибка сокращения",
"showCollaborators": "Показать соавторов",
"size": "Размер",
"small": "Маленький",
"takeNote": "Сделайте заметку...",
"takeNoteMarkdown": "Сделайте заметку... (Поддерживается Markdown)",
"time": "Время",
"title": "Заметки",
"titlePlaceholder": "Заголовок",
"transformFailed": "Ошибка преобразования",
"unarchive": "Разархивировать",
"undo": "Отменить (Ctrl+Z)",
"undoShortcut": "Отменить (Ctrl+Z)",
"unpin": "Открепить",
"unpinned": "Откреплённая",
"untitled": "Без названия",
"uploadFailed": "Не удалось загрузить {filename}",
"view": "Просмотреть заметку"
},
"pagination": {
"next": "→",
"pageInfo": "Страница {currentPage} / {totalPages}",
"previous": "←"
},
"paragraphRefactor": {
"casual": "Непринуждённый",
"expand": "Расширить",
"formal": "Формальный",
"improve": "Улучшить",
"shorten": "Сократить",
"title": "Улучшение текста"
},
"profile": {
"accountSettings": "Настройки аккаунта",
"autoDetect": "Автоопределение",
"changePassword": "Изменить пароль",
"changePasswordDescription": "Обновите ваш пароль. Вам понадобится ваш текущий пароль.",
"confirmPassword": "Подтвердите пароль",
"currentPassword": "Текущий пароль",
"description": "Обновите вашу личную информацию",
"displayName": "Отображаемое имя",
"displaySettings": "Настройки отображения",
"displaySettingsDescription": "Настройте внешний вид и размер шрифта.",
"email": "Эл. почта",
"fontSize": "Размер шрифта",
"fontSizeDescription": "Настройте размер шрифта для лучшей читаемости. Это применяется ко всему тексту интерфейса.",
"fontSizeExtraLarge": "Очень большой",
"fontSizeLarge": "Большой",
"fontSizeMedium": "Средний",
"fontSizeSmall": "Маленький",
"fontSizeUpdateFailed": "Не удалось обновить размер шрифта",
"fontSizeUpdateSuccess": "Размер шрифта успешно обновлён",
"languageDescription": "Этот язык будет использоваться для функций на базе ИИ, анализа содержимого и текста интерфейса.",
"languagePreferences": "Языковые предпочтения",
"languagePreferencesDescription": "Выберите предпочитаемый язык для функций ИИ и интерфейса.",
"languageUpdateFailed": "Не удалось обновить язык",
"languageUpdateSuccess": "Язык успешно обновлён",
"manageAISettings": "Управление настройками ИИ",
"newPassword": "Новый пароль",
"passwordChangeFailed": "Не удалось изменить пароль",
"passwordChangeSuccess": "Пароль успешно изменён",
"passwordError": "Ошибка обновления пароля",
"passwordUpdated": "Пароль обновлён",
"preferredLanguage": "Предпочитаемый язык",
"profileError": "Ошибка обновления профиля",
"profileUpdated": "Профиль обновлён",
"recentNotesUpdateFailed": "Failed to update recent notes setting",
"recentNotesUpdateSuccess": "Recent notes setting updated successfully",
"selectFontSize": "Выбрать размер шрифта",
"selectLanguage": "Выберите язык",
"showRecentNotes": "Show Recent Notes Section",
"showRecentNotesDescription": "Display recent notes (last 7 days) on the main page",
"title": "Профиль",
"updateFailed": "Не удалось обновить профиль",
"updatePassword": "Обновить пароль",
"updateSuccess": "Профиль обновлён"
},
"reminder": {
"cancel": "Отмена",
"reminderDate": "Дата напоминания",
"reminderTime": "Время напоминания",
"removeReminder": "Удалить напоминание",
"save": "Установить напоминание",
"setReminder": "Установить напоминание",
"title": "Напоминание"
},
"resetPassword": {
"confirmNewPassword": "Подтвердите новый пароль",
"description": "Введите ваш новый пароль ниже.",
"invalidLinkDescription": "Эта ссылка для сброса пароля недействительна или истекла.",
"invalidLinkTitle": "Недействительная ссылка",
"loading": "Загрузка...",
"newPassword": "Новый пароль",
"passwordMismatch": "Пароли не совпадают",
"requestNewLink": "Запросить новую ссылку",
"resetPassword": "Сбросить пароль",
"resetting": "Сброс...",
"success": "Пароль успешно сброшен. Теперь вы можете войти.",
"title": "Сброс пароля"
},
"search": {
"exactMatch": "Точное совпадение",
"noResults": "Результаты не найдены",
"placeholder": "Поиск",
"related": "Связанные",
"resultsFound": "Найдено заметок: {count}",
"searchPlaceholder": "Поиск в заметках...",
"searching": "Поиск...",
"semanticInProgress": "ИИ-поиск...",
"semanticTooltip": "Семантический поиск с ИИ"
},
"semanticSearch": {
"exactMatch": "Точное совпадение",
"related": "Связанные",
"searching": "Поиск..."
},
"settings": {
"about": "About",
"account": "Account",
"appearance": "Appearance",
"cleanTags": "Clean Orphan Tags",
"cleanTagsDescription": "Remove tags that are no longer used by any notes",
"description": "Manage your settings and preferences",
"language": "Language",
"languageAuto": "Автоматически",
"maintenance": "Maintenance",
"maintenanceDescription": "Tools to maintain your database health",
"notifications": "Notifications",
"privacy": "Privacy",
"profile": "Профиль",
"searchNoResults": "Результаты не найдены",
"security": "Security",
"selectLanguage": "Select language",
"semanticIndexing": "Semantic Indexing",
"semanticIndexingDescription": "Generate vectors for all notes to enable intent-based search",
"settingsError": "Error saving settings",
"settingsSaved": "Settings saved",
"theme": "Theme",
"themeDark": "Dark",
"themeLight": "Light",
"themeSystem": "System",
"title": "Settings",
"version": "Version"
},
"sidebar": {
"archive": "Archive",
"editLabels": "Edit labels",
"labels": "Labels",
"notes": "Notes",
"reminders": "Reminders",
"trash": "Trash"
},
"support": {
"aiApiCosts": "Расходы на API ИИ:",
"buyMeACoffee": "Купить мне кофе",
"contributeCode": "Внести вклад в код",
"description": "Memento на 100% бесплатен и с открытым кодом. Ваша поддержка помогает сохранить это.",
"directImpact": "Прямое влияние",
"domainSSL": "Домен и SSL:",
"donateOnKofi": "Пожертвовать на Ko-fi",
"donationDescription": "Сделайте разовое пожертвование или станьте ежемесячным сторонником.",
"githubDescription": "Регулярная поддержка • Публичное признание • Ориентировано на разработчиков",
"hostingServers": "Хостинг и серверы:",
"howSupportHelps": "Как помогает ваша поддержка",
"kofiDescription": "Без комиссий платформы • Мгновенные выплаты • Безопасно",
"otherWaysTitle": "Другие способы поддержки",
"reportBug": "Сообщить об ошибке",
"shareTwitter": "Поделиться в Twitter",
"sponsorDescription": "Станьте ежемесячным спонсором и получите признание.",
"sponsorOnGithub": "Спонсировать на GitHub",
"sponsorPerks": "Преимущества спонсора",
"starGithub": "Поставить звезду на GitHub",
"title": "Поддержать разработку Memento",
"totalExpenses": "Общие расходы:",
"transparency": "Прозрачность",
"transparencyDescription": "Я верю в полную прозрачность. Вот как используются пожертвования:"
},
"testPages": {
"titleSuggestions": {
"analyzing": "Анализ...",
"contentLabel": "Содержимое (нужно более 50 слов):",
"error": "Ошибка:",
"idle": "Ожидание",
"noSuggestions": "Пока нет предложений. Напишите 50+ слов и подождите 2 секунды.",
"placeholder": "Напишите минимум 50 слов здесь...",
"status": "Статус:",
"suggestions": "Предложения ({count}):",
"title": "Тест предложений заголовков",
"wordCount": "Количество слов:"
}
},
"time": {
"daysAgo": "{count} дней назад",
"hoursAgo": "{count} часов назад",
"justNow": "Только что",
"minutesAgo": "{count} минут назад",
"today": "Сегодня",
"tomorrow": "Завтра",
"yesterday": "Вчера"
},
"titleSuggestions": {
"available": "Предложения заголовков",
"dismiss": "Отклонить",
"generating": "Генерация...",
"selectTitle": "Выберите заголовок",
"title": "Предложения ИИ"
},
"toast": {
"feedbackFailed": "Ошибка отправки отзыва",
"notesFusionSuccess": "Заметки успешно объединены!",
"openConnectionFailed": "Ошибка открытия соединения",
"openingConnection": "Открытие соединения...",
"operationFailed": "Операция не удалась",
"operationSuccess": "Операция успешна",
"saveFailed": "Ошибка сохранения настройки",
"saved": "Настройка сохранена",
"thanksFeedback": "Спасибо за ваш отзыв!",
"thanksFeedbackImproving": "Спасибо! Мы используем это для улучшения."
},
"trash": {
"deletePermanently": "Удалить навсегда",
"empty": "Корзина пуста",
"restore": "Восстановить",
"title": "Корзина"
},
"ui": {
"close": "Закрыть",
"collapse": "Свернуть",
"expand": "Развернуть",
"open": "Открыть"
},
"mcpSettings": {
"title": "Настройки MCP",
"description": "Управление ключами API и настройка внешних инструментов",
"whatIsMcp": {
"title": "Что такое MCP?",
"description": "Model Context Protocol (MCP) — это открытый протокол, позволяющий моделям ИИ безопасно взаимодействовать с внешними инструментами и источниками данных. С помощью MCP вы можете подключить такие инструменты, как Claude Code, Cursor или N8N, к вашему экземпляру Keep Notes для программного чтения, создания и организации заметок.",
"learnMore": "Подробнее о MCP"
},
"serverStatus": {
"title": "Состояние сервера",
"running": "Запущен",
"stopped": "Остановлен",
"mode": "Режим",
"url": "URL"
},
"apiKeys": {
"title": "Ключи API",
"description": "Ключи API позволяют внешним инструментам получать доступ к вашим заметкам через MCP. Храните ключи в секрете.",
"generate": "Создать новый ключ",
"empty": "Нет ключей API. Создайте один, чтобы начать.",
"active": "Активен",
"revoked": "Отозван",
"revoke": "Отозвать",
"delete": "Удалить",
"createdAt": "Создан",
"lastUsed": "Последнее использование",
"never": "Никогда",
"confirmRevoke": "Вы уверены, что хотите отозвать этот ключ? Инструменты, использующие его, потеряют доступ.",
"confirmDelete": "Вы уверены, что хотите навсегда удалить этот ключ?"
},
"createDialog": {
"title": "Создать ключ API",
"description": "Создайте новый ключ API для подключения внешних инструментов к вашим заметкам.",
"nameLabel": "Имя ключа",
"namePlaceholder": "напр. Claude Code, Cursor, N8N",
"generating": "Генерация...",
"generate": "Создать",
"successTitle": "Ключ API создан",
"successDescription": "Скопируйте ключ API сейчас. Вы не сможете увидеть его снова.",
"copy": "Копировать",
"copied": "Скопировано!",
"done": "Готово"
},
"configInstructions": {
"title": "Инструкции по настройке",
"description": "Используйте свой ключ API для настройки этих инструментов.",
"claudeCode": {
"title": "Claude Code",
"description": "Добавьте это в файл конфигурации MCP Claude Code:"
},
"cursor": {
"title": "Cursor",
"description": "Добавьте это в настройки MCP Cursor:"
},
"n8n": {
"title": "N8N",
"description": "Используйте эти учётные данные в узле N8N MCP:"
}
}
}
}