FormKit est livré avec un support d'internationalisation pour toutes ses interfaces et messages de validation.
Actuellement, FormKit prend en charge les langues suivantes (dans le package @formkit/i18n
) :
Bien que les drapeaux soient de mauvaises représentations des langues (les drapeaux indiquent une nation géographique, tandis que les langues peuvent être parlées dans de nombreuses zones du monde), nous utilisons les drapeaux dans la liste ci-dessus pour indiquer l'emplacement du contributeur qui a créé cette locale particulière.
La defaultConfig
de FormKit inclut la locale anglaise par défaut — pour ajouter une locale supplémentaire, importez-la depuis @formkit/i18n
et ajoutez-la à l'option locales
lorsque vous initialisez le plugin FormKit. Pour définir la locale active, spécifiez-la avec l'option locale
:
import { createApp } from 'vue'
import App from 'App.vue'
import { plugin, defaultConfig } from '@formkit/vue'
import { de, fr, zh } from '@formkit/i18n'
const app = createApp(App)
app.use(
plugin,
defaultConfig({
// Définir des locales supplémentaires
locales: { de, fr, zh },
// Définir la locale active
locale: 'fr',
})
)
app.mount('#app')
Il existe trois façons de changer votre locale active :
changeLocale
pour changer globalement la locale.this.$formkit.setLocale()
depuis le plugin Vue (meilleur pour l'API d'options).config
racine.changeLocale
Vous pouvez changer la locale de tous les champs FormKit en utilisant le composable changeLocale
. C'est la méthode préférée lorsqu'un changement global est nécessaire :
setLocale
Lorsque vous utilisez l'API d'options de Vue, vous avez accès à this.$formkit
qui contient setLocale('de')
— une méthode conçue spécifiquement pour changer globalement la locale actuelle :
config
racineLorsque vous utilisez l'API de composition, vous n'aurez pas accès à this.$formkit
. Au lieu de cela, vous pouvez récupérer et modifier l'objet de configuration racine de FormKit. Celui-ci est mis à disposition globalement via le mécanisme inject
de Vue et un Symbol unique :
Si vous trouvez qu'une phrase dans votre locale n'est pas formulée comme vous le préférez, vous pouvez remplacer ces messages individuellement globalement dans votre configuration. Vous pouvez le faire en fournissant un objet messages
à la defaultConfig
:
import { createApp } from 'vue'
import { plugin, defaultConfig } from '@formkit/vue'
import App from 'App.vue'
const app = createApp(App)
app.use(
plugin,
defaultConfig({
messages: {
en: {
ui: {
submit: '🚀 Lancer',
},
},
},
})
)
Les messages se trouvent généralement sous la propriété ui
ou validation
d'une locale. Pour voir une liste complète des clés et messages consultez la locale anglaise.
Écrire une locale pour une langue que vous connaissez est un excellent moyen de contribuer à FormKit et une façon facile de commencer avec l'open source également ! Nous sommes toujours impatients de voir des pull requests pour de nouvelles locales. Pour soutenir cet effort, nous avons créé un constructeur de locale — une petite application web pour rendre le processus de traduction aussi simple que possible.
Bien sûr, vous n'êtes pas obligé d'utiliser notre constructeur de locale pour soumettre une langue, et vous êtes plus que bienvenu pour soumettre une pull request standard avec votre locale incluse.
Si votre langue est déjà sur la liste (disons l'anglais), mais que votre localité parle une variation de cette langue (comme 🇬🇧 en-GB
), n'hésitez pas à soumettre votre langue localisée.