Veröffentlichte Quellen
Quellen als ZIP herunterladen
CH-J Tools
Durchsuchen Sie Verzeichnisse und Dateien einer bestimmten Anwendungsausgabe.
CH-J / Server Manager
872 Dateien
core-20261030T220507Z-61e4558d889f
Hinzugefügt: · Erstellt:
1
"use strict";2
// Texts: i18n/license/<language>.json, languages: i18n/languages.json (injected by the Rust Core).3
// The license itself is never translated; the operational guidance exists in CS/DE/EN only.4
const i18nData = globalThis.__CHJ_I18N__ || { manifest: { languages: [] }, catalogs: { license: {} } };5
const fallbackCopy = i18nData.catalogs.license.en || i18nData.catalogs.license.cs || {};6
const copy = new Proxy(i18nData.catalogs.license, { get: (target, language) => ({ ...fallbackCopy, ...(target[language] || {}) }) });7
const knownLanguage = language => Boolean(i18nData.catalogs.license[language]);8
const el = id => document.getElementById(id);9
for (const language of i18nData.manifest.languages || []) {10
if (!knownLanguage(language.code)) continue;11
const option = document.createElement("option");12
option.value = language.code;13
option.textContent = language.name;14
el("language").append(option);15
}16
let license;17
let showingLicense = false;18
function translate() {19
const language = el("language").value;20
const text = copy[language];21
document.documentElement.lang = language;22
for (const [id, key] of [["consentLicense", "consent"], ["consentRisk", "risk"], ["accept", "accept"], ["decline", "decline"], ["continue", "next"], ["back", "back"]]) el(id).textContent = text[key];23
el("heading").textContent = text[showingLicense ? "heading" : "guidanceHeading"];24
el("intro").textContent = text[showingLicense ? "intro" : "guidanceIntro"];25
el("guidanceText").textContent = license?.guidance[language] || license?.guidance.en || "";26
el("guidanceText").setAttribute("aria-label", text.guidanceHeading);27
el("guidanceText").hidden = showingLicense;28
for (const id of ["licenseText", "consentRow", "accept", "back"]) el(id).hidden = !showingLicense;29
el("continue").hidden = showingLicense;30
el("continue").disabled = !license;31
}32
el("language").addEventListener("change", translate);33
el("consent").addEventListener("change", () => { el("accept").disabled = !license || !showingLicense || !el("consent").checked; });34
el("decline").addEventListener("click", () => window.licenseApi.decline());35
el("continue").addEventListener("click", async () => {36
if (!license) return;37
el("continue").disabled = true;38
try {39
await window.licenseApi.showLicense({ guidanceSha256: license.guidanceSha256 });40
showingLicense = true;41
el("error").textContent = "";42
translate();43
el("licenseText").focus();44
} catch { el("error").textContent = copy[el("language").value].error; el("continue").disabled = false; }45
});46
el("back").addEventListener("click", () => {47
showingLicense = false;48
el("consent").checked = false;49
el("accept").disabled = true;50
translate();51
});52
el("accept").addEventListener("click", async () => {53
if (!license || !showingLicense || !el("consent").checked) return;54
el("accept").disabled = true;55
try { await window.licenseApi.accept({ accepted: true, sha256: license.sha256, guidanceSha256: license.guidanceSha256 }); }56
catch { el("error").textContent = copy[el("language").value].error; el("accept").disabled = !el("consent").checked; }57
});58
translate();59
window.licenseApi.read().then(value => {60
license = value;61
// The license and the safety guidance exist only in Czech, German and English (never translated further):62
// another UI language shows them in its base language when available, otherwise in English.63
const base = String(value.language || "").split("-")[0];64
el("language").value = knownLanguage(value.language) ? value.language : knownLanguage(base) ? base : value.language && knownLanguage("en") ? "en" : (knownLanguage("cs") ? "cs" : "en");65
el("licenseText").textContent = value.text;66
el("release").textContent = `CH-J Proprietary Software License ${value.licenseVersion} · v${value.appVersion} · ${value.buildId}`;67
translate();68
}).catch(() => { el("error").textContent = copy[el("language").value].error; });SHA-256
beabe175e5ab60bbb71d10845d8fe4c7071a3000185af68c75e6119e6fee7b31CH-J Proprietary Software License 1.14 · Die Quellen werden unter der CH-J Proprietary Software License 1.14 bereitgestellt. Ihre Verfügbarkeit ändert die Lizenzbedingungen nicht und gewährt keine zusätzlichen Rechte.
SHA-256 des Archivs
77380d4805485ffa4027fbe7858b5836f197a4aa9d52358a43e2d12d018744df