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: '🚀 发射',
},
},
},
})
)
消息通常在区域设置的ui
或validation
属性下找到。要查看键和消息的完整列表,请查看英语区域设置。
为您了解的语言编写本地化是为FormKit做出贡献的绝佳方式,也是开始参与开源的简单方式!我们非常期待收到关于新语言的拉取请求。为了支持这一努力,我们创建了一个本地化构建器 - 一个小型的Web应用程序,使翻译过程尽可能简单。
当然,您不必使用我们的本地化构建器来提交语言,欢迎您通过标准的拉取请求提交包含您的本地化的语言。
如果您的语言已经在列表中(比如英语),但您的地区使用该语言的变体(如🇬🇧 en-GB
),请随时提交您的本地化语言。