# Cebuano (Bisaya) Lokalisierungsplan

Ziel: Cebuano (ISO: `ceb`) als zusätzliche Sprache hinzufügen, so dass sämtliche Labels, Buttons und Texte in der App in Cebuano verfügbar sind.

Kurzübersicht der Schritte (technisch):

- Basis-Sprache: `de.json` als Ausgangsbasis verwenden.
- Neue Locale-Datei: `frontend/src/i18n/locales/ceb.json` erstellen (anfangs Kopie von `de.json`).
- `frontend/src/i18n/index.js` anpassen: Import, `messages['ceb']` mit `deepMergeMessages(de, ceb)` und `languageMap`-Einträge (`ceb`, `ceb-PH`).
- UI: `frontend/src/views/PersonalSettings.vue` -> `languageCodes` um `ceb` ergänzen.
- Sprachanzeige: In allen `locales/*.json` unter `languages` einen Eintrag `"ceb": "Cebuano (Bisaya)"` anlegen, damit die Sprache im Selector sichtbar ist.
- Audit: `npm run i18n:audit` im `frontend` ausführen und alle fehlenden Keys bereinigen.
- Review: Muttersprachliche Prüfung + UI-Tests.

Konkrete Arbeitsschritte (ToDos):

1) Basis-Keys sammeln (in-progress)
  - Datei: `frontend/src/i18n/locales/de.json` als Referenz nehmen
  - Liste der Namespaces (z.B. `common`, `navigation`, `settings`, ...) erfassen

2) Locale-Datei erstellen
  - Erstelle `frontend/src/i18n/locales/ceb.json` als Kopie von `de.json`.
  - Setze Kommentar-Header mit Hinweis "TRANSLATION_PENDING" für automatische Skripte optional.

3) Übersetzung
  - Übersetze alle Keys in `ceb.json` ins Cebuano.
  - Priorität 1: Buttons, Formulare, Navigation, Settings, Fehlermeldungen.
  - Priorität 2: längere Hilfetexte, Beschreibungen, Tutorial-Texte.

4) Integration
  - `frontend/src/i18n/index.js`
    - `import ceb from './locales/ceb.json';`
    - `messages: { 'ceb': deepMergeMessages(de, ceb), ... }`
    - `languageMap['ceb'] = 'ceb'; languageMap['ceb-PH']='ceb';`

5) Selector & sichtbarer Name
  - `frontend/src/views/PersonalSettings.vue` `languageCodes` um `'ceb'` ergänzen.
  - In allen bestehenden Locale-Dateien (`frontend/src/i18n/locales/*.json`) unter `languages` folgenden Eintrag ergänzen:

```json
"ceb": "Cebuano (Bisaya)"
```

6) Audit & Lint
  - Im `frontend`-Ordner ausführen:

```bash
npm install   # falls Abhängigkeiten fehlen
npm run i18n:audit
```

  - Audit-Ausgabe prüfen: fehlende Keys, leere Werte, Platzhalter-Mismatch.
  - Fehlende Keys in `ceb.json` ergänzen (vorläufig auf Deutsch kopieren, mit TODO-Marker).

7) Review & QA
  - Muttersprachliche Überprüfung (Proofreading).
  - UI-Tests: Navigation, Dialoge, Formulare, Fehlerfälle prüfen.

8) Finalisieren
  - Übersetzungen final einpflegen.
  - PR erstellen, Review, Merge.
  - Build & Smoke-Test: im `frontend` `npm run build` ausführen und kurze Regressionstest-Sequenz.

Hinweise und Empfehlungen

- Locale-Code: Verwende `ceb` (ISO 639-3). Falls du eine Region-spezifische Variante willst, nutze `ceb-PH` in `languageMap`.
- Übersetzungsworkflow: Für erste Iteration kann `@vitalets/google-translate-api` (bereits vorhanden) helfen, dann menschliches Review.
- Automatisches Füllen: Es gibt Skripte in `frontend/package.json` (`i18n:fill`) — bei Bedarf nutzen, aber immer prüfen.

Nützliche Pfade

- Sprachdateien: `frontend/src/i18n/locales/`
- i18n-Entrypoint: `frontend/src/i18n/index.js`
- Language selector: `frontend/src/views/PersonalSettings.vue`
- Audit-Skript: `frontend/scripts/audit-i18n.js` (Aufruf via `npm run i18n:audit`)

Mögliche nächste Aktion (auf Wunsch): Ich lege `frontend/src/i18n/locales/ceb.json` als Kopie von `de.json` an und passe `index.js` + `PersonalSettings.vue` vorläufig an.

— Ende —
