接口:Composer<Messages, DateTimeFormats, NumberFormats, OptionLocale, ResourceLocales, Locales>
Composer 接口
备注
此接口用于 Vue 3 组合式 API。
Vue I18n 组合式 API
扩展
类型参数
| 类型参数 | 默认类型 |
|---|---|
Messages extends Record<string, any> | object |
DateTimeFormats extends Record<string, any> | object |
NumberFormats extends Record<string, any> | object |
OptionLocale | Locale |
ResourceLocales | | PickupLocales<NonNullable<Messages>> | PickupLocales<NonNullable<DateTimeFormats>> | PickupLocales<NonNullable<NumberFormats>> |
Locales | Locale extends GeneratedLocale ? GeneratedLocale : OptionLocale extends Locale ? IsNever<ResourceLocales> extends true ? Locale : ResourceLocales : OptionLocale | ResourceLocales |
方法
getDateTimeFormat()
getDateTimeFormat<DateTimeSchema, LocaleSchema, Locale, Return>(locale): Return;获取日期时间格式
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
DateTimeSchema extends Record<string, any> | never | 日期时间格式模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<DateTimeFormats>> | - |
Return | IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{ [key: string]: DateTimeFormatOptions; }> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
返回值
Return 日期时间格式
备注
从 Composer 实例 Composer#datetimeFormats 获取日期时间格式。
getLocaleMessage()
getLocaleMessage<MessageSchema, LocaleSchema, Locale, Return>(locale): Return;获取本地消息
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
MessageSchema extends LocaleMessage<VueMessageType> | never | 本地消息模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<Messages>> | - |
Return | IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{ [key: string]: LocaleMessageValue<VueMessageType>; }> : NonNullable<Messages>[Locale] : MessageSchema | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
返回值
Return 本地消息
备注
从 Composer 实例 Composer#messages 获取本地消息。
getMissingHandler()
getMissingHandler(): MissingHandler | null;获取缺失处理程序 请参见:
- Composer#missing
返回值
MissingHandler | nullMissingHandler
getNumberFormat()
getNumberFormat<NumberSchema, LocaleSchema, Locale, Return>(locale): Return;获取数字格式
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
NumberSchema extends Record<string, any> | never | 数字格式模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<NumberFormats>> | - |
Return | IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{ [key: string]: NumberFormatOptions; }> : NonNullable<NumberFormats>[Locale] : NumberSchema | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
返回值
Return 数字格式
备注
从 Composer 实例 Composer#numberFormats 获取数字格式。
getPostTranslationHandler()
getPostTranslationHandler():
| PostTranslationHandler<VueMessageType>
| null;获取翻译后处理程序 请参见:
- Composer#missing
返回值
| PostTranslationHandler<VueMessageType> | nullPostTranslationHandler
mergeDateTimeFormat()
mergeDateTimeFormat<DateTimeSchema, LocaleSchema, Locale, Formats>(locale, format): void;合并日期时间格式
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
DateTimeSchema extends Record<string, any> | never | 日期时间格式模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<DateTimeFormats>> | - |
Formats | IsNever<DateTimeSchema> extends true ? Record<string, any> : DateTimeSchema | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
format | Formats | 目标日期时间格式 |
返回值
void
备注
将日期时间格式合并到 Composer 实例 Composer#datetimeFormats。
mergeLocaleMessage()
mergeLocaleMessage<MessageSchema, LocaleSchema, Locale, Message>(locale, message): void;合并本地消息
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
MessageSchema extends LocaleMessage<VueMessageType> | never | 本地消息模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<Messages>> | - |
Message | IsNever<MessageSchema> extends true ? Record<string, any> : MessageSchema | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
message | Message | 消息 |
返回值
void
备注
将本地消息合并到 Composer 实例 Composer#messages。
mergeNumberFormat()
mergeNumberFormat<NumberSchema, LocaleSchema, Locale, Formats>(locale, format): void;合并数字格式
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
NumberSchema extends Record<string, any> | never | 数字格式模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<NumberFormats>> | - |
Formats | IsNever<NumberSchema> extends true ? Record<string, any> : NumberSchema | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
format | Formats | 目标数字格式 |
返回值
void
备注
将数字格式合并到 Composer 实例 Composer#numberFormats。
setDateTimeFormat()
setDateTimeFormat<DateTimeSchema, LocaleSchema, Locale, FormatsType, Formats>(locale, format): void;设置日期时间格式
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
DateTimeSchema extends Record<string, any> | never | 日期时间格式模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<DateTimeFormats>> | - |
FormatsType | IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{ [key: string]: DateTimeFormatOptions; }> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema | - |
Formats | FormatsType | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
format | Formats | 目标日期时间格式 |
返回值
void
备注
将日期时间格式设置到 Composer 实例 Composer#datetimeFormats。
setLocaleMessage()
setLocaleMessage<MessageSchema, LocaleSchema, Locale, MessageType, Message>(locale, message): void;设置本地消息
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
MessageSchema extends LocaleMessage<VueMessageType> | never | 本地消息模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<Messages>> | - |
MessageType | IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{ [key: string]: LocaleMessageValue<VueMessageType>; }> : NonNullable<Messages>[Locale] : MessageSchema | - |
Message | MessageType | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
message | Message | 消息 |
返回值
void
备注
将本地消息设置到 Composer 实例 Composer#messages。
setMissingHandler()
setMissingHandler(handler): void;设置缺失处理程序 请参见:
- Composer#missing
参数
| 参数 | 类型 | 描述 |
|---|---|---|
handler | MissingHandler | null | 一个 MissingHandler |
返回值
void
setNumberFormat()
setNumberFormat<NumberSchema, LocaleSchema, Locale, FormatsType, Formats>(locale, format): void;设置数字格式
类型参数
| 类型参数 | 默认类型 | 描述 |
|---|---|---|
NumberSchema extends Record<string, any> | never | 数字格式模式,默认为 never |
LocaleSchema extends string | string | - |
Locale extends string | PickupLocales<NonNullable<NumberFormats>> | - |
FormatsType | IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{ [key: string]: NumberFormatOptions; }> : NonNullable<NumberFormats>[Locale] : NumberSchema | - |
Formats | FormatsType | - |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
locale | LocaleSchema | Locale | 目标语言环境 |
format | Formats | 目标数字格式 |
返回值
void
备注
将数字格式设置到 Composer 实例 Composer#numberFormats。
setPostTranslationHandler()
setPostTranslationHandler(handler): void;设置翻译后处理程序 请参见:
- Composer#missing
参数
| 参数 | 类型 | 描述 |
|---|---|---|
handler | | PostTranslationHandler<VueMessageType> | null | 一个 PostTranslationHandler |
返回值
void
te()
te<Str, Key>(key, locale?): boolean;翻译本地消息存在性检查
类型参数
| 类型参数 | 默认类型 |
|---|---|
Str extends string | - |
Key extends string | number | symbol | PickupKeys<Messages> |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
key | Str | Key | 目标本地消息键 |
locale? | Locales | 语言环境,将优先于全局作用域或局部作用域 |
返回值
boolean 如果找到本地消息,返回 true,否则返回 false。请注意,即使键的值不可翻译,也会返回 false;但如果设置了 translateExistCompatible 为 true,即使值不可翻译也会返回 true。
备注
检查 Composer 实例 Composer#messages 中是否存在的本地消息。 如果您指定了 locale,则检查 locale 的本地消息。
tm()
tm<Key, ResourceKeys, Locale, Target, Return>(key): Return;本地消息获取器
类型参数
| 类型参数 | 默认类型 |
|---|---|
Key extends string | - |
ResourceKeys extends string | number | symbol | PickupKeys<Messages> |
Locale extends string | PickupLocales<NonNullable<Messages>> |
Target | IsEmptyObject<Messages> extends false ? NonNullable<Messages>[Locale] : RemoveIndexSignature<{ [key: string]: LocaleMessageValue<VueMessageType>; }> |
Return | ResourceKeys extends ResourcePath<Target> ? ResourceValue<Target, ResourceKeys<ResourceKeys>> : Record<string, any> |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
key | Key | ResourceKeys | 目标本地消息键 |
返回值
Return 本地消息
备注
如果在 useI18n 中指定了 I18nScope 'local' 或一些 UseI18nOptions,它会优先在局部作用域的本地消息中进行翻译,而不是全局作用域的本地消息。 基于当前的 locale,将从 Composer 实例的消息中返回本地消息。 如果您更改了 locale,返回的本地消息也将对应于该语言环境。 如果在 Composer 实例消息中没有给定 key 的本地消息,它们将在 回退 中返回。
WARNING
对于 tm 返回的本地消息,您需要使用 rt。请查看 rt 的详细信息。
示例
模板块:
<div class="container">
<template v-for="content in tm('contents')">
<h2>{{ rt(content.title) }}</h2>
<p v-for="paragraph in content.paragraphs">
{{ rt(paragraph) }}
</p>
</template>
</div>脚本块:
import { defineComponent } from 'vue
import { useI18n } from 'vue-i18n'
export default defineComponent({
setup() {
const { rt, tm } = useI18n({
messages: {
en: {
contents: [
{
title: 'Title1',
// ...
paragraphs: [
// ...
]
}
]
}
}
// ...
})
// ...
return { ... , rt, tm }
}
})属性
availableLocales
readonly availableLocales: ComputedRef<Locales[]>;备注
以词典顺序排列的 messages 中可用的语言环境列表。
d
d: ComposerDateTimeFormatting<DateTimeFormats, Locales, RemoveIndexSignature<{
[key: string]: DateTimeFormatOptions;
}>>;日期时间格式化
备注
有关详细函数,请参阅 ComposerDateTimeFormatting
datetimeFormats
readonly datetimeFormats: ComputedRef<{ [K in string | number | symbol]: DateTimeFormats[K] }>;备注
本地化的日期时间格式。 请参见:
escapeParameter
escapeParameter: boolean;备注
在消息被翻译之前是否转义插值参数。 请参见:
fallbackFormat
fallbackFormat: boolean;备注
当回退到 fallbackLocale 或根目录时是否抑制警告。 请参见:
fallbackLocale
fallbackLocale: WritableComputedRef<FallbackLocales<Locales>>;备注
当前 Composer 实例使用的回退语言环境。 请参见:
fallbackRoot
fallbackRoot: boolean;备注
当本地化失败时是否回退到根级(全局作用域)本地化。 请参见:
fallbackWarn
fallbackWarn: boolean | RegExp;备注
当本地化失败时是否抑制回退警告。 请参见:
id
id: number;备注
实例 ID。
inheritLocale
inheritLocale: boolean;备注
是否继承根级语言环境到组件本地化语言环境。 请参见:
isGlobal
readonly isGlobal: boolean;备注
此 Composer 实例是否为全局实例
locale
locale: WritableComputedRef<Locales>;备注
当前 Composer 实例使用的语言环境。 如果语言环境包含地区和方言,这个语言环境包含隐式的回退。 请参见:
messages
readonly messages: ComputedRef<{ [K in string | number | symbol]: Messages[K] }>;备注
本地化的本地消息。 请参见:
missingWarn
missingWarn: boolean | RegExp;备注
当本地化失败时是否抑制警告输出。 请参见:
modifiers
readonly modifiers: LinkedModifiers<VueMessageType>;备注
链接消息的自定义修饰符。 请参见:
n
n: ComposerNumberFormatting<NumberFormats, Locales, RemoveIndexSignature<{
[key: string]: NumberFormatOptions;
}>>;数字格式化
备注
有关详细函数,请参阅 ComposerNumberFormatting
numberFormats
readonly numberFormats: ComputedRef<{ [K in string | number | symbol]: NumberFormats[K] }>;备注
本地化的数字格式。 请参见:
pluralRules
readonly pluralRules: PluralizationRules;备注
一组单词复数规则 请参见:
rt
rt: ComposerResolveLocaleMessageTranslation<Locales>;解析本地消息翻译
备注
有关详细函数,请参阅 ComposerResolveLocaleMessageTranslation
t
t: ComposerTranslation<Messages, Locales, RemoveIndexSignature<{
[key: string]: LocaleMessageValue<VueMessageType>;
}>>;本地消息翻译
备注
有关详细函数,请参阅 ComposerTranslation
warnHtmlMessage
warnHtmlMessage: boolean;备注
是否允许使用 HTML 格式的消息。 如果您设置为 false,将检查 Composer 实例上的本地消息。 如果您指定为 true,将在控制台输出警告。 请参见: