i18n bis in die Terminal- und Panel-Fenster
Uebersetzt waren bisher nur die Vue-Fenster; Terminal, Panel und Popup hatten ihre Beschriftungen hart auf Deutsch im Markup und in den Views -- ein englisches UI blieb zur Haelfte deutsch. Die Tabellen ziehen nach messages.ts um, dazu ein Vue-freier t() und ein applyI18n(), das statisches Markup ueber data-i18n-Marker beschriftet. i18n.ts bleibt der vue-i18n-Wrapper fuer die Vue-Fenster. So kommt kein Vue in die Terminal- und Panel-Bundles (Terminal 657,02 -> 657,06 kB). Neue Namensraeume: panel, popup, commands, archiveForm, search, wiki. toLocaleTimeString folgt der Sprache statt fest 'de'. Zwei Funde nebenbei: - window.localStorage wird ueber try/catch gelesen. Gesperrter Storage (privater Modus) wirft schon beim Lesen, und unter Node 22 ueberschattet ein undefiniertes globales localStorage das der Testumgebung. - Die Frontend-Tests liefen unbemerkt gegen happy-doms en-US. test-setup.ts nagelt die Sprache fest. 49 Tests (39 bestehende, 10 neue fuer Tabellen-Paritaet, t() und applyI18n).
This commit is contained in:
+3
-2
@@ -1,6 +1,7 @@
|
||||
import { renderMarkdown } from "./markdown";
|
||||
import { writeText } from "@tauri-apps/plugin-clipboard-manager";
|
||||
import { flash } from "./commands-view";
|
||||
import { t } from "./messages";
|
||||
|
||||
export interface PanelView {
|
||||
set(text: string): void;
|
||||
@@ -37,7 +38,7 @@ function firstLine(text: string): string {
|
||||
if (t.startsWith("#") && h) return stripInlineMd(h);
|
||||
if (!fallback) fallback = t;
|
||||
}
|
||||
return fallback ? stripInlineMd(fallback) : "Dokument";
|
||||
return fallback ? stripInlineMd(fallback) : t("panel.tabDraft");
|
||||
}
|
||||
|
||||
/// Ersetzt die erste Überschrift (bzw. legt eine an) im Rohtext durch `title`.
|
||||
@@ -129,7 +130,7 @@ export function initPanelView(opts: {
|
||||
opts.content.className = "raw";
|
||||
opts.content.textContent = rawText;
|
||||
}
|
||||
opts.modeBtn.textContent = rendered ? "MD" : "Roh";
|
||||
opts.modeBtn.textContent = rendered ? t("panel.rendered") : t("panel.raw");
|
||||
}
|
||||
|
||||
opts.modeBtn.addEventListener("click", () => {
|
||||
|
||||
Reference in New Issue
Block a user