diff --git a/.gitignore b/.gitignore index ef5007af7a121c2ba82ba13b76eef9915407ce03..ee2ed95e258ab9743032d4c73c8b1f8e50c6f848 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 6e10338514dc2983eab1b4ffb8e300c27ad1dda1..01d396d01229a97fe3a4c1f819143cd8cb19478c 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 e8ab18694ae4c44a5c6995d263b194dffe598dc2..babe359b0173c171bf122ab9e61e006478aaff0b 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 5030e5c9c429d62eda3d6c20e86acc1d4e19a3c2..aa63944fcbafd4b7229c15eca410d4f80f187032 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: '<App/>', components: { App } }) diff --git a/po/funkwhale.pot b/po/funkwhale.pot new file mode 100644 index 0000000000000000000000000000000000000000..b5480d50981970a743eb13a7b97f03c12f4a8296 --- /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 <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\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"