Gegeben ein Laravel 5.5-Projekt, ich möchte die "Single-File-Komponente" des Vue-i18n-Plugin verwenden. Documentation. Es scheint simpel, aber ich kann es nicht zur Arbeit bringen.vue-i18n Einzeldatei-Komponente in Laravel-Projekt
app.js
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: 'en',
messages: {
"en": {
"word1": "hello world!"
}
}
})
Vue.component('test', require('./components/test.vue'));
const app = new Vue({ i18n, el: '#apps'});
components/test.vue
<template>
{{ $t('word1') }}
{{ $t('word2') }}
</template>
<i18n>
{
"en": {
"word2": "does this work?"
}
}
</i18n>
<script>
export default {
name: "test"
data() {
return {
locale: 'en'
}
},
mounted() {},
watch: {
locale (val) {
this.$i18n.locale = val
}
}
}
</script>
word1 ersetzt wird jedoch word2 nicht. Das Einfügen einer fehlerhaften Syntax zwischen den i18n-Tags in der Vue-Datei führt NICHT zu einem Fehler beim Kompilieren der Dateien (npm run dev
). Dies macht Sinn, weil ich das bin fehlt:
module.exports = {
// ...
module: {
rules: [
...
Dies soll in der Webpack configration
gehen. Aber, wo ist diese Datei in Laravel? Alles, was ich finden kann, ist das webpack.mix.js, aber diesen Code dort zu platzieren, tut nicht viel ... Auch macht es mix.module.exports
nicht den Trick. Die Suche führte mich zu this topic, aber ich bin mir nicht sicher, ob er genauso fragt wie ich.
Das Problem: die i18n-Tags sind nicht geladen. Die Lösung besteht darin, den Code aus der Dokumentation hinzuzufügen.
Meine Frage: Wo füge ich diesen Code hinzu?