diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 3540385a..5c1b1e7d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,6 +2,7 @@ "recommendations": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", - "stylelint.vscode-stylelint" + "stylelint.vscode-stylelint", + "Lokalise.i18n-ally" ] } diff --git a/.vscode/i18n-ally-custom-framework.yml b/.vscode/i18n-ally-custom-framework.yml new file mode 100644 index 00000000..435d20b4 --- /dev/null +++ b/.vscode/i18n-ally-custom-framework.yml @@ -0,0 +1,7 @@ +languageIds: + - javascript + - javascriptreact +scopeRangeRegex: "useTranslation\\(\\s*\\[?\\s*['\"`](.*?)['\"`]" +monopoly: true +usageMatchRegex: + - "[^\\w\\d]t\\(['\"`]({key})['\"`]" diff --git a/.vscode/settings.json b/.vscode/settings.json index 29025839..8134bf2a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,5 +18,11 @@ "[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, - "terminal.integrated.cwd": "rogue-thi-app" + "terminal.integrated.cwd": "rogue-thi-app", + "i18n-ally.localesPaths": ["rogue-thi-app/public/locales"], + "i18n-ally.namespace": true, + "i18n-ally.pathMatcher": "{locale}/{namespaces}.json", + "i18n-ally.sourceLanguage": "en", + "i18n-ally.theme.annotation": "rgb(200, 147, 124)", + "i18n-ally.theme.annotationBorder": "rgba(200, 147, 124,0.5)" } diff --git a/rogue-thi-app/public/locales/de/dashboard.json b/rogue-thi-app/public/locales/de/dashboard.json index 459a6084..c9bc5d63 100644 --- a/rogue-thi-app/public/locales/de/dashboard.json +++ b/rogue-thi-app/public/locales/de/dashboard.json @@ -29,7 +29,9 @@ "empty": "Der heutige Speiseplan ist leer.", "generic": "Fehler beim Abruf des Speiseplans.
Irgendetwas scheint kaputt zu sein." }, - "text.additional": "und {{count}} weitere Gerichte" + "text": { + "additional": "und {{count}} weitere Gerichte" + } }, "transport": { "title": { @@ -56,7 +58,9 @@ }, "events": { "title": "Veranstaltungen", - "organizer.attribute": "von" + "organizer": { + "attribute": "von" + } }, "rooms": { "title": "Raumvorschläge", diff --git a/rogue-thi-app/public/locales/en/dashboard.json b/rogue-thi-app/public/locales/en/dashboard.json index d0556740..16aeb026 100644 --- a/rogue-thi-app/public/locales/en/dashboard.json +++ b/rogue-thi-app/public/locales/en/dashboard.json @@ -29,7 +29,9 @@ "empty": "Today's menu is empty.", "generic": "Error retrieving the menu.
Something seems to be broken." }, - "text.additional": "and {{count}} more dishes" + "text": { + "additional": "and {{count}} more dishes" + } }, "transport": { "title": { @@ -56,7 +58,9 @@ }, "events": { "title": "Events", - "organizer.attribute": "by" + "organizer": { + "attribute": "by" + } }, "rooms": { "title": "Room Suggestions",