Files
SpineViewer/release/UNIVERSAL_SpineViewer/_locales/de_DE.json
T
Yeomai e94dfb9e35 缩略图二分定位 + 邻域采样
B. 二分定位 + 邻域采样(我推荐)
把配置的语义从"这就是要生成的 10 档"改成"允许搜索的参数梯度"(比如分辨率梯度、帧率梯度、质量梯度三张表)。运行时:
1. 用每个组合只编 2 帧的方式粗估体积(很便宜);
2. 靠单调性做二分,几轮就找到"体积刚好不超过目标"的参数点;
3. 在这个点周围取 10 个组合(略高、略低各几个),完整生成。
成本大概是十几次估算编码 + 10 档完整编码,和现在基本持平甚至更省(估算只编 2 帧)。效果是候选真正围绕你输入的目标分布——比如你填 30 KB,出来的就是 22、26、29、31、35 KB 这种,而不是 5 KB 和 300 KB 各一个。
代价是你现在这套配置格式要推翻重做——从"精确档位表"变成"参数范围表"
2026-09-20 00:39:38 +08:00

147 lines
10 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.
{
"manifest": {
"app": {
"name": "SpineViewer"
}
},
"viewer": {
"title": "Spine-Vorschau",
"skin": "Skin",
"play": "▶ Abspielen",
"pause": "⏸ Pause",
"static": "▮ Statisch",
"staticLabel": "Statisch",
"playPauseTitle": "Abspielen / Pause (Leertaste)",
"loop": "Schleife",
"speed": "Geschwindigkeit",
"pma": "Prämultipliziert",
"pmaTitle": "Für Texturen, die mit Premultiplied Alpha (PMA) exportiert wurden",
"background": "Hintergrund",
"backgroundTitle": "50×50-Schachbrett, das mit der Leinwand verschoben und skaliert wird und an Blend-Modi teilnimmt",
"thumbnail": "Als aktuelles Vorschaubild setzen",
"thumbnailTitle": "Linksklick erstellt ein statisches Vorschaubild, Rechtsklick ein animiertes Vorschaubild",
"animatedThumbnailTitle": "Animiertes Vorschaubild erzeugen",
"animatedThumbnailAttention": "Achtung:",
"animatedThumbnailNote": "Das erzeugte Vorschaubild ersetzt das vorhandene. Dieser Vorgang kann nicht rückgängig gemacht werden und ",
"animatedThumbnailDanger": "das ursprüngliche Vorschaubild kann nicht wiederhergestellt werden",
"animatedThumbnailSizeNote": ". Damit Animationsdaten nicht zu groß werden, wird die Datei unter die eingestellte Größe reduziert.",
"animatedFormat": "Ausgabeformat",
"animatedRange": "Animationsbereich",
"animatedStart": "Start",
"animatedEnd": "Ende",
"framesUnit": "Frames",
"animatedQuality": "Vorschaubildqualität",
"animatedMaxSize": "Vorschaubildgröße",
"animatedInvalidSize": "Geben Sie eine ganze Zahl zwischen 10 und 1024 KB ein",
"animatedCompressing": "Animiertes Vorschaubild wird komprimiert {current}/{total}…",
"animatedWebpUnavailable": "Diese Umgebung kann WebP nicht kodieren. Bitte APNG auswählen.",
"animatedCannotFit": "Die Animation kann nicht auf {target} KB reduziert werden (mindestens etwa {actual} KB). Erhöhen Sie das Limit oder verkürzen Sie den Framebereich.",
"animatedPickTitle": "Miniaturbild auswählen",
"animatedPickHint": "Alle Ergebnisse behalten eine 400×400-Arbeitsfläche; das Label zeigt Detailauflösung@fps/Qualität/Dateigröße. Wählen Sie eines und drücken Sie Bestätigen, um es zu übernehmen, oder brechen Sie ab, um alle zu verwerfen.",
"animatedPickConfirm": "Bestätigen",
"animatedPriority": "Priorität",
"priorityResolution": "Auflösung zuerst",
"priorityFramerate": "Bildrate zuerst",
"priorityBalanced": "Auflösung und Bildrate abwechselnd",
"qualityLow": "Niedrig",
"qualityMedium": "Mittel",
"qualityHigh": "Hoch",
"animatedConfirm": "Erzeugen und ersetzen",
"animatedInvalidRange": "Geben Sie einen gültigen ganzzahligen Framebereich zwischen 0 und {duration} ein",
"animatedGenerating": "Animiertes Vorschaubild wird erzeugt {current}/{total}…",
"animatedTooLarge": "Das animierte Vorschaubild ist größer als 50 MB. Verkürzen Sie den Bereich oder wählen Sie eine niedrigere Qualität.",
"animatedThumbUpdated": "Animiertes Vorschaubild aktualisiert · {frames} Frames · {size} KB",
"groupThumbnail": "Vorschaubilder für verknüpfte Ressourcen erstellen",
"groupThumbnailTitle": "Linksklick erstellt ein statisches Vorschaubild, Rechtsklick ein animiertes Vorschaubild",
"groupDialogTitle": "Vorschaubilder für verknüpfte Ressourcen erstellen",
"groupDialogSummary": "{generate} werden erstellt, {skip} werden übersprungen.",
"groupDialogNote": "Nur markierte verknüpfte Ressourcen erhalten Vorschaubilder. Bilder und Ressourcen mit eigenen Vorschaubildern sind standardmäßig abgewählt. Werden letztere ausgewählt, wird das vorhandene Vorschaubild ersetzt und kann vom Plugin nicht automatisch wiederhergestellt werden.",
"cancel": "Abbrechen",
"groupConfirm": "Erstellen",
"groupWillGenerate": "Wird erstellt",
"groupNotSelected": "Nicht ausgewählt",
"groupSkipCustom": "Übersprungen: eigenes Vorschaubild vorhanden",
"groupUnavailable": "Übersprungen: nicht verifizierbar",
"groupNoTargets": "In der aktuellen Ressourcengruppe gibt es keine geeigneten Vorschaubilder.",
"groupGenerating": "Vorschaubilder werden erstellt {current}/{total}…",
"groupApplyNotConfirmed": "Eagle hat die Anwendung des Vorschaubilds nicht bestätigt",
"groupComplete": "Fertig: {success} erfolgreich, {skip} übersprungen, {failed} fehlgeschlagen.",
"versionTitle": "Spine-Version",
"reloadTitle": "Ordner neu laden",
"animationList": "Animationsliste",
"animations": "Animationen",
"setupPose": "Setup Pose",
"errorTitle": "Vorschau nicht möglich",
"durationPlaceholder": "Dauer --",
"keyframesLegend": "Blaue Marken: Keyframes",
"keyframesLegendTitle": "Eine blaue Marke zeigt eine Zeit, zu der mindestens eine Bone-, Slot- oder Constraint-Eigenschaft einen Keyframe hat",
"keyframesHint": "Blaue Marken kennzeichnen Keyframes; zum Anzeigen von Zeit und Frame den Zeiger darüber halten",
"timePlaceholder": "0.00 / 0.00 s · 0 / 0 Frames",
"staticPoseTitle": "Statische Pose · Frame 1",
"keyframeTitle": "Keyframe · {time} · Frame {frame}",
"timelineStatic": "Statisch · 1 Frame",
"timelineDuration": "Dauer {time} · {frames} Frames",
"readoutStatic": "Statisch · 1 / 1 Frames",
"readout": "{time} / {total} · {frame} / {totalFrames} Frames",
"rulerStatic": "0 s (statisch)",
"seconds": "{value} s",
"imagePreview": "Bildvorschau (keine passenden Spine-Ressourcen gefunden)",
"generating": "Eagle-Vorschaubild wird erzeugt und aktualisiert…",
"thumbUpdated": "Eagle-Vorschaubild aktualisiert · {format} {size}KB",
"thumbWrittenNoRefresh": "Vorschaubild geschrieben, automatische Aktualisierung fehlgeschlagen: {error}",
"recentered": "Leinwand wieder zentriert",
"pmaOn": "Prämultipliziertes Alpha an",
"pmaOff": "Prämultipliziertes Alpha aus",
"pmaRemembered": "{state} · für dieses Asset gespeichert",
"pmaSaveFailed": "Umgeschaltet, aber Speichern der Einstellung fehlgeschlagen: {error}",
"badgeFailed": "Spine-Badge konnte nicht geladen werden",
"runtimeFailed": "Spine-Laufzeit kann nicht geladen werden: {file}",
"compoundName": "Eagle hat die zusammengesetzte Dateiendung noch nicht synchronisiert; Bibliothek erneut öffnen",
"txtRegistered": "Dieses Element ist noch als TXT registriert. Vorschaubild in Eagle neu erzeugen und Bibliothek erneut öffnen",
"apiHttp": "Eagle-API meldete HTTP {status}",
"noSkeletonForThumb": "Kein Skelett geladen; Vorschaubild kann nicht erzeugt werden",
"noItemId": "Eagle-Item-ID lässt sich aus dem Pfad nicht ermitteln",
"itemMismatch": "Die Vorschaudatei stimmt nicht mit dem Eagle-Element überein; die Aktualisierung wurde abgebrochen",
"replaceCustomThumbnailConfirm": "Dieses Element hat bereits ein benutzerdefiniertes Vorschaubild. Beim Fortfahren wird es ersetzt; das Plugin kann das vorherige Bild nicht automatisch wiederherstellen. Fortfahren?",
"thumbnailFailed": "Vorschaubild konnte nicht erzeugt werden: {error}",
"imageLoadFailed": "Bild konnte nicht geladen werden",
"settingsNotReady": "Asset-Einstellungen sind noch nicht bereit",
"noSkeletonFile": "Skelettdatei nicht gefunden",
"noSkeletonFileMsg": "Zur ausgewählten Datei wurde keine passende Spine-Skelettdatei (.skel / .skel.bytes / .json) gefunden.\n\nBitte den kompletten Spine-Export in Eagle importieren.",
"noAtlas": "Atlas nicht gefunden",
"noAtlasMsg": "Die passende .atlas- / .atlas.txt-Datei wurde nicht gefunden.",
"unsupportedVersion": "Nicht unterstützte Version",
"unsupportedVersionMsg": "Unbekannte Spine-Version: {version}\nUnterstützte Versionen: {list}",
"unknownVersion": "unbekannt",
"runtimeLoadFailed": "Laufzeit konnte nicht geladen werden",
"atlasLoadFailed": "Atlas konnte nicht geladen werden",
"emptySkeleton": "Leere Skelettdaten",
"emptySkeletonMsg": "Es konnten keine gültigen Skelettdaten gelesen werden.",
"missingFile": "Datei fehlt",
"missingFileMsg": "Es wurde kein Dateipfad-Parameter übergeben.",
"fileNotExist": "Datei existiert nicht",
"loadFailed": "Laden fehlgeschlagen",
"notSpineText": "Diese Datei ist keine Spine-Ressource im Format .atlas.txt oder .skel.bytes.",
"truncated256": "\n\n(nur die ersten 256 KB werden angezeigt)",
"suffix": "Suffix",
"suffixTitle": "Dateinamens-Suffixe werden beim Abgleich ignoriert, daher wird hero-mesh.skel mit hero.atlas verknüpft",
"suffixManage": "Suffixe verwalten…",
"suffixAdd": "+ Suffix hinzufügen…",
"suffixDefaults": "Integrierte Suffixe",
"suffixCustom": "Eigene Suffixe (Auswahl entfernt)",
"suffixAddTitle": "Suffix hinzufügen",
"suffixAddNote": "Suffixe werden beim Dateiabgleich ignoriert: Nach dem Hinzufügen von hover wird hero-hover.skel mit hero.atlas verknüpft. Nur Buchstaben, Ziffern, - und _, maximal 50 Zeichen.",
"suffixPlaceholder": "z. B. hover",
"suffixInvalid": "Nur Buchstaben, Ziffern, - und _, beginnend mit Buchstabe oder Ziffer",
"suffixDuplicate": "Dieses Suffix existiert bereits",
"suffixConfirm": "Hinzufügen",
"suffixRemoveTitle": "Suffix entfernen",
"suffixRemoveNote": "Nach dem Entfernen von „{name}“ werden Dateien mit diesem Suffix nicht mehr automatisch verknüpft.",
"suffixRemove": "Entfernen",
"suffixSaveFailed": "Speichern der Suffix-Liste fehlgeschlagen: {error}",
"truncated1m": "\n\n(große Datei; nur das erste 1 MB wird angezeigt)",
"groupWillReplaceCustom": "Ersetzt vorhandenes eigenes Vorschaubild",
"groupCustomNotSelected": "Eigenes Vorschaubild vorhanden (nicht ausgewählt)"
}
}