fix(i18n): Sicht → Ansicht (custom views) — m's call: View is always Ansicht. Sweep applied to /views + /views/editor + sidebar + onboarding strings. Approval-context 'Sicht' (visibility-tier in derived team) left as-is — different semantic.

This commit is contained in:
m
2026-05-07 22:22:33 +02:00
parent 8bdebe9bc1
commit 35f307d61d
3 changed files with 32 additions and 32 deletions

View File

@@ -1847,27 +1847,27 @@ const translations: Record<Lang, Record<string, string>> = {
"approvals.policies.set_all_associate": "Alle auf Associate setzen",
// t-paliad-144 — Custom Views
"nav.group.user_views": "Meine Sichten",
"nav.user_views.new": "Neue Sicht",
"views.title": "Sichten — Paliad",
"views.heading": "Sichten",
"views.subtitle": "Eigene Sichten über Ihre Daten — Filter und Darstellung speicherbar.",
"nav.group.user_views": "Meine Ansichten",
"nav.user_views.new": "Neue Ansicht",
"views.title": "Ansichten — Paliad",
"views.heading": "Ansichten",
"views.subtitle": "Eigene Ansichten über Ihre Daten — Filter und Darstellung speicherbar.",
"views.loading": "Lädt …",
"views.shape.list": "Liste",
"views.shape.cards": "Karten",
"views.shape.calendar": "Kalender",
"views.save_as": "Als Sicht speichern",
"views.save_as": "Als Ansicht speichern",
"views.action.edit": "Bearbeiten",
"views.empty.title": "Keine Einträge gefunden.",
"views.error.back": "Zurück zur Sichten-Übersicht",
"views.error.not_found": "Sicht nicht gefunden.",
"views.error.back": "Zurück zur Ansichten-Übersicht",
"views.error.not_found": "Ansicht nicht gefunden.",
"views.error.network": "Netzwerkfehler — bitte erneut versuchen.",
"views.toast.inaccessible_one": "1 Projekt in dieser Sicht ist nicht mehr sichtbar.",
"views.toast.inaccessible_n": "{n} Projekte in dieser Sicht sind nicht mehr sichtbar.",
"views.toast.inaccessible_one": "1 Projekt in dieser Ansicht ist nicht mehr sichtbar.",
"views.toast.inaccessible_n": "{n} Projekte in dieser Ansicht sind nicht mehr sichtbar.",
"views.calendar.mobile_fallback": "Kalender-Ansicht ist auf grossen Bildschirmen am besten.",
"views.onboarding.title": "Eigene Sichten — was ist das?",
"views.onboarding.body": "Eine Sicht ist eine gespeicherte Filterkombination — z.B. „Fristen meiner Projekte in den nächsten 14 Tagen“. Sichten erscheinen als eigene Buttons in der Sidebar.",
"views.onboarding.create": "Beispiel-Sicht erstellen",
"views.onboarding.title": "Eigene Ansichten — was ist das?",
"views.onboarding.body": "Eine Ansicht ist eine gespeicherte Filterkombination — z.B. „Fristen meiner Projekte in den nächsten 14 Tagen“. Ansichten erscheinen als eigene Buttons in der Sidebar.",
"views.onboarding.create": "Beispiel-Ansicht erstellen",
"views.source.deadline": "Fristen",
"views.source.appointment": "Termine",
"views.source.project_event": "Projekt-Verlauf",
@@ -1903,9 +1903,9 @@ const translations: Record<Lang, Record<string, string>> = {
"views.col.approval_status": "Genehmigung",
"views.col.decided_by": "Entschieden von",
"views.col.kind": "Art",
"views.editor.title": "Sicht bearbeiten — Paliad",
"views.editor.heading.new": "Neue Sicht",
"views.editor.heading.edit": "Sicht bearbeiten",
"views.editor.title": "Ansicht bearbeiten — Paliad",
"views.editor.heading.new": "Neue Ansicht",
"views.editor.heading.edit": "Ansicht bearbeiten",
"views.editor.subtitle": "Wählen Sie Quellen, Filter und Darstellung. Änderungen speichern Sie unten.",
"views.editor.section.identity": "Bezeichnung",
"views.editor.section.sources": "Quellen",
@@ -1922,7 +1922,7 @@ const translations: Record<Lang, Record<string, string>> = {
"views.editor.field.shape": "Form",
"views.editor.field.density": "Dichte",
"views.editor.hint.slug": "Kleinbuchstaben, Ziffern und Bindestriche — nicht reservierte Wörter.",
"views.editor.hint.sources": "Welche Datenarten zeigt diese Sicht?",
"views.editor.hint.sources": "Welche Datenarten zeigt diese Ansicht?",
"views.editor.icon.default": "Standard (Ordner)",
"views.editor.icon.clock": "Uhr",
"views.editor.icon.calendar": "Kalender",
@@ -1933,12 +1933,12 @@ const translations: Record<Lang, Record<string, string>> = {
"views.editor.save": "Speichern",
"views.editor.cancel": "Abbrechen",
"views.editor.delete": "Löschen",
"views.editor.confirm_delete": "Diese Sicht wirklich löschen?",
"views.editor.confirm_delete": "Diese Ansicht wirklich löschen?",
"views.editor.error.name_required": "Name ist erforderlich.",
"views.editor.error.slug_format": "Slug darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten und muss mit einem Buchstaben oder einer Ziffer beginnen.",
"views.editor.error.sources_required": "Mindestens eine Quelle wählen.",
"views.editor.error.load_failed": "Sicht konnte nicht geladen werden.",
"views.editor.error.delete_failed": "Sicht konnte nicht gelöscht werden.",
"views.editor.error.load_failed": "Ansicht konnte nicht geladen werden.",
"views.editor.error.delete_failed": "Ansicht konnte nicht gelöscht werden.",
},
en: {

View File

@@ -16,7 +16,7 @@ export function renderViewsEditor(): string {
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="theme-color" content="#BFF355" />
<PWAHead />
<title data-i18n="views.editor.title">Sicht bearbeiten &mdash; Paliad</title>
<title data-i18n="views.editor.title">Ansicht bearbeiten &mdash; Paliad</title>
<link rel="stylesheet" href="/assets/global.css" />
</head>
<body className="has-sidebar">
@@ -27,7 +27,7 @@ export function renderViewsEditor(): string {
<section className="tool-page">
<div className="container">
<div className="tool-header">
<h1 id="editor-heading" data-i18n="views.editor.heading.new">Neue Sicht</h1>
<h1 id="editor-heading" data-i18n="views.editor.heading.new">Neue Ansicht</h1>
<p className="tool-subtitle" data-i18n="views.editor.subtitle">
W&auml;hlen Sie Quellen, Filter und Darstellung. &Auml;nderungen speichern Sie unten.
</p>
@@ -69,7 +69,7 @@ export function renderViewsEditor(): string {
<fieldset className="form-section">
<legend data-i18n="views.editor.section.sources">Quellen</legend>
<p className="form-hint" data-i18n="views.editor.hint.sources">Welche Datenarten zeigt diese Sicht?</p>
<p className="form-hint" data-i18n="views.editor.hint.sources">Welche Datenarten zeigt diese Ansicht?</p>
<div className="form-field form-field-checkbox-group">
<label><input type="checkbox" name="source" value="deadline" /> <span data-i18n="views.source.deadline">Fristen</span></label>
<label><input type="checkbox" name="source" value="appointment" /> <span data-i18n="views.source.appointment">Termine</span></label>

View File

@@ -20,7 +20,7 @@ export function renderViews(): string {
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="theme-color" content="#BFF355" />
<PWAHead />
<title data-i18n="views.title">Sichten &mdash; Paliad</title>
<title data-i18n="views.title">Ansichten &mdash; Paliad</title>
<link rel="stylesheet" href="/assets/global.css" />
</head>
<body className="has-sidebar">
@@ -34,9 +34,9 @@ export function renderViews(): string {
<div className="tool-header" id="views-header">
<div className="entity-header-row">
<div>
<h1 id="views-heading" data-i18n="views.heading">Sichten</h1>
<h1 id="views-heading" data-i18n="views.heading">Ansichten</h1>
<p className="tool-subtitle" id="views-subtitle" data-i18n="views.subtitle">
Eigene Sichten &uuml;ber Ihre Daten &mdash; Filter und Darstellung speicherbar.
Eigene Ansichten &uuml;ber Ihre Daten &mdash; Filter und Darstellung speicherbar.
</p>
</div>
<div className="views-header-actions" id="views-header-actions">
@@ -54,20 +54,20 @@ export function renderViews(): string {
</div>
<div className="views-toolbar-spacer" />
<a href="#" className="btn-secondary btn-small" id="views-save-as" data-i18n="views.save_as" hidden>
Als Sicht speichern
Als Ansicht speichern
</a>
</div>
{/* Empty / onboarding state — shown on bare /views with no saved views. */}
<div className="views-onboarding" id="views-onboarding" hidden>
<h2 data-i18n="views.onboarding.title">Eigene Sichten &mdash; was ist das?</h2>
<h2 data-i18n="views.onboarding.title">Eigene Ansichten &mdash; was ist das?</h2>
<p data-i18n="views.onboarding.body">
Eine Sicht ist eine gespeicherte Filterkombination &mdash; z.&thinsp;B. &bdquo;Fristen meiner Projekte in den n&auml;chsten 14 Tagen&ldquo;.
Sichten erscheinen als eigene Buttons in der Sidebar.
Eine Ansicht ist eine gespeicherte Filterkombination &mdash; z.&thinsp;B. &bdquo;Fristen meiner Projekte in den n&auml;chsten 14 Tagen&ldquo;.
Ansichten erscheinen als eigene Buttons in der Sidebar.
</p>
<div className="views-onboarding-actions">
<a href="/views/new" className="btn-primary btn-cta-lime" data-i18n="views.onboarding.create">
Beispiel-Sicht erstellen
Beispiel-Ansicht erstellen
</a>
</div>
</div>
@@ -82,7 +82,7 @@ export function renderViews(): string {
<div className="views-loading" id="views-loading" data-i18n="views.loading">L&auml;dt &hellip;</div>
<div className="views-error" id="views-error" hidden>
<p id="views-error-message" />
<a href="/views" className="btn-secondary btn-small" data-i18n="views.error.back">Zur&uuml;ck zur Sichten-&Uuml;bersicht</a>
<a href="/views" className="btn-secondary btn-small" data-i18n="views.error.back">Zur&uuml;ck zur Ansichten-&Uuml;bersicht</a>
</div>
<div className="views-empty" id="views-empty" hidden>
<p data-i18n="views.empty.title">Keine Eintr&auml;ge gefunden.</p>