Eu sou novo no nuxt. Eu instalei o i18n para lidar com traduções
eu verifiquei https://i18n.nuxtjs.org/docs/getting-started
meu defineI18nConfig:
nuxt-app/i18n.config.ts
export default defineI18nConfig(() => ({
legacy: false,
locale: 'en',
fallbackLocale: "en",
escapeParameterHtml: false,
warnHtmlMessage: false,
messages: {
en: {
welcome: "hello dear human {\"key\": \"value\"}"
},
fr: {
welcome: "hello dear human fr"
}
},
}))
páginas/index.vue
<script setup>
const { locale, setLocale } = useI18n()
</script>
<template>
<div>
<div>
<button class="btn ml-3" @click="setLocale('en')">en</button>
<button class="btn ml-3" @click="setLocale('fr')">fr</button>
<p>{{ $t('welcome') }}</p>
</div>
</div>
</template>
Erro:
Message compilation error: Invalid token in placeholder: '"key":'
1 | hello dear human {"key": "value"}
Meu problema, tenho alguns exemplos json em minhas traduções que não consigo excluir
eu importei i18n na configuração,
modules: ["@nuxtjs/i18n"],
i18n: {
vueI18n: './i18n.config.ts'
}
É possível ter json traduzido ou não?
usar
{'@'}
para o espaço reservadoveja vue-i18n Interpolação literal