diff --git a/components/navigation/Language.vue b/components/navigation/Language.vue index 5242802ab4c4d3ced36534aec3710fffc7fcbd3a..5543217c94540a5a7264c6626c8b5f2604988561 100644 --- a/components/navigation/Language.vue +++ b/components/navigation/Language.vue @@ -4,8 +4,12 @@ class="form-select" :aria-label="$t('lang')" @change="saveLocale($event)" - v-model="$i18n.locale"> - <option v-for="lang in $i18n.locales" :key="lang.code" :value="lang.code"> + v-model="activeLang"> + <option + v-for="lang in $i18n.locales" + :key="lang.code" + :value="lang.code" + :selected="lang.code === activeLang"> {{ lang.name }} </option> </select> @@ -14,12 +18,22 @@ <script> export default { + data() { + return { + activeLang: "en" + } + }, methods: { saveLocale(e) { - this.$i18n.locale = e.target.value - this.$i18n.setLocaleCookie(e.target.value) - this.$router.push(this.switchLocalePath(e.target.value)) + // this.$i18n.locale = e.target.value + this.$i18n.setLocale(e.target.value) + // this.$i18n.setLocaleCookie(e.target.value) + // this.$router.push(this.switchLocalePath(e.target.value)) + // this.$router.replace(this.switchLocalePath(e)) } + }, + mounted() { + this.activeLang = this.$i18n.locale } } </script> diff --git a/i18n/index.js b/i18n/index.js index 22d2a1daa443891ad554a4b35e6852de8913927d..b35f759c282d1bdc832138b871c72e13b295b452 100644 --- a/i18n/index.js +++ b/i18n/index.js @@ -1,11 +1,5 @@ -import en from "./locales/en.json" -import fr from "./locales/fr.json" -import es from "./locales/es.json" -import de from "./locales/de.json" import { dateTimeFormats } from "./locales/dateTimeFormats" export default { - fallbackLocale: "en", - dateTimeFormats, - messages: { en, fr, es, de } + dateTimeFormats } diff --git a/i18n/locales/de.json b/i18n/locales/de.json index 7835453c7a2c1eb468aa985e9e8cc7110f4a10f2..1aec3d93c717220b35b1293ffe6f7316a6ef0d59 100644 --- a/i18n/locales/de.json +++ b/i18n/locales/de.json @@ -117,8 +117,6 @@ "title": "Meine Favoriten", "use": "Nur meine Favoriten" }, - "futureexits": "Zukünfitge Austritte", - "futuremembers": "Zukünftige Beitritte", "infos": "Informationen", "inout": "Bei- und Austritte des Vertrauensnetz in den 2 letzten Tagen", "inpreparation": "In Vorbereitung", @@ -222,6 +220,8 @@ "title": "Proof of Work (dt. Arbeitsnachweis)" }, "previsions": { + "futureentries": " Zukünftige Beitritte", + "futureexits": "Zukünfitge Austritte", "pardate": "Prognosen nach Datum", "parmembre": "Prognosen nach Mitglieder", "period": { diff --git a/i18n/locales/en.json b/i18n/locales/en.json index c1bf691c6a5e4f3393af4cf3532c9a386d9c8e2c..519cac0cd262f4be3e5a3e3ce549b8f8de93b1e7 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -118,8 +118,6 @@ "title": "My favourites", "use": "My favorites only" }, - "futureexits": "Future exits", - "futuremembers": "Future entries", "infos": "Informations", "inout": "Entries and exits of the web of trust for the last 2 days", "inpreparation": "In preparation", @@ -223,6 +221,8 @@ "title": "Proof of Work" }, "previsions": { + "futureentries": "Future entries", + "futureexits": "Futures exits", "pardate": "Forecasts by dates", "parmembre": "Forecasts by members", "period": { diff --git a/i18n/locales/es.json b/i18n/locales/es.json index d08a247ae58a1c16115f648b0ad951d80051dc17..a2a705c4cebeecb1070e23dfc42ead0974695d7e 100644 --- a/i18n/locales/es.json +++ b/i18n/locales/es.json @@ -118,8 +118,6 @@ "title": "Mis favoritos", "use": "Solo mis favoritos" }, - "futureexits": "Futuras salidas", - "futuremembers": "Futuras entradas", "infos": "Informaciones", "inout": "Entradas y salidas de la red de confianza en los últimos 2 dÃas", "inpreparation": "En preparación", @@ -223,6 +221,8 @@ "title": "Prueba de trabajo" }, "previsions": { + "futureentries": "Futuras entradas", + "futureexits": "Futuras salidas", "pardate": "Previsiones por fecha", "parmembre": "Previsiones por miembros", "period": { diff --git a/i18n/locales/fr.json b/i18n/locales/fr.json index 183f82afa964e9f01a0d2d5b0d1dfcfff87c158f..6d21732878058edcc042f8f18ccd084a0c0a65e2 100644 --- a/i18n/locales/fr.json +++ b/i18n/locales/fr.json @@ -118,8 +118,6 @@ "title": "Mes favoris", "use": "Mes favoris uniquement" }, - "futureexits": "Futures sorties", - "futuremembers": "Futures entrées", "infos": "Informations", "inout": "Entrées et sorties de la toile de confiance des 2 derniers jours", "inpreparation": "En préparation", @@ -223,6 +221,8 @@ "title": "Preuve de travail" }, "previsions": { + "futureentries": "Futures entrées", + "futureexits": "Futures sorties", "pardate": "Prévisions par date", "parmembre": "Prévisions par membres", "period": { diff --git a/layouts/default.vue b/layouts/default.vue index 7c8e85b2cc1dee8e76edb82196039956789d4a23..a6a73316b8b3de8d8e16e1c8e4db91b0db09bbf7 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -31,13 +31,13 @@ export default { title: "previsions.title", items: [ { - path: "/previsions", - title: "futuremembers", + path: "/previsions/futures_entrees", + title: "previsions.futureentries", icon: "login" }, { path: "/previsions/futures_sorties", - title: "futureexits", + title: "previsions.futureexits", icon: "logout" } ] diff --git a/nuxt.config.js b/nuxt.config.js index c683b76b52ff99697a393fad94751a110f361f74..7ba9dd45ae53440700f96ab777a5c203e14a57c1 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -49,34 +49,44 @@ export default { // Modules: https://go.nuxtjs.dev/config-modules modules: [ - // https://github.com/nuxt-community/apollo-module - "@nuxtjs/apollo", // https://i18n.nuxtjs.org - "@nuxtjs/i18n" + "@nuxtjs/i18n", + // https://github.com/nuxt-community/apollo-module + "@nuxtjs/apollo" ], i18n: { - defaultLocale: "fr", + lazy: true, + langDir: "~/i18n/locales/", + defaultLocale: "en", + strategy: "prefix", locales: [ { code: "en", - name: "English" + name: "English", + file: "en.json" }, { code: "fr", - name: "Français" + name: "Français", + file: "fr.json" }, { code: "es", - name: "Español" + name: "Español", + file: "es.json" }, { code: "de", - name: "Deutsch" + name: "Deutsch", + file: "de.json" } - ], + ] + , detectBrowserLanguage: { alwaysRedirect: true + , + fallbackLocale: "en" }, vueI18n: i18n }, @@ -127,5 +137,11 @@ export default { }, // Build Configuration: https://go.nuxtjs.dev/config-build - build: {} + build: { + extend(config, ctx) { + if (ctx && ctx.isClient) { + config.optimization.splitChunks.maxSize = 243000 + } + } + } } diff --git a/pages/a-propos.vue b/pages/a-propos.vue index d34d076ecf797f3e361e9a1b465757a12f361d38..aba2fdebcbaa90a7b298066f24503a40322577cc 100644 --- a/pages/a-propos.vue +++ b/pages/a-propos.vue @@ -138,7 +138,8 @@ export default { paths: { fr: "/a-propos", en: "/about", - es: "/a-proposito" + es: "/a-proposito", + de: "/uber" } }, mounted() { diff --git a/pages/favoris.vue b/pages/favoris.vue index fd2387dd876000ca62c3afd118532894e790a1f3..eecb2b357b7de10a8ca873af46d512a12cf0f950 100644 --- a/pages/favoris.vue +++ b/pages/favoris.vue @@ -89,7 +89,8 @@ export default { paths: { fr: "/favoris", en: "/favourites", - es: "/favoritos" + es: "/favoritos", + de: "/favoriten" } }, mounted() { diff --git a/pages/lexique.vue b/pages/lexique.vue index 9072a446bb763c16b808bb328d5388caf47f1479..e32ae481904baef121c09f44a1f4b44dc28be032 100644 --- a/pages/lexique.vue +++ b/pages/lexique.vue @@ -78,7 +78,8 @@ export default { paths: { fr: "/lexique", en: "/lexicon", - es: "/lexico" + es: "/lexico", + de: "/lexikon" } }, methods: { diff --git a/pages/membre.vue b/pages/membre.vue index 864b3869a31cbdfd9ac7f310e44880da54b765d1..9f2f7be24f9758f5d3d66ca790ae0104e1c6d15d 100644 --- a/pages/membre.vue +++ b/pages/membre.vue @@ -124,7 +124,8 @@ export default { paths: { fr: "/membre", en: "/member", - es: "/miembro" + es: "/miembro", + de: "/mitglied" } }, mounted() { diff --git a/pages/membres/index.vue b/pages/membres/index.vue index 7d7d864bcef34b682e1c9661545f67b5d770a724..8b985cc8244548ed0b03d6978479f64f9e524f11 100644 --- a/pages/membres/index.vue +++ b/pages/membres/index.vue @@ -75,7 +75,8 @@ export default { paths: { fr: "/membres", en: "/members", - es: "/miembros" + es: "/miembros", + de: "/mitglieder" } }, mounted() { diff --git a/pages/parametres.vue b/pages/parametres.vue index 9d36ef3447b982d9acc41adf1565fb36efa621a2..4cd3d647b9b9e69f19ffddc3eefc807ecff07e20 100644 --- a/pages/parametres.vue +++ b/pages/parametres.vue @@ -109,7 +109,8 @@ export default { paths: { fr: "/parametres", en: "/parameters", - es: "/parametros" + es: "/parametros", + de: "/einstellungen" } }, mounted() { diff --git a/pages/previsions/index.vue b/pages/previsions/futures_entrees.vue similarity index 96% rename from pages/previsions/index.vue rename to pages/previsions/futures_entrees.vue index ec0d9e518670e14d1c717000a155c1d66e3b5218..0bfac33ff53e4420ad67d56bb12e8bbf92c9c511 100644 --- a/pages/previsions/index.vue +++ b/pages/previsions/futures_entrees.vue @@ -8,7 +8,7 @@ <div v-if="wwResult"> <h2 class="text-center my-5 font-weight-light"> <solid-login-icon style="width: 2rem" aria-hidden="true" /> {{ - $t("previsions.title") + $t("previsions.futureentries") }} <small ><span class="badge bg-secondary">{{ @@ -182,6 +182,10 @@ export default { { text: this.$t("previsions.title"), active: true + }, + { + text: this.$t("previsions.futureentries"), + active: true } ], error: null, @@ -277,9 +281,10 @@ export default { }, nuxtI18n: { paths: { - fr: "/previsions", - en: "/forecasts", - es: "/pronosticos" + fr: "/previsions/futures_entrees", + en: "/forecasts/future_exits2", + es: "/pronosticos/futuras_salidas2", + de: "/prognosen/zukunftige_veroffentlichungen2" } }, mounted() { diff --git a/pages/previsions/futures_sorties.vue b/pages/previsions/futures_sorties.vue index 88cd90857d4630eeea688000f65a1df1e1600424..2bb31b8ac6091ffa6070cd992fa0db1191c84396 100644 --- a/pages/previsions/futures_sorties.vue +++ b/pages/previsions/futures_sorties.vue @@ -2,7 +2,7 @@ <main class="container"> <h2 class="text-center my-5 font-weight-light"> <solid-logout-icon style="width: 2rem" aria-hidden="true" /> {{ - $t("futureexits") + $t("previsions.futureexits") }} </h2> <div class="form-check form-switch mb-4 d-flex justify-content-center"> @@ -60,10 +60,10 @@ export default { }, { text: this.$t("previsions.title"), - to: "/previsions" + active: true }, { - text: this.$t("futureexits"), + text: this.$t("previsions.futureexits"), active: true } ], @@ -111,7 +111,8 @@ export default { paths: { fr: "/previsions/futures_sorties", en: "/forecasts/future_exits", - es: "/pronosticos/futuras_salidas" + es: "/pronosticos/futuras_salidas", + de: "/prognosen/zukunftige_veroffentlichungen" } }, mounted() {