Русский интерфейс Мистраль ИИ

Локализация интерфейса Ле-чат от Мистраль на русский язык

// ==UserScript==
// @name         Русский интерфейс Мистраль ИИ
// @namespace    Mistral_Russian_Localization
// @match        https://chat.mistral.ai/*
// @match        https://admin.mistral.ai/*
// @grant        none
// @version      0.15
// @description  Локализация интерфейса Ле-чат от Мистраль на русский язык
// @author       Айвендил
// @license       MIT
// ==/UserScript==

(function() {
    'use strict';

    // Создаем словарь для замены текста
    const translations = {
        // Основные элементы интерфейса
        "Chat": "Чат",
        "Connections": "Подключения",
      "Agents": "Агенты",
        "Libraries": "Библиотеки",
        "Settings": "Настройки",
        "Dashboard": "Панель управления",
        "Scripts": "Скрипты",
        "New script": "Новый скрипт",
        "Install script": "Установить скрипт",
        "Edit": "Редактировать",
      "Today": "Сегодня",
      "Yesterday": "Вчера",
      "Previous 7 days": "Последняя неделя",
      "Previous 30 days": "Последний месяц",
      "Older": "Старые",
        "Delete": "Удалить",
        "Enable": "Включить",
        "Disable": "Отключить",
        "Save": "Сохранить",
      "Star": "Избранное",
      "Archive": "Архивировать",
        "Cancel": "Отмена",
        "Update": "Обновить",
        "Search": "Поиск",
      "Open this library": "Откройте эту библиотеку",
      "New chat with this library": "Новый чат с этой библиотекой",
      "Recent chats": "Недавние чаты",
      "My agents": "Мои агенты",
      "Create agent": "Создать агента",
      "My libraries": "Мои библиотеки",
      "Open settings": "Открыть настройки",
      "Change theme": "Сменить тему",

        "Install": "Установить",
        "Uninstall": "Удалить",
        "Options": "Опции",
        "General": "Общие",
        "Advanced": "Дополнительно",
        "About": "О программе",
        "Help": "Помощь",
        "Close": "Закрыть",
        "OK": "OK",
        "Yes": "Да",
        "No": "Нет",
        "Name": "Название",
        "Description": "Описание",
        "Version": "Версия",
        "Author": "Автор",
        "Match": "Совпадение",
        "Grant": "Разрешение",
        "Require": "Требование",
        "Run at": "Запускать на",
      "Organization": "Организация",
      "Back to Le Chat": "Вернуться к Ле-чат",
      "Usage": "Использование",
      "Whether Le Chat should use faster servers when available.": "Следует ли Ле-чат использовать более быстрые серверы, когда они доступны.",

        // Элементы чата
        "Le Chat Free": "Ле-чат (бесплатный)",
      "New chat": "Новый чат",
      "Enable Flash Answers": "Включить быстрые ответы",
      "Enable accelerated answers": "Включить ускоренные ответы",
      "Flash answers": "Быстрые ответы",
        "Ask Le Chat anything": "Спроси Ле-чат о чём угодно",
        "Disable all": "Отключить все",
        "Update all": "Обновить все",
        "Check for updates": "Проверить обновления",
        "Install from URL": "Установить из URL",
        "Install from file": "Установить из файла",
        "Download": "Скачать",
        "Upload": "Загрузить",
        "Browse": "Обзор",
        "Open": "Открыть",
        "Create": "Создать",
        "Toggle theme": "Сменить тему",
        "Light": "Светлая",
        "Dark": "Темная",
        "System": "Системная",
        "Archived chats": "Архивные чаты",
        "Shared chats": "Общие чаты",
        "Switch organization": "Сменить организацию",
        "Delete all chats": "Удалить все чаты",
        "Log out": "Выйти",

        // Подключения и агенты
        "My Connections": "Мои подключения",
        "Get improved, personalized answers by connecting your knowledge.": "Получайте улучшенные, персонализированные ответы, подключая свои знания.",
        "Admin Controls": "Административные настройки",
        "Include your email in your chats.": "Включить ваш email в чаты.",
        "Include your calendar in your chats.": "Включить ваш календарь в чаты.",
        "Organize and include information for your chats.": "Организуйте и включайте информацию для ваших чатов.",
        "New Library": "Новая библиотека",
        "Make your chats even more relevant": "Сделайте ваши чаты еще более релевантными",
        "Organize document libraries and crawl websites to include in your conversations": "Организуйте библиотеки документов и обходите веб-сайты для включения в ваши беседы",
        "Your Agents": "Ваши агенты",
        "All": "Все",
        "Mine": "Мои",
        "Shared": "Общие",
        "Your trusted sidekicks for automating tasks and supercharging productivity.": "Ваши надежные помощники для автоматизации задач и повышения продуктивности.",
        "Create an Agent": "Создать агента",
        "Browse Agents": "Просмотреть агентов",
        "No agents yet": "Пока нет агентов",
        "Create an agent to get started.": "Создайте агента, чтобы начать.",
        "Drop PDFs or images here": "Разместите PDF или картинки здесь",

        // Агенты и их описания
        "Data Analyst": "Аналитик данных",
        "Convert any CSV file into an analysis": "Преобразуйте CSV-файл в аналитический",
        "By Mistral": "От Мистраль",
        "Personal Tutor": "Персональный репетитор",
        "Experience personalized learning with your Personal Tutor, begin by asking for help in a subject or uploading a PDF on material you want to assistance with": "Опыт персонализированного обучения с вашим персональным репетитором, начните с запроса помощи по предмету или загрузки PDF с материалом, по которому вам нужна помощь",
        "Global Summarizer": "Глобальный суммаризатор",
        "Summarize documents of any type into clear, concise summaries": "Суммаризируйте документы любого типа в четкие, краткие резюме",
        "Writing Assistant": "Помощник по написанию текстов",
        "Elevate your writing with the Personal Writing Assistant, your dedicated editor combining": "Повысьте уровень своего письма с помощью персонального помощника по написанию текстов, вашего личного редактора, объединяющего",

        // Инструменты
        "Tools": "Инструменты",
      "Dictation": "Голос",
      "Think": "Размышлять",
      "Thinking": "Размышляющий",
      "More thoughtful answers with transparent reasoning": "Более продуманные ответы с прозрачной аргументацией",
      "Research": "Исследование",
      "Deep Research": "Углублённое исследование",
      "10x speed": "скорость х10",
      "Get an expert research report in minutes with 10x the sources": "Получите отчёт с экспертным исследованием за считанные минуты, используя в 10 раз больше источников",
      "of 5 searches left for this month": "из 5 запросов, за этот месяц",
      "Pure Thinking": "Чистое мышление",
      "Best option for math and coding. Disables tools.": "Лучший вариант для математики и программирования. Отключает инструменты.",
      "10x Speed": "Скорость 10x",
      "PRO": "ПРО",
      "- 3 remaining today": "- Осталось 3 на сегодня",
      "Same quality at 10x the speed.": "То же качество при скорости в 10 раз выше.",
        "Enable tools": "Включить инструменты",
        "Smarter answers with transparent reasoning": "Более умные ответы с прозрачным обоснованием",
        "Code Interpreter": "Интерпретатор кода",
        "Generate code and charts": "Генерация кода и диаграмм",
        "Image generation": "Генерация изображений",
        "Generate images": "Генерировать изображения",
        "Google Calendar": "Google Календарь",
        "Canvas": "Холст",
        "Document collaboration": "Совместная работа с документами",
        "Web search": "Поиск в интернете",
        "Search the web": "Поиск в интернете",
        "Connect": "Подключить",

        // Настройки организации
        "Organization settings": "Настройки организации",
        "Manage your organization settings.": "Управление настройками вашей организации.",
        "Organization identification": "Идентификация организации",
        "Your organization identifier.": "Идентификатор вашей организации.",
        "Organization name": "Название организации",
        "Organization ID": "ID организации",
        "Danger zone": "Опасная зона",
        "Delete organization": "Удалить организацию",
        "If you want to permanently delete this organization and all its data, you can do so on the right. This will not delete the users members of this organization.": "Если вы хотите навсегда удалить эту организацию и все её данные, вы можете сделать это справа. Это не удалит пользователей - членов этой организации.",
        "Manage the access settings of your organization.": "Управление настройками доступа вашей организации.",
        "Domain verification is not supported for your domain": "Проверка домена не поддерживается для вашего домена",

        // Настройки аккаунта
        "Account": "Аккаунт",
        "Profile": "Профиль",
        "Security & Access": "Безопасность и доступ",
        "Preferences": "Настройки",
        "Administration": "Администрирование",
        "Access": "Доступ",
        "Members": "Участники",
        "Billing": "Платежи",
        "Account settings": "Настройки аккаунта",
        "Manage your personal information": "Управление вашей личной информацией",
        "User ID": "ID пользователя",
        "Your personal identifier.": "Ваш персональный идентификатор.",
        "This is the email you use to log in with your password.": "Это email, который вы используете для входа с паролем.",
        "First name": "Имя",
        "Last name": "Фамилия",
        "Communication settings": "Настройки коммуникации",
        "Email preferences": "Настройки email",
        "Manage the emails that you receive from us.": "Управление email-сообщениями, которые вы получаете от нас.",
        "Go to email preferences portal": "Перейти в портал настроек email",
        "Export your personal data": "Экспорт ваших персональных данных",
        "Export easily for each Mistral AI product your personal data.": "Легко экспортируйте ваши персональные данные для каждого продукта Mistral AI.",
        "Go to export center": "Перейти в центр экспорта",
        "Update profile": "Обновить профиль",
        "Account deletion": "Удаление аккаунта",
        "Social logins": "Социальные логины",
        "Manage your logins through Google or Microsoft.": "Управление вашими входами через Google или Microsoft.",
        "Multi-factor authentication": "Многофакторная аутентификация",
        "Manage your Multi-factor authentication with an Authenticator app.": "Управление вашей многофакторной аутентификацией с помощью приложения Authenticator.",
        "Password": "Пароль",
        "Set a new password for your account.": "Установите новый пароль для вашего аккаунта.",
        "Set new password": "Установить новый пароль",
        "Manage your authentication settings": "Управление вашими настройками аутентификации",
        "Customize your experience across all of our applications": "Настройте ваш опыт работы во всех наших приложениях",
        "Language": "Язык",
        "Select the language for the user interface": "Выберите язык для пользовательского интерфейса",

        // Платежи и подписки
        "Manage your organization members, their role, and subscriptions.": "Управление участниками вашей организации, их ролями и подписками.",
        "Filter...": "Фильтр...",
        "Role": "Роль",
        "Manage your organization billing information.": "Управление информацией о платежах вашей организации.",
        "Payment methods": "Способы оплаты",
        "The default method is used automatically for all your subscriptions.": "Способ по умолчанию используется автоматически для всех ваших подписок.",
        "No payment method added yet.": "Пока не добавлено ни одного способа оплаты.",
        "Billing information": "Платежная информация",
        "Will appear on each invoice. Changes do not affect invoices that have already been emitted.": "Будет отображаться на каждом счете. Изменения не влияют на уже выданные счета.",
        "Add billing informations": "Добавить платежную информацию",
        "Credits": "Кредиты",
        "The amount of credits on your account. The next monthly usage will be deducted of this amount.": "Количество кредитов на вашем аккаунте. Следующее ежемесячное использование будет вычтено из этой суммы.",
        "Add credits": "Добавить кредиты",
        "Redeem a gift code": "Активировать подарочный код",
        "Enter a gift code to redeem credits or activate special offers.": "Введите подарочный код, чтобы получить кредиты или активировать специальные предложения.",
        "Setup billing to use a gift code": "Настройте платежи для использования подарочного кода",
        "Invoices": "Счета",
        "All the invoices of your different subscriptions.": "Все счета ваших различных подписок.",
        "Your future invoices will be showed here.": "Ваши будущие счета будут отображаться здесь.",
        "Organization API keys": "Ключи API организации",
        "As an admin of this organization, you can view and manage all API keys in this organization.": "Как администратор этой организации, вы можете просматривать и управлять всеми ключами API в этой организации.",
        "Create new key": "Создать новый ключ",
        "No plan is currently active on this organization, the API keys will not be active.": "В настоящее время у этой организации нет активного плана, ключи API не будут активны.",
        "Choose a plan": "Выберите план",
        "You can have up to 50 active API keys per organization.": "Вы можете иметь до 50 активных ключей API на организацию.",
        "Active": "Активные",
        "Expired": "Истекшие",
        "Usage of your organization.": "Использование вашей организацией.",
        "Overview": "Обзор",
        "Total Cost": "Общая стоимость",
        "Cost Per Day": "Стоимость в день",
        "Show consumption in USD": "Показать потребление в долларах США",
        "Completion": "Завершение",
        "OCR": "Оптическое распознавание символов",
        "Agents - Connectors": "Агенты - Коннект",
        "Libraries API": "API Библиотек",
        "Fine-tuning - Training": "Тонкая настройка - Обучение",
        "Fine-tuning - Model Storage": "Тонкая настройка - Хранение моделей",
        "Total:": "Всего:",
        "USD": "USD",
        "completion": "Завершение",
        "training": "Обучение",
        "storage": "Хранение",
        "connectors": "Коннекторы",
        "libraries": "Библиотеки",
      "Projects": "Проект",
      "New project": "Новый проект",
      "Use projects to organize and share chats.": "Используйте проекты для организации чатов и обмена ими.",
        "Organization limits": "Ограничения организации",
        "To ensure the highest level of service quality, our API enforces limitations. Additionally, you have the option to establish spending caps for your account to prevent incurring excessive fees.": "Для обеспечения наивысшего уровня качества обслуживания, наш API применяет ограничения. Кроме того, у вас есть возможность установить лимиты расходов для вашего аккаунта, чтобы предотвратить чрезмерные затраты.",
        "You don't have a plan yet.": "У вас пока нет плана.",
        "Don't worry, you can choose one right now!": "Не беспокойтесь, вы можете выбрать его прямо сейчас!",
        "Compare plans": "Сравнить планы",
        "Manage your privacy settings for our API.": "Управление вашими настройками конфиденциальности для нашего API.",
        "You don't have an active subscription on La Plateforme.": "У вас нет активной подписки на La Plateforme.",
        "Le Chat Plan": "План Ле-Чат",
        "Manage your Le Chat subscription.": "Управление вашей подпиской Ле-Чат.",
        "Current plan": "Текущий план",
        "Free": "Бесплатный",
        "Your personal AI assistant for life and work.": "Ваш персональный помощник на основе ИИ для жизни и работы.",
        "Access to the latest frontier models from Mistral AI": "Доступ к последним передовым моделям от Мистраль ИИ",
        "Access to web browsing, breaking news, file uploads and advanced data analysis": "Доступ к веб-серфингу, последним новостям, загрузке файлов и расширенному анализу данных",
        "Access to flash answers": "Доступ к быстрым ответам",
      "Unlock the full potential of Le Chat.": "Раскройте весь потенциал Ле-чат.",
      "Pro": "Про",
      "Unlock enhanced productivity with extended capabilities.": "Повысьте продуктивность с расширенными возможностями.",
      "Everything in Free, plus:": "Всё, что в бесплатной версии, плюс:",
      "Unlimited access to Mistral’s highest-performing model and web browsing*": "Неограниченный доступ к самой производительной модели Мистраль и веб-серфингу*",
      "Unlimited number of messages per day*": "Неограниченное количество сообщений в день*",
      "Extended access to news, file uploads, advanced data analysis, and image generations": "Расширенный доступ к новостям, загрузке файлов, продвинутому анализу данных и генерации изображений",
      "Extended access limits to flash answers": "Расширенные лимиты доступа к быстрым ответам",
      "*Subject to fair use": "*При условии разумного использования",
      "Team": "Командный",
      "Empower your team with a secure, collaborative, AI-powered organization.": "Усилить вашу команду с помощью безопасной, совместной организации на базе ИИ.",
      "Everything in Pro, plus:": "Всё, что в версии Про, плюс:",
      "More usage than Pro for live journalism info with AFP news, file uploads, advanced data analysis, image generation, and flash answers": "Больше возможностей, чем в версии Про, для живой журналистской информации с новостями AFP, загрузки файлов, продвинутого анализа данных, генерации изображений и быстрых ответов",
      "Central billing and administration": "Централизованные платежи и администрирование",
      "Price": "Цена",
      "Are you a student?": "Вы студент?",
      "Check out student plan": "Для вас специальные условия",
      "Student": "Студенческий",
      "Pro plan with student discount": "Профессиональный тарифный план со скидкой для студентов",
      "Log in with your student email to benefit from the student plan": "Войдите в систему, указав свой студенческий e-mail, чтобы воспользоваться этим тарифным планом",
      "Your student email is not recognised?": "Ваша студенческая почта не распознана?",
      "Request email check": "Запросите проверку электронной почты",
      "month": "месяц",
        "Upgrade": "Обновить",
      "Dedicated team support from Mistral AI": "Специальная поддержка команды от Мистраль ИИ",
        "Upgrade to Le Chat Pro": "Обновить до Ле-Чат Про",
        "Unlock the full potential of Le Chat with a Pro subscription.": "Раскройте весь потенциал Ле-чат с подпиской Про.",
        "Configure your preferences related to Le Chat": "Настройте ваши предпочтения, связанные с Ле-чат",
        "Manage your privacy settings": "Управление вашими настройками конфиденциальности",
        "Allow your interactions to be used to train our models.": "Разрешить использовать ваши взаимодействия для обучения наших моделей.",
        "Everything that is shared is anonymized.": "Всё, что передается, анонимизируется.",
        "Localisation": "Локализация",
        "Allow Le Chat to use your location to provide more relevant responses": "Разрешить Ле-Чат использовать ваше местоположение для предоставления более релевантных ответов",

        // Рабочие пространства
        "Manage your workspaces.": "Управление вашими рабочими пространствами.",
        "New workspace": "Новое рабочее пространство",
        "Archived": "Архивные",
        "Default Workspace": "Рабочее пространство по умолчанию",
        "This is the default workspace. It can not be deleted.": "Это рабочее пространство по умолчанию. Его нельзя удалить.",
        "La Plateforme plan": "План La Plateforme",
        "Manage your La Plateforme subscription.": "Управление вашей подпиской La Plateforme.",
        "No active plan yet.": "Пока нет активного плана.",
        "Choose a plan now to get access to our API.": "Выберите план сейчас, чтобы получить доступ к нашему API.",
        "Subscription": "Подписка",
      "Limits": "Лимиты",
      "API Keys": "Ключи API",
      "API usage for": "Использование API на",
      "You have no API key yet. Generate one to start using the API.": "У вас пока нет ключа API. Сгенерируйте его, чтобы начать использовать API.",
      "Export your Le Chat personal data.": "Экспортировать ваши персональные данные Ле-чат.",
      "Workspaces": "Рабочие пространства",
        "Privacy": "Конфиденциальность"

    };

    // Функция для перевода текста в узле
    function translateText(node) {
        if (!node) return;

        // Если узел — текстовый
        if (node.nodeType === Node.TEXT_NODE) {
            const text = node.textContent.trim();
            if (text && translations[text]) {
                node.textContent = translations[text];
            }
        }
        // Если узел — элемент
        else if (node.nodeType === Node.ELEMENT_NODE) {
            // Перевод атрибута title
            if (node.hasAttribute('title')) {
                const title = node.getAttribute('title');
                if (title && translations[title]) {
                    node.setAttribute('title', translations[title]);
                }
            }
            // Перевод атрибута placeholder
            if (node.hasAttribute('placeholder')) {
                const placeholder = node.getAttribute('placeholder');
                if (placeholder && translations[placeholder]) {
                    node.setAttribute('placeholder', translations[placeholder]);
                }
            }
            // Перевод атрибута aria-label
            if (node.hasAttribute('aria-label')) {
                const ariaLabel = node.getAttribute('aria-label');
                if (ariaLabel && translations[ariaLabel]) {
                    node.setAttribute('aria-label', translations[ariaLabel]);
                }
            }
            // Перевод атрибута alt
            if (node.hasAttribute('alt')) {
                const alt = node.getAttribute('alt');
                if (alt && translations[alt]) {
                    node.setAttribute('alt', translations[alt]);
                }
            }
            // Рекурсивно переводим дочерние элементы
            for (let i = 0; i < node.childNodes.length; i++) {
                translateText(node.childNodes[i]);
            }
        }
    }

    // Функция для перевода всего документа
    function translateDocument() {
        translateText(document.body);
    }

    // Наблюдатель за изменениями в DOM
    const observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            mutation.addedNodes.forEach(function(node) {
                if (node.nodeType === Node.ELEMENT_NODE) {
                    translateText(node);
                }
            });
        });
    });

    // Настройка наблюдателя
    observer.observe(document.body, {
        childList: true,
        subtree: true,
        attributes: true,
        attributeFilter: ['title', 'placeholder', 'aria-label', 'alt']
    });

    // Первоначальный перевод страницы
    translateDocument();
})();