146 lines
13 KiB
JSON
146 lines
13 KiB
JSON
{
|
||
"manifest": {
|
||
"app": {
|
||
"name": "Миниатюры Spine"
|
||
}
|
||
},
|
||
"thumb": {
|
||
"title": "Миниатюры Spine",
|
||
"noticeIntro": "Функция: после импорта ресурсов Spine (.skel / .json + .atlas + текстуры) плагин создаёт предпросмотр скелета для элементов, у которых ещё нет миниатюры.",
|
||
"noticeSafety": "1. Автоматическое создание по умолчанию отключено и должно быть включено вручную ниже. Обрабатываются только элементы, импортированные в текущем запуске; уже заданные пользовательские миниатюры не перезаписываются.",
|
||
"noticeCompound": "2. Поля имени и типа Eagle для элементов с составными расширениями изменяются только после подтверждения текущих и новых значений. Исходные значения сохраняются и могут быть восстановлены.",
|
||
"autoToggle": "Создавать миниатюры при импорте",
|
||
"clear": "Очистить журнал",
|
||
"restoreNames": "Восстановить имена/типы",
|
||
"compoundConfirmTitle": "Подтвердить изменение составного расширения",
|
||
"compoundConfirmIntro": "Из-за особенностей файлов с составными расширениями Eagle должен изменить поля имени и типа этих элементов, чтобы показывать созданные миниатюры. Исходные значения будут сохранены и доступны для восстановления в плагине.",
|
||
"compoundOldValue": "Сейчас",
|
||
"compoundNewValue": "Новое",
|
||
"compoundSkip": "Пропустить и продолжить",
|
||
"compoundConfirm": "Применить изменения",
|
||
"compoundConfirmSelected": "Применить выбранные ({count})",
|
||
"compoundSkipped": "{label} пропущен: изменение составного расширения не подтверждено",
|
||
"compoundSourceMismatch": "{label} пропущен: имя Eagle {current} не совпадает с исходным файлом {source}",
|
||
"compoundCheckFailed": "Не удалось проверить составное расширение {label}: {error}",
|
||
"compoundNeedsConfirmation": "{label} пропущен: поля изменились после подтверждения; проверьте элемент заново",
|
||
"compoundBackupUnavailable": "Нельзя изменить составные расширения: исходные значения не удалось сохранить",
|
||
"compoundRolledBack": "Создание миниатюры не удалось; имя и тип {label} восстановлены",
|
||
"compoundRollbackFailed": "Создание миниатюры не удалось, а {label} не удалось восстановить автоматически: {error}",
|
||
"restoreEmpty": "Нет сохранённых изменений имён/типов для восстановления",
|
||
"restoreTitle": "Выберите элементы для восстановления",
|
||
"restoreIntro": "Для этих элементов сохранены исходные значения. Все доступные элементы выбраны по умолчанию; изменённые пользователем или недоступные элементы выбрать нельзя.",
|
||
"restoreCurrent": "Сейчас",
|
||
"restoreTarget": "Восстановить до",
|
||
"restoreStatusReady": "Элемент изменён на {fields}",
|
||
"restoreStatusAlreadyOriginal": "Уже имеет исходное значение; подтверждение только удалит резервную копию",
|
||
"restoreStatusChanged": "Текущие поля изменены пользователем; элемент будет пропущен",
|
||
"restoreStatusMissing": "Элемент не найден, восстановление невозможно",
|
||
"restoreStatusError": "Не удалось прочитать текущие значения, восстановление невозможно",
|
||
"restoreCancel": "Отмена",
|
||
"restoreSelected": "Восстановить выбранные ({count})",
|
||
"restoreComplete": "Восстановление завершено: успешно {success}, пропущено {skipped}, ошибок {failed}.",
|
||
"restoreFailed": "Не удалось восстановить имена/типы: {error}",
|
||
"modeLabel": "Режим создания",
|
||
"modeAnimated": "Анимированный (первая анимация)",
|
||
"modeStatic": "Статический (setup pose)",
|
||
"strategyLabel": "Стратегия",
|
||
"strategySize": "Минимальный файл (медленно)",
|
||
"strategySpeed": "Максимальная скорость (быстро)",
|
||
"statusLabel": "Состояние",
|
||
"statusStarting": "Запуск…",
|
||
"libraryLabel": "Библиотека",
|
||
"statsLabel": "Статистика",
|
||
"filterAll": "Все",
|
||
"filterOk": "Успешно",
|
||
"filterFail": "Ошибки",
|
||
"filterWarn": "Предупреждения",
|
||
"filterError": "Ошибка",
|
||
"unknownError": "Неизвестная ошибка",
|
||
"scriptError": "Ошибка скрипта: {error}",
|
||
"promiseError": "Необработанная ошибка Promise: {error}",
|
||
"uncategorized": "Без категории",
|
||
"reasonQuiet": "после завершения импорта",
|
||
"reasonFallback": "резервное сканирование",
|
||
"none": "нет",
|
||
"complete": "полный",
|
||
"incomplete": "неполный",
|
||
"statusLoaded": "Скрипт {version} загружен; ожидание событий Eagle…",
|
||
"statusEagleMissing": "API Eagle недоступен",
|
||
"statusListening": "Наблюдение",
|
||
"statusListenFailed": "Ошибка наблюдения",
|
||
"statusAutoOff": "Наблюдение (автосоздание выключено)",
|
||
"statusNoLibrary": "Путь к библиотеке недоступен",
|
||
"statusPairing": "Сопоставление новых ресурсов…",
|
||
"statusPairingProgress": "Сопоставление {current}/{total}",
|
||
"statusRendering": "Рендеринг кадра {current}/{total} (в очереди {queued})",
|
||
"statusGenerating": "Создание миниатюр… осталось {queued}",
|
||
"statusPaused": "Пауза (продолжите или отмените в окне прогресса)",
|
||
"statusAutoSkipped": "Автосоздание выключено; этот пакет пропущен",
|
||
"statusStartFailed": "Ошибка запуска: {error}",
|
||
"stats": "Пакеты {batches} · Добавлено {added} · Spine {spine} · Полные {complete} · Создано {generated} · Пропущено {skipped} · Ошибок {failed}",
|
||
"modulesMissing": "Локальные модули не загружены: {modules}",
|
||
"moduleLoadError": "Локальные модули не загружены. Проверьте порядок скриптов в index.html: {modules}",
|
||
"version": "Версия кода плагина {version}",
|
||
"pluginCreated": "Плагин создан: {name}",
|
||
"settingsReadFailed": "Не удалось прочитать настройки; используются значения по умолчанию (автосоздание выключено): {error}",
|
||
"settingsSaveFailed": "Не удалось сохранить настройки: {error}",
|
||
"autoEnabled": "Автосоздание включено. Для новых импортированных ресурсов Spine будут созданы миниатюры.",
|
||
"autoDisabled": "Автосоздание выключено; очередь ожидания очищена.",
|
||
"modeStaticLog": "Режим создания: статический (всегда setup pose, PNG)",
|
||
"modeAnimatedLog": "Режим создания: анимированный (первая анимация в WebP; setup pose без анимации)",
|
||
"strategySpeedLog": "Стратегия: максимальная скорость (примерный выбор, только один-два наименьших профиля)",
|
||
"strategySizeLog": "Стратегия: минимальный файл (все десять профилей и выбор наименьшего)",
|
||
"missingItem": "{label} пропущен: элемент не найден в Eagle",
|
||
"suffixFixed": "Составное расширение исправлено для {label} → {name}",
|
||
"suffixFailed": "Не удалось исправить составное расширение {label}: {error}",
|
||
"existingThumbnail": "{label} пропущен: уже есть пользовательская миниатюра",
|
||
"thumbnailRejected": "Eagle отклонил эту миниатюру",
|
||
"generated": "{label} создан | {details} | Spine {version}",
|
||
"generateFailed": "Ошибка создания {label}: {error}",
|
||
"cancelled": "Создание отменено: отброшено ожидающих {dropped}. Завершено {done} (успешно {generated}, ошибок {failed}, пропущено {skipped})",
|
||
"batchFailed": "Ошибка обработки пакета импорта: {error}",
|
||
"batchFinished": "Пакет завершён: добавлено {added}, в библиотеке {total} ({reason})",
|
||
"recheck": "Повторная проверка ранее неполных ресурсов: {count}",
|
||
"noSpine": "В этом пакете нет ресурсов Spine",
|
||
"incompletePending": "Неполных ресурсов: {count}; они будут проверены после следующих импортов",
|
||
"incompleteIgnored": "Неполных ресурсов: {count}; в этом пакете они не обрабатываются",
|
||
"itemSummary": " {name} | {path} | {state} | скелет {skeleton} | atlas {atlas} | страниц {pages} (не хватает {missing})",
|
||
"autoSkipped": "Автосоздание выключено; пропущено ресурсов в пакете: {count}",
|
||
"queued": "Добавлено в очередь: {added}; ожидают {queued}{state}",
|
||
"queuedRunning": " (обработка)",
|
||
"libraryInfoNoPath": "library.info() не вернул путь: {info}",
|
||
"libraryInfoFailed": "Ошибка вызова library.info(): {error}",
|
||
"switchingLibrary": "Переключение библиотеки: {path}",
|
||
"noCreateEvent": "Событие создания не получено; выполняется прямой запуск",
|
||
"watching": "Наблюдение за {path} (существующие элементы {count} считаются историей)",
|
||
"watchReadFailed": "Не удалось прочитать каталог ресурсов: {error}",
|
||
"watchMissingDir": "Каталог ресурсов не существует: {path}",
|
||
"watchFailed": "Не удалось начать наблюдение: {error}",
|
||
"fixSuffixAction": "Исправление составного расширения {label}",
|
||
"renderAction": "Рендеринг {label}",
|
||
"setThumbnailAction": "Установка миниатюры {label}",
|
||
"thumbnailDetailsAnimated": "Анимация {size}@{fps}fps/q{quality}/{kb}KB (цель {target}KB)/{frames} кадров/анимация {animation}/{strategy}{limit}",
|
||
"thumbnailDetailsStatic": "Статическая {width}×{height}/{kb}KB{fallback}",
|
||
"bestSpeed": "максимальная скорость",
|
||
"bestSize": "минимальный файл",
|
||
"fallbackNote": " ({text})",
|
||
"fallbackNoAnimation": "в скелете нет анимаций",
|
||
"fallbackAnimatedFailed": "ошибка анимированного создания: {error}",
|
||
"limitNote": " (даже минимальный профиль превышает целевой размер; увеличьте размер миниатюры)",
|
||
"runSummary": "Успешно {generated}, ошибок {failed}, пропущено {skipped}, время {seconds} с."
|
||
},
|
||
"progress": {
|
||
"title": "Миниатюры Spine",
|
||
"generating": "Создание анимированных миниатюр…",
|
||
"waiting": "Ожидание запуска…",
|
||
"confirmPrompt": "Отменить этот запуск?",
|
||
"resume": "Продолжить",
|
||
"cancel": "Подтвердить отмену",
|
||
"stop": "Остановить",
|
||
"confirm": "Готово",
|
||
"generatedConfirm": "Создано миниатюр: {done}. Отменить запуск?",
|
||
"complete": "Завершено",
|
||
"completed": "Завершено {done} / {total} ({percent}%)"
|
||
}
|
||
}
|