Composition API
Composer
Интерфейсы Composer
Подпись:
export interface Composer<Messages extends Record<string, any> = {}, DateTimeFormats extends Record<string, any> = {}, NumberFormats extends Record<string, any> = {}, 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> extends ComposerCustomПодробности
Это интерфейс для использования в Vue 3 Composition API.
availableLocales
Подпись:
readonly availableLocales: ComputedRef<Locales[]>;Подробности
Список доступных локалей в messages в лексикографическом порядке.
d
Форматирование даты и времени
Подпись:
d: ComposerDateTimeFormatting<DateTimeFormats, Locales, RemoveIndexSignature<{
[K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K];
}>>;Подробности
О функциях подробнее, см. ComposerDateTimeFormatting
datetimeFormats
Подпись:
readonly datetimeFormats: ComputedRef<{
[K in keyof DateTimeFormats]: 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 keyof Messages]: Messages[K];
}>;Подробности
Сообщения локализации.
См. также:
missingWarn
Подпись:
missingWarn: boolean | RegExp;Подробности
Подавлять ли вывод предупреждений при сбое локализации.
См. также:
modifiers
Подпись:
readonly modifiers: LinkedModifiers<VueMessageType>;Подробности
Пользовательские модификаторы для связанных сообщений.
См. также:
n
Форматирование чисел
Подпись:
n: ComposerNumberFormatting<NumberFormats, Locales, RemoveIndexSignature<{
[K in keyof DefineNumberFormat]: DefineNumberFormat[K];
}>>;Подробности
О функциях подробнее, см. ComposerNumberFormatting
numberFormats
Подпись:
readonly numberFormats: ComputedRef<{
[K in keyof NumberFormats]: NumberFormats[K];
}>;Подробности
Форматы чисел локализации.
См. также:
pluralRules
Подпись:
readonly pluralRules: PluralizationRules;Подробности
Набор правил для словоформ множественного числа
См. также:
rt
Разрешение перевода сообщения локали
Подпись:
rt: ComposerResolveLocaleMessageTranslation<Locales>;Подробности
О функциях подробнее, см. ComposerResolveLocaleMessageTranslation
t
Перевод сообщений локали
Подпись:
t: ComposerTranslation<Messages, Locales, RemoveIndexSignature<{
[K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
}>>;Подробности
О функциях подробнее, см. ComposerTranslation
warnHtmlMessage
Подпись:
warnHtmlMessage: boolean;Подробности
Разрешается ли использование сообщений локали с форматированием HTML.
Если вы установите false, будет проверяться сообщения локали на экземпляре Composer.
Если вы укажете true, будет выводиться предупреждение в консоли.
См. также:
getDateTimeFormat(locale)
Получить формат даты и времени
Подпись:
getDateTimeFormat<DateTimeSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>, Return = IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{
[K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K];
}> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema>(locale: LocaleSchema | Locale): Return;Параметры типа
| Параметр | Описание |
|---|---|
| DateTimeSchema | Схема формата даты и времени, по умолчанию never |
Подробности
Получить формат даты и времени из экземпляра Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
Возвращает
Формат даты и времени
getLocaleMessage(locale)
Получить сообщение локали
Подпись:
getLocaleMessage<MessageSchema extends LocaleMessage<VueMessageType> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, Return = IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{
[K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
}> : NonNullable<Messages>[Locale] : MessageSchema>(locale: LocaleSchema | Locale): Return;Параметры типа
| Параметр | Описание |
|---|---|
| MessageSchema | Схема сообщений локали, по умолчанию never |
Подробности
Получить сообщение локали из экземпляра Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
Возвращает
Сообщения локали
getMissingHandler()
Получить обработчик отсутствующих значений
Подпись:
getMissingHandler(): MissingHandler | null;Параметры
| Параметр | Тип | Описание |
|---|
Возвращает
getNumberFormat(locale)
Получить формат числа
Подпись:
getNumberFormat<NumberSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>, Return = IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{
[K in keyof DefineNumberFormat]: DefineNumberFormat[K];
}> : NonNullable<NumberFormats>[Locale] : NumberSchema>(locale: LocaleSchema | Locale): Return;Параметры типа
| Параметр | Описание |
|---|---|
| NumberSchema | Схема формата числа, по умолчанию never |
Подробности
Получить формат числа из экземпляра Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
Возвращает
Формат числа
getPostTranslationHandler()
Получить обработчик пост-перевода
Подпись:
getPostTranslationHandler(): PostTranslationHandler<VueMessageType> | null;Параметры
| Параметр | Тип | Описание |
|---|
Возвращает
mergeDateTimeFormat(locale, format)
Объединить формат даты и времени
Подпись:
mergeDateTimeFormat<DateTimeSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>, Formats = IsNever<DateTimeSchema> extends true ? Record<string, any> : DateTimeSchema>(locale: LocaleSchema | Locale, format: Formats): void;Параметры типа
| Параметр | Описание |
|---|---|
| DateTimeSchema | Схема формата даты и времени, по умолчанию never |
Подробности
Объединить формат даты и времени с экземпляром Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
| format | Formats | Целевой формат даты и времени |
mergeLocaleMessage(locale, message)
Объединить сообщение локали
Подпись:
mergeLocaleMessage<MessageSchema extends LocaleMessage<VueMessageType> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, Message = IsNever<MessageSchema> extends true ? Record<string, any> : MessageSchema>(locale: LocaleSchema | Locale, message: Message): void;Параметры типа
| Параметр | Описание |
|---|---|
| MessageSchema | Схема сообщений локали, по умолчанию never |
Подробности
Объединить сообщение локали с экземпляром Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
| message | Message | Сообщение |
mergeNumberFormat(locale, format)
Объединить формат чисел
Подпись:
mergeNumberFormat<NumberSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>, Formats = IsNever<NumberSchema> extends true ? Record<string, any> : NumberSchema>(locale: LocaleSchema | Locale, format: Formats): void;Параметры типа
| Параметр | Описание |
|---|---|
| NumberSchema | Схема формата числа, по умолчанию never |
Подробности
Объединить формат чисел с экземпляром Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
| format | Formats | Целевой формат числа |
setDateTimeFormat(locale, format)
Установить формат даты и времени
Подпись:
setDateTimeFormat<DateTimeSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>, FormatsType = IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{
[K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K];
}> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema, Formats extends FormatsType = FormatsType>(locale: LocaleSchema | Locale, format: Formats): void;Параметры типа
| Параметр | Описание |
|---|---|
| DateTimeSchema | Схема формата даты и времени, по умолчанию never |
Подробности
Установить формат даты и времени для экземпляра Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
| format | Formats | Целевой формат даты и времени |
setLocaleMessage(locale, message)
Установить сообщение локали
Подпись:
setLocaleMessage<MessageSchema extends LocaleMessage<VueMessageType> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, MessageType = IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{
[K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
}> : NonNullable<Messages>[Locale] : MessageSchema, Message extends MessageType = MessageType>(locale: LocaleSchema | Locale, message: Message): void;Параметры типа
| Параметр | Описание |
|---|---|
| MessageSchema | Схема сообщений локали, по умолчанию never |
Подробности
Установить сообщение локали для экземпляра Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
| message | Message | Сообщение |
setMissingHandler(handler)
Установить обработчик отсутствующих значений
Подпись:
setMissingHandler(handler: MissingHandler | null): void;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| handler | MissingHandler | null | MissingHandler |
setNumberFormat(locale, format)
Установить формат чисел
Подпись:
setNumberFormat<NumberSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>, FormatsType = IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{
[K in keyof DefineNumberFormat]: DefineNumberFormat[K];
}> : NonNullable<NumberFormats>[Locale] : NumberSchema, Formats extends FormatsType = FormatsType>(locale: LocaleSchema | Locale, format: Formats): void;Параметры типа
| Параметр | Описание |
|---|---|
| NumberSchema | Схема формата числа, по умолчанию never |
Подробности
Установить формат чисел для экземпляра Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| locale | LocaleSchema | Locale | Целевая локаль |
| format | Formats | Целевой формат числа |
setPostTranslationHandler(handler)
Установить обработчик пост-перевода
Подпись:
setPostTranslationHandler(handler: PostTranslationHandler<VueMessageType> | null): void;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| handler | PostTranslationHandler<VueMessageType> | null | Обработчик |
te(key, locale)
Существует ли перевод сообщения локали
Подпись:
te<Str extends string, Key extends PickupKeys<Messages> = PickupKeys<Messages>>(key: Str | Key, locale?: Locales): boolean;Подробности
Существует ли сообщение локали в экземпляре Composer.
Если вы указали locale, проверьте сообщения локали locale.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Str | Key | Ключ целевого сообщения локали |
| locale | Locales | Локаль, которая будет использована вместо глобальной или локальной области видимости |
Возвращает
Если сообщение локали найдено, true, иначе false. Обратите внимание, что false возвращается даже если значение присутствует в ключе, но не может быть переведено. Однако если translateExistCompatible установлен в true, он вернет true, если ключ доступен, даже если значение не может быть переведено.
tm(key)
Получатель сообщений локали
Подпись:
tm<Key extends string, ResourceKeys extends PickupKeys<Messages> = PickupKeys<Messages>, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, Target = IsEmptyObject<Messages> extends false ? NonNullable<Messages>[Locale] : RemoveIndexSignature<{
[K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
}>, Return = ResourceKeys extends ResourcePath<Target> ? ResourceValue<Target, ResourceKeys> : Record<string, any>>(key: Key | ResourceKeys): Return;Подробности
Если I18nScope 'local' или некоторые UseI18nOptions указаны в useI18n, то они будут переведены с приоритетом локальной области видимости сообщений локали по сравнению с глобальной областью видимости сообщений локали.
На основе текущей locale сообщения локали будут возвращены из сообщений экземпляра Composer.
Если вы измените locale, то возвращаемые сообщения локали также будут соответствовать этой локали.
Если в сообщениях экземпляра Composer нет сообщений локали для заданного key, они будут возвращены с возвратом к значениям по умолчанию.
[!WARNING] Вам нужно использовать rt для сообщений локали, возвращенных tm. См. детали rt.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | Ключ целевого сообщения локали |
Возвращает
Сообщения локали
Примеры
Блок шаблона:
<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 }
}
})ComposerAdditionalOptions
Дополнительные опции Composer для useI18n
Подпись:
export interface ComposerAdditionalOptionsПодробности
ComposerAdditionalOptions расширяет ComposerOptions, поэтому вы можете указать эти опции.
useScope
ComposerCustom
Пользовательское определение типа Composer
Подпись:
export interface ComposerCustomПодробности
Интерфейс, который можно расширить для Composer.
Тип, определенный сторонними разработчиками (например, nuxt/i18n)
Примеры
// vue-i18n.d.ts (файл .d.ts вашего приложения)
declare module 'vue-i18n' {
interface ComposerCustom {
localeCodes: string[]
}
}ComposerDateTimeFormatting
Функции форматирования даты и времени
Подпись:
export interface ComposerDateTimeFormatting<DateTimeFormats extends Record<string, any> = {}, Locales = 'en-US', DefinedDateTimeFormat extends RemovedIndexResources<DefineDateTimeFormat> = RemovedIndexResources<DefineDateTimeFormat>, C = IsEmptyObject<DefinedDateTimeFormat> extends false ? PickupFormatPathKeys<{
[K in keyof DefinedDateTimeFormat]: DefinedDateTimeFormat[K];
}> : never, M = IsEmptyObject<DateTimeFormats> extends false ? PickupFormatKeys<DateTimeFormats> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>Подробности
Это интерфейс для Composer
(value: number | Date | string): string;
Форматирование даты и времени
Подпись:
(value: number | Date | string): string;Подробности
Если используется в реактивном контексте, оно будет переоценено после изменения локали.
Если 'local' или некоторые UseI18nOptions указаны в useI18n, то они будут переведены с приоритетом локальной области видимости форматов даты и времени по сравнению с глобальной областью видимости форматов даты и времени.
Если нет, то форматируется с использованием глобальных форматов даты и времени.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| value | number | Date | string | Значение, число метки времени или экземпляр Date или строка ISO 8601 |
Возвращает
Отформатированное значение
(value: Value, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;
Форматирование даты и времени
Подпись:
<Value extends number | Date | string = number, Key extends string = string, OptionsType extends Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales>>(value: Value, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;Подробности
Перегрузка d.
В этой перегрузке d форматирует дату и время в формате, зарегистрированном в форматах даты и времени.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| value | Value | Значение, число метки времени или экземпляр Date или строка ISO 8601 |
| keyOrOptions | OptionsType | Ключ форматов даты и времени или дополнительные параметры для форматирования даты и времени |
Возвращает
Отформатированное значение
(value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;
Форматирование даты и времени
Подпись:
<Value extends number | Date | string = number, Key extends string = string, OptionsType extends Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales>>(value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;Подробности
Перегрузка d.
В этой перегрузке d форматирует дату и время в формате, зарегистрированном в форматах даты и времени для целевой локали.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| value | Value | Значение, число метки времени или экземпляр Date или строка ISO 8601 |
| keyOrOptions | OptionsType | Ключ форматов даты и времени или дополнительные параметры для форматирования даты и времени |
| locale | Locales | Локаль, которая будет использована вместо глобальной или локальной области видимости. |
Возвращает
Отформатированное значение
Функции форматирования чисел
Подпись:
export interface ComposerNumberFormatting<NumberFormats extends Record<string, any> = {}, Locales = 'en-US', DefinedNumberFormat extends RemovedIndexResources<DefineNumberFormat> = RemovedIndexResources<DefineNumberFormat>, C = IsEmptyObject<DefinedNumberFormat> extends false ? PickupFormatPathKeys<{
[K in keyof DefinedNumberFormat]: DefinedNumberFormat[K];
}> : never, M = IsEmptyObject<NumberFormats> extends false ? PickupFormatKeys<NumberFormats> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>Подробности
Это интерфейс для Composer
(value: number): string;
Форматирование чисел
Подпись:
(value: number): string;Подробности
Если используется в реактивном контексте, оно будет переоценено после изменения локали.
Если 'local' или некоторые UseI18nOptions указаны в useI18n, то они будут переведены с приоритетом локальной области видимости форматов даты и времени по сравнению с глобальной областью видимости форматов даты и времени.
Если нет, то форматируется с использованием глобальных форматов чисел.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| value | number | Числовое значение |
Возвращает
Отформатированное значение
(value: number, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;
Форматирование чисел
Подпись:
<Key extends string = string, OptionsType extends Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales>>(value: number, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;Подробности
Перегрузка n.
В этой перегрузке n форматирует число в формате, зарегистрированном в форматах чисел.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| value | number | Числовое значение |
| keyOrOptions | OptionsType | Ключ форматов чисел или дополнительные параметры для форматирования чисел |
Возвращает
Отформатированное значение
(value: number, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;
Форматирование чисел
Подпись:
<Key extends string = string, OptionsType extends Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales>>(value: number, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;Подробности
Перегрузка n.
В этой перегрузке n форматирует число в формате, зарегистрированном в форматах чисел для целевой локали.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| value | number | Числовое значение |
| keyOrOptions | OptionsType | Ключ форматов чисел или дополнительные параметры для форматирования чисел |
| locale | Locales | Локаль, которая будет использована вместо глобальной или локальной области видимости. |
Возвращает
Отформатированное значение
ComposerOptions
Опции Composer
Подпись:
export interface ComposerOptions<Schema extends {
message?: unknown;
datetime?: unknown;
number?: unknown;
} = {
message: DefaultLocaleMessageSchema;
datetime: DefaultDateTimeFormatSchema;
number: DefaultNumberFormatSchema;
}, Locales extends {
messages: unknown;
datetimeFormats: unknown;
numberFormats: unknown;
} | string = Locale, MessagesLocales = Locales extends {
messages: infer M;
} ? M : Locales extends string ? Locales : Locale, DateTimeFormatsLocales = Locales extends {
datetimeFormats: infer D;
} ? D : Locales extends string ? Locales : Locale, NumberFormatsLocales = Locales extends {
numberFormats: infer N;
} ? N : Locales extends string ? Locales : Locale, MessageSchema = Schema extends {
message: infer M;
} ? M : DefaultLocaleMessageSchema, DateTimeSchema = Schema extends {
datetime: infer D;
} ? D : DefaultDateTimeFormatSchema, NumberSchema = Schema extends {
number: infer N;
} ? N : DefaultNumberFormatSchema, _Messages extends LocaleMessages<MessageSchema, MessagesLocales, VueMessageType> = LocaleMessages<MessageSchema, MessagesLocales, VueMessageType>, _DateTimeFormats extends DateTimeFormatsType<DateTimeSchema, DateTimeFormatsLocales> = DateTimeFormatsType<DateTimeSchema, DateTimeFormatsLocales>, _NumberFormats extends NumberFormatsType<NumberSchema, NumberFormatsLocales> = NumberFormatsType<NumberSchema, NumberFormatsLocales>>Подробности
Это опции для создания composer.
datetime
datetimeFormats
escapeParameter
Подпись:
escapeParameter?: boolean;Подробности
Если escapeParameter установлен в true, то параметры интерполяции экранируются перед переводом сообщения.
Это полезно, когда вывод перевода используется в v-html и ресурс перевода содержит HTML-разметку (например, вокруг предоставленного пользователем значения).
Этот паттерн использования чаще всего возникает при передаче предварительно вычисленных текстовых строк в компоненты интерфейса.
Процесс экранирования подразумевает замену следующих символов их соответствующими HTML-сущностями: <, >, ", '.
Установка escapeParameter в true не должна нарушать существующую функциональность, но обеспечивает защиту от некоторых типов векторов атак XSS.
См. также:
false
fallbackFormat
Подпись:
fallbackFormat?: boolean;Подробности
Выполнять ли интерполяцию шаблонов в ключах перевода, когда ваш язык не имеет перевода для ключа.
Если true, пропустите написание шаблонов для "базового" языка; ключи являются вашими шаблонами.
См. также:
false
fallbackLocale
Подпись:
fallbackLocale?: FallbackLocale;Подробности
Локаль для возврата при локализации.
Для более сложных определений возврата см. возврат к значениям по умолчанию.
См. также:
По умолчанию 'en-US' для locale, если он не указан, или значение locale
fallbackRoot
Подпись:
fallbackRoot?: boolean;Подробности
В локализации компонента, возвращаться ли к глобальному уровню (области видимости) локализации при сбое локализации.
Если false, не возвращаться к корневому уровню.
См. также:
true
fallbackWarn
Подпись:
fallbackWarn?: boolean | RegExp;Подробности
Подавлять ли предупреждения при возврате к значениям по умолчанию для fallbackLocale или корневому уровню.
Если false, подавлять предупреждения возврата к значениям по умолчанию.
Если вы используете регулярное выражение, вы можете подавить предупреждения возврата к значениям по умолчанию, которые совпадают с ключом перевода (например, t).
См. также:
true
flatJson
Подпись:
flatJson?: boolean;Подробности
Разрешить ли использовать плоские JSON-сообщения или нет
false
inheritLocale
Подпись:
inheritLocale?: boolean;Подробности
Наследовать ли корневой уровень локали для локализации компонента.
Если false, независимо от корневого уровня локали, локализовать для каждой локали компонента.
См. также:
true
locale
Подпись:
locale?: Locale;Подробности
Локаль локализации.
Если локаль содержит территорию и диалект, то эта локаль содержит неявное значение по умолчанию.
См. также:
'en-US'
message
messageCompiler
Подпись:
messageCompiler?: MessageCompiler;Подробности
Компилятор для пользовательского формата сообщений.
Если не указан, будет использоваться стандартный компилятор сообщений vue-i18n.
Вам понадобится реализовать свой собственный компилятор сообщений, который возвращает функции сообщений.
Примеры
Вот пример использования пользовательского компилятора сообщений с intl-messageformat
import { createI18n } from 'vue-i18n'
import IntlMessageFormat from 'intl-messageformat'
function messageCompiler(message, { locale, key, onError }) {
if (typeof message === 'string') {
// Вы можете улучшить производительность вашего компилятора сообщений с помощью стратегии кэширования или мемоизации здесь
const formatter = new IntlMessageFormat(message, locale)
return ctx => formatter.format(ctx.values)
} else {
// Если вы хотите поддерживать это для AST,
// вам нужно преобразовать локальные сообщения, такие как `json`, `yaml` и т.д. с помощью плагина сборки.
onError && onError(new Error('not support for AST'))
return () => key // возвращать по умолчанию с `key`
}
}
// вызов с опцией I18n
const i18n = createI18n({
locale: 'ja',
messageCompiler, // установите ваш компилятор сообщений
messages: {
en: {
hello: 'hello world!',
greeting: 'hi, {name}!',
// ICU формат сообщения
photo: `You have {numPhotos, plural,
=0 {no photos.}
=1 {one photo.}
other {# photos.}
}`
},
}
})
// ниже ваша какая-то работа ...
// ...[!TIP] 🆕 v9.3+
[!WARNING] Пользовательский формат сообщений - экспериментальная функция. Она может быть изменена или удалена в будущем.
См. также:
undefined
messageResolver
Подпись:
messageResolver?: MessageResolver;Подробности
Разрешитель сообщений для разрешения.
Если не указан, будет использоваться внутренний разрешитель сообщений vue-i18n по умолчанию.
Вам нужно реализовать разрешитель сообщений самостоятельно, который соответствует следующим требованиям:
- Разрешить сообщение, используя локальное сообщение, переданное в качестве первого аргумента разрешителя сообщений, и путь, переданный в качестве второго аргумента.
- Если сообщение не может быть разрешено, необходимо вернуть
null. - Если вы получите
null, разрешитель сообщений также будет вызван при возврате к значениям по умолчанию, если включена опция возврата к значениям по умолчанию, поэтому сообщение также нужно будет разрешить.
Разрешитель сообщений вызывается косвенно следующими API:
Примеры
Вот пример установки с использованием вашего createI18n:
import { createI18n } from 'vue-i18n'
// ваш разрешитель сообщений
function messageResolver(obj, path) {
// простое разрешение сообщений!
const msg = obj[path]
return msg != null ? msg : null
}
// вызов с опцией I18n
const i18n = createI18n({
locale: 'ja',
messageResolver, // установите ваш разрешитель сообщений
messages: {
en: { ... },
ja: { ... }
}
})
// ниже ваша какая-то работа ...
// ...[!TIP] 🆕 v9.2+
[!WARNING] Если вы используете разрешитель сообщений, опция flatJson будет проигнорирована. То есть вам нужно будет разрешить плоский JSON самостоятельно.
См. также:
undefined
messages
missing
Подпись:
missing?: MissingHandler;Подробности
Обработчик отсутствующей локализации.
Обработчик вызывается с целевой локалью локализации, ключом пути локализации, экземпляром Vue и значениями.
Если назначается обработчик отсутствующей локализации и происходит отсутствие локализации, то предупреждение не выводится.
null
missingWarn
Подпись:
missingWarn?: boolean | RegExp;Подробности
Подавлять ли вывод предупреждений при сбое локализации.
Если false, подавлять предупреждения о сбое локализации.
Если вы используете регулярное выражение, вы можете подавить предупреждения о сбое локализации, которые совпадают с ключом перевода (например, t).
См. также:
true
modifiers
Подпись:
modifiers?: LinkedModifiers<VueMessageType>;Подробности
Пользовательские модификаторы для связанных сообщений.
См. также:
number
numberFormats
pluralRules
Подпись:
pluralRules?: PluralizationRules;Подробности
Набор правил для словоформ множественного числа
См. также:
{}
postTranslation
Подпись:
postTranslation?: PostTranslationHandler<VueMessageType>;Подробности
Обработчик пост-перевода.
Обработчик вызывается после вызова t.
Этот обработчик полезен, если вы хотите фильтровать переведённый текст, например, обрезать пробелы.
null
warnHtmlMessage
Подпись:
warnHtmlMessage?: boolean;Подробности
Разрешается ли использование сообщений локали с форматированием HTML.
См. свойство warnHtmlMessage.
См. также:
true
ComposerResolveLocaleMessageTranslation
Функции разрешения перевода сообщения локали
Подпись:
export interface ComposerResolveLocaleMessageTranslation<Locales = 'en-US'>Подробности
Это интерфейс для Composer
(message: MessageFunction<VueMessageType> | VueMessageType): string;
Разрешение перевода сообщения локали
Подпись:
(message: MessageFunction<VueMessageType> | VueMessageType): string;Подробности
Если используется в реактивном контексте, оно будет переоценено после изменения локали.
Если 'local' или некоторые UseI18nOptions указаны в useI18n, то они будут переведены с приоритетом локальной области видимости сообщений локали по сравнению с глобальной областью видимости сообщений локали.
Если нет, то переводится с использованием глобальных сообщений локали.
[!TIP] Применение rt для программного перевода сообщений локали с использованием tm, v-for, javascript for операторов.
[!WARNING] rt отличается от t тем, что обрабатывает сообщение локали напрямую, а не ключ сообщения локали. В rt нет внутреннего возврата к значениям по умолчанию. Вам нужно понимать и использовать структуру сообщения локали, возвращенного tm.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| message | MessageFunction<VueMessageType> | VueMessageType | Целевое сообщение локали для разрешения. Вам нужно указать сообщение локали, возвращенное tm. |
Возвращает
Переведенное сообщение
(message: MessageFunction<VueMessageType> | VueMessageType, plural: number, options?: TranslateOptions<Locales>): string;
Разрешение перевода сообщения локали для множественного числа
Подпись:
(message: MessageFunction<VueMessageType> | VueMessageType, plural: number, options?: TranslateOptions<Locales>): string;Подробности
Перегрузка rt.
В этой перегрузке rt возвращает множественное число переведенного сообщения.
[!TIP] Применение rt для программного перевода сообщений локали с использованием tm, v-for, javascript for операторов.
[!WARNING] rt отличается от t тем, что обрабатывает сообщение локали напрямую, а не ключ сообщения локали. В rt нет внутреннего возврата к значениям по умолчанию. Вам нужно понимать и использовать структуру сообщения локали, возвращенного tm.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| message | MessageFunction<VueMessageType> | VueMessageType | Целевое сообщение локали для разрешения. Вам нужно указать сообщение локали, возвращенное tm. |
| plural | number | Какое множественное число получить. 1 возвращает первое. |
| options | TranslateOptions<Locales> | Дополнительные параметры для перевода |
Возвращает
Переведенное сообщение
(message: MessageFunction<VueMessageType> | VueMessageType, list: unknown[], options?: TranslateOptions<Locales>): string;
Разрешение перевода сообщения локали для интерполяции списков
Подпись:
(message: MessageFunction<VueMessageType> | VueMessageType, list: unknown[], options?: TranslateOptions<Locales>): string;Подробности
Перегрузка rt.
В этой перегрузке rt возвращает множественное число переведенного сообщения.
[!TIP] Применение rt для программного перевода сообщений локали с использованием tm, v-for, javascript for операторов.
[!WARNING] rt отличается от t тем, что обрабатывает сообщение локали напрямую, а не ключ сообщения локали. В rt нет внутреннего возврата к значениям по умолчанию. Вам нужно понимать и использовать структуру сообщения локали, возвращенного tm.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| message | MessageFunction<VueMessageType> | VueMessageType | Целевое сообщение локали для разрешения. Вам нужно указать сообщение локали, возвращенное tm. |
| list | unknown[] | Значения для интерполяции списка. |
| options | TranslateOptions<Locales> | Дополнительные параметры для перевода |
Возвращает
Переведенное сообщение
(message: MessageFunction<VueMessageType> | VueMessageType, named: NamedValue, options?: TranslateOptions<Locales>): string;
Разрешение перевода сообщения локали для именованной интерполяции
Подпись:
(message: MessageFunction<VueMessageType> | VueMessageType, named: NamedValue, options?: TranslateOptions<Locales>): string;Подробности
Перегрузка rt.
В этой перегрузке rt для каждого заполнителя x сообщения локали должны содержать токен {x}.
[!TIP] Применение rt для программного перевода сообщений локали с использованием tm, v-for, javascript for операторов.
[!WARNING] rt отличается от t тем, что обрабатывает сообщение локали напрямую, а не ключ сообщения локали. В rt нет внутреннего возврата к значениям по умолчанию. Вам нужно понимать и использовать структуру сообщения локали, возвращенного tm.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| message | MessageFunction<VueMessageType> | VueMessageType | Целевое сообщение локали для разрешения. Вам нужно указать сообщение локали, возвращенное tm. |
| named | NamedValue | Значения для именованной интерполяции. |
| options | TranslateOptions<Locales> | Дополнительные параметры для перевода |
Возвращает
Переведенное сообщение
ComposerTranslation
Функции перевода сообщений локали
Подпись:
export interface ComposerTranslation<Messages extends Record<string, any> = {}, Locales = 'en-US', DefinedLocaleMessage extends RemovedIndexResources<DefineLocaleMessage> = RemovedIndexResources<DefineLocaleMessage>, C = IsEmptyObject<DefinedLocaleMessage> extends false ? JsonPaths<{
[K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
}> : never, M = IsEmptyObject<Messages> extends false ? TranslationsPaths<Messages> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>Подробности
Это интерфейс для Composer
(key: Key | ResourceKeys | number): string;
Перевод сообщения локали
Подпись:
<Key extends string>(key: Key | ResourceKeys | number): string;Подробности
Если используется в реактивном контексте, оно будет переоценено после изменения локали.
Если I18nScope 'local' или некоторые UseI18nOptions указаны в useI18n, то они будут переведены с приоритетом локальной области видимости сообщений локали по сравнению с глобальной областью видимости сообщений локали.
Если нет, то переводится с использованием глобальных сообщений локали.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, named: NamedValue): string;
Перевод сообщения локали для именованной интерполяции
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue): string;Подробности
Перегрузка t.
В этой перегрузке t для каждого заполнителя x сообщения локали должны содержать токен {x}.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| named | NamedValue | Значения для именованной интерполяции |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, named: NamedValue, plural: number): string;
Перевод сообщения локали для именованной интерполяции и множественного числа
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, plural: number): string;Подробности
Перегрузка t.
В этой перегрузке t для каждого заполнителя x сообщения локали должны содержать токен {x}, и возвращается множественное число переведенного сообщения.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| named | NamedValue | Значения для именованной интерполяции |
| plural | number | Какое множественное число получить. 1 возвращает первое. |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string;
Перевод сообщения локали для именованной интерполяции и множественного числа
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string;Подробности
Перегрузка t.
В этой перегрузке t для каждого заполнителя x сообщения локали должны содержать токен {x}, и если перевод не найден, возвращается сообщение по умолчанию.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| named | NamedValue | Значения для именованной интерполяции |
| defaultMsg | string | Сообщение по умолчанию, которое будет возвращено, если перевод не найден |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions<Locales>): string;
Перевод сообщения локали для именованной интерполяции
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions<Locales>): string;Подробности
Перегрузка t.
В этой перегрузке t для каждого заполнителя x сообщения локали должны содержать токен {x}.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
О подробностях опций см. .
Как использовать подробнее:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| named | NamedValue | Значения для именованной интерполяции |
| options | TranslateOptions<Locales> | Дополнительные параметры для перевода |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, plural: number): string;
Перевод сообщения локали для множественного числа
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, plural: number): string;Подробности
Перегрузка t.
В этой перегрузке t возвращается множественное число переведенного сообщения.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| plural | number | Какое множественное число получить. 1 возвращает первое. |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, plural: number, options: TranslateOptions<Locales>): string;
Перевод сообщения локали для множественного числа
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, plural: number, options: TranslateOptions<Locales>): string;Подробности
Перегрузка t.
В этой перегрузке t возвращается множественное число переведенного сообщения.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
О подробностях опций см. .
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| plural | number | Какое множественное число получить. 1 возвращает первое. |
| options | TranslateOptions<Locales> | Дополнительные параметры для перевода |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, defaultMsg: string): string;
Перевод сообщения локали для отсутствующего сообщения по умолчанию
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, defaultMsg: string): string;Подробности
Перегрузка t.
В этой перегрузке t если перевод не найден, возвращается сообщение по умолчанию.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| defaultMsg | string | Сообщение по умолчанию, которое будет возвращено, если перевод не найден |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions<Locales>): string;
Перевод сообщения локали для отсутствующего сообщения по умолчанию
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions<Locales>): string;Подробности
Перегрузка t.
В этой перегрузке t если перевод не найден, возвращается сообщение по умолчанию.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
О подробностях опций см. .
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| defaultMsg | string | Сообщение по умолчанию, которое будет возвращено, если перевод не найден |
| options | TranslateOptions<Locales> | Дополнительные параметры для перевода |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, list: unknown[]): string;
Перевод сообщения локали для интерполяции списков
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[]): string;Подробности
Перегрузка t.
В этой перегрузке t сообщения локали должны содержать {0}, {1}, … для каждого заполнителя в списке.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| list | unknown[] | Значения для интерполяции списка |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, list: unknown[], plural: number): string;
Перевод сообщения локали для интерполяции списков и множественного числа
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], plural: number): string;Подробности
Перегрузка t.
В этой перегрузке t сообщения локали должны содержать {0}, {1}, … для каждого заполнителя в списке, и возвращается множественное число переведенного сообщения.
См. также:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| list | unknown[] | Значения для интерполяции списка |
| plural | number | Какое множественное число получить. 1 возвращает первое. |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string;
Перевод сообщения локали для интерполяции списков и отсутствующего сообщения по умолчанию
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string;Подробности
Перегрузка t.
См. также:
В этой перегрузке t сообщения локали должны содержать {0}, {1}, … для каждого заполнителя в списке, и если перевод не найден, возвращается сообщение по умолчанию.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| list | unknown[] | Значения для интерполяции списка |
| defaultMsg | string | Сообщение по умолчанию, которое будет возвращено, если перевод не найден |
Возвращает
Переведенное сообщение
(key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions<Locales>): string;
Перевод сообщения локали для интерполяции списков
Подпись:
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions<Locales>): string;Подробности
Перегрузка t.
В этой перегрузке t сообщения локали должны содержать {0}, {1}, … для каждого заполнителя в списке.
Вы также можете подавить предупреждение, если отсутствует перевод согласно опциям.
О подробностях опций см. .
Как использовать подробнее:
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Key | ResourceKeys | number | Ключ целевого сообщения локали |
| list | unknown[] | Значения для интерполяции списка |
| options | TranslateOptions<Locales> | Дополнительные параметры для перевода |
Возвращает
Переведенное сообщение
MissingHandler
Подпись:
export type MissingHandler = (locale: Locale, key: Path, instance?: ComponentInternalInstance | GenericComponentInstance, type?: string) => string | void;useI18n
Использование Composition API для Vue I18n
Подпись:
export declare function useI18n<Schema = DefaultLocaleMessageSchema, Locales = 'en-US', Options extends UseI18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>> = UseI18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>>>(options?: Options): Composer<NonNullable<Options['messages']>, NonNullable<Options['datetimeFormats']>, NonNullable<Options['numberFormats']>, NonNullable<Options['locale']>>;Параметры типа
| Параметр | Описание |
|---|---|
| Schema | Схема ресурсов i18n (сообщения, форматы даты и времени, форматы чисел), по умолчанию |
| Locales | Локали схемы ресурсов i18n, по умолчанию en-US |
Подробности
Эта функция в основном используется в setup.
Если указаны опции, для каждого компонента создается экземпляр Composer, и вы можете выполнять локализацию в компоненте.
Если опции не указаны, вы можете выполнять локализацию с использованием глобального Composer.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| options | Опции | Опции, см. UseI18nOptions |
Возвращает
Экземпляр Composer
Примеры
Случай: локализация на основе ресурсов компонента
<template>
<form>
<label>{{ t('language') }}</label>
<select v-model="locale">
<option value="en">en</option>
<option value="ja">ja</option>
</select>
</form>
<p>сообщение: {{ t('hello') }}</p>
</template>
<script>
import { useI18n } from 'vue-i18n'
export default {
setup() {
const { t, locale } = useI18n({
locale: 'ja',
messages: {
en: { ... },
ja: { ... }
}
})
// Что-то еще нужно сделать ...
return { ..., t, locale }
}
}
</script>UseI18nOptions
Опции I18n для useI18n
Подпись:
export type UseI18nOptions<Schema extends {
message?: unknown;
datetime?: unknown;
number?: unknown;
} = {
message: DefaultLocaleMessageSchema;
datetime: DefaultDateTimeFormatSchema;
number: DefaultNumberFormatSchema;
}, Locales extends {
messages: unknown;
datetimeFormats: unknown;
numberFormats: unknown;
} | string = Locale, Options extends ComposerOptions<Schema, Locales> = ComposerOptions<Schema, Locales>> = ComposerAdditionalOptions & Options;Подробности
UseI18nOptions наследуется от ComposerAdditionalOptions и ComposerOptions, поэтому вы можете указать эти опции.
VueMessageType
Подпись:
export type VueMessageType = string | ResourceNode | VNode;