Files
breadcrumb-the-shire/modules/bookmarks/i18n/default_de.json
fs 1f0b1caf54 feat: module-owned i18n with merge-at-boot translation loading
Each module can now ship its own i18n/ directory with translation files
(default_de.json, default_en.json). At boot time, ModuleI18nLoader
preloads core translations then merges module translations on top via
Reflection into I18n::$strings — the t() helper stays unchanged.

- Add i18nPath property to ModuleManifest
- Add ModuleI18nLoader with Reflection-based preload
- Extract 59 module-exclusive keys from core i18n into module files
  (notifications: 8, bookmarks: 41, addressbook: 10)
- Expand TranslationKeysTest to scan modules/ and validate against
  merged core + module translations
- Add ModuleI18nContractTest for per-module de/en parity and completeness

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:08:34 +01:00

44 lines
1.9 KiB
JSON

{
"Bookmarks": "Lesezeichen",
"Bookmark this page": "Seite als Lesezeichen speichern",
"Save bookmark": "Lesezeichen speichern",
"Bookmark name": "Lesezeichen-Name",
"Delete bookmark": "Lesezeichen löschen",
"Delete this bookmark?": "Dieses Lesezeichen wirklich löschen?",
"No bookmarks yet": "Noch keine Lesezeichen",
"New group": "Neue Gruppe",
"No group": "Keine Gruppe",
"Assign to group": "Gruppe zuweisen",
"Group name": "Gruppenname",
"Delete group": "Gruppe löschen",
"Group": "Gruppe",
"Icon": "Symbol",
"Maximum bookmarks reached": "Maximale Anzahl an Lesezeichen erreicht",
"Edit bookmark": "Lesezeichen bearbeiten",
"Save changes": "Änderungen speichern",
"Bookmark saved": "Lesezeichen gespeichert",
"Bookmark updated": "Lesezeichen aktualisiert",
"Bookmark deleted": "Lesezeichen gelöscht",
"Group created": "Gruppe erstellt",
"Group deleted": "Gruppe gelöscht",
"Group delete failed": "Gruppe konnte nicht gelöscht werden",
"Delete group and keep bookmarks?": "Gruppe löschen und enthaltene Lesezeichen behalten?",
"Bookmark action failed": "Lesezeichen-Aktion fehlgeschlagen",
"Group action failed": "Gruppen-Aktion fehlgeschlagen",
"Reorder saved": "Sortierung gespeichert",
"Reorder failed": "Sortierung fehlgeschlagen",
"Move group up": "Gruppe nach oben",
"Move group down": "Gruppe nach unten",
"Move bookmark up": "Lesezeichen nach oben",
"Move bookmark down": "Lesezeichen nach unten",
"Group actions": "Gruppenaktionen",
"Bookmark actions": "Lesezeichenaktionen",
"Bookmark name is required": "Lesezeichen-Name ist erforderlich",
"Bookmark URL is invalid": "Lesezeichen-URL ist ungültig",
"Group not found": "Gruppe nicht gefunden",
"Edit group": "Gruppe bearbeiten",
"Group updated": "Gruppe aktualisiert",
"Group name is required": "Gruppenname ist erforderlich",
"Maximum groups reached": "Maximale Anzahl an Gruppen erreicht"
}