FormKit附带了对所有接口和验证消息的国际化支持。
目前,FormKit支持以下语言(在@formkit/i18n
包中):
虽然国旗并不能很好地代表语言(国旗表示的是地理国家,而语言可以在世界的许多地方使用),但我们在上面的列表中使用国旗来表示创建特定语言环境的贡献者的位置。
FormKit的defaultConfig
默认包含英语地区设置 —— 要添加额外的地区设置,从@formkit/i18n
导入它,并在初始化FormKit插件时将其添加到locales
选项中。要设置活动地区,请使用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({
// 定义额外的地区设置
locales: { de, fr, zh },
// 定义活动地区
locale: 'fr',
})
)
app.mount('#app')
有两种方式可以更改您的活动地区:
this.$formkit.setLocale()
(最适合选项API)。config
对象(最适合组合API)。setLocale
当使用Vue的选项API时,您可以访问this.$formkit
,其中包含setLocale('de')
—— 一个专门用于全局更改当前地区的方法:
config
当使用组合API时,您将无法访问this.$formkit
。相反,您可以获取并修改根FormKit配置对象。这是通过Vue的inject
机制和一个独特的Symbol全局提供的:
如果您发现您的地区中的某个短语的措辞不符合您的喜好,您可以在您的配置中全局覆盖这些单独的消息。您可以通过向defaultConfig
提供一个messages
对象来实现这一点:
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: '🚀 Launch',
},
},
},
})
)
消息通常在地区的ui
或validation
属性下找到。要查看所有键和消息的完整列表,请查看英语地区设置。
编写您所知道的语言的地区设置是为FormKit做出贡献的好方法,也是开始开源的简单方式!我们总是热切期待新的地区设置的拉取请求。为了支持这项工作,我们创建了一个地区设置构建器——一个小型的网络应用程序,使翻译过程尽可能简单。
当然,您不必使用我们的地区设置构建器来提交语言,我们非常欢迎您提交包含您的地区设置的标准拉取请求。
如果您的语言已经在列表上(比如说英语),但您的地区说的是该语言的变体(比如 🇬🇧 en-GB
),请随时提交您的本地化语言。