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>
44 lines
1.9 KiB
JSON
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"
|
|
}
|