CH-J Server Managerserver management over SSH
Menu
Published source

CH-J Server Manager

Browse directories and files for a specific application release.

Download source ZIP
CH-J Proprietary Software License 1.14

Source is provided under the CH-J Proprietary Software License 1.14. Its availability does not change the license terms or grant additional rights.

25,7 KB · 430 linesDownload file
1"use strict";
3(function (root) {
4 const catalogs = {
5 "en": {
6 "Hash & Checksum": "Hash & Checksum",
7 "Close": "Close",
8 "100% local.": "100% local.",
9 "File contents and digests never leave this computer. Files are available only through selections you confirm in the system dialog.": "File contents and digests never leave this computer. Files are available only through selections you confirm in the system dialog.",
10 "Hash tools": "Hash tools",
11 "Calculate": "Calculate",
12 "Verify": "Verify",
13 "Compare Files": "Compare Files",
14 "Manifests": "Manifests",
15 "Hash one file, a batch, or a directory. Directory symlinks are skipped.": "Hash one file, a batch, or a directory. Directory symlinks are skipped.",
16 "Selection type": "Selection type",
17 "File": "File",
18 "Files": "Files",
19 "Multiple Files": "Multiple Files",
20 "Directory": "Directory",
21 "Choose…": "Choose…",
22 "Nothing selected": "Nothing selected",
23 "Include subdirectories": "Include subdirectories",
24 "Algorithms": "Algorithms",
25 "Recommended": "Recommended",
26 "Select all": "Select all",
27 "Clear": "Clear",
28 "MD5 and SHA-1 are cryptographically broken and are included only for compatibility. Fast hashes, CRC, and Adler are not suitable for security verification. SipHash and HighwayHash use an all-zero key when their key field is left blank. Selecting all algorithms is CPU intensive.": "MD5 and SHA-1 are cryptographically broken and are included only for compatibility. Fast hashes, CRC, and Adler are not suitable for security verification. SipHash and HighwayHash use an all-zero key when their key field is left blank. Selecting all algorithms is CPU intensive.",
29 "Output": "Output",
30 "HEX lowercase": "HEX lowercase",
31 "HEX uppercase": "HEX uppercase",
32 "Compare a local file with an expected digest. Hex comparison ignores case and surrounding whitespace.": "Compare a local file with an expected digest. Hex comparison ignores case and surrounding whitespace.",
33 "Choose file…": "Choose file…",
34 "Algorithm": "Algorithm",
35 "Expected digest": "Expected digest",
36 "This compares calculated digests, not every byte directly.": "This compares calculated digests, not every byte directly.",
37 "Choose File A…": "Choose File A…",
38 "Choose File B…": "Choose File B…",
39 "Select one or more (Ctrl/Cmd-click).": "Select one or more (Ctrl/Cmd-click).",
40 "Compare digests": "Compare digests",
41 "Checksum manifests": "Checksum manifests",
42 "Generate": "Generate",
43 "GNU, BSD, or SFV with portable relative paths.": "GNU, BSD, or SFV with portable relative paths.",
44 "Choose source…": "Choose source…",
45 "Format": "Format",
46 "SFV (CRC32 only)": "SFV (CRC32 only)",
47 "Generate manifest…": "Generate manifest…",
48 "Absolute paths, traversal, UNC/drive paths, and symlink escapes are rejected.": "Absolute paths, traversal, UNC/drive paths, and symlink escapes are rejected.",
49 "Choose manifest…": "Choose manifest…",
50 "Choose root directory…": "Choose root directory…",
51 "Algorithm override (optional)": "Algorithm override (optional)",
52 "Auto-detect": "Auto-detect",
53 "Verify manifest": "Verify manifest",
54 "Job": "Job",
55 "No job running": "No job running",
56 "Cancel": "Cancel",
57 "Copy all": "Copy all",
58 "Export results…": "Export results…",
59 "Size": "Size",
60 "Digest": "Digest",
61 "Status": "Status",
62 "Copy": "Copy",
63 "Copied": "Copied",
64 "Unknown error": "Unknown error",
65 "Output length in bytes": "Output length in bytes",
66 "Output bytes": "Output bytes",
67 "{bits}-bit seed": "{bits}-bit seed",
68 "Seed (default 0)": "Seed (default 0)",
69 "{bytes}-byte hexadecimal key": "{bytes}-byte hexadecimal key",
70 "HEX key ({bytes} bytes; zero key if blank)": "HEX key ({bytes} bytes; zero key if blank)",
71 "Elapsed {duration}": "Elapsed {duration}",
72 "ETA {duration}": "ETA {duration}",
73 "IDENTICAL digests": "IDENTICAL digests",
74 "DIFFERENT digests": "DIFFERENT digests",
75 "{matches} matched · {failures} failed": "{matches} matched · {failures} failed",
76 "{count} file(s) completed": "{count} file(s) completed",
77 "Choose local input first.": "Choose local input first.",
78 "Select at least one algorithm.": "Select at least one algorithm.",
79 "Length candidates: {names}. Length alone is not definitive.": "Length candidates: {names}. Length alone is not definitive.",
80 "No fixed-length algorithm matches this length.": "No fixed-length algorithm matches this length.",
81 "Choose a local file first.": "Choose a local file first.",
82 "Choose both local files first.": "Choose both local files first.",
83 "Select at least one comparison algorithm.": "Select at least one comparison algorithm.",
84 "Choose local source files first.": "Choose local source files first.",
85 "Choose a manifest and its local root directory.": "Choose a manifest and its local root directory.",
86 "category.recommended": "Recommended / Cryptographic",
87 "category.xof": "XOF",
88 "category.legacy": "Legacy Cryptographic",
89 "category.broken": "Broken / Compatibility only",
90 "category.fast": "Fast non-cryptographic",
91 "category.checksums": "Checksums",
92 "queued": "queued",
93 "running": "running",
94 "completed": "completed",
95 "cancelled": "cancelled",
96 "failed": "failed",
97 "COMPLETED": "COMPLETED",
98 "MATCH": "MATCH",
99 "MISMATCH": "MISMATCH",
100 "ERROR": "ERROR",
101 "INVALID ENTRY": "INVALID ENTRY",
102 "Select local files to hash": "Select local files to hash",
103 "Select a local file to hash": "Select a local file to hash",
104 "Select a local directory": "Select a local directory",
105 "Select a checksum manifest": "Select a checksum manifest",
106 "Save checksum manifest": "Save checksum manifest",
107 "HASH_INVALID_ALGORITHMS": "HASH_INVALID_ALGORITHMS",
108 "HASH_UNSUPPORTED_ALGORITHM": "HASH_UNSUPPORTED_ALGORITHM",
109 "HASH_INVALID_XOF_LENGTH": "HASH_INVALID_XOF_LENGTH",
110 "HASH_INVALID_KEY": "HASH_INVALID_KEY",
111 "HASH_INVALID_SEED": "HASH_INVALID_SEED",
112 "HASH_CANCELLED": "HASH_CANCELLED",
113 "HASH_FILE_CHANGED": "HASH_FILE_CHANGED",
114 "HASH_NOT_REGULAR_FILE": "HASH_NOT_REGULAR_FILE",
115 "HASH_INVALID_MANIFEST": "HASH_INVALID_MANIFEST",
116 "HASH_PATH_ESCAPE": "HASH_PATH_ESCAPE",
117 "HASH_SYMLINK_REJECTED": "HASH_SYMLINK_REJECTED",
118 "HASH_INVALID_SELECTION": "HASH_INVALID_SELECTION",
119 "HASH_INVALID_DESTINATION": "HASH_INVALID_DESTINATION",
120 "HASH_JOB_NOT_COMPLETED": "HASH_JOB_NOT_COMPLETED",
121 "HASH_RESULT_NOT_FOUND": "HASH_RESULT_NOT_FOUND",
122 "HASH_EMPTY_SELECTION": "HASH_EMPTY_SELECTION",
123 "HASH_TOO_MANY_FILES": "HASH_TOO_MANY_FILES",
124 "HASH_FILE_TOO_LARGE": "HASH_FILE_TOO_LARGE",
125 "HASH_INVALID_SELECTION_TOKEN": "HASH_INVALID_SELECTION_TOKEN",
126 "HASH_INVALID_JOB": "HASH_INVALID_JOB",
127 "HASH_INVALID_EXPECTED": "HASH_INVALID_EXPECTED",
128 "HASH_AMBIGUOUS_ALGORITHM": "HASH_AMBIGUOUS_ALGORITHM",
129 "HASH_INTERNAL_ERROR": "HASH_INTERNAL_ERROR",
130 "ENOENT": "ENOENT",
131 "EACCES": "EACCES",
132 "EPERM": "EPERM",
133 "MISSING": "MISSING",
134 "{completed} completed · {failures} failed": "{completed} completed · {failures} failed",
135 "Comparison failed": "Comparison failed",
136 "Expected encoding": "Expected encoding"
137 },
138 "cs": {
139 "Hash & Checksum": "Hash a kontrolní součty",
140 "Close": "Zavřít",
141 "100% local.": "100% lokální.",
142 "File contents and digests never leave this computer. Files are available only through selections you confirm in the system dialog.": "Obsah souborů ani hashe neopouštějí tento počítač. Přístupné jsou pouze soubory, které vyberete v systémovém dialogu.",
143 "Hash tools": "Hashovací nástroje",
144 "Calculate": "Vypočítat",
145 "Verify": "Ověřit",
146 "Compare Files": "Porovnat soubory",
147 "Manifests": "Seznamy součtů",
148 "Hash one file, a batch, or a directory. Directory symlinks are skipped.": "Vypočítejte hash souboru, více souborů nebo složky. Symbolické odkazy se přeskakují.",
149 "Selection type": "Typ výběru",
150 "File": "Soubor",
151 "Files": "Soubory",
152 "Multiple Files": "Více souborů",
153 "Directory": "Složka",
154 "Choose…": "Vybrat…",
155 "Nothing selected": "Nic nevybráno",
156 "Include subdirectories": "Včetně podsložek",
157 "Algorithms": "Algoritmy",
158 "Recommended": "Doporučené",
159 "Select all": "Vybrat vše",
160 "Clear": "Zrušit výběr",
161 "MD5 and SHA-1 are cryptographically broken and are included only for compatibility. Fast hashes, CRC, and Adler are not suitable for security verification. SipHash and HighwayHash use an all-zero key when their key field is left blank. Selecting all algorithms is CPU intensive.": "MD5 a SHA-1 jsou kryptograficky prolomené a slouží pouze pro kompatibilitu. Rychlé hashe, CRC a Adler nejsou vhodné pro bezpečnostní ověřování. SipHash a HighwayHash používají nulový klíč, pokud pole klíče zůstane prázdné. Výběr všech algoritmů zatěžuje procesor.",
162 "Output": "Výstup",
163 "HEX lowercase": "HEX malými písmeny",
164 "HEX uppercase": "HEX velkými písmeny",
165 "Compare a local file with an expected digest. Hex comparison ignores case and surrounding whitespace.": "Porovnejte lokální soubor s očekávaným hashem. U HEX se ignoruje velikost písmen a mezery na okrajích.",
166 "Choose file…": "Vybrat soubor…",
167 "Algorithm": "Algoritmus",
168 "Expected digest": "Očekávaný hash",
169 "This compares calculated digests, not every byte directly.": "Porovnávají se vypočtené hashe, nikoli jednotlivé bajty souborů.",
170 "Choose File A…": "Vybrat soubor A…",
171 "Choose File B…": "Vybrat soubor B…",
172 "Select one or more (Ctrl/Cmd-click).": "Vyberte jeden nebo více (Ctrl/Cmd + kliknutí).",
173 "Compare digests": "Porovnat hashe",
174 "Checksum manifests": "Seznamy kontrolních součtů",
175 "Generate": "Vytvořit",
176 "GNU, BSD, or SFV with portable relative paths.": "GNU, BSD nebo SFV s přenositelnými relativními cestami.",
177 "Choose source…": "Vybrat zdroj…",
178 "Format": "Formát",
179 "SFV (CRC32 only)": "SFV (pouze CRC32)",
180 "Generate manifest…": "Vytvořit seznam…",
181 "Absolute paths, traversal, UNC/drive paths, and symlink escapes are rejected.": "Absolutní cesty, přechody mimo složku, cesty UNC/disků a úniky přes symbolické odkazy jsou odmítnuty.",
182 "Choose manifest…": "Vybrat seznam součtů…",
183 "Choose root directory…": "Vybrat kořenovou složku…",
184 "Algorithm override (optional)": "Vynucený algoritmus (volitelné)",
185 "Auto-detect": "Zjistit automaticky",
186 "Verify manifest": "Ověřit seznam součtů",
187 "Job": "Úloha",
188 "No job running": "Žádná spuštěná úloha",
189 "Cancel": "Zrušit",
190 "Copy all": "Kopírovat vše",
191 "Export results…": "Exportovat výsledky…",
192 "Size": "Velikost",
193 "Digest": "Hash",
194 "Status": "Stav",
195 "Copy": "Kopírovat",
196 "Copied": "Zkopírováno",
197 "Unknown error": "Neznámá chyba",
198 "Output length in bytes": "Délka výstupu v bajtech",
199 "Output bytes": "Bajty výstupu",
200 "{bits}-bit seed": "{bits}bitový seed",
201 "Seed (default 0)": "Seed (výchozí 0)",
202 "{bytes}-byte hexadecimal key": "Hexadecimální klíč o délce {bytes} bajtů",
203 "HEX key ({bytes} bytes; zero key if blank)": "HEX klíč ({bytes} bajtů; prázdný = nulový)",
204 "Elapsed {duration}": "Uplynulo {duration}",
205 "ETA {duration}": "Zbývá {duration}",
206 "IDENTICAL digests": "SHODNÉ hashe",
207 "DIFFERENT digests": "ROZDÍLNÉ hashe",
208 "{matches} matched · {failures} failed": "{matches} shodných · {failures} neúspěšných",
209 "{count} file(s) completed": "Dokončeno souborů: {count}",
210 "Choose local input first.": "Nejprve vyberte lokální vstup.",
211 "Select at least one algorithm.": "Vyberte alespoň jeden algoritmus.",
212 "Length candidates: {names}. Length alone is not definitive.": "Možné algoritmy podle délky: {names}. Samotná délka algoritmus neurčuje.",
213 "No fixed-length algorithm matches this length.": "Této délce neodpovídá žádný algoritmus s pevnou délkou.",
214 "Choose a local file first.": "Nejprve vyberte lokální soubor.",
215 "Choose both local files first.": "Nejprve vyberte oba lokální soubory.",
216 "Select at least one comparison algorithm.": "Vyberte alespoň jeden algoritmus pro porovnání.",
217 "Choose local source files first.": "Nejprve vyberte lokální zdrojové soubory.",
218 "Choose a manifest and its local root directory.": "Vyberte seznam součtů a jeho lokální kořenovou složku.",
219 "category.recommended": "Doporučené / kryptografické",
220 "category.xof": "XOF (proměnná délka výstupu)",
221 "category.legacy": "Starší kryptografické",
222 "category.broken": "Prolomené / pouze kompatibilita",
223 "category.fast": "Rychlé nekryptografické",
224 "category.checksums": "Kontrolní součty",
225 "queued": "Ve frontě",
226 "running": "Probíhá",
227 "completed": "Dokončeno",
228 "cancelled": "Zrušeno",
229 "failed": "Selhalo",
230 "COMPLETED": "DOKONČENO",
231 "MATCH": "SHODA",
232 "MISMATCH": "NESHODA",
233 "ERROR": "CHYBA",
234 "INVALID ENTRY": "NEPLATNÁ POLOŽKA",
235 "Select local files to hash": "Vybrat lokální soubory pro hashování",
236 "Select a local file to hash": "Vybrat lokální soubor pro hashování",
237 "Select a local directory": "Vybrat lokální složku",
238 "Select a checksum manifest": "Vybrat seznam kontrolních součtů",
239 "Save checksum manifest": "Uložit seznam součtů nebo výsledky",
240 "HASH_INVALID_ALGORITHMS": "Vyberte jeden nebo více podporovaných algoritmů.",
241 "HASH_UNSUPPORTED_ALGORITHM": "Algoritmus není podporován nebo je vybrán vícekrát.",
242 "HASH_INVALID_XOF_LENGTH": "Neplatná délka výstupu XOF. Zkontrolujte povolený rozsah pole.",
243 "HASH_INVALID_KEY": "Neplatný HEX klíč. Zkontrolujte jeho délku.",
244 "HASH_INVALID_SEED": "Seed musí být nezáporné celé číslo v povoleném rozsahu.",
245 "HASH_CANCELLED": "Úloha byla zrušena.",
246 "HASH_FILE_CHANGED": "Soubor se změnil. Vyberte jej znovu.",
247 "HASH_NOT_REGULAR_FILE": "Lze vybrat pouze běžné soubory.",
248 "HASH_INVALID_MANIFEST": "Neplatný seznam kontrolních součtů nebo nekompatibilní algoritmus/formát.",
249 "HASH_PATH_ESCAPE": "Cesta vede mimo vybranou složku.",
250 "HASH_SYMLINK_REJECTED": "Symbolické odkazy nejsou povoleny.",
251 "HASH_INVALID_SELECTION": "Neplatný výběr souborů nebo složky.",
252 "HASH_INVALID_DESTINATION": "Neplatná cílová složka.",
253 "HASH_JOB_NOT_COMPLETED": "Exportovat lze pouze dokončené výsledky.",
254 "HASH_RESULT_NOT_FOUND": "Žádný dokončený výsledek ke kopírování.",
255 "HASH_EMPTY_SELECTION": "Nebyly vybrány žádné běžné soubory.",
256 "HASH_TOO_MANY_FILES": "Úloha může obsahovat nejvýše 10 000 souborů.",
257 "HASH_FILE_TOO_LARGE": "Soubor přesahuje podporovanou velikost.",
258 "HASH_INVALID_SELECTION_TOKEN": "Výběr vypršel nebo není dostupný. Vyberte soubory znovu.",
259 "HASH_INVALID_JOB": "Úloha není dostupná.",
260 "HASH_INVALID_EXPECTED": "Neplatný očekávaný hash. Zkontrolujte kódování a délku.",
261 "HASH_AMBIGUOUS_ALGORITHM": "Délka hashe není jednoznačná. Vyberte algoritmus ručně.",
262 "HASH_INTERNAL_ERROR": "Při hashování došlo k interní chybě.",
263 "ENOENT": "Soubor nebo složka neexistuje.",
264 "EACCES": "Přístup k souboru nebo složce byl odepřen.",
265 "EPERM": "Operace se souborem nebo složkou není povolena.",
266 "MISSING": "CHYBÍ",
267 "{completed} completed · {failures} failed": "{completed} dokončeno · {failures} neúspěšných",
268 "Comparison failed": "Porovnání selhalo",
269 "Expected encoding": "Kódování očekávaného hashe"
270 },
271 "de": {
272 "Hash & Checksum": "Hash und Prüfsummen",
273 "Close": "Schließen",
274 "100% local.": "100 % lokal.",
275 "File contents and digests never leave this computer. Files are available only through selections you confirm in the system dialog.": "Dateiinhalte und Hashwerte verlassen diesen Computer nie. Es sind nur Dateien verfügbar, die Sie im Systemdialog auswählen.",
276 "Hash tools": "Hash-Werkzeuge",
277 "Calculate": "Berechnen",
278 "Verify": "Prüfen",
279 "Compare Files": "Dateien vergleichen",
280 "Manifests": "Prüfsummenlisten",
281 "Hash one file, a batch, or a directory. Directory symlinks are skipped.": "Hashwerte für eine Datei, mehrere Dateien oder einen Ordner berechnen. Symbolische Links werden übersprungen.",
282 "Selection type": "Auswahltyp",
283 "File": "Datei",
284 "Files": "Dateien",
285 "Multiple Files": "Mehrere Dateien",
286 "Directory": "Ordner",
287 "Choose…": "Auswählen…",
288 "Nothing selected": "Nichts ausgewählt",
289 "Include subdirectories": "Unterordner einbeziehen",
290 "Algorithms": "Algorithmen",
291 "Recommended": "Empfohlen",
292 "Select all": "Alle auswählen",
293 "Clear": "Auswahl aufheben",
294 "MD5 and SHA-1 are cryptographically broken and are included only for compatibility. Fast hashes, CRC, and Adler are not suitable for security verification. SipHash and HighwayHash use an all-zero key when their key field is left blank. Selecting all algorithms is CPU intensive.": "MD5 und SHA-1 sind kryptografisch gebrochen und dienen nur der Kompatibilität. Schnelle Hashes, CRC und Adler eignen sich nicht zur Sicherheitsprüfung. SipHash und HighwayHash verwenden bei leerem Schlüsselfeld einen Nullschlüssel. Die Auswahl aller Algorithmen belastet den Prozessor stark.",
295 "Output": "Ausgabe",
296 "HEX lowercase": "HEX Kleinbuchstaben",
297 "HEX uppercase": "HEX Großbuchstaben",
298 "Compare a local file with an expected digest. Hex comparison ignores case and surrounding whitespace.": "Eine lokale Datei mit dem erwarteten Hashwert vergleichen. Bei HEX werden Groß- und Kleinschreibung sowie umgebende Leerzeichen ignoriert.",
299 "Choose file…": "Datei auswählen…",
300 "Algorithm": "Algorithmus",
301 "Expected digest": "Erwarteter Hashwert",
302 "This compares calculated digests, not every byte directly.": "Verglichen werden die berechneten Hashwerte, nicht direkt jedes Byte.",
303 "Choose File A…": "Datei A auswählen…",
304 "Choose File B…": "Datei B auswählen…",
305 "Select one or more (Ctrl/Cmd-click).": "Einen oder mehrere auswählen (Strg/Cmd-Klick).",
306 "Compare digests": "Hashwerte vergleichen",
307 "Checksum manifests": "Prüfsummenlisten",
308 "Generate": "Erstellen",
309 "GNU, BSD, or SFV with portable relative paths.": "GNU, BSD oder SFV mit portablen relativen Pfaden.",
310 "Choose source…": "Quelle auswählen…",
311 "Format": "Format",
312 "SFV (CRC32 only)": "SFV (nur CRC32)",
313 "Generate manifest…": "Prüfsummenliste erstellen…",
314 "Absolute paths, traversal, UNC/drive paths, and symlink escapes are rejected.": "Absolute Pfade, Pfadüberschreitungen, UNC-/Laufwerkspfade und Ausbrüche über symbolische Links werden abgelehnt.",
315 "Choose manifest…": "Prüfsummenliste auswählen…",
316 "Choose root directory…": "Stammordner auswählen…",
317 "Algorithm override (optional)": "Algorithmus vorgeben (optional)",
318 "Auto-detect": "Automatisch erkennen",
319 "Verify manifest": "Prüfsummenliste prüfen",
320 "Job": "Auftrag",
321 "No job running": "Kein Auftrag aktiv",
322 "Cancel": "Abbrechen",
323 "Copy all": "Alles kopieren",
324 "Export results…": "Ergebnisse exportieren…",
325 "Size": "Größe",
326 "Digest": "Hashwert",
327 "Status": "Status",
328 "Copy": "Kopieren",
329 "Copied": "Kopiert",
330 "Unknown error": "Unbekannter Fehler",
331 "Output length in bytes": "Ausgabelänge in Bytes",
332 "Output bytes": "Ausgabebytes",
333 "{bits}-bit seed": "{bits}-Bit-Seed",
334 "Seed (default 0)": "Seed (Standard 0)",
335 "{bytes}-byte hexadecimal key": "Hexadezimaler Schlüssel mit {bytes} Bytes",
336 "HEX key ({bytes} bytes; zero key if blank)": "HEX-Schlüssel ({bytes} Bytes; leer = Nullschlüssel)",
337 "Elapsed {duration}": "Vergangen {duration}",
338 "ETA {duration}": "Restzeit {duration}",
339 "IDENTICAL digests": "IDENTISCHE Hashwerte",
340 "DIFFERENT digests": "UNTERSCHIEDLICHE Hashwerte",
341 "{matches} matched · {failures} failed": "{matches} übereinstimmend · {failures} fehlgeschlagen",
342 "{count} file(s) completed": "Abgeschlossene Dateien: {count}",
343 "Choose local input first.": "Wählen Sie zuerst eine lokale Quelle.",
344 "Select at least one algorithm.": "Wählen Sie mindestens einen Algorithmus.",
345 "Length candidates: {names}. Length alone is not definitive.": "Mögliche Algorithmen nach Länge: {names}. Die Länge allein ist nicht eindeutig.",
346 "No fixed-length algorithm matches this length.": "Kein Algorithmus mit fester Länge entspricht dieser Länge.",
347 "Choose a local file first.": "Wählen Sie zuerst eine lokale Datei.",
348 "Choose both local files first.": "Wählen Sie zuerst beide lokalen Dateien.",
349 "Select at least one comparison algorithm.": "Wählen Sie mindestens einen Vergleichsalgorithmus.",
350 "Choose local source files first.": "Wählen Sie zuerst die lokalen Quelldateien.",
351 "Choose a manifest and its local root directory.": "Wählen Sie eine Prüfsummenliste und ihren lokalen Stammordner.",
352 "category.recommended": "Empfohlen / kryptografisch",
353 "category.xof": "XOF (variable Ausgabelänge)",
354 "category.legacy": "Ältere kryptografische Algorithmen",
355 "category.broken": "Gebrochen / nur Kompatibilität",
356 "category.fast": "Schnelle nicht kryptografische Algorithmen",
357 "category.checksums": "Prüfsummen",
358 "queued": "In Warteschlange",
359 "running": "Läuft",
360 "completed": "Abgeschlossen",
361 "cancelled": "Abgebrochen",
362 "failed": "Fehlgeschlagen",
363 "COMPLETED": "ABGESCHLOSSEN",
364 "MATCH": "ÜBEREINSTIMMUNG",
365 "MISMATCH": "KEINE ÜBEREINSTIMMUNG",
366 "ERROR": "FEHLER",
367 "INVALID ENTRY": "UNGÜLTIGER EINTRAG",
368 "Select local files to hash": "Lokale Dateien zum Hashen auswählen",
369 "Select a local file to hash": "Lokale Datei zum Hashen auswählen",
370 "Select a local directory": "Lokalen Ordner auswählen",
371 "Select a checksum manifest": "Prüfsummenliste auswählen",
372 "Save checksum manifest": "Prüfsummenliste oder Ergebnisse speichern",
373 "HASH_INVALID_ALGORITHMS": "Wählen Sie einen oder mehrere unterstützte Algorithmen.",
374 "HASH_UNSUPPORTED_ALGORITHM": "Der Algorithmus wird nicht unterstützt oder wurde mehrfach ausgewählt.",
375 "HASH_INVALID_XOF_LENGTH": "Ungültige XOF-Ausgabelänge. Prüfen Sie den zulässigen Bereich des Feldes.",
376 "HASH_INVALID_KEY": "Ungültiger HEX-Schlüssel. Prüfen Sie seine Länge.",
377 "HASH_INVALID_SEED": "Der Seed muss eine nicht negative ganze Zahl im zulässigen Bereich sein.",
378 "HASH_CANCELLED": "Der Auftrag wurde abgebrochen.",
379 "HASH_FILE_CHANGED": "Die Datei wurde geändert. Wählen Sie sie erneut aus.",
380 "HASH_NOT_REGULAR_FILE": "Es können nur reguläre Dateien ausgewählt werden.",
381 "HASH_INVALID_MANIFEST": "Ungültige Prüfsummenliste oder inkompatibler Algorithmus/Format.",
382 "HASH_PATH_ESCAPE": "Der Pfad führt aus dem ausgewählten Ordner heraus.",
383 "HASH_SYMLINK_REJECTED": "Symbolische Links sind nicht erlaubt.",
384 "HASH_INVALID_SELECTION": "Ungültige Datei- oder Ordnerauswahl.",
385 "HASH_INVALID_DESTINATION": "Ungültiger Zielordner.",
386 "HASH_JOB_NOT_COMPLETED": "Nur abgeschlossene Ergebnisse können exportiert werden.",
387 "HASH_RESULT_NOT_FOUND": "Kein abgeschlossenes Ergebnis zum Kopieren vorhanden.",
388 "HASH_EMPTY_SELECTION": "Es wurden keine regulären Dateien ausgewählt.",
389 "HASH_TOO_MANY_FILES": "Ein Auftrag darf höchstens 10.000 Dateien enthalten.",
390 "HASH_FILE_TOO_LARGE": "Die Datei überschreitet die unterstützte Größe.",
391 "HASH_INVALID_SELECTION_TOKEN": "Die Auswahl ist abgelaufen oder nicht verfügbar. Wählen Sie die Dateien erneut aus.",
392 "HASH_INVALID_JOB": "Der Auftrag ist nicht verfügbar.",
393 "HASH_INVALID_EXPECTED": "Ungültiger erwarteter Hashwert. Prüfen Sie Kodierung und Länge.",
394 "HASH_AMBIGUOUS_ALGORITHM": "Die Hashlänge ist nicht eindeutig. Wählen Sie den Algorithmus manuell.",
395 "HASH_INTERNAL_ERROR": "Beim Hashen ist ein interner Fehler aufgetreten.",
396 "ENOENT": "Die Datei oder der Ordner existiert nicht.",
397 "EACCES": "Zugriff auf die Datei oder den Ordner verweigert.",
398 "EPERM": "Der Datei- oder Ordnervorgang ist nicht erlaubt.",
399 "MISSING": "FEHLT",
400 "{completed} completed · {failures} failed": "{completed} abgeschlossen · {failures} fehlgeschlagen",
401 "Comparison failed": "Vergleich fehlgeschlagen",
402 "Expected encoding": "Kodierung des erwarteten Hashwerts"
403 }
404};
405 function createI18n(initialLanguage = "en") {
406 let language;
407 const setLanguage = (value) => {
408 const requested = String(value || "").toLowerCase().split(/[-_]/)[0];
409 language = Object.hasOwn(catalogs, requested) ? requested : "en";
410 return language;
411 };
412 setLanguage(initialLanguage);
413 const t = (key, values = {}) => (catalogs[language][key] || catalogs.en[key] || key)
414 .replace(/\{(\w+)\}/g, (match, name) => Object.hasOwn(values, name) ? String(values[name]) : match);
415 const apply = (document) => {
416 document.documentElement.lang = language;
417 document.querySelectorAll("[data-i18n]").forEach((element) => { element.textContent = t(element.dataset.i18n); });
418 document.querySelectorAll("[data-i18n-aria-label]").forEach((element) => { element.setAttribute("aria-label", t(element.dataset.i18nAriaLabel)); });
419 };
420 const errorMessage = (error) => {
421 const message = error?.message || String(error || t("Unknown error"));
422 const code = error?.code || message.match(/\b(HASH_[A-Z_]+|ENOENT|EACCES|EPERM)\b/)?.[1];
423 return language !== "en" && catalogs[language][code] ? t(code) : message;
424 };
425 return { t, apply, setLanguage, getLanguage: () => language, errorMessage };
426 }
427 const exported = { catalogs, createI18n };
428 if (typeof module === "object" && module.exports) module.exports = exported;
429 else root.chjHashI18n = exported;
430})(typeof window === "object" ? window : globalThis);

SHA-256: 5481ef2110e2020616fd1f4237e0db388bf6e539afbdc41f4e55c8aa7308f470

Archive SHA-256: 5ac91caf4fa32a6fdb114f2430deed486fbe7489d5eea343d1f034169fafb5e0