您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Переводит на русский интерфейс сайта G4F.
// ==UserScript== // @name Русификатор сайта G4F. // @namespace http://tampermonkey.net/ // @version 0.5 // @license MIT // @description Переводит на русский интерфейс сайта G4F. // @author MrVovchick // @match http://localhost:8080/chat/* // @grant none // @run-at document-start // ==/UserScript== (function() { 'use strict'; const translations = { 'Settings': 'Настройки', 'Enable Dark Mode': 'Включить тёмную тему', 'Web Access with DuckDuckGo': 'Веб-доступ через DuckDuckGo', 'Disable Conversation History': 'Отключить историю бесед', 'Hide System-prompt': 'Скрыть системный промпт', 'Download generated media': 'Скачать сгенерированные медиафайлы', 'Refine files with spaCy': 'Обработать файлы с помощью spaCy', 'Report errors': 'Сообщить об ошибках', 'Count words and tokens': 'Подсчитать слова и токены', 'Automatic Orientation (16:9 or 9:16)': 'Автоматическая ориентация (16:9 или 9:16)', 'System prompt': 'Системный промпт', 'You are a helpful assistant.': 'Вы — полезный помощник.', 'Input max. height': 'Максимальная высота ввода', 'Speech recognition language': 'Язык распознавания речи', 'Providers API key': 'API-ключ провайдера', 'Clear Conversations': 'Очистить беседы', 'Export Conversations': 'Экспортировать беседы', 'Export Settings': 'Экспортировать настройки', 'Translate UI': 'Перевести интерфейс', 'Delete Translations': 'Удалить переводы', 'Show log': 'Показать журнал', 'G4F Chat': 'Чат G4F', 'New Conversation': 'Новая беседа', 'Private Conversation': 'Приватная беседа', 'Open Settings': 'Открыть настройки', 'Regenerate': 'Сгенерировать заново', 'Type a message...': 'Введите сообщение...', 'Add': 'Добавить', 'Send': 'Отправить', 'Hello! How can I assist you today?': 'Здравствуйте! Чем я могу вам помочь сегодня?', 'Provider: Auto': 'Провайдер: Авто', 'Custom': 'Настроить', 'support ~': 'поддержка ~ ', 'Shader': 'Шейдер' // Добавлено по примеру }; // Сортируем ключи по убыванию длины, чтобы длинные фразы обрабатывались раньше коротких const sortedTranslations = Object.entries(translations).sort((a, b) => b[0].length - a[0].length); function translateText(node) { // Обработка текстовых узлов if (node.nodeType === Node.TEXT_NODE) { const original = node.textContent; const trimmed = original.trim(); if (trimmed === '') return; // Пропустить пустые for (const [en, ru] of sortedTranslations) { if (trimmed === en) { node.textContent = original.replace(trimmed, ru); break; } } } // Обработка элементов else if (node.nodeType === Node.ELEMENT_NODE) { // Обработка атрибутов title и placeholder ['title', 'placeholder'].forEach(attr => { if (node.hasAttribute(attr)) { const original = node.getAttribute(attr); const trimmed = original.trim(); if (trimmed === '') return; for (const [en, ru] of sortedTranslations) { if (trimmed === en) { node.setAttribute(attr, original.replace(trimmed, ru)); break; } } } }); // Рекурсивная обработка дочерних элементов node.childNodes.forEach(translateText); } } function translateDocument() { if (document.body) { translateText(document.body); } } const observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'childList') { mutation.addedNodes.forEach(function(node) { if (node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.TEXT_NODE) { translateText(node); } }); } else if (mutation.type === 'characterData') { translateText(mutation.target); } }); }); observer.observe(document, { childList: true, subtree: true, characterData: true }); if (document.readyState !== 'loading') { translateDocument(); } else { document.addEventListener('DOMContentLoaded', translateDocument); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址