From de753502c9c7e3b173b1ffd698294c9ce3232486 Mon Sep 17 00:00:00 2001 From: Bat Date: Wed, 11 Apr 2018 13:32:29 +0100 Subject: [PATCH] Setup translations with Vue --- .gitignore | 1 - front/package.json | 2 +- front/src/App.vue | 1 + front/src/main.js | 24 ++++++++++++++++++++++++ po/funkwhale.pot | 13 +++++++++++++ 5 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 po/funkwhale.pot diff --git a/.gitignore b/.gitignore index ef5007af7..ee2ed95e2 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,6 @@ htmlcov # Translations *.mo -*.pot # Pycharm .idea diff --git a/front/package.json b/front/package.json index 6e1033851..01d396d01 100644 --- a/front/package.json +++ b/front/package.json @@ -39,7 +39,7 @@ "vue-upload-component": "^2.7.4", "vuedraggable": "^2.14.1", "vuex": "^3.0.1", - "vuex-persistedstate": "^2.4.2", + "vuex-persistedstate": "^2.5.2", "vuex-router-sync": "^5.0.0" }, "devDependencies": { diff --git a/front/src/App.vue b/front/src/App.vue index e8ab18694..babe359b0 100644 --- a/front/src/App.vue +++ b/front/src/App.vue @@ -49,6 +49,7 @@ export default { PlaylistModal }, created () { + console.log(this.$t('hello')) this.$store.dispatch('instance/fetchSettings') let self = this setInterval(() => { diff --git a/front/src/main.js b/front/src/main.js index 5030e5c9c..aa63944fc 100644 --- a/front/src/main.js +++ b/front/src/main.js @@ -11,6 +11,9 @@ import router from './router' import axios from 'axios' import {VueMasonryPlugin} from 'vue-masonry' import VueLazyload from 'vue-lazyload' +import i18next from 'i18next' +// import i18nextFetch from 'i18next-fetch-backend' +import VueI18Next from '@panter/vue-i18next' import store from './store' import config from './config' import { sync } from 'vuex-router-sync' @@ -27,6 +30,7 @@ window.$ = window.jQuery = require('jquery') require('semantic-ui-css/semantic.js') require('masonry-layout') +Vue.use(VueI18Next) Vue.use(VueMasonryPlugin) Vue.use(VueLazyload) Vue.config.productionTip = false @@ -77,11 +81,31 @@ axios.interceptors.response.use(function (response) { return Promise.reject(error) }) store.dispatch('auth/check') + +// i18n +i18next.init({ + lng: 'en', + resources: { + en: { + translation: { + 'hello': 'Hello' + } + }, + fr: { + translation: { + 'hello': 'Bonjour' + } + } + } +}) +const i18n = new VueI18Next(i18next) + /* eslint-disable no-new */ new Vue({ el: '#app', router, store, + i18n, template: '', components: { App } }) diff --git a/po/funkwhale.pot b/po/funkwhale.pot new file mode 100644 index 000000000..b5480d509 --- /dev/null +++ b/po/funkwhale.pot @@ -0,0 +1,13 @@ +msgid "" +msgstr "" +"Project-Id-Version: Funkwhale 0.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-23 15:49-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"