mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 07:05:43 -03:00
Add Chinese (Simplified and Traditional) localization files and implement i18n tests
- Created zh-CN.json and zh-TW.json for Simplified and Traditional Chinese translations respectively. - Added comprehensive test suite in test_i18n.py to validate JSON structure, server-side i18n functionality, and translation completeness across multiple languages.
This commit is contained in:
453
locales/ru.json
Normal file
453
locales/ru.json
Normal file
@@ -0,0 +1,453 @@
|
||||
{
|
||||
"common": {
|
||||
"file": "Файл",
|
||||
"folder": "Папка",
|
||||
"name": "Имя",
|
||||
"size": "Размер",
|
||||
"date": "Дата",
|
||||
"type": "Тип",
|
||||
"path": "Путь",
|
||||
"fileSize": {
|
||||
"zero": "0 Байт",
|
||||
"bytes": "Байт",
|
||||
"kb": "КБ",
|
||||
"mb": "МБ",
|
||||
"gb": "ГБ",
|
||||
"tb": "ТБ"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Сохранить",
|
||||
"cancel": "Отмена",
|
||||
"delete": "Удалить",
|
||||
"edit": "Редактировать",
|
||||
"copy": "Копировать",
|
||||
"move": "Переместить",
|
||||
"refresh": "Обновить",
|
||||
"download": "Скачать",
|
||||
"upload": "Загрузить",
|
||||
"search": "Поиск",
|
||||
"filter": "Фильтр",
|
||||
"sort": "Сортировка",
|
||||
"select": "Выбрать",
|
||||
"selectAll": "Выбрать всё",
|
||||
"deselectAll": "Отменить выбор",
|
||||
"confirm": "Подтвердить",
|
||||
"close": "Закрыть",
|
||||
"back": "Назад",
|
||||
"next": "Далее",
|
||||
"previous": "Предыдущий",
|
||||
"view": "Просмотр",
|
||||
"preview": "Предварительный просмотр",
|
||||
"details": "Детали",
|
||||
"backToTop": "Наверх",
|
||||
"settings": "Настройки",
|
||||
"help": "Помощь",
|
||||
"about": "О программе"
|
||||
},
|
||||
"status": {
|
||||
"loading": "Загрузка...",
|
||||
"saving": "Сохранение...",
|
||||
"saved": "Сохранено",
|
||||
"error": "Ошибка",
|
||||
"success": "Успешно",
|
||||
"warning": "Предупреждение",
|
||||
"info": "Информация",
|
||||
"processing": "Обработка...",
|
||||
"completed": "Завершено",
|
||||
"failed": "Неудачно",
|
||||
"cancelled": "Отменено",
|
||||
"pending": "Ожидание",
|
||||
"ready": "Готово"
|
||||
},
|
||||
"language": {
|
||||
"current": "Язык",
|
||||
"select": "Выбрать язык",
|
||||
"select_help": "Выберите предпочитаемый язык интерфейса",
|
||||
"english": "Английский",
|
||||
"chinese_simplified": "Китайский (упрощённый)",
|
||||
"chinese_traditional": "Китайский (традиционный)",
|
||||
"russian": "Русский",
|
||||
"german": "Немецкий",
|
||||
"japanese": "Японский",
|
||||
"korean": "Корейский",
|
||||
"french": "Французский",
|
||||
"spanish": "Испанский"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"appTitle": "LoRA Менеджер",
|
||||
"navigation": {
|
||||
"loras": "LoRA",
|
||||
"recipes": "Рецепты",
|
||||
"checkpoints": "Чекпойнты",
|
||||
"embeddings": "Эмбеддинги",
|
||||
"statistics": "Статистика"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Поиск...",
|
||||
"placeholders": {
|
||||
"loras": "Поиск LoRA...",
|
||||
"recipes": "Поиск рецептов...",
|
||||
"checkpoints": "Поиск чекпойнтов...",
|
||||
"embeddings": "Поиск эмбеддингов..."
|
||||
},
|
||||
"options": "Параметры поиска",
|
||||
"searchIn": "Поиск в:",
|
||||
"notAvailable": "Поиск недоступен на странице статистики",
|
||||
"filters": {
|
||||
"filename": "Имя файла",
|
||||
"modelname": "Имя модели",
|
||||
"tags": "Теги",
|
||||
"creator": "Создатель",
|
||||
"title": "Название рецепта",
|
||||
"loraName": "Имя файла LoRA",
|
||||
"loraModel": "Имя модели LoRA"
|
||||
}
|
||||
},
|
||||
"filter": {
|
||||
"title": "Фильтр моделей",
|
||||
"baseModel": "Базовая модель",
|
||||
"modelTags": "Теги (топ 20)",
|
||||
"clearAll": "Очистить все фильтры"
|
||||
},
|
||||
"theme": {
|
||||
"toggle": "Переключить тему",
|
||||
"switchToLight": "Переключить на светлую тему",
|
||||
"switchToDark": "Переключить на тёмную тему",
|
||||
"switchToAuto": "Переключить на автоматическую тему"
|
||||
}
|
||||
},
|
||||
"loras": {
|
||||
"title": "LoRA Модели",
|
||||
"controls": {
|
||||
"sort": {
|
||||
"title": "Сортировать модели по...",
|
||||
"name": "Имя",
|
||||
"nameAsc": "А - Я",
|
||||
"nameDesc": "Я - А",
|
||||
"date": "Дата добавления",
|
||||
"dateDesc": "Новые",
|
||||
"dateAsc": "Старые",
|
||||
"size": "Размер файла",
|
||||
"sizeDesc": "Самые большие",
|
||||
"sizeAsc": "Самые маленькие"
|
||||
},
|
||||
"refresh": {
|
||||
"title": "Обновить список моделей",
|
||||
"quick": "Быстрое обновление (инкрементное)",
|
||||
"full": "Полная перестройка (полная)"
|
||||
},
|
||||
"fetch": "Получить с Civitai",
|
||||
"download": "Скачать по URL",
|
||||
"bulk": "Массовые операции",
|
||||
"duplicates": "Найти дубликаты",
|
||||
"favorites": "Показать только избранные"
|
||||
},
|
||||
"bulkOperations": {
|
||||
"title": "Массовые операции",
|
||||
"selected": "Выбрано {count}",
|
||||
"sendToWorkflow": "Отправить все выбранные LoRA в рабочий процесс",
|
||||
"copyAll": "Копировать синтаксис всех выбранных LoRA",
|
||||
"refreshAll": "Обновить метаданные CivitAI для выбранных моделей",
|
||||
"moveAll": "Переместить выбранные модели в папку",
|
||||
"deleteAll": "Удалить выбранные модели",
|
||||
"clear": "Очистить выбор"
|
||||
},
|
||||
"contextMenu": {
|
||||
"refreshMetadata": "Обновить данные Civitai",
|
||||
"relinkCivitai": "Переподключить к Civitai",
|
||||
"copySyntax": "Копировать синтаксис LoRA",
|
||||
"copyFilename": "Копировать имя файла модели",
|
||||
"copyRecipeSyntax": "Копировать синтаксис рецепта",
|
||||
"sendToWorkflowAppend": "Отправить в рабочий процесс (добавить)",
|
||||
"sendToWorkflowReplace": "Отправить в рабочий процесс (заменить)",
|
||||
"openExamplesFolder": "Открыть папку с примерами",
|
||||
"downloadExamples": "Скачать примеры изображений",
|
||||
"replacePreview": "Заменить превью",
|
||||
"setContentRating": "Установить возрастной рейтинг",
|
||||
"moveToFolder": "Переместить в папку",
|
||||
"excludeModel": "Исключить модель",
|
||||
"deleteModel": "Удалить модель",
|
||||
"shareRecipe": "Поделиться рецептом",
|
||||
"viewAllLoras": "Просмотреть все LoRA",
|
||||
"downloadMissingLoras": "Скачать недостающие LoRA",
|
||||
"deleteRecipe": "Удалить рецепт"
|
||||
},
|
||||
"modal": {
|
||||
"title": "Детали LoRA",
|
||||
"tabs": {
|
||||
"examples": "Примеры",
|
||||
"description": "Описание модели",
|
||||
"recipes": "Рецепты"
|
||||
},
|
||||
"info": {
|
||||
"filename": "Имя файла",
|
||||
"modelName": "Имя модели",
|
||||
"baseModel": "Базовая модель",
|
||||
"fileSize": "Размер файла",
|
||||
"dateAdded": "Дата добавления",
|
||||
"triggerWords": "Ключевые слова",
|
||||
"description": "Описание",
|
||||
"tags": "Теги",
|
||||
"rating": "Рейтинг",
|
||||
"downloads": "Загрузки",
|
||||
"likes": "Лайки",
|
||||
"version": "Версия"
|
||||
},
|
||||
"actions": {
|
||||
"copyTriggerWords": "Копировать ключевые слова",
|
||||
"copyLoraName": "Копировать имя LoRA",
|
||||
"sendToWorkflow": "Отправить в рабочий процесс",
|
||||
"viewOnCivitai": "Просмотреть на Civitai",
|
||||
"downloadExamples": "Скачать примеры изображений"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recipes": {
|
||||
"title": "LoRA Рецепты",
|
||||
"controls": {
|
||||
"import": "Импортировать рецепт",
|
||||
"refresh": {
|
||||
"title": "Обновить список рецептов"
|
||||
},
|
||||
"duplicates": {
|
||||
"title": "Найти дублирующиеся рецепты"
|
||||
},
|
||||
"filteredByLora": "Отфильтровано по LoRA",
|
||||
"create": "Создать рецепт",
|
||||
"export": "Экспортировать выбранные",
|
||||
"downloadMissing": "Скачать недостающие LoRA"
|
||||
},
|
||||
"duplicates": {
|
||||
"found": "Найдено {count} дублирующихся групп",
|
||||
"keepLatest": "Сохранить последние версии",
|
||||
"deleteSelected": "Удалить выбранные"
|
||||
},
|
||||
"card": {
|
||||
"author": "Автор",
|
||||
"loras": "{count} LoRA",
|
||||
"tags": "Теги",
|
||||
"actions": {
|
||||
"sendToWorkflow": "Отправить в рабочий процесс",
|
||||
"edit": "Редактировать рецепт",
|
||||
"duplicate": "Дублировать рецепт",
|
||||
"export": "Экспортировать рецепт",
|
||||
"delete": "Удалить рецепт"
|
||||
}
|
||||
}
|
||||
},
|
||||
"checkpoints": {
|
||||
"title": "Модели чекпойнтов",
|
||||
"info": {
|
||||
"filename": "Имя файла",
|
||||
"modelName": "Имя модели",
|
||||
"baseModel": "Базовая модель",
|
||||
"fileSize": "Размер файла",
|
||||
"dateAdded": "Дата добавления"
|
||||
}
|
||||
},
|
||||
"embeddings": {
|
||||
"title": "Модели эмбеддингов",
|
||||
"info": {
|
||||
"filename": "Имя файла",
|
||||
"modelName": "Имя модели",
|
||||
"triggerWords": "Ключевые слова",
|
||||
"fileSize": "Размер файла",
|
||||
"dateAdded": "Дата добавления"
|
||||
}
|
||||
},
|
||||
"sidebar": {
|
||||
"modelRoot": "Корень моделей",
|
||||
"collapseAll": "Свернуть все папки",
|
||||
"pinToggle": "Закрепить/Открепить боковую панель"
|
||||
},
|
||||
"statistics": {
|
||||
"title": "Статистика",
|
||||
"tabs": {
|
||||
"overview": "Обзор",
|
||||
"usage": "Анализ использования",
|
||||
"collection": "Коллекция",
|
||||
"storage": "Хранилище",
|
||||
"insights": "Аналитика"
|
||||
},
|
||||
"overview": {
|
||||
"title": "Обзор",
|
||||
"totalLoras": "Всего LoRA",
|
||||
"totalCheckpoints": "Всего чекпойнтов",
|
||||
"totalEmbeddings": "Всего эмбеддингов",
|
||||
"totalSize": "Общий размер",
|
||||
"favoriteModels": "Избранные модели"
|
||||
},
|
||||
"charts": {
|
||||
"modelsByType": "Модели по типу",
|
||||
"modelsByBaseModel": "Модели по базовой модели",
|
||||
"modelsBySize": "Модели по размеру файла",
|
||||
"modelsAddedOverTime": "Модели, добавленные со временем"
|
||||
}
|
||||
},
|
||||
"modals": {
|
||||
"delete": {
|
||||
"title": "Подтвердить удаление",
|
||||
"message": "Вы уверены, что хотите удалить эту модель?",
|
||||
"warningMessage": "Это действие нельзя отменить.",
|
||||
"confirm": "Удалить",
|
||||
"cancel": "Отмена"
|
||||
},
|
||||
"exclude": {
|
||||
"title": "Исключить модель",
|
||||
"message": "Вы уверены, что хотите исключить эту модель из библиотеки?",
|
||||
"confirm": "Исключить",
|
||||
"cancel": "Отмена"
|
||||
},
|
||||
"download": {
|
||||
"title": "Скачать модель по URL",
|
||||
"url": "Civitai URL",
|
||||
"placeholder": "https://civitai.com/models/...",
|
||||
"locationPreview": "Предварительный просмотр места загрузки",
|
||||
"useDefaultPath": "Использовать путь по умолчанию",
|
||||
"useDefaultPathTooltip": "При включении файлы автоматически организуются с использованием настроенных шаблонов путей",
|
||||
"selectRootDirectory": "Выбрать корневую директорию",
|
||||
"download": "Скачать",
|
||||
"cancel": "Отмена"
|
||||
},
|
||||
"move": {
|
||||
"title": "Переместить модели",
|
||||
"selectFolder": "Выбрать папку назначения",
|
||||
"createFolder": "Создать новую папку",
|
||||
"folderName": "Имя папки",
|
||||
"move": "Переместить",
|
||||
"cancel": "Отмена"
|
||||
},
|
||||
"contentRating": {
|
||||
"title": "Установить возрастной рейтинг",
|
||||
"current": "Текущий",
|
||||
"levels": {
|
||||
"pg": "Для всех",
|
||||
"pg13": "13+",
|
||||
"r": "Ограничено",
|
||||
"x": "Только для взрослых",
|
||||
"xxx": "Откровенное содержание"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"general": "Произошла ошибка",
|
||||
"networkError": "Ошибка сети. Проверьте подключение.",
|
||||
"serverError": "Ошибка сервера. Попробуйте ещё раз позже.",
|
||||
"fileNotFound": "Файл не найден",
|
||||
"invalidFile": "Неверный формат файла",
|
||||
"uploadFailed": "Загрузка не удалась",
|
||||
"downloadFailed": "Скачивание не удалось",
|
||||
"saveFailed": "Сохранение не удалось",
|
||||
"loadFailed": "Загрузка не удалась",
|
||||
"deleteFailed": "Удаление не удалось",
|
||||
"moveFailed": "Перемещение не удалось",
|
||||
"copyFailed": "Копирование не удалось",
|
||||
"fetchFailed": "Не удалось получить данные с Civitai",
|
||||
"invalidUrl": "Неверный формат URL",
|
||||
"missingPermissions": "Недостаточно прав"
|
||||
},
|
||||
"success": {
|
||||
"saved": "Успешно сохранено",
|
||||
"deleted": "Успешно удалено",
|
||||
"moved": "Успешно перемещено",
|
||||
"copied": "Успешно скопировано",
|
||||
"downloaded": "Успешно скачано",
|
||||
"uploaded": "Успешно загружено",
|
||||
"refreshed": "Успешно обновлено",
|
||||
"exported": "Успешно экспортировано",
|
||||
"imported": "Успешно импортировано"
|
||||
},
|
||||
"keyboard": {
|
||||
"navigation": "Навигация с клавиатуры:",
|
||||
"shortcuts": {
|
||||
"pageUp": "Прокрутить вверх на одну страницу",
|
||||
"pageDown": "Прокрутить вниз на одну страницу",
|
||||
"home": "Перейти наверх",
|
||||
"end": "Перейти вниз",
|
||||
"bulkMode": "Переключить массовый режим",
|
||||
"search": "Фокус на поиске",
|
||||
"escape": "Закрыть модальное окно/панель"
|
||||
}
|
||||
},
|
||||
"initialization": {
|
||||
"title": "Инициализация",
|
||||
"message": "Подготовка рабочего пространства...",
|
||||
"status": "Инициализация...",
|
||||
"estimatingTime": "Оценка времени...",
|
||||
"loras": {
|
||||
"title": "Инициализация LoRA Менеджера",
|
||||
"message": "Сканирование и создание кэша LoRA. Это может занять несколько минут..."
|
||||
},
|
||||
"checkpoints": {
|
||||
"title": "Инициализация менеджера чекпойнтов",
|
||||
"message": "Сканирование и создание кэша чекпойнтов. Это может занять несколько минут..."
|
||||
},
|
||||
"embeddings": {
|
||||
"title": "Инициализация менеджера эмбеддингов",
|
||||
"message": "Сканирование и создание кэша эмбеддингов. Это может занять несколько минут..."
|
||||
},
|
||||
"recipes": {
|
||||
"title": "Инициализация менеджера рецептов",
|
||||
"message": "Загрузка и обработка рецептов. Это может занять несколько минут..."
|
||||
},
|
||||
"statistics": {
|
||||
"title": "Инициализация статистики",
|
||||
"message": "Обработка данных модели для статистики. Это может занять несколько минут..."
|
||||
},
|
||||
"tips": {
|
||||
"title": "Советы и хитрости",
|
||||
"civitai": {
|
||||
"title": "Интеграция с Civitai",
|
||||
"description": "Подключите аккаунт Civitai: Перейдите в Аватар профиля → Настройки → API ключи → Добавить API ключ, затем вставьте его в настройки Lora Manager.",
|
||||
"alt": "Настройка Civitai API"
|
||||
},
|
||||
"download": {
|
||||
"title": "Простое скачивание",
|
||||
"description": "Используйте URL Civitai для быстрого скачивания и установки новых моделей.",
|
||||
"alt": "Скачивание с Civitai"
|
||||
},
|
||||
"recipes": {
|
||||
"title": "Сохранение рецептов",
|
||||
"description": "Создавайте рецепты для сохранения любимых комбинаций моделей для будущего использования.",
|
||||
"alt": "Рецепты"
|
||||
},
|
||||
"filter": {
|
||||
"title": "Быстрая фильтрация",
|
||||
"description": "Фильтруйте модели по тегам или типу базовой модели, используя кнопку фильтра в заголовке.",
|
||||
"alt": "Фильтр моделей"
|
||||
},
|
||||
"search": {
|
||||
"title": "Быстрый поиск",
|
||||
"description": "Нажмите Ctrl+F (Cmd+F на Mac) для быстрого поиска в текущем представлении.",
|
||||
"alt": "Быстрый поиск"
|
||||
}
|
||||
},
|
||||
"steps": {
|
||||
"scanning": "Сканирование файлов моделей...",
|
||||
"processing": "Обработка метаданных...",
|
||||
"building": "Создание кэша...",
|
||||
"finalizing": "Завершение..."
|
||||
}
|
||||
},
|
||||
"duplicates": {
|
||||
"found": "Найдено {count} дублирующихся групп",
|
||||
"showNotification": "Показать уведомление о дубликатах",
|
||||
"deleteSelected": "Удалить выбранные",
|
||||
"exitMode": "Выйти из режима",
|
||||
"help": {
|
||||
"identicalHashes": "Одинаковые хэши означают одинаковые файлы моделей, даже если у них разные имена или превью.",
|
||||
"keepOne": "Оставьте только одну версию (предпочтительно с лучшими метаданными/превью) и безопасно удалите остальные."
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"refresh": "Обновить список моделей",
|
||||
"bulkOperations": "Выбрать несколько моделей для пакетных операций",
|
||||
"favorites": "Показать только избранные модели",
|
||||
"duplicates": "Найти и управлять дублирующимися моделями",
|
||||
"search": "Поиск моделей по имени, тегам или другим критериям",
|
||||
"filter": "Фильтровать модели по различным критериям",
|
||||
"sort": "Сортировать модели по разным атрибутам",
|
||||
"backToTop": "Прокрутить обратно наверх страницы"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user