O FormKit vem com suporte à internacionalização para todas as suas interfaces e mensagens de validação.
Atualmente, o FormKit suporta os seguintes idiomas (no pacote @formkit/i18n
):
Embora as bandeiras sejam representações pobres de idiomas (bandeiras indicam uma nação geográfica, enquanto idiomas podem ser falados em muitas áreas do mundo), usamos as bandeiras na lista acima para indicar a localização do colaborador que criou aquela localidade específica.
A defaultConfig
do FormKit inclui o locale inglês por padrão — para adicionar um locale adicional, importe-o de @formkit/i18n
e acrescente-o à opção locales
quando inicializar o plugin FormKit. Para definir o locale ativo, especifique-o com a opção 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({
// Definir locales adicionais
locales: { de, fr, zh },
// Definir o locale ativo
locale: 'fr',
})
)
app.mount('#app')
Existem três maneiras de alterar seu locale ativo:
changeLocale
para alterar globalmente o locale.this.$formkit.setLocale()
a partir do plugin Vue (melhor para a API de opções).config
raiz.changeLocale
Você pode alterar o locale de todos os inputs do FormKit usando o composable changeLocale
. Este é o método preferido quando uma mudança global é necessária:
setLocale
Ao usar a API de opções do Vue, você tem acesso a this.$formkit
, que contém setLocale('de')
— um método criado especificamente para alterar globalmente o locale atual:
config
raizAo usar a API de composição, você não terá acesso a this.$formkit
. Em vez disso, você pode buscar e modificar o objeto de configuração raiz do FormKit. Isso é disponibilizado globalmente através do mecanismo inject
do Vue e um Symbol único:
Se você encontrar uma frase em seu locale que não está formulada da maneira que prefere, você pode sobrescrever essas mensagens individuais globalmente em sua configuração. Você pode fazer isso fornecendo um objeto messages
para o 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: '🚀 Lançar',
},
},
},
})
)
As mensagens geralmente são encontradas sob a propriedade ui
ou validation
de um locale. Para ver uma lista completa de chaves e mensagens confira o locale inglês.
Escrever uma localização para um idioma que você conhece é uma ótima maneira de contribuir para o FormKit e uma maneira fácil de começar com o código aberto também! Estamos sempre ansiosos para ver pull requests de novas localidades. Para apoiar esse esforço, criamos um construtor de localidades — um pequeno aplicativo web para tornar o processo de tradução o mais fácil possível.
Claro, você não é obrigado a usar nosso construtor de localidades para enviar um idioma, e é mais do que bem-vindo para enviar um pull request padrão com sua localidade incluída.
Se o seu idioma já está na lista (digamos Inglês), mas a sua localidade fala uma variação desse idioma (como 🇬🇧 en-GB
), sinta-se à vontade para enviar o seu idioma localizado.