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",