diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fe7a89aa0ed37c4d3b6bf684618a0f2f1c5ac001..8d5772df9c2a4950a0f73eb00a298b9d99a31ffe 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,6 +9,11 @@ and this project adheres to `Semantic Versioning`_. Unreleased ---------- +Fixed +~~~~~ + +* Default translations from vuetify were not loaded. + `3.0`_ - 2022-05-11 ------------------- diff --git a/aleksis/core/frontend/index.js b/aleksis/core/frontend/index.js index f59aa8578b59addcb420d6165c6ef1672c669c30..d7af47fcf35c9ce82d9ffdfff6e57468c262e37a 100644 --- a/aleksis/core/frontend/index.js +++ b/aleksis/core/frontend/index.js @@ -46,6 +46,7 @@ const vuetify = new Vuetify({ current: Vue.$cookies.get("django_language") ? Vue.$cookies.get("django_language") : "en", + t: (key, ...params) => i18n.t(key, params), }, ...vuetifyOpts, }); @@ -89,5 +90,6 @@ const app = new Vue({ }); // Late setup for some plugins handed off to out ALeksisVue plugin +app.$loadVuetifyMessages(); app.$loadAppMessages(); app.$setupNavigationGuards(); diff --git a/aleksis/core/frontend/plugins/aleksis.js b/aleksis/core/frontend/plugins/aleksis.js index c35b9127f78f6c26c3e5c052cc5732322f509090..7eb36c27bd2320ee39dc9604318f57e02d7d22be 100644 --- a/aleksis/core/frontend/plugins/aleksis.js +++ b/aleksis/core/frontend/plugins/aleksis.js @@ -5,6 +5,7 @@ // aleksisAppImporter is a virtual module defined in Vite config import { appMessages } from "aleksisAppImporter"; import aleksisMixin from "../mixins/aleksis.js"; +import * as langs from "@/vuetify/src/locale"; console.debug("Defining AleksisVue plugin"); const AleksisVue = {}; @@ -115,6 +116,15 @@ AleksisVue.install = function (Vue) { } }; + /** + * Load vuetifys built-in translations + */ + Vue.prototype.$loadVuetifyMessages = function () { + for (const [locale, messages] of Object.entries(langs)) { + this.$i18n.mergeLocaleMessage(locale, { $vuetify: messages }); + } + }; + /** * Invalidate state and force reload from server. *