Étant donné un projet laravel 5.5, je veux utiliser le "composant de fichier unique" du plugin vue-i18n. Documentation. Il semble simpel, mais je ne peux pas le faire fonctionner.vue-i18n composant de fichier unique dans le projet laravel
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'});
composants/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 est remplacé, mais mot2 est pas. Le fait de placer une mauvaise syntaxe entre les balises i18n dans le fichier vue n'entraîne PAS d'erreur lors de la compilation des fichiers (npm run dev
). Cela est logique, parce que je suis absent le:
module.exports = {
// ...
module: {
rules: [
...
Ceci est censé aller dans le Webpack configration
. Mais, où est ce fichier en laravel? Tout ce que je peux trouver, c'est le webpack.mix.js, mais en plaçant ce code là-dedans, ça ne fait pas grand-chose ... Le faire aussi mix.module.exports
ne fait pas l'affaire. La recherche m'a conduit à this topic, mais je ne suis pas sûr s'il demande la même chose que moi.
Le problème: les étiquettes i18n ne sont pas chargées. La solution consiste à ajouter le code de la documentation.
Ma question: Où puis-je ajouter ce code?