Общие
createI18n
Фабрика Vue I18n
Подпись:
export declare function createI18n<Schema extends object = DefaultLocaleMessageSchema, Locales extends string | object = 'en-US', Options extends I18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>> = I18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>>, Messages extends Record<string, unknown> = NonNullable<Options['messages']> extends Record<string, unknown> ? NonNullable<Options['messages']> : {}, DateTimeFormats extends Record<string, unknown> = NonNullable<Options['datetimeFormats']> extends Record<string, unknown> ? NonNullable<Options['datetimeFormats']> : {}, NumberFormats extends Record<string, unknown> = NonNullable<Options['numberFormats']> extends Record<string, unknown> ? NonNullable<Options['numberFormats']> : {}, OptionLocale = Options['locale'] extends string ? Options['locale'] : Locale>(options: Options): I18n<Messages, DateTimeFormats, NumberFormats, OptionLocale>;Параметры типа
| Параметр | Описание |
|---|---|
| Schema | Схема ресурсов i18n (сообщения, форматы даты и времени, форматы чисел), по умолчанию |
| Locales | Локали схемы ресурсов i18n, по умолчанию en-US |
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| options | Options | Опции, см. I18nOptions |
Возвращает
Экземпляр I18n
См. также:
Примеры
import { createApp } from 'vue'
import { createI18n, useI18n } from 'vue-i18n'
// вызов с опцией I18n
const i18n = createI18n({
locale: 'ja',
messages: {
en: { ... },
ja: { ... }
}
})
const App = {
setup() {
// ...
const { t } = useI18n({ ... })
return { ... , t }
}
}
const app = createApp(App)
// установить!
app.use(i18n)
app.mount('#app')DefineDateTimeFormat
Определение типа формата даты и времени
Подпись:
export interface DefineDateTimeFormat extends DateTimeFormatДетали
Этот тип используется для строгого определения типа формата даты и времени.
Тип, определённый этим, может использоваться в глобальной области видимости.
Примеры
// type.d.ts (файл `.d.ts` в вашем приложении)
import { DefineDateTimeFormat } from 'vue-i18n'
declare module 'vue-i18n' {
export interface DefineDateTimeFormat {
short: {
hour: 'numeric'
timezone: string
}
}
}DefineLocaleMessage
Определение типа локализованного сообщения
Подпись:
export interface DefineLocaleMessage extends LocaleMessage<VueMessageType>Детали
Этот тип используется для строгого определения типа локализованного сообщения.
Тип, определённый этим, может использоваться в глобальной области видимости.
Примеры
// type.d.ts (файл `.d.ts` в вашем приложении)
import { DefineLocaleMessage } from 'vue-i18n'
declare module 'vue-i18n' {
export interface DefineLocaleMessage {
title: string
menu: {
login: string
}
}
}DefineNumberFormat
Определение типа формата числа
Подпись:
export interface DefineNumberFormat extends NumberFormatДетали
Этот тип используется для строгого определения типа формата числа.
Тип, определённый этим, может использоваться в глобальной области видимости.
Примеры
// type.d.ts (файл `.d.ts` в вашем приложении)
import { DefineNumberFormat } from 'vue-i18n'
declare module 'vue-i18n' {
export interface DefineNumberFormat {
currency: {
style: 'currency'
currencyDisplay: 'symbol'
currency: string
}
}
}ExportedGlobalComposer
Экспортируемый глобальный экземпляр составителя (composer)
Подпись:
export interface ExportedGlobalComposerДетали
Этот интерфейс — глобальный составитель, предоставляемый интерфейс, который внедряется в каждый компонент с помощью app.config.globalProperties.
availableLocales
Доступные локали
Подпись:
readonly availableLocales: Locale[];Детали
Это свойство является свойством типа прокси для Composer#availableLocales. Подробности см. в
fallbackLocale
Резервная локаль
Подпись:
fallbackLocale: FallbackLocale;Детали
Это свойство является свойством типа прокси для Composer#fallbackLocale. Подробности см. в
locale
Локаль
Подпись:
locale: Locale;Детали
Это свойство является свойством типа прокси для Composer#locale. Подробности см. в
I18n
Экземпляр I18n
Подпись:
export interface I18n<Messages extends Record<string, unknown> = {}, DateTimeFormats extends Record<string, unknown> = {}, NumberFormats extends Record<string, unknown> = {}, OptionLocale = Locale>Детали
Экземпляр, необходимый для установки как плагина Vue
global
Свойство доступно для глобального экземпляра составителя (composer)
Экземпляр этого свойства находится в глобальной области.
Подпись:
readonly global: Composer<Messages, DateTimeFormats, NumberFormats, OptionLocale>;dispose()
Освобождение ресурсов глобальной области
Подпись:
dispose(): void;Параметры
| Параметр | Тип | Описание |
|---|
install(app, options)
Точка входа установки
Подпись:
install(app: App, ...options: unknown[]): void;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| app | App | Целевой экземпляр Vue приложения |
| options | unknown[] | Опции установки |
I18nAdditionalOptions
Дополнительные параметры I18n
Подпись:
export interface I18nAdditionalOptionsДетали
I18nAdditionalOptions — специфичные параметры конфигурации Vue I18n для установки плагина и управления поведением.
globalInjection
Нужно ли внедрять глобальные свойства и функции в каждый компонент.
Подпись:
globalInjection?: boolean;Детали
Если установлено в true, то свойства и методы, начинающиеся с $, внедряются в компоненты Vue.
См. также:
- Неявное с внедренными свойствами и функциями
- ссылка на ComponentCustomProperties
true
I18nOptions
Параметры I18n для createI18n
Подпись:
export type I18nOptions<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 = ComposerOptions<Schema, Locales>> = I18nAdditionalOptions & Options;I18nPluginOptions
Параметры плагина Vue I18n
Подпись:
export interface I18nPluginOptionsДетали
Параметры, указанные при установке Vue I18n в качестве плагина Vue с использованием app.use.
globalInstall
Нужно ли глобально устанавливать компоненты, предлагаемые Vue I18n
**Подпись: **
globalInstall?: boolean;Детали
Если эта опция включена, компоненты будут установлены глобально во время app.use.
Если вы хотите установить вручную синтаксисом import, вы можете установить значение false, чтобы установить по мере необходимости.
true
I18nScope
Область I18n
Подпись:
export type I18nScope = 'local' | 'parent' | 'global';VERSION
Версия Vue I18n
Подпись:
VERSION: stringДетали
Формат Semver. То же самое, что и поле version в package.json.
DateTimeOptions
Опции даты и времени
Подпись:
export interface DateTimeOptions<Key = string, Locales = Locale> extends Intl.DateTimeFormatOptions, LocaleOptions<Locales>Детали
Опции для API форматирования даты и времени
fallbackWarn
Подпись:
fallbackWarn?: boolean;Детали
Нужно ли разрешать ключи форматирования, когда в вашем языке нет форматирования для ключа
key
Подпись:
key?: Key;Детали
Ключ целевого формата
missingWarn
Подпись:
missingWarn?: boolean;Детали
Нужно ли подавлять предупреждения, выводимые при сбое локализации
part
Подпись:
part?: boolean;Детали
Нужно ли использовать Intel.DateTimeFormat#formatToParts
DefineCoreLocaleMessage
Определение типа локализованного сообщения для пакета @intlify/core-base
Подпись:
export interface DefineCoreLocaleMessage extends LocaleMessage<string>Детали
Этот тип используется для строгого определения типа локализованного сообщения.
Примеры
// type.d.ts (файл `.d.ts` в вашем приложении)
import { DefineCoreLocaleMessage } from '@intlify/core-base'
declare module '@intlify/core-base' {
export interface DefineCoreLocaleMessage {
title: string
menu: {
login: string
}
}
}FallbackLocale
Подпись:
export type FallbackLocale = Locale | Locale[] | {
[locale in string]: Locale[];
} | false;fallbackWithLocaleChain
Резервное значение с цепочкой локалей
Подпись:
export declare function fallbackWithLocaleChain<Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];Детали
Функция резервной локали, реализованная с использованием алгоритма цепочки резервных значений. Используется по умолчанию в VueI18n.
См. также
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| ctx | CoreContext<Message> | контекст |
| fallback | FallbackLocale | резервная локаль |
| start | Locale | Начальная локаль |
Возвращает
Резервные локали
fallbackWithSimple
Резервное значение с простой реализацией
Подпись:
export declare function fallbackWithSimple<Message = string>(_ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];Детали
Функция резервной локали, реализованная с использованием простого алгоритма резервного значения.
Как правило, она возвращает значение, указанное в свойстве fallbackLocale, и обрабатывается внутри intlify.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| _ctx | CoreContext<Message> | |
| fallback | FallbackLocale | резервная локаль |
| start | Locale | Начальная локаль |
Возвращает
Резервные локали
LinkedModifiers
Подпись:
export type LinkedModifiers<T = string> = {
[key: string]: LinkedModify<T>;
};Locale
Подпись:
export type Locale = IsNever<GeneratedLocale> extends true ? string : GeneratedLocale;LocaleDetector
Подпись:
export interface LocaleDetector<Args extends any[] = any[]>resolvedOnce
(...args: Args): Locale | Promise<Locale>;
LocaleFallbacker
Обработчик резервной локали
Подпись:
export type LocaleFallbacker = <Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale) => Locale[];LocaleMessage
Подпись:
export type LocaleMessage<Message = string> = Record<string, LocaleMessageValue<Message>>;LocaleMessageDictionary
Подпись:
export type LocaleMessageDictionary<T, Message = string> = {
[K in keyof T]: LocaleMessageType<T[K], Message>;
};LocaleMessages
Подпись:
export type LocaleMessages<Schema, Locales = Locale, _Message = string> = LocaleRecord<UnionToTuple<Locales>, Schema>;LocaleMessageType
Подпись:
export type LocaleMessageType<T, Message = string> = T extends string ? string : T extends () => Promise<infer P> ? LocaleMessageDictionary<P, Message> : T extends (...args: infer Arguments) => any ? (...args: Arguments) => ReturnType<T> : T extends Record<string, unknown> ? LocaleMessageDictionary<T, Message> : T extends Array<T> ? {
[K in keyof T]: T[K];
} : T;LocaleMessageValue
Подпись:
export type LocaleMessageValue<Message = string> = LocaleMessageDictionary<any, Message> | string;LocaleOptions
Подпись:
export interface LocaleOptions<Locales = Locale>locale
Подпись:
locale?: Locales | LocaleDetector;Детали
Локаль локализации
MessageCompiler
Компилятор сообщений
Подпись:
export type MessageCompiler<Message = string, MessageSource = string | ResourceNode> = (message: MessageSource, context: MessageCompilerContext) => MessageFunction<Message>;MessageCompilerContext
Контекст, передаваемый компилятору сообщений.
Подпись:
export type MessageCompilerContext = Pick<CompileOptions, 'onError' | 'onCacheKey'> & {
warnHtmlMessage?: boolean;
key: string;
locale: Locale;
};MessageContext
Контекст сообщения.
Подпись:
export interface MessageContext<T = string>type
Тип сообщения, который будет обработан функцией сообщения.
Подпись:
type: string;Детали
Обычно text, вам нужно вернуть строку в функции сообщения.
values
Значения сообщения.
Подпись:
values: Record<string, unknown>;Детали
Значения сообщения — это аргументы, переданные из функции перевода, таких как $t, t, или translate.
Примеры
vue-i18n $t (или t) случай:
<p>{{ $t('greeting', { name: 'DIO' }) }}</p> <!-- `{ name: 'DIO' }` — значения сообщения -->Случай @intlify/core (@intlify/core-base) translate:
translate(context, 'foo.bar', ['dio']) // `['dio']` — значения сообщенияlinked(key, modifier)
Разрешить связанное сообщение.
Подпись:
linked(key: Path, modifier?: string): MessageType<T>;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Path | Ключ сообщения |
| modifier | string | Модификатор |
Возвращает
Разрешенное сообщение.
linked(key, modifier, type)
Перегруженный метод linked
Подпись:
linked(key: Path, modifier?: string, type?: string): MessageType<T>;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Path | Ключ сообщения |
| modifier | string | Модификатор |
| type | string | Тип сообщения |
Возвращает
Разрешенное сообщение.
linked(key, options)
Перегруженный метод linked
Подпись:
linked(key: Path, options?: LinkedOptions): MessageType<T>;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | Path | Ключ сообщения |
| options | LinkedOptions | Опции связывания |
Возвращает
Разрешенное сообщение.
list(index)
Разрешить значение сообщения из списка.
Подпись:
list(index: number): unknown;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| index | number | Индекс значений сообщений. |
Возвращает
Разрешенное значение сообщения.
Примеры
const messages = {
en: {
greeting: ({ list }) => `hello, ${list(0)}!`
}
}named(key)
Разрешить значение сообщения по имени.
Подпись:
named(key: string): unknown;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | string | Ключ значения сообщения. |
Возвращает
Разрешенное значение сообщения.
Примеры
const messages = {
en: {
greeting: ({ named }) => `hello, ${named('name')}!`
}
}plural(messages)
Разрешить сообщение с индексом множественного числа.
Подпись:
plural(messages: T[]): T;Подробности
Разрешается с индексом множественного числа с помощью функции перевода.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| messages | T[] | Сообщения, которые разрешаются с индексом множественного числа с помощью функции перевода. |
Возвращает
Разрешенное сообщение.
Примеры
const messages = {
en: {
car: ({ plural }) => plural(['car', 'cars']),
apple: ({ plural, named }) =>
plural([
'no apples',
'one apple',
`${named('count')} apples`
])
}
}MessageFunction
Функция сообщения.
Подпись:
export type MessageFunction<T = string> = MessageFunctionCallable | MessageFunctionInternal<T>;MessageFunctionReturn
Подпись:
export type MessageFunctionReturn<T = string> = T extends string ? MessageType<T> : MessageType<T>[];MessageResolver
Разрешитель сообщений
Подпись:
export type MessageResolver = (obj: unknown, path: Path) => PathValue;NamedValue
Подпись:
export type NamedValue<T = {}> = T & Record<string, unknown>;NumberOptions
Опции чисел
Подпись:
export interface NumberOptions<Key = string, Locales = Locale> extends Intl.NumberFormatOptions, LocaleOptions<Locales>Детали
Опции для API форматирования чисел
fallbackWarn
Подпись:
fallbackWarn?: boolean;Детали
Нужно ли разрешать ключи форматирования, когда в вашем языке нет форматирования для ключа
key
Подпись:
key?: Key;Детали
Целевой ключ формата
missingWarn
Подпись:
missingWarn?: boolean;Детали
Нужно ли подавлять предупреждения, выводимые при сбое локализации
part
Подпись:
part?: boolean;Детали
Нужно ли использовать Intel.NumberFormat#formatToParts
Path
Подпись:
export type Path = string;PathValue
Подпись:
export type PathValue = string | number | boolean | Function | null | {
[key: string]: PathValue;
} | PathValue[];PluralizationRules
Подпись:
export type PluralizationRules = {
[locale: string]: PluralizationRule;
};PostTranslationHandler
Подпись:
export type PostTranslationHandler<Message = string> = (translated: MessageFunctionReturn<Message>, key: string) => MessageFunctionReturn<Message>;registerLocaleFallbacker
Зарегистрировать обработчик резервной локали
Подпись:
export declare function registerLocaleFallbacker(fallbacker: LocaleFallbacker): void;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| fallbacker | LocaleFallbacker | Функция LocaleFallbacker |
registerMessageResolver
Зарегистрировать разрешитель сообщений
Подпись:
export declare function registerMessageResolver(resolver: MessageResolver): void;Параметры
| Параметр | Тип | Описание |
|---|---|---|
| resolver | MessageResolver | Функция MessageResolver |
resolveValue
Разрешитель сообщений
Подпись:
export declare function resolveValue(obj: unknown, path: Path): PathValue;Детали
Разрешает сообщения. Сообщения с иерархической структурой, такими как объекты, могут быть разрешены. Этот разрешитель используется по умолчанию в VueI18n.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| obj | unknown | Целевой объект для разрешения с помощью пути |
| path | Path | путь для разрешения значения сообщения |
Возвращает
Разрешённое значение пути
resolveWithKeyValue
Разрешитель сообщений с ключом-значением
Подпись:
export declare function resolveWithKeyValue(obj: unknown, path: Path): PathValue;Детали
Разрешает сообщения с ключом-значением. Обратите внимание, что сообщения с иерархической структурой, такими как объекты, не могут быть разрешены
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| obj | unknown | Целевой объект для разрешения с помощью пути |
| path | Path | путь для разрешения значения сообщения |
Возвращает
Разрешённое значение пути
TranslateOptions
Опции перевода
Подпись:
export interface TranslateOptions<Locales = Locale> extends LocaleOptions<Locales>Детали
Опции для API перевода
default
Подпись:
default?: string | boolean;Детали
Сообщение по умолчанию, если произошёл сбой перевода
escapeParameter
Подпись:
escapeParameter?: boolean;Детали
Нужно ли экранировать параметры для списков или именованных значений интерполяции
fallbackWarn
Подпись:
fallbackWarn?: boolean;Детали
Нужно ли делать интерполяцию шаблонов по ключам перевода, когда в вашем языке отсутствует перевод для ключа
list
Подпись:
list?: unknown[];Детали
Интерполяция списка
missingWarn
Подпись:
missingWarn?: boolean;Детали
Нужно ли подавлять предупреждения, выводимые при сбое локализации
named
Подпись:
named?: NamedValue;Детали
Интерполяция по имени
plural
Подпись:
plural?: number;Детали
Число выбора множественного числа
resolvedMessage
Подпись:
resolvedMessage?: boolean;Детали
Указывает, было ли сообщение разрешено