From 0b450dc46276852a519790f0ac0ea0ddc1af828b Mon Sep 17 00:00:00 2001 From: boerniee Date: Thu, 12 Jan 2023 21:02:40 +0100 Subject: [PATCH 1/6] added translations #80 #19 --- server/db/enums.go | 12 +- ui/package.json | 2 + ui/src/components/createQuickEntry.vue | 12 +- ui/src/components/mileageChart.vue | 2 +- ui/src/components/nav-bar.vue | 18 +-- ui/src/components/quickEntryDisplay.vue | 4 +- ui/src/components/shareVehicle.vue | 6 +- ui/src/components/statsWidget.vue | 24 +-- ui/src/i18n.js | 77 +++++++++ ui/src/locales/de.json | 193 +++++++++++++++++++++++ ui/src/locales/en.json | 200 ++++++++++++++++++++++++ ui/src/main.js | 3 + ui/src/router/views/_404.vue | 2 +- ui/src/router/views/_timeout.vue | 3 +- ui/src/router/views/createExpense.vue | 32 ++-- ui/src/router/views/createFillup.vue | 64 ++++---- ui/src/router/views/createVehicle.vue | 36 ++--- ui/src/router/views/home.vue | 35 ++--- ui/src/router/views/import.vue | 8 +- ui/src/router/views/initialize.vue | 59 +++---- ui/src/router/views/login.vue | 14 +- ui/src/router/views/profile.vue | 2 +- ui/src/router/views/quickEntries.vue | 20 +-- ui/src/router/views/settings.vue | 38 ++--- ui/src/router/views/siteSettings.vue | 16 +- ui/src/router/views/users.vue | 56 +++---- ui/src/router/views/vehicle.vue | 112 ++++++------- 27 files changed, 753 insertions(+), 297 deletions(-) create mode 100644 ui/src/i18n.js create mode 100644 ui/src/locales/de.json create mode 100644 ui/src/locales/en.json diff --git a/server/db/enums.go b/server/db/enums.go index 296d06e..723e721 100644 --- a/server/db/enums.go +++ b/server/db/enums.go @@ -59,24 +59,24 @@ type EnumDetail struct { var FuelUnitDetails map[FuelUnit]EnumDetail = map[FuelUnit]EnumDetail{ LITRE: { Short: "Lt", - Long: "Litre", + Long: "litre", }, GALLON: { Short: "Gal", - Long: "Gallon", + Long: "gallon", }, KILOGRAM: { Short: "Kg", - Long: "Kilogram", + Long: "kilogram", }, KILOWATT_HOUR: { Short: "KwH", - Long: "Kilowatt Hour", + Long: "kilowatthour", }, US_GALLON: { Short: "US Gal", - Long: "US Gallon", + Long: "usgallon", }, MINUTE: { Short: "Mins", - Long: "Minutes", + Long: "minutes", }, } diff --git a/ui/package.json b/ui/package.json index b246e38..d10ea64 100644 --- a/ui/package.json +++ b/ui/package.json @@ -41,10 +41,12 @@ "currency-formatter": "^1.5.7", "date-fns": "2.10.0", "lodash": "^4.17.21", + "node-gyp": "^9.3.1", "normalize.css": "8.0.1", "nprogress": "0.2.0", "vue": "2.6.11", "vue-chartjs": "^3.5.1", + "vue-i18n": "^8.28.2", "vue-meta": "2.3.3", "vue-router": "3.1.6", "vuex": "3.1.2" diff --git a/ui/src/components/createQuickEntry.vue b/ui/src/components/createQuickEntry.vue index fe8dc72..d535ebc 100644 --- a/ui/src/components/createQuickEntry.vue +++ b/ui/src/components/createQuickEntry.vue @@ -20,7 +20,7 @@ export default { } } else { if (this.file == null) { - return 'Upload Photo' + return this.$t('uploadphoto') } else { return '' } @@ -39,7 +39,7 @@ export default { .post(`/api/quickEntries`, formData) .then((data) => { this.$buefy.toast.open({ - message: 'Quick Entry Created Successfully', + message: this.$t('quickentrycreatedsuccessfully'), type: 'is-success', duration: 3000, }) @@ -68,9 +68,9 @@ export default {
-

Quick Entry

+

{{ $tc('quickentry',1) }}

Take a pic of the invoice or the fuel pump display to make an entry later.

{{ $t('quickentrydesc') }}

@@ -99,10 +99,10 @@ export default { native-type="submit" :disabled="tryingToCreate" type="is-primary" - value="Upload File" + :value="this.$t('uploadfile')" class="control" > - Upload File + {{ $t('uploadfile') }}
diff --git a/ui/src/components/mileageChart.vue b/ui/src/components/mileageChart.vue index a917529..33d0a6c 100644 --- a/ui/src/components/mileageChart.vue +++ b/ui/src/components/mileageChart.vue @@ -30,7 +30,7 @@ export default { var labels = this.chartData.map((x) => x.date.substr(0, 10)) var dataset = { steppedLine: true, - label: `Mileage (${this.user.distanceUnitDetail.short}/${this.vehicle.fuelUnitDetail.short})`, + label: `${this.$t('odometer')} (${this.user.distanceUnitDetail.short}/${this.vehicle.fuelUnitDetail.short})`, fill: true, data: this.chartData.map((x) => x.mileage), } diff --git a/ui/src/components/nav-bar.vue b/ui/src/components/nav-bar.vue index fbac02b..d2a7784 100644 --- a/ui/src/components/nav-bar.vue +++ b/ui/src/components/nav-bar.vue @@ -10,42 +10,42 @@ export default { persistentNavRoutes: [ { name: 'home', - title: 'Home', + title: this.$t('menu.home'), }, ], loggedInNavRoutes: [ { name: 'quickEntries', - title: () => 'Quick Entries', + title: () => this.$t('menu.quickentries'), badge: () => this.unprocessedQuickEntries.length, }, { name: 'import', - title: () => 'Import', + title: () => this.$t('menu.import'), }, { name: 'settings', - title: 'Settings', + title: this.$t('menu.settings'), }, { name: 'logout', - title: 'Log out', + title: this.$t('menu.logout'), }, ], loggedOutNavRoutes: [ { name: 'login', - title: 'Log in', + title: this.$t('menu.login'), }, ], adminNavRoutes: [ { name: 'site-settings', - title: 'Site Settings', + title: this.$t('menu.sitesettings'), }, { name: 'users', - title: 'Users', + title: this.$t('menu.users'), }, ], } @@ -72,7 +72,7 @@ export default { - + diff --git a/ui/src/components/quickEntryDisplay.vue b/ui/src/components/quickEntryDisplay.vue index 602d844..0381302 100644 --- a/ui/src/components/quickEntryDisplay.vue +++ b/ui/src/components/quickEntryDisplay.vue @@ -50,12 +50,12 @@ export default {

diff --git a/ui/src/components/shareVehicle.vue b/ui/src/components/shareVehicle.vue index d324b50..35ed5b1 100644 --- a/ui/src/components/shareVehicle.vue +++ b/ui/src/components/shareVehicle.vue @@ -55,7 +55,7 @@ export default { return } this.$buefy.dialog.confirm({ - title: 'Transfer Vehicle', + title: this.$t('transfervehicle'), message: 'Are you sure you want to do this? You will lose ownership and all editing rights if you confirm.', cancelText: 'Cancel', confirmText: 'Go Ahead', @@ -90,7 +90,7 @@ export default {