@file-viewer/core 2.2.8 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts/types.d.ts +80 -4
- package/dist/headless.d.ts +5 -5
- package/dist/headless.js +3 -3
- package/dist/i18n/messages.d.ts +3 -2
- package/dist/i18n/messages.de.d.ts +6 -0
- package/dist/i18n/messages.de.js +455 -0
- package/dist/i18n/messages.ja.js +15 -0
- package/dist/i18n/messages.js +36 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +3 -3
- package/dist/platform/assets.d.ts +16 -2
- package/dist/platform/assets.js +109 -18
- package/dist/registry/capabilities.d.ts +2 -2
- package/dist/registry/formats.d.ts +5 -331
- package/dist/registry/formats.generated.d.ts +613 -0
- package/dist/registry/formats.generated.js +1125 -0
- package/dist/registry/formats.js +10 -224
- package/dist/renderers/index.d.ts +285 -2
- package/dist/rendering/dispatcher.d.ts +9 -0
- package/dist/rendering/dispatcher.js +7 -0
- package/dist/rendering/handler.d.ts +1 -1
- package/dist/rendering/handler.js +35 -2
- package/dist/source/index.d.ts +2 -0
- package/dist/source/index.js +1 -0
- package/dist/source/textEncoding.d.ts +14 -0
- package/dist/source/textEncoding.js +156 -0
- package/dist/viewer/state.js +9 -4
- package/package.json +1 -1
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in German messages for every runtime viewer state and renderer.
|
|
3
|
+
* Keep placeholders aligned with the Chinese and English catalogs.
|
|
4
|
+
*/
|
|
5
|
+
export const DE_DE_MESSAGES = {
|
|
6
|
+
"toolbar.zoomGroup": "Zoom-Steuerelemente",
|
|
7
|
+
"toolbar.zoomOut": "Herauszoomen",
|
|
8
|
+
"toolbar.zoomIn": "Vergrößern",
|
|
9
|
+
"toolbar.zoomReset": "Zoom zurücksetzen",
|
|
10
|
+
"toolbar.download": "Herunterladen",
|
|
11
|
+
"toolbar.downloadTitle": "Laden Sie die Originaldatei herunter",
|
|
12
|
+
"toolbar.print": "Drucken",
|
|
13
|
+
"toolbar.printTitle": "Drucken Sie das vollständig gerenderte Dokument aus",
|
|
14
|
+
"toolbar.printDirect": "Jetzt drucken",
|
|
15
|
+
"toolbar.printMask": "Maske / Stempel & Druck",
|
|
16
|
+
"toolbar.printMaskTitle": "Decken Sie empfindliche Bereiche ab oder versehen Sie sie vor dem Drucken mit einem Stempel",
|
|
17
|
+
"toolbar.printMaskAdd": "Maske hinzufügen",
|
|
18
|
+
"toolbar.printMaskClear": "Leeren",
|
|
19
|
+
"toolbar.printMaskCancel": "Abbrechen",
|
|
20
|
+
"toolbar.printMaskConfirm": "Drucken",
|
|
21
|
+
"toolbar.printMaskHint": "Zeichnen Sie Deckblätter oder laden Sie einen Stempel hoch und ziehen Sie ihn oder ändern Sie seine Größe.",
|
|
22
|
+
"toolbar.printStampUpload": "Stempel hochladen",
|
|
23
|
+
"toolbar.printStampRemove": "Stempel entfernen",
|
|
24
|
+
"toolbar.printStampResize": "Stempelgröße ändern",
|
|
25
|
+
"toolbar.exportHtml": "HTML",
|
|
26
|
+
"toolbar.exportHtmlTitle": "Exportieren Sie das gerenderte HTML",
|
|
27
|
+
"toolbar.search": "Suchen",
|
|
28
|
+
"toolbar.searchPlaceholder": "Dokument durchsuchen",
|
|
29
|
+
"toolbar.searchPrevious": "Vorheriger Treffer",
|
|
30
|
+
"toolbar.searchNext": "Nächster Treffer",
|
|
31
|
+
"toolbar.searchClear": "Suche löschen",
|
|
32
|
+
"toolbar.theme": "Thema",
|
|
33
|
+
"toolbar.themeToLight": "Wechseln Sie in den Lichtmodus",
|
|
34
|
+
"toolbar.themeToDark": "Wechseln Sie in den Dunkelmodus",
|
|
35
|
+
"state.ready.title": "Vorschau bereit",
|
|
36
|
+
"state.ready.message": "Die Datei wurde gerendert.",
|
|
37
|
+
"state.empty.title": "Keine Datei ausgewählt",
|
|
38
|
+
"state.empty.message": "Wählen Sie eine Datei aus oder geben Sie eine erreichbare URL an, um die Vorschau zu starten.",
|
|
39
|
+
"state.unsupported.install.title": "Vorschaufunktion erforderlich",
|
|
40
|
+
"state.unsupported.install.message": "{extension} befindet sich in der unterstützten Matrix, aber der Renderer {rendererLabel} ist in diesem Projekt nicht assembliert.",
|
|
41
|
+
"state.unsupported.install.description": "Installieren Sie {presetPackage} und übergeben Sie die Funktion über options.preset / options.renderers{rendererTip}. Vite-Projekte können @file-viewer/vite-plugin auch verwenden, um installierte Voreinstellungen automatisch zu erkennen.",
|
|
42
|
+
"state.unsupported.title": "Die Online-Vorschau wird noch nicht unterstützt",
|
|
43
|
+
"state.unsupported.message": "{extension} kann nicht online in der Vorschau angezeigt werden. Laden Sie es herunter oder konvertieren Sie es in ein unterstütztes Format.",
|
|
44
|
+
"state.unsupported.description": "Unterstützt die Online-Vorschau für Office, PDF, OFD, Typst, Archive, E-Mail, OLB/DRA, CAD, Geodaten, 3D-Modelle, Excalidraw, draw.io, EPUB, UMD, Markdown, Code/Text, Bilder, Audio/Video, Schriftarten und strukturierte Datenbestände.",
|
|
45
|
+
"state.error.title": "Vorschau fehlgeschlagen",
|
|
46
|
+
"preview.downloading": "Dateiressourcen werden heruntergeladen...",
|
|
47
|
+
"preview.streamingPdf": "Streaming-Vorschau PDF wird vorbereitet...",
|
|
48
|
+
"preview.reading": "Dateiinhalt wird geparst...",
|
|
49
|
+
"error.download": "Der Download ist fehlgeschlagen",
|
|
50
|
+
"error.print": "Der Druck ist fehlgeschlagen",
|
|
51
|
+
"error.exportHtml": "HTML-Export fehlgeschlagen",
|
|
52
|
+
"error.noDownloadSource": "Es gibt keine Originaldateiquelle zum Herunterladen.",
|
|
53
|
+
"error.noExportContent": "Es gibt keinen gerenderten Vorschauinhalt zum Exportieren.",
|
|
54
|
+
"error.printUnavailable": "Dieser Dateityp unterstützt nicht das vollständige Drucken von Dokumenten. Laden Sie die Originaldatei herunter und drucken Sie sie lokal aus.",
|
|
55
|
+
"error.printWindowBlocked": "Der Browser hat das Druckfenster blockiert.",
|
|
56
|
+
"error.remoteDownload": "Der Dateidownload ist fehlgeschlagen",
|
|
57
|
+
"error.localRead": "Lokale Datei konnte nicht gelesen werden",
|
|
58
|
+
"error.load": "Datei konnte nicht geladen werden",
|
|
59
|
+
"error.stream": "Das Laden der PDF-Streaming-Vorschau ist fehlgeschlagen",
|
|
60
|
+
"error.beforeOperation": "Die Prüfung vor dem Betrieb ist fehlgeschlagen",
|
|
61
|
+
"error.unknown": "Unbekannter Fehler",
|
|
62
|
+
"error.blobUnavailable": "Blob ist in der aktuellen Ausführungsumgebung nicht verfügbar.",
|
|
63
|
+
"error.sourceUnsupported": "Nicht unterstützte Dateiquelleneingabe.",
|
|
64
|
+
"error.fileReadArrayBuffer": "Die Datei konnte nicht als ArrayBuffer gelesen werden.",
|
|
65
|
+
"error.fileReadDataUrl": "Die Datei konnte nicht als Daten-URL gelesen werden.",
|
|
66
|
+
"error.fileReadText": "Die Datei konnte nicht als Text gelesen werden.",
|
|
67
|
+
"error.imageDataUrlRead": "Die Bild-Daten-URL konnte nicht gelesen werden.",
|
|
68
|
+
"operation.download": "Laden Sie die Originaldatei herunter",
|
|
69
|
+
"operation.print": "Drucken Sie vollständig gerenderte Inhalte",
|
|
70
|
+
"operation.exportHtml": "Gerendertes HTML exportieren",
|
|
71
|
+
"operation.zoomIn": "Vergrößern",
|
|
72
|
+
"operation.zoomOut": "Herauszoomen",
|
|
73
|
+
"operation.zoomReset": "Vorschauzoom zurücksetzen",
|
|
74
|
+
"pdf.toolbar.toggleNavigation": "Navigationsbereich umschalten",
|
|
75
|
+
"pdf.toolbar.previousPage": "Vorherige Seite",
|
|
76
|
+
"pdf.toolbar.nextPage": "Nächste Seite",
|
|
77
|
+
"pdf.toolbar.fitWidth": "Auf Breite anpassen",
|
|
78
|
+
"pdf.toolbar.zoomOut": "Herauszoomen",
|
|
79
|
+
"pdf.toolbar.zoomIn": "Vergrößern",
|
|
80
|
+
"pdf.toolbar.rotateLeft": "Nach links drehen",
|
|
81
|
+
"pdf.toolbar.rotateRight": "Nach rechts drehen",
|
|
82
|
+
"pdf.nav.typeLabel": "PDF Navigationstyp",
|
|
83
|
+
"pdf.nav.pagesTab": "Seiten",
|
|
84
|
+
"pdf.nav.outlineTab": "Gliederung",
|
|
85
|
+
"pdf.nav.pagesTitle": "Seitennavigation",
|
|
86
|
+
"pdf.nav.outlineTitle": "Gliederungsnavigation",
|
|
87
|
+
"pdf.nav.pageCount": "{count} Seiten",
|
|
88
|
+
"pdf.nav.itemCount": "{count} Einträge",
|
|
89
|
+
"pdf.nav.pageLabel": "Seite {page}",
|
|
90
|
+
"pdf.nav.outlineEmpty": "Für diese PDF-Datei ist keine Gliederung verfügbar.",
|
|
91
|
+
"pdf.nav.outlineFallbackTitle": "Umriss {index}",
|
|
92
|
+
"pdf.thumbnail.alt": "Miniaturansicht der Seite {page}",
|
|
93
|
+
"pdf.state.loading": "PDF wird geladen...",
|
|
94
|
+
"pdf.error.browserWindow": "Für die PDF-Vorschau ist ein Browserfenster erforderlich",
|
|
95
|
+
"pdf.error.missingSource": "PDF hat keine lesbare Datenquelle",
|
|
96
|
+
"pdf.error.loadFailed": "PDF konnte nicht geladen werden",
|
|
97
|
+
"pdf.error.notLoaded": "Die PDF-Datei ist noch nicht geladen. Bitte versuchen Sie es später erneut.",
|
|
98
|
+
"pdf.error.unloaded": "Die PDF-Datei wurde entladen; der Druck kann nicht fortgesetzt werden.",
|
|
99
|
+
"pdf.error.canvasUnavailable": "Dieser Browser kann keine PDF-Druckleinwand erstellen.",
|
|
100
|
+
"pdf.export.pageTitle": "{title} - Seite {page}",
|
|
101
|
+
"spreadsheet.loading.kicker": "Excel-Arbeitsmappe",
|
|
102
|
+
"spreadsheet.loading.title": "Analysieren einer Excel-Arbeitsmappe",
|
|
103
|
+
"spreadsheet.loading.hint": "Vorbereiten von Arbeitsblättern, Stilen und virtualisierten Ansichtsfensterdaten.",
|
|
104
|
+
"spreadsheet.loading.streaming": "Sichtbare Arbeitsblattdaten werden geladen",
|
|
105
|
+
"spreadsheet.tabs.ariaLabel": "Arbeitsblattliste",
|
|
106
|
+
"spreadsheet.state.parsingWorkbook": "Analysieren der Excel-Arbeitsmappe. Bitte warten...",
|
|
107
|
+
"spreadsheet.state.preparingSheet": "Arbeitsblattinhalt wird vorbereitet...",
|
|
108
|
+
"spreadsheet.state.preparingSheetNamed": "„{name}“ wird vorbereitet...",
|
|
109
|
+
"spreadsheet.state.cachedRows": "Zwischengespeicherte {cached}-/{total}-Zeilen",
|
|
110
|
+
"spreadsheet.state.rows": "{rows}-Zeilen, reibungsloses Laden im Ansichtsfenster",
|
|
111
|
+
"spreadsheet.state.rowsAndColumns": "{rows}-Zeilen, {cols}-Spalten, reibungsloses Laden je Ansichtsfenster",
|
|
112
|
+
"spreadsheet.error.parseFailed": "Excel konnte nicht analysiert werden",
|
|
113
|
+
"spreadsheet.error.workerFailed": "Excel Worker ist fehlgeschlagen",
|
|
114
|
+
"word.error.invalidDocx": "Die Datei ist kein gültiges DOCX/OOXML-Paket. Möglicherweise ist sie unvollständig oder wird durch eine Fehlerantwort des Servers ersetzt. Laden Sie es erneut hoch oder überprüfen Sie die Dateiquelle.",
|
|
115
|
+
"word.error.missingOdfContent": "In der Datei ODF fehlt content.xml.",
|
|
116
|
+
"word.error.odfXmlParseFailed": "Fehler beim Parsen von ODF XML.",
|
|
117
|
+
"word.title.rtf": "RTF Dokumentvorschau",
|
|
118
|
+
"word.title.openDocumentPresentation": "Vorschau der OpenDocument-Präsentation",
|
|
119
|
+
"word.title.openDocumentText": "Vorschau des OpenDocument-Dokuments",
|
|
120
|
+
"word.page.fallback": "Seite {page}",
|
|
121
|
+
"word.page.empty": "Auf dieser Seite ist kein extrahierbarer Text vorhanden",
|
|
122
|
+
"word.body": "Inhalt",
|
|
123
|
+
"word.body.empty": "Es wurde kein lesbarer Text extrahiert",
|
|
124
|
+
"ofd.toolbar.pageNavigation": "OFD Seitennavigation",
|
|
125
|
+
"ofd.toolbar.documentPages": "OFD Dokumentseiten",
|
|
126
|
+
"ofd.toolbar.previousPage": "Vorherige Seite",
|
|
127
|
+
"ofd.toolbar.nextPage": "Nächste Seite",
|
|
128
|
+
"ofd.toolbar.pageStatus": "Seite {current} von {total}",
|
|
129
|
+
"ofd.toolbar.noPages": "Keine Seiten verfügbar",
|
|
130
|
+
"ofd.state.loading": "OFD wird analysiert...",
|
|
131
|
+
"ofd.error.empty": "Die OFD-Datei enthält kein darstellbares Dokument.",
|
|
132
|
+
"ofd.error.parseFailed": "Die OFD-Datei konnte nicht analysiert werden",
|
|
133
|
+
"presentation.state.loading": "PPTX wird analysiert...",
|
|
134
|
+
"presentation.error.title": "PPTX-Vorschau fehlgeschlagen",
|
|
135
|
+
"presentation.error.parseFailed": "PPTX konnte nicht analysiert werden",
|
|
136
|
+
"presentation.ppt.state.loading": "Parsen von PowerPoint 97–2003...",
|
|
137
|
+
"presentation.ppt.error.title": "PPT-Vorschau fehlgeschlagen",
|
|
138
|
+
"presentation.ppt.error.parseFailed": "Diese PPT-Datei konnte nicht analysiert werden.",
|
|
139
|
+
"presentation.ppt.error.assetHint": "Überprüfen Sie die Einstellungen für Modul @file-viewer/ppt, pptWasmUrl, application/wasm MIME, Web Crypto und CSP.",
|
|
140
|
+
"presentation.slideshow.start": "Diashow starten",
|
|
141
|
+
"presentation.slideshow.exit": "Diashow beenden",
|
|
142
|
+
"presentation.slideshow.hint": "← → navigieren · Esc beenden",
|
|
143
|
+
"archive.error.nestedUnsupported": ".{type} kann nicht online in der Vorschau angezeigt werden. Laden Sie es herunter oder konvertieren Sie es in ein unterstütztes Format.",
|
|
144
|
+
"archive.loading.readingDirectory": "Archivverzeichnis wird gelesen...",
|
|
145
|
+
"archive.loading.readingDirectoryHint": "Große Dateien werden in einem Worker analysiert, um die Reaktionsfähigkeit des Hauptthreads aufrechtzuerhalten.",
|
|
146
|
+
"archive.search.placeholder": "Filtern Sie Dateien im Archiv",
|
|
147
|
+
"archive.sidebar.hide": "Liste der Archivdateien ausblenden",
|
|
148
|
+
"archive.sidebar.show": "Liste der Archivdateien anzeigen",
|
|
149
|
+
"archive.preview.title": "Vorschau des Archiveintrags",
|
|
150
|
+
"archive.preview.chooseFile": "Wählen Sie eine Datei",
|
|
151
|
+
"archive.preview.downloadFile": "Datei herunterladen",
|
|
152
|
+
"archive.error.title": "Hinweis zur Archivvorschau",
|
|
153
|
+
"archive.stats.summary": "{count}-Dateien · {size} · {previewable} können direkt in der Vorschau angezeigt werden",
|
|
154
|
+
"archive.warning.encrypted": "Verschlüsselter Inhalt wurde erkannt. Geben Sie das richtige Passwort ein, um eine Vorschau anzuzeigen. Das Passwort wird für diese Sitzung nur an den libarchive-Worker weitergegeben.",
|
|
155
|
+
"archive.password.title": "Geben Sie das Archivpasswort ein",
|
|
156
|
+
"archive.password.description": "Dieses Archiv enthält verschlüsselte Inhalte. Zum Lesen des Verzeichnisses oder zur Vorschau von Einträgen ist ein Passwort erforderlich.",
|
|
157
|
+
"archive.password.placeholder": "Archivpasswort",
|
|
158
|
+
"archive.password.invalid": "Das Passwort ist falsch oder der Eintrag konnte nicht entschlüsselt werden. Versuchen Sie es erneut.",
|
|
159
|
+
"archive.password.required": "Geben Sie ein Passwort ein, um fortzufahren.",
|
|
160
|
+
"archive.password.cancel": "Abbrechen",
|
|
161
|
+
"archive.password.confirm": "Vorschau freischalten",
|
|
162
|
+
"archive.error.passwordRequired": "Die Passworteingabe wurde abgebrochen, daher kann keine Vorschau des verschlüsselten Archivs angezeigt werden.",
|
|
163
|
+
"archive.error.encryptedRequiresWorker": "Dieses Archiv enthält verschlüsselte Inhalte und erfordert die libarchive Worker/WASM-Assets für die Online-Entschlüsselung.",
|
|
164
|
+
"archive.empty.title": "Wählen Sie links eine Datei zur Vorschau aus",
|
|
165
|
+
"archive.empty.message": "Zuerst wird das Archivverzeichnis gelesen. Dateiinhalte werden bei Bedarf extrahiert und in IndexedDB zwischengespeichert, sofern die Größe dies zulässt.",
|
|
166
|
+
"archive.loading.initializingCandidate": "{label} wird initialisiert...",
|
|
167
|
+
"archive.loading.initializingCandidateHint": "Wenn der Server Worker-/WASM-Assets nicht korrekt veröffentlicht, greift der Viewer automatisch zurück.",
|
|
168
|
+
"archive.error.candidateInitTimeout": "Zeitüberschreitung bei der {label}-Initialisierung",
|
|
169
|
+
"archive.error.encryptedCheckTimeout": "Zeitüberschreitung bei der {label}-Verschlüsselungsprüfung",
|
|
170
|
+
"archive.loading.directoryReadyHint": "Wenn das Verzeichnis fertig ist, klicken Sie auf einen Eintrag, um ihn bei Bedarf zu extrahieren.",
|
|
171
|
+
"archive.error.candidateReadTimeout": "Zeitüberschreitung beim Lesen des Verzeichnisses {label}",
|
|
172
|
+
"archive.loading.workerFallback": "Worker nicht verfügbar. Wechsel in den ZIP/TAR-Kompatibilitätsmodus...",
|
|
173
|
+
"archive.loading.workerFallbackHint": "Der Kompatibilitätsmodus benötigt keinen statischen Worker und funktioniert gut in mobilen WebViews oder temporären lokalen Servern.",
|
|
174
|
+
"archive.notice.workerFallback": "Der libarchive Worker konnte in dieser Umgebung nicht gestartet werden, daher ist der ZIP/TAR/GZIP-Kompatibilitätsmodus aktiv. RAR, 7z und ähnliche Formate sollten weiterhin Vendor/libarchive/worker-bundle.js und libarchive.wasm veröffentlichen.",
|
|
175
|
+
"archive.error.tooLarge": "Die Archivgröße {size} überschreitet den Sicherheitsgrenzwert {limit}. Laden Sie es herunter und extrahieren Sie es lokal.",
|
|
176
|
+
"archive.loading.initializingWorker": "Der Archivparsing-Worker wird initialisiert ...",
|
|
177
|
+
"archive.loading.initializingWorkerHint": "Große Dateien werden in einem Worker analysiert, um die Reaktionsfähigkeit des Hauptthreads aufrechtzuerhalten.",
|
|
178
|
+
"archive.error.workerInitFailed": "Die Initialisierung des Archive Workers ist fehlgeschlagen",
|
|
179
|
+
"archive.error.workerUnsupported": "Dieser Browser unterstützt keine Web Worker.",
|
|
180
|
+
"archive.error.indexedDbUnavailable": "IndexedDB ist nicht verfügbar",
|
|
181
|
+
"archive.error.entryTooLarge": "Der Eintrag {name} ist {size} und überschreitet das Vorschaulimit {limit}.",
|
|
182
|
+
"archive.loading.extracting": "{name} bei Bedarf extrahieren...",
|
|
183
|
+
"archive.loading.rendering": "Rendern {name}...",
|
|
184
|
+
"archive.loading.exporting": "Exportieren {name}...",
|
|
185
|
+
"media.audio.title": "Audiovorschau",
|
|
186
|
+
"media.audio.description": "Wird mit dem browsernativen Audioplayer geöffnet. Die Codec-Unterstützung hängt vom aktuellen Browser ab.",
|
|
187
|
+
"media.audio.unsupported": "Dieser Browser unterstützt keine Audiowiedergabe.",
|
|
188
|
+
"media.video.title": "Videovorschau",
|
|
189
|
+
"media.video.unsupported": "Dieser Browser unterstützt dieses Videoformat nicht.",
|
|
190
|
+
"media.video.hlsHint": "HLS bevorzugt das ursprüngliche URL zum Laden von Segmenten. Wenn es sich bei der Eingabe um eine lokale Einzeldatei-Playlist handelt, stellen Sie sicher, dass die Segment-URLs für den Browser erreichbar sind.",
|
|
191
|
+
"media.video.codecUnsupportedBadge": "Inkompatibler Videocodec",
|
|
192
|
+
"media.video.codecUnsupportedTitle": "Dieser Browser kann die Videospur nicht dekodieren",
|
|
193
|
+
"media.video.codecUnsupportedDescription": "Die Videospur verwendet {codec}. Der Browser kann den MP4-Container lesen, aber keine Videobilder dekodieren, sodass der native Player möglicherweise nur Audio abspielt oder einen schwarzen Bildschirm anzeigt.",
|
|
194
|
+
"media.video.codecUnsupportedAction": "Der Lightweight-Software-Decoder konnte nicht gestartet werden. Konvertieren Sie das Video in H.264/AVC, VP9 oder AV1 und öffnen Sie es erneut. File Viewer lädt die Originaldatei nicht hoch oder ändert sie nicht.",
|
|
195
|
+
"media.video.softwareLoading": "Laden des leichten MP4V-Decoders bei Bedarf…",
|
|
196
|
+
"media.video.softwareBadge": "MP4V · leichte Dekodierung",
|
|
197
|
+
"media.video.play": "Spielen",
|
|
198
|
+
"media.video.pause": "Pause",
|
|
199
|
+
"media.video.seek": "Videofortschritt",
|
|
200
|
+
"media.video.mute": "Stumm",
|
|
201
|
+
"media.video.unmute": "Stummschaltung aufheben",
|
|
202
|
+
"media.video.fullscreen": "Vollbild",
|
|
203
|
+
"media.midi.title": "MIDI-Datei",
|
|
204
|
+
"media.midi.loading": "MIDI-Tracks werden analysiert...",
|
|
205
|
+
"media.midi.trackHeader": "Spur",
|
|
206
|
+
"media.midi.instrumentHeader": "Instrument",
|
|
207
|
+
"media.midi.channelHeader": "Kanal",
|
|
208
|
+
"media.midi.noteCountHeader": "Notizen",
|
|
209
|
+
"media.midi.durationHeader": "Dauer",
|
|
210
|
+
"media.midi.durationStat": "Dauer",
|
|
211
|
+
"media.midi.trackStat": "Spuren",
|
|
212
|
+
"media.midi.noteStat": "Notizen",
|
|
213
|
+
"media.midi.parseFailed": "MIDI konnte nicht analysiert werden",
|
|
214
|
+
"email.mbox.subject": "{filename} · Nachricht 1",
|
|
215
|
+
"email.mbox.summary": "Erkannte {count}-Nachrichten im MBOX-Archiv. Nachricht 1 wird angezeigt.",
|
|
216
|
+
"email.error.title": "Vorschaubenachrichtigung per E-Mail",
|
|
217
|
+
"email.meta.from": "Aus",
|
|
218
|
+
"email.meta.to": "An",
|
|
219
|
+
"email.meta.cc": "CC",
|
|
220
|
+
"email.meta.date": "Datum",
|
|
221
|
+
"email.tabs.text": "Körper",
|
|
222
|
+
"email.tabs.headers": "Überschriften",
|
|
223
|
+
"email.attachments.title": "Anhänge",
|
|
224
|
+
"email.attachments.empty": "Keine Anhänge",
|
|
225
|
+
"email.attachments.download": "Anhang herunterladen",
|
|
226
|
+
"email.attachments.opening": "Öffnungsaufsatz {name}...",
|
|
227
|
+
"email.attachments.nestedUnavailable": "Die Vorschau verschachtelter Anhänge ist in dieser Umgebung nicht verfügbar. Laden Sie {name} herunter, um es zu überprüfen.",
|
|
228
|
+
"email.loading.parsing": "E-Mail wird analysiert...",
|
|
229
|
+
"data.font.sample": "Flyfish Viewer-Vorschau AaBbCc 1234567890",
|
|
230
|
+
"data.error.fontFaceUnsupported": "Dieser Browser unterstützt FontFace API nicht",
|
|
231
|
+
"data.title.font": "Vorschau der Schriftartdatei",
|
|
232
|
+
"data.title.sqlite": "Vorschau der SQLite-Datenbank",
|
|
233
|
+
"data.title.parquet": "Vorschau der Parquet-Spaltendaten",
|
|
234
|
+
"data.title.avro": "Vorschau des Avro-Objektcontainers",
|
|
235
|
+
"data.title.wasm": "Vorschau des WebAssembly-Moduls",
|
|
236
|
+
"data.title.eps": "Zusammenfassung der EPS-Vektordatei",
|
|
237
|
+
"data.title.ai": "Zusammenfassung der Illustrator-Datei",
|
|
238
|
+
"data.title.webarchive": "Vorschau der WebArchive-Zusammenfassung",
|
|
239
|
+
"data.title.summary": "Zusammenfassung der Datenbestände",
|
|
240
|
+
"data.label.format": "Format",
|
|
241
|
+
"data.label.size": "Größe",
|
|
242
|
+
"data.label.rendering": "Renderer",
|
|
243
|
+
"data.label.objects": "Objekte",
|
|
244
|
+
"data.label.sampleTable": "Beispieltisch",
|
|
245
|
+
"data.label.rows": "Reihen",
|
|
246
|
+
"data.label.columns": "Spalten",
|
|
247
|
+
"data.label.sampleRows": "Beispielzeilen",
|
|
248
|
+
"data.label.imports": "Importe",
|
|
249
|
+
"data.label.exports": "Exporte",
|
|
250
|
+
"data.label.magic": "Dateisignatur",
|
|
251
|
+
"data.label.note": "Notiz",
|
|
252
|
+
"data.label.container": "Container",
|
|
253
|
+
"data.value.schemaRead": "Lesen",
|
|
254
|
+
"data.value.schemaUnread": "Nicht gelesen",
|
|
255
|
+
"data.note.aiSummary": "Nicht PDF--kompatibel. AI wird als sichere Zusammenfassung angezeigt.",
|
|
256
|
+
"data.note.postscriptSummary": "Vorschau der PostScript-Zusammenfassung",
|
|
257
|
+
"data.note.webarchive": "Lesbare Fragmente werden sicher extrahiert. Webskripte werden nicht ausgeführt.",
|
|
258
|
+
"data.image.alt": "Asset-Vorschau",
|
|
259
|
+
"psd.title": "Vorschau der PSD-Ebene",
|
|
260
|
+
"psd.action.fit": "Fit",
|
|
261
|
+
"psd.action.showAll": "Alle anzeigen",
|
|
262
|
+
"psd.action.hideAll": "Alles ausblenden",
|
|
263
|
+
"psd.layers.title": "Schichten",
|
|
264
|
+
"psd.layers.redrawable": "{count} darstellbar",
|
|
265
|
+
"psd.layers.empty": "Es wurden keine anzeigbaren Layer gefunden. Zeigt das zusammengesetzte Bild.",
|
|
266
|
+
"psd.layers.hidden": "versteckt",
|
|
267
|
+
"drawing.error.viewerLoadFailed": "Der Diagramm-Viewer konnte nicht geladen werden",
|
|
268
|
+
"drawing.error.excalidrawEmpty": "Diese Excalidraw-Datei enthält keine vorschaubaren Elemente",
|
|
269
|
+
"drawing.error.excalidrawTimeout": "Zeitüberschreitung beim Excalidraw SVG-Export. Zurückgreifen auf den Rough.js-Renderer.",
|
|
270
|
+
"drawing.error.drawioParseFailed": "Fehler beim Parsen von Draw.io XML: {message}",
|
|
271
|
+
"drawing.error.drawioNoModel": "Diese Draw.io-Datei verfügt über kein direkt renderbares mxGraphModel.",
|
|
272
|
+
"drawing.error.drawioNoElements": "Diese Draw.io-Datei enthält keine vorschaubaren Elemente.",
|
|
273
|
+
"drawing.error.viewerInitFailed": "Der Diagramms.net-Viewer wurde nicht korrekt initialisiert",
|
|
274
|
+
"drawing.error.drawioTimeout": "Offizieller Diagramm-Viewer: Zeitüberschreitung. Zurückgreifen auf die lokale SVG-Vorschau.",
|
|
275
|
+
"drawing.error.svgParseFailed": "SVG konnte nicht analysiert werden",
|
|
276
|
+
"drawing.error.plantumlRenderFailed": "PlantUML SVG: {status} konnte nicht gerendert werden",
|
|
277
|
+
"drawing.title.excalidraw": "Vorschau von Excalidraw SVG",
|
|
278
|
+
"drawing.title.mermaid": "Mermaid-SVG-Vorschau",
|
|
279
|
+
"drawing.title.plantuml": "PlantUML SVG Vorschau",
|
|
280
|
+
"drawing.title.drawio": "Draw.io Offline-SVG-Vorschau",
|
|
281
|
+
"drawing.toolbar.zoomOut": "Herauszoomen",
|
|
282
|
+
"drawing.toolbar.zoomIn": "Vergrößern",
|
|
283
|
+
"drawing.toolbar.fit": "Fit",
|
|
284
|
+
"drawing.toolbar.fitWidth": "Breite anpassen",
|
|
285
|
+
"drawing.state.loading": "Zeichnungsvorschau wird geladen...",
|
|
286
|
+
"text.code.loadingHighlight": "Syntaxhervorhebung wird geladen...",
|
|
287
|
+
"text.code.indexingLargeFile": "Indizieren großer Dateien {progress}%",
|
|
288
|
+
"text.code.virtualized": "Große Datei · virtuelles Scrollen · Hervorheben aus",
|
|
289
|
+
"text.code.firstSegment": "Erster Abschnitt",
|
|
290
|
+
"text.code.previousSegment": "Vorheriges Segment",
|
|
291
|
+
"text.code.nextSegment": "Nächstes Segment",
|
|
292
|
+
"text.code.lastSegment": "Letztes Segment",
|
|
293
|
+
"ebook.toc": "Inhaltsverzeichnis",
|
|
294
|
+
"ebook.reading": "Lektüre",
|
|
295
|
+
"ebook.itemCount": "{count} Artikel",
|
|
296
|
+
"epub.title": "EPUB E-Book",
|
|
297
|
+
"epub.previousPage": "Vorherige",
|
|
298
|
+
"epub.nextPage": "Nächste",
|
|
299
|
+
"epub.loading": "EPUB wird analysiert...",
|
|
300
|
+
"epub.chapterFallback": "Kapitel {index}",
|
|
301
|
+
"epub.renderIncomplete": "EPUB-Inhalt wurde nicht vollständig gerendert. Aktualisieren Sie und versuchen Sie es erneut.",
|
|
302
|
+
"umd.title": "UMD E-Book",
|
|
303
|
+
"umd.previousChapter": "Vorheriges Kapitel",
|
|
304
|
+
"umd.nextChapter": "Nächstes Kapitel",
|
|
305
|
+
"umd.loading": "UMD wird analysiert...",
|
|
306
|
+
"umd.emptyContent": "Es wurde kein lesbarer Textinhalt geparst.",
|
|
307
|
+
"umd.chapterFallback": "Kapitel {index}",
|
|
308
|
+
"umd.galleryFallback": "Galerie {index}",
|
|
309
|
+
"umd.warningBodyTooShort": "Der UMD-Körper ist kürzer als angegeben und möglicherweise unvollständig.",
|
|
310
|
+
"umd.error.unexpectedEnd": "Die UMD-Struktur ist unvollständig und wurde unerwartet beendet.",
|
|
311
|
+
"umd.error.invalidFile": "Dies ist keine gültige UMD E-Book-Datei.",
|
|
312
|
+
"typst.summaryRenderer": "Geben Sie den Renderer WASM ein",
|
|
313
|
+
"typst.pageSummary.empty": "0 Seiten",
|
|
314
|
+
"typst.pageSummary.ready": "{count} Seiten / {width} x {height} Pkt",
|
|
315
|
+
"typst.status.compiling": "Kompilieren",
|
|
316
|
+
"typst.status.failed": "Kompilierung fehlgeschlagen",
|
|
317
|
+
"typst.status.rendered": "Gerendert",
|
|
318
|
+
"typst.loading.title": "Parsen von Typst",
|
|
319
|
+
"typst.loading.hint": "Laden des Compilers und Generieren von Seitenvorschauen ...",
|
|
320
|
+
"typst.error.title": "Typst-Rendering ist fehlgeschlagen",
|
|
321
|
+
"typst.error.timeout": "Typst WASM / Das Laden oder Kompilieren der Schriftart hat {seconds} Sekunden überschritten",
|
|
322
|
+
"typst.error.timeoutHint": "Überprüfen Sie die Download-Geschwindigkeit und die Cache-Strategie für den Typst-Compiler WASM, den Renderer WASM und das Schriftartenverzeichnis. Erhöhen Sie bei schwachen Netzwerken oder regionsübergreifenden Bereitstellungen options.typst.renderTimeoutMs.",
|
|
323
|
+
"typst.error.assetHint": "Typst erfordert lokale Compiler-/Renderer-WASM-Dateien und ein Schriftartenverzeichnis. Führen Sie file-viewer-copy-assets aus oder konfigurieren Sie options.typst.compilerWasmUrl / options.typst.rendererWasmUrl / options.typst.fontAssetsUrl und stellen Sie sicher, dass der Server WASM mit application/wasm zurückgibt.",
|
|
324
|
+
"typst.error.svgParseFailed": "Typst SVG konnte nicht analysiert werden",
|
|
325
|
+
"typst.error.wasmLoadFailed": "Typst WASM konnte nicht geladen werden",
|
|
326
|
+
"xmind.toolbar.zoomOut": "Herauszoomen",
|
|
327
|
+
"xmind.toolbar.zoomIn": "Vergrößern",
|
|
328
|
+
"xmind.toolbar.fit": "Fit",
|
|
329
|
+
"xmind.toolbar.fitTitle": "Leinwand montieren",
|
|
330
|
+
"xmind.state.loading": "XMind-Mindmap wird analysiert...",
|
|
331
|
+
"xmind.stats.nodes": "Knoten",
|
|
332
|
+
"xmind.stats.depth": "Tiefe",
|
|
333
|
+
"xmind.stats.theme": "Thema",
|
|
334
|
+
"xmind.stats.template": "Vorlage",
|
|
335
|
+
"xmind.badge.paused": "Angehalten",
|
|
336
|
+
"xmind.badge.collapsed": "Zusammengebrochen",
|
|
337
|
+
"xmind.badge.floating": "Schwebend",
|
|
338
|
+
"xmind.badge.summary": "Zusammenfassung",
|
|
339
|
+
"xmind.badge.callout": "Aufbieten, ausrufen, zurufen",
|
|
340
|
+
"xmind.imageResource": "Bildressource: {name}",
|
|
341
|
+
"xmind.error.unrecognized": "Unbekannte XMind-Datei: content.json oder content.xml wurde im ZIP-Paket nicht gefunden.",
|
|
342
|
+
"xmind.error.noCanvas": "Diese XMind-Datei verfügt über keine vorschaubare Leinwand.",
|
|
343
|
+
"cad.toolbar.fit": "Fit",
|
|
344
|
+
"cad.toolbar.zoomOut": "Herauszoomen",
|
|
345
|
+
"cad.toolbar.zoomIn": "Vergrößern",
|
|
346
|
+
"cad.layers.title": "Schichten",
|
|
347
|
+
"cad.layers.count": "{count} Artikel",
|
|
348
|
+
"cad.layers.merged": "{name} ({count} zusammengeführte Ebenen)",
|
|
349
|
+
"cad.inspector.title": "Struktur",
|
|
350
|
+
"cad.inspector.entities": "Entitäten",
|
|
351
|
+
"cad.inspector.blocks": "Blöcke",
|
|
352
|
+
"cad.inspector.pages": "Seiten",
|
|
353
|
+
"cad.inspector.drawn": "Gezogen",
|
|
354
|
+
"cad.state.loadingViewer": "CAD-Viewer wird geladen...",
|
|
355
|
+
"cad.state.parsing": "CAD wird analysiert...",
|
|
356
|
+
"cad.error.parseFailed": "Die CAD-Datei konnte nicht analysiert werden",
|
|
357
|
+
"image.alt": "Bild",
|
|
358
|
+
"image.toolbar.rotation": "Bilddrehung",
|
|
359
|
+
"image.toolbar.rotateLeft": "Bild nach links drehen",
|
|
360
|
+
"image.toolbar.rotateRight": "Bild nach rechts drehen",
|
|
361
|
+
"image.lightbox.alt": "Bildvorschau",
|
|
362
|
+
"image.lightbox.close": "Bildvorschau schließen",
|
|
363
|
+
"gitBundle.error.invalid": "Diese Datei ist kein gültiges Git-Bundle.",
|
|
364
|
+
"gitBundle.error.missingPack": "Nach dem Git-Bundle-Header wurden keine PACK-Daten gefunden.",
|
|
365
|
+
"gitBundle.notice.delta": "Dieses Bundle enthält deltakomprimierte Objekte. Der Viewer löst allgemeine OFS_DELTA-/REF_DELTA-Objekte im Browser auf. Fehlende Dateien weisen normalerweise auf ein sehr großes Bundle, zu viele Objekte oder eine externe Voraussetzung hin.",
|
|
366
|
+
"gitBundle.title.history": "Geschichte",
|
|
367
|
+
"gitBundle.title.fileTree": "Dateibaum",
|
|
368
|
+
"gitBundle.file.choose": "Wählen Sie eine Datei zur Überprüfung aus",
|
|
369
|
+
"gitBundle.file.noTree": "Die Baum-/Blob-Objekte in diesem Bundle sind möglicherweise deltakomprimiert und es wurden keine erweiterbaren Dateien analysiert.",
|
|
370
|
+
"gitBundle.file.none": "Keine Dateien analysiert",
|
|
371
|
+
"gitBundle.history.empty": "Es wurden keine Commit-Objekte analysiert. Es werden nur Referenzen und Paketzusammenfassung angezeigt.",
|
|
372
|
+
"gitBundle.toolbar.summary": "{commits}-Commits · {files}-Dateien",
|
|
373
|
+
"gitBundle.meta.bundle": "Bündeln",
|
|
374
|
+
"gitBundle.meta.refs": "Refs",
|
|
375
|
+
"gitBundle.meta.commits": "Commits",
|
|
376
|
+
"gitBundle.meta.objects": "Objekte",
|
|
377
|
+
"gitBundle.meta.deltas": "Deltas",
|
|
378
|
+
"gitBundle.meta.objectFormat": "Objektformat",
|
|
379
|
+
"gitBundle.meta.objectTypes": "Objekttypen",
|
|
380
|
+
"geo.error.unrecognized": "Nicht erkannte GeoJSON-Daten",
|
|
381
|
+
"geo.error.xmlParseFailed": "XML konnte nicht analysiert werden",
|
|
382
|
+
"geo.error.unsupported": "Das Geodatenformat .{type} wird nicht unterstützt",
|
|
383
|
+
"geo.title": "Geodatenvorschau",
|
|
384
|
+
"geo.featureCount": "Merkmale",
|
|
385
|
+
"geo.bounds": "Grenzen",
|
|
386
|
+
"geo.geometryTypes": "Geometrietypen",
|
|
387
|
+
"geo.aria": "Geodaten-SVG-Vorschau",
|
|
388
|
+
"geo.loading": "Geodaten werden analysiert...",
|
|
389
|
+
"geo.projection": "Projektion",
|
|
390
|
+
"geo.engine": "Renderer",
|
|
391
|
+
"geo.basemap": "Grundkarte",
|
|
392
|
+
"geo.basemap.offline": "Offline leere Grundkarte",
|
|
393
|
+
"geo.basemap.custom": "Benutzerdefinierte Kacheln",
|
|
394
|
+
"geo.engine.maplibre": "MapLibre-Vektorkarte",
|
|
395
|
+
"geo.engine.svg": "SVG-Fallback",
|
|
396
|
+
"geo.error.projection": "Geodatenprojektion fehlgeschlagen: {reason}",
|
|
397
|
+
"geo.action.fit": "Grenzen anpassen",
|
|
398
|
+
"model.toolbar.fit": "Fit",
|
|
399
|
+
"model.toolbar.rotate": "Drehen",
|
|
400
|
+
"model.toolbar.wireframe": "Drahtmodell",
|
|
401
|
+
"model.toolbar.grid": "Raster",
|
|
402
|
+
"model.toolbar.axes": "Achsen",
|
|
403
|
+
"model.state.loadingSummary": "Modell wird geladen",
|
|
404
|
+
"model.state.loading": "3D-Modell wird analysiert...",
|
|
405
|
+
"model.state.loaded": "Modell geladen",
|
|
406
|
+
"model.state.parseFailed": "Modell konnte nicht analysiert werden",
|
|
407
|
+
"model.summary.meshes": "{count}-Maschen",
|
|
408
|
+
"model.summary.points": "{count} Punktwolken",
|
|
409
|
+
"model.error.daeEmpty": "Das DAE-Modell enthielt keine gültige Szene.",
|
|
410
|
+
"model.error.unsupported": "Das Modellformat .{type} wird noch nicht unterstützt",
|
|
411
|
+
"model.error.parseFailed": "Das {type}-Modell konnte nicht analysiert werden",
|
|
412
|
+
"model.notice.signature": "Erkannte Dateisignatur: {signature}.",
|
|
413
|
+
"loading.generic.label": "Dateiinhalt",
|
|
414
|
+
"loading.generic.hint": "Vorbereiten der Inhaltsstruktur und Vorschau.",
|
|
415
|
+
"loading.word.label": "Word-Dokument",
|
|
416
|
+
"loading.word.hint": "Vorbereiten von Dokumentstruktur, Textstilen und Layout.",
|
|
417
|
+
"loading.wordWorker.hint": "Dokumentstruktur, Textstile und Layout in einem Worker vorbereiten.",
|
|
418
|
+
"loading.sheet.label": "Excel-Arbeitsmappe",
|
|
419
|
+
"loading.sheet.hint": "Vorbereiten von Arbeitsblättern, Stilen und Ansichtsfensterdaten.",
|
|
420
|
+
"loading.csv.label": "Tabellarische Daten",
|
|
421
|
+
"loading.csv.hint": "Vorbereiten von Zeilen, Spalten und grundlegendem Stil.",
|
|
422
|
+
"loading.presentation.label": "PowerPoint-Deck",
|
|
423
|
+
"loading.presentation.hint": "Erstellen von Folienlayout und Medieninhalten.",
|
|
424
|
+
"loading.pdf.label": "PDF-Dokument",
|
|
425
|
+
"loading.pdf.hint": "Laden von Seitenbitmaps, Textebenen und Zoomansicht.",
|
|
426
|
+
"loading.ofd.label": "OFD Layoutdokument",
|
|
427
|
+
"loading.ofd.hint": "Parsen von OFD-Seiten und Layoutobjekten.",
|
|
428
|
+
"loading.archive.label": "Archiv",
|
|
429
|
+
"loading.archive.hint": "Worker starten und Archiveinträge lesen.",
|
|
430
|
+
"loading.email.label": "E-Mail-Datei",
|
|
431
|
+
"loading.email.hint": "Analysieren von Nachrichtenkopfzeilen, -text und -anhängen.",
|
|
432
|
+
"loading.msg.hint": "Analysieren von Outlook-Nachrichten und -Anhängen.",
|
|
433
|
+
"loading.eda.label": "EDA-Datei",
|
|
434
|
+
"loading.eda.hint": "Lesen der EDA-Containerstruktur und -Eigenschaften.",
|
|
435
|
+
"loading.cad.label": "CAD-Zeichnung",
|
|
436
|
+
"loading.cad.hint": "Vorbereiten von CAD-Ebenen, Geometrie und Leinwandansicht.",
|
|
437
|
+
"loading.dwg.hint": "Laden der DWG-Geometrie und LibreDWG WASM in einen Worker.",
|
|
438
|
+
"loading.dwf.hint": "Laden des nativen DWF-Renderers und der W2D/W3D-Grafiken.",
|
|
439
|
+
"loading.dwfx.hint": "Laden des nativen DWFx/XPS-Renderers und der Seitengrafiken.",
|
|
440
|
+
"loading.xps.hint": "Laden des nativen XPS-Renderers und eingebetteter Schriftarten.",
|
|
441
|
+
"loading.drawio.label": "draw.io-Diagramm",
|
|
442
|
+
"loading.drawio.hint": "Analysieren von Formen, Anschlüssen und SVG-Vorschau.",
|
|
443
|
+
"loading.excalidraw.label": "Excalidraw-Szene",
|
|
444
|
+
"loading.excalidraw.hint": "Analysieren handgezeichneter Elemente und Generieren sicherer SVG.",
|
|
445
|
+
"loading.epub.label": "EPUB E-Book",
|
|
446
|
+
"loading.epub.hint": "Inhaltsverzeichnis, Kapitelressourcen und Leseseiten analysieren.",
|
|
447
|
+
"loading.umd.label": "UMD E-Book",
|
|
448
|
+
"loading.umd.hint": "Analysieren von Metadaten, Inhaltsverzeichnissen und komprimierten Kapiteln für mobile E-Books.",
|
|
449
|
+
"loading.image.label": "Bilddatei",
|
|
450
|
+
"loading.image.hint": "Pixel dekodieren und Vorschau erstellen.",
|
|
451
|
+
"loading.video.label": "Videodatei",
|
|
452
|
+
"loading.video.hint": "Medienressource und Player vorbereiten.",
|
|
453
|
+
"loading.audio.label": "Audiodatei",
|
|
454
|
+
"loading.audio.hint": "Vorbereiten von Audioressourcen und Wiedergabesteuerungen.",
|
|
455
|
+
};
|
package/dist/i18n/messages.ja.js
CHANGED
|
@@ -138,6 +138,9 @@ export const JA_JP_MESSAGES = {
|
|
|
138
138
|
'presentation.ppt.error.title': 'PPT プレビューに失敗しました',
|
|
139
139
|
'presentation.ppt.error.parseFailed': 'この PPT ファイルを解析できませんでした。',
|
|
140
140
|
'presentation.ppt.error.assetHint': '@file-viewer/ppt モジュール、pptWasmUrl、application/wasm MIME タイプ、Web Crypto、CSP 設定を確認してください。',
|
|
141
|
+
'presentation.slideshow.start': 'スライドショーを開始',
|
|
142
|
+
'presentation.slideshow.exit': 'スライドショーを終了',
|
|
143
|
+
'presentation.slideshow.hint': '← → 移動 · Esc 終了',
|
|
141
144
|
'archive.error.nestedUnsupported': '.{type} 形式はオンラインでプレビューできません。ダウンロードするか、対応形式へ変換してください。',
|
|
142
145
|
'archive.loading.readingDirectory': '圧縮ファイルのディレクトリを読み込んでいます...',
|
|
143
146
|
'archive.loading.readingDirectoryHint': '大きなファイルは Worker で解析し、メインスレッドのブロックを防ぎます。',
|
|
@@ -186,6 +189,18 @@ export const JA_JP_MESSAGES = {
|
|
|
186
189
|
'media.video.title': '動画プレビュー',
|
|
187
190
|
'media.video.unsupported': 'このブラウザーはこの動画形式に対応していません。',
|
|
188
191
|
'media.video.hlsHint': 'HLS はセグメント読み込みに元の URL を優先します。ローカルの単一ファイルプレイリストを渡す場合は、セグメント URL にブラウザーからアクセスできることを確認してください。',
|
|
192
|
+
'media.video.codecUnsupportedBadge': '互換性のない動画コーデック',
|
|
193
|
+
'media.video.codecUnsupportedTitle': 'このブラウザーは動画トラックをデコードできません',
|
|
194
|
+
'media.video.codecUnsupportedDescription': '動画トラックには {codec} が使われています。ブラウザーは MP4 コンテナーを読み取れますが映像フレームをデコードできないため、音声だけが再生されるか黒い画面が表示されることがあります。',
|
|
195
|
+
'media.video.codecUnsupportedAction': '軽量ソフトウェアデコーダーを起動できませんでした。H.264/AVC、VP9、または AV1 に変換してから、もう一度開いてください。File Viewer が元のファイルをアップロードまたは変更することはありません。',
|
|
196
|
+
'media.video.softwareLoading': '軽量 MP4V デコーダーをオンデマンドで読み込んでいます…',
|
|
197
|
+
'media.video.softwareBadge': 'MP4V · 軽量デコード',
|
|
198
|
+
'media.video.play': '再生',
|
|
199
|
+
'media.video.pause': '一時停止',
|
|
200
|
+
'media.video.seek': '動画の進行位置',
|
|
201
|
+
'media.video.mute': 'ミュート',
|
|
202
|
+
'media.video.unmute': 'ミュート解除',
|
|
203
|
+
'media.video.fullscreen': '全画面',
|
|
189
204
|
'media.midi.title': 'MIDI ファイル',
|
|
190
205
|
'media.midi.loading': 'MIDI トラックを解析しています...',
|
|
191
206
|
'media.midi.trackHeader': 'トラック',
|
package/dist/i18n/messages.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JA_JP_MESSAGES } from './messages.ja.js';
|
|
2
|
-
|
|
2
|
+
import { DE_DE_MESSAGES } from './messages.de.js';
|
|
3
|
+
export const FILE_VIEWER_SUPPORTED_LOCALES = ['zh-CN', 'en-US', 'ja-JP', 'de-DE'];
|
|
3
4
|
export const FILE_VIEWER_DEFAULT_LOCALE = 'zh-CN';
|
|
4
5
|
export const FILE_VIEWER_FALLBACK_LOCALE = 'en-US';
|
|
5
6
|
const ZH_CN_MESSAGES = {
|
|
@@ -137,6 +138,9 @@ const ZH_CN_MESSAGES = {
|
|
|
137
138
|
'presentation.ppt.error.title': 'PPT 预览失败',
|
|
138
139
|
'presentation.ppt.error.parseFailed': '无法解析这个 PPT 文件。',
|
|
139
140
|
'presentation.ppt.error.assetHint': '请检查 @file-viewer/ppt 模块、pptWasmUrl、application/wasm MIME 类型、Web Crypto 和 CSP 配置。',
|
|
141
|
+
'presentation.slideshow.start': '开始放映',
|
|
142
|
+
'presentation.slideshow.exit': '退出放映',
|
|
143
|
+
'presentation.slideshow.hint': '← → 翻页 · Esc 退出',
|
|
140
144
|
'archive.error.nestedUnsupported': '不支持 .{type} 格式的在线预览,请下载后预览或转换为支持的格式',
|
|
141
145
|
'archive.loading.readingDirectory': '正在读取压缩包目录...',
|
|
142
146
|
'archive.loading.readingDirectoryHint': '大文件会在 Worker 中解析,避免阻塞主线程。',
|
|
@@ -185,6 +189,18 @@ const ZH_CN_MESSAGES = {
|
|
|
185
189
|
'media.video.title': '视频预览',
|
|
186
190
|
'media.video.unsupported': '当前浏览器不支持该视频格式。',
|
|
187
191
|
'media.video.hlsHint': 'HLS 会优先使用原始 URL 加载分片;如果传入的是本地单文件清单,请确保分片地址可被浏览器访问。',
|
|
192
|
+
'media.video.codecUnsupportedBadge': '视频编码不兼容',
|
|
193
|
+
'media.video.codecUnsupportedTitle': '当前浏览器无法解码这个视频轨',
|
|
194
|
+
'media.video.codecUnsupportedDescription': '文件的视频轨使用 {codec}。浏览器能读取 MP4 容器,但没有解码出画面,因此原生播放器可能只播放音频或显示黑屏。',
|
|
195
|
+
'media.video.codecUnsupportedAction': '轻量软件解码器未能启动,请将视频转换为 H.264/AVC、VP9 或 AV1 后再预览;File Viewer 不会上传或修改原文件。',
|
|
196
|
+
'media.video.softwareLoading': '正在按需加载轻量 MP4V 解码器…',
|
|
197
|
+
'media.video.softwareBadge': 'MP4V · 轻量解码',
|
|
198
|
+
'media.video.play': '播放',
|
|
199
|
+
'media.video.pause': '暂停',
|
|
200
|
+
'media.video.seek': '视频进度',
|
|
201
|
+
'media.video.mute': '静音',
|
|
202
|
+
'media.video.unmute': '取消静音',
|
|
203
|
+
'media.video.fullscreen': '全屏',
|
|
188
204
|
'media.midi.title': 'MIDI 文件',
|
|
189
205
|
'media.midi.loading': '正在解析 MIDI 轨道...',
|
|
190
206
|
'media.midi.trackHeader': '轨道',
|
|
@@ -573,6 +589,9 @@ const EN_US_MESSAGES = {
|
|
|
573
589
|
'presentation.ppt.error.title': 'PPT preview failed',
|
|
574
590
|
'presentation.ppt.error.parseFailed': 'This PPT file could not be parsed.',
|
|
575
591
|
'presentation.ppt.error.assetHint': 'Check the @file-viewer/ppt module, pptWasmUrl, application/wasm MIME type, Web Crypto, and CSP settings.',
|
|
592
|
+
'presentation.slideshow.start': 'Start slideshow',
|
|
593
|
+
'presentation.slideshow.exit': 'Exit slideshow',
|
|
594
|
+
'presentation.slideshow.hint': '← → navigate · Esc exit',
|
|
576
595
|
'archive.error.nestedUnsupported': '.{type} cannot be previewed online. Download it or convert it to a supported format.',
|
|
577
596
|
'archive.loading.readingDirectory': 'Reading archive directory...',
|
|
578
597
|
'archive.loading.readingDirectoryHint': 'Large files are parsed in a Worker to keep the main thread responsive.',
|
|
@@ -621,6 +640,18 @@ const EN_US_MESSAGES = {
|
|
|
621
640
|
'media.video.title': 'Video preview',
|
|
622
641
|
'media.video.unsupported': 'This browser does not support this video format.',
|
|
623
642
|
'media.video.hlsHint': 'HLS prefers the original URL for segment loading. If the input is a local single-file playlist, make sure segment URLs are reachable by the browser.',
|
|
643
|
+
'media.video.codecUnsupportedBadge': 'Incompatible video codec',
|
|
644
|
+
'media.video.codecUnsupportedTitle': 'This browser cannot decode the video track',
|
|
645
|
+
'media.video.codecUnsupportedDescription': 'The video track uses {codec}. The browser can read the MP4 container but cannot decode video frames, so the native player may play only audio or show a black screen.',
|
|
646
|
+
'media.video.codecUnsupportedAction': 'The lightweight software decoder could not start. Convert the video to H.264/AVC, VP9, or AV1 and open it again. File Viewer does not upload or modify the original file.',
|
|
647
|
+
'media.video.softwareLoading': 'Loading the lightweight MP4V decoder on demand…',
|
|
648
|
+
'media.video.softwareBadge': 'MP4V · lightweight decode',
|
|
649
|
+
'media.video.play': 'Play',
|
|
650
|
+
'media.video.pause': 'Pause',
|
|
651
|
+
'media.video.seek': 'Video progress',
|
|
652
|
+
'media.video.mute': 'Mute',
|
|
653
|
+
'media.video.unmute': 'Unmute',
|
|
654
|
+
'media.video.fullscreen': 'Full screen',
|
|
624
655
|
'media.midi.title': 'MIDI file',
|
|
625
656
|
'media.midi.loading': 'Parsing MIDI tracks...',
|
|
626
657
|
'media.midi.trackHeader': 'Track',
|
|
@@ -878,6 +909,7 @@ export const FILE_VIEWER_BUILTIN_MESSAGES = Object.freeze({
|
|
|
878
909
|
'zh-CN': ZH_CN_MESSAGES,
|
|
879
910
|
'en-US': EN_US_MESSAGES,
|
|
880
911
|
'ja-JP': JA_JP_MESSAGES,
|
|
912
|
+
'de-DE': DE_DE_MESSAGES,
|
|
881
913
|
});
|
|
882
914
|
const normalizeLocaleCandidate = (locale) => {
|
|
883
915
|
const normalized = String(locale || '').trim().replace(/_/g, '-').toLowerCase();
|
|
@@ -890,6 +922,9 @@ const normalizeLocaleCandidate = (locale) => {
|
|
|
890
922
|
if (normalized === 'ja' || normalized.startsWith('ja-')) {
|
|
891
923
|
return 'ja-JP';
|
|
892
924
|
}
|
|
925
|
+
if (normalized === 'de' || normalized.startsWith('de-')) {
|
|
926
|
+
return 'de-DE';
|
|
927
|
+
}
|
|
893
928
|
if (normalized === 'en' || normalized.startsWith('en-')) {
|
|
894
929
|
return 'en-US';
|
|
895
930
|
}
|