From 22d5730cc7a5c19e431a12af72091c61c524e8c0 Mon Sep 17 00:00:00 2001 From: Kenneth Rasmussen Date: Thu, 14 Jan 2021 22:45:59 +0100 Subject: [PATCH] Translations + danish --- .vscode/settings.json | 7 +- frontend/package-lock.json | 48 +++++++ frontend/package.json | 6 +- frontend/src/components/AddRecipe.vue | 9 +- frontend/src/components/Admin/Admin.vue | 13 +- frontend/src/components/Admin/Backup.vue | 23 ++-- frontend/src/components/Admin/Migration.vue | 13 +- frontend/src/components/Admin/SFTP.vue | 2 +- frontend/src/components/Admin/Theme.vue | 30 +++-- .../components/Admin/ThemeUI/ColorPicker.vue | 6 +- .../src/components/Admin/ThemeUI/NewTheme.vue | 6 +- frontend/src/components/Admin/Users.vue | 2 +- frontend/src/components/Admin/Webhooks.vue | 16 +-- .../components/Admin/Webhooks/TimePicker.vue | 6 +- frontend/src/components/MealPlan/EditPlan.vue | 4 +- .../src/components/MealPlan/MealPlanner.vue | 6 +- .../src/components/MealPlan/MealSelect.vue | 12 +- frontend/src/components/MealPlan/NewMeal.vue | 10 +- frontend/src/components/MealPlan/ThisWeek.vue | 2 +- frontend/src/components/Page404.vue | 4 +- .../src/components/RecipeEditor/BulkAdd.vue | 9 +- .../components/RecipeEditor/DetailsView.vue | 10 +- .../components/RecipeEditor/EditRecipe.vue | 24 ++-- .../components/RecipeEditor/ViewRecipe.vue | 14 +-- frontend/src/components/UI/Login.vue | 12 +- frontend/src/components/UI/Menu.vue | 46 ++++--- frontend/src/components/UI/RecipeCard.vue | 2 +- frontend/src/components/UI/Search.vue | 6 +- frontend/src/components/UI/SnackBar.vue | 2 +- frontend/src/i18n.js | 23 ++++ frontend/src/locales/da.json | 119 ++++++++++++++++++ frontend/src/locales/en.json | 119 ++++++++++++++++++ frontend/src/main.js | 4 +- frontend/vue.config.js | 10 +- 34 files changed, 469 insertions(+), 156 deletions(-) create mode 100644 frontend/src/i18n.js create mode 100644 frontend/src/locales/da.json create mode 100644 frontend/src/locales/en.json diff --git a/.vscode/settings.json b/.vscode/settings.json index 94282cdd5..518734931 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,5 +12,10 @@ "python.testing.promptToConfigure": false, "cSpell.enableFiletypes": [ "!python" - ] + ], + "i18n-ally.localesPaths": "frontend/src/locales", + "i18n-ally.enabledFrameworks": [ + "vue" + ], + "i18n-ally.keystyle": "nested" } diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b18d4febd..4443f1f47 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1089,6 +1089,16 @@ "postcss": "^7.0.0" } }, + "@intlify/vue-i18n-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@intlify/vue-i18n-loader/-/vue-i18n-loader-1.0.0.tgz", + "integrity": "sha512-y7LlpKEQ01u7Yq14l4VNlbFYEHMmSEH1QXXASOMWspj9ZcIdCebhhvHCHqk5Oy5Epw3PtoxyRJNpb6Wle5udgA==", + "dev": true, + "requires": { + "js-yaml": "^3.13.1", + "json5": "^2.1.1" + } + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", @@ -11028,6 +11038,39 @@ "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1603223959931&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz", "integrity": "sha1-9evU+mvShpQD4pqJau1JBEVskSM=" }, + "vue-cli-plugin-i18n": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-1.0.1.tgz", + "integrity": "sha512-sLo6YzudaWgn5dOMvrKixE5bb/onYGxcxm+0YexqoOx0QtR+7hZ/P5WPFBMM9v/2i1ec2YYe2PvKTBel7KE+tA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "deepmerge": "^4.2.0", + "dotenv": "^8.2.0", + "flat": "^5.0.0", + "rimraf": "^3.0.0", + "vue": "^2.6.11", + "vue-i18n": "^8.17.0", + "vue-i18n-extract": "1.0.2" + }, + "dependencies": { + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "vue-cli-plugin-vuetify": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-2.0.8.tgz", @@ -11107,6 +11150,11 @@ "resolved": "https://registry.npmjs.org/vue-html-to-paper/-/vue-html-to-paper-1.3.1.tgz", "integrity": "sha512-5IdAPUgStfpVHfcG6nXD0FbUB1onWpvwVD+OZ00jJpy3qaRPkaGD7fFIvYgBB9YPkr0VK065LayEvmGmkkfhaQ==" }, + "vue-i18n": { + "version": "8.22.3", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.3.tgz", + "integrity": "sha512-Vhyx7sZEmmW/aZLkzSlXei08Rv3hTondx4J9wbOjnThocTIK1QiXV6QRdT4BTnhT24JixDSf6kGkxqCXSaJ3Jw==" + }, "vue-loader": { "version": "15.9.5", "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.5.tgz?cache=0&sync_timestamp=1605670886675&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.5.tgz", diff --git a/frontend/package.json b/frontend/package.json index 9e33391e2..d9c1bbf82 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -5,7 +5,8 @@ "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", - "lint": "vue-cli-service lint" + "lint": "vue-cli-service lint", + "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'" }, "dependencies": { "axios": "^0.21.0", @@ -15,11 +16,13 @@ "vue": "^2.6.11", "vue-cookies": "^1.7.4", "vue-html-to-paper": "^1.3.1", + "vue-i18n": "^8.22.3", "vue-router": "^3.4.9", "vuetify": "^2.3.21", "vuex": "^3.6.0" }, "devDependencies": { + "@intlify/vue-i18n-loader": "^1.0.0", "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-service": "~4.5.0", @@ -28,6 +31,7 @@ "eslint-plugin-vue": "^6.2.2", "sass": "^1.30.0", "sass-loader": "^8.0.0", + "vue-cli-plugin-i18n": "~1.0.1", "vue-cli-plugin-vuetify": "^2.0.8", "vue-template-compiler": "^2.6.11", "vuetify-loader": "^1.3.0" diff --git a/frontend/src/components/AddRecipe.vue b/frontend/src/components/AddRecipe.vue index da53c0e0a..892cf6a58 100644 --- a/frontend/src/components/AddRecipe.vue +++ b/frontend/src/components/AddRecipe.vue @@ -2,16 +2,15 @@
- From URL + {{ $t('new-recipe.from-url') }} - + - Looks like there was an error parsing the URL. Check the log and - debug/last_recipe.json to see what went wrong. + {{ $t('new-recipe.error-message') }} @@ -19,7 +18,7 @@ - Submit + {{ $t('general.submit') }} diff --git a/frontend/src/components/Admin/Admin.vue b/frontend/src/components/Admin/Admin.vue index ed6948c14..dc314c046 100644 --- a/frontend/src/components/Admin/Admin.vue +++ b/frontend/src/components/Admin/Admin.vue @@ -1,26 +1,23 @@