Skip to content

Общие ​

createI18n ​

Фабрика Vue I18n

Подпись:

typescript
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

Параметры ​

ПараметрТипОписание
optionsOptionsОпции, см. I18nOptions

Возвращает ​

Экземпляр I18n

См. также:

Примеры

js
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 ​

Определение типа формата даты и времени

Подпись:

typescript
export interface DefineDateTimeFormat extends DateTimeFormat

Детали

Этот тип используется для строгого определения типа формата даты и времени.

Тип, определённый этим, может использоваться в глобальной области видимости.

Примеры

ts
// type.d.ts (файл `.d.ts` в вашем приложении)
import { DefineDateTimeFormat } from 'vue-i18n'

declare module 'vue-i18n' {
  export interface DefineDateTimeFormat {
    short: {
      hour: 'numeric'
      timezone: string
    }
  }
}

DefineLocaleMessage ​

Определение типа локализованного сообщения

Подпись:

typescript
export interface DefineLocaleMessage extends LocaleMessage<VueMessageType>

Детали

Этот тип используется для строгого определения типа локализованного сообщения.

Тип, определённый этим, может использоваться в глобальной области видимости.

Примеры

ts
// type.d.ts (файл `.d.ts` в вашем приложении)
import { DefineLocaleMessage } from 'vue-i18n'

declare module 'vue-i18n' {
  export interface DefineLocaleMessage {
    title: string
    menu: {
      login: string
    }
  }
}

DefineNumberFormat ​

Определение типа формата числа

Подпись:

typescript
export interface DefineNumberFormat extends NumberFormat

Детали

Этот тип используется для строгого определения типа формата числа.

Тип, определённый этим, может использоваться в глобальной области видимости.

Примеры

ts
// 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)

Подпись:

typescript
export interface ExportedGlobalComposer

Детали

Этот интерфейс — глобальный составитель, предоставляемый интерфейс, который внедряется в каждый компонент с помощью app.config.globalProperties.

availableLocales ​

Доступные локали

Подпись:

typescript
readonly availableLocales: Locale[];

Детали

Это свойство является свойством типа прокси для Composer#availableLocales. Подробности см. в

fallbackLocale ​

Резервная локаль

Подпись:

typescript
fallbackLocale: FallbackLocale;

Детали

Это свойство является свойством типа прокси для Composer#fallbackLocale. Подробности см. в

locale ​

Локаль

Подпись:

typescript
locale: Locale;

Детали

Это свойство является свойством типа прокси для Composer#locale. Подробности см. в

I18n ​

Экземпляр I18n

Подпись:

typescript
export interface I18n<Messages extends Record<string, unknown> = {}, DateTimeFormats extends Record<string, unknown> = {}, NumberFormats extends Record<string, unknown> = {}, OptionLocale = Locale>

Детали

Экземпляр, необходимый для установки как плагина Vue

global ​

Свойство доступно для глобального экземпляра составителя (composer)

Экземпляр этого свойства находится в глобальной области.

Подпись:

typescript
readonly global: Composer<Messages, DateTimeFormats, NumberFormats, OptionLocale>;

dispose() ​

Освобождение ресурсов глобальной области

Подпись:

typescript
dispose(): void;

Параметры ​

ПараметрТипОписание

install(app, options) ​

Точка входа установки

Подпись:

typescript
install(app: App, ...options: unknown[]): void;

Параметры ​

ПараметрТипОписание
appAppЦелевой экземпляр Vue приложения
optionsunknown[]Опции установки

I18nAdditionalOptions ​

Дополнительные параметры I18n

Подпись:

typescript
export interface I18nAdditionalOptions

Детали

I18nAdditionalOptions — специфичные параметры конфигурации Vue I18n для установки плагина и управления поведением.

globalInjection ​

Нужно ли внедрять глобальные свойства и функции в каждый компонент.

Подпись:

typescript
globalInjection?: boolean;

Детали

Если установлено в true, то свойства и методы, начинающиеся с $, внедряются в компоненты Vue.

См. также:

true

I18nOptions ​

Параметры I18n для createI18n

Подпись:

typescript
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

Подпись:

typescript
export interface I18nPluginOptions

Детали

Параметры, указанные при установке Vue I18n в качестве плагина Vue с использованием app.use.

globalInstall ​

Нужно ли глобально устанавливать компоненты, предлагаемые Vue I18n

**Подпись: **

typescript
globalInstall?: boolean;

Детали

Если эта опция включена, компоненты будут установлены глобально во время app.use.

Если вы хотите установить вручную синтаксисом import, вы можете установить значение false, чтобы установить по мере необходимости.

true

I18nScope ​

Область I18n

Подпись:

typescript
export type I18nScope = 'local' | 'parent' | 'global';

VERSION ​

Версия Vue I18n

Подпись:

typescript
VERSION: string

Детали

Формат Semver. То же самое, что и поле version в package.json.

DateTimeOptions ​

Опции даты и времени

Подпись:

typescript
export interface DateTimeOptions<Key = string, Locales = Locale> extends Intl.DateTimeFormatOptions, LocaleOptions<Locales>

Детали

Опции для API форматирования даты и времени

fallbackWarn ​

Подпись:

typescript
fallbackWarn?: boolean;

Детали

Нужно ли разрешать ключи форматирования, когда в вашем языке нет форматирования для ключа

key ​

Подпись:

typescript
key?: Key;

Детали

Ключ целевого формата

missingWarn ​

Подпись:

typescript
missingWarn?: boolean;

Детали

Нужно ли подавлять предупреждения, выводимые при сбое локализации

part ​

Подпись:

typescript
part?: boolean;

Детали

Нужно ли использовать Intel.DateTimeFormat#formatToParts

DefineCoreLocaleMessage ​

Определение типа локализованного сообщения для пакета @intlify/core-base

Подпись:

typescript
export interface DefineCoreLocaleMessage extends LocaleMessage<string>

Детали

Этот тип используется для строгого определения типа локализованного сообщения.

Примеры

ts
// 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 ​

Подпись:

typescript
export type FallbackLocale = Locale | Locale[] | {
    [locale in string]: Locale[];
} | false;

fallbackWithLocaleChain ​

Резервное значение с цепочкой локалей

Подпись:

typescript
export declare function fallbackWithLocaleChain<Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];

Детали

Функция резервной локали, реализованная с использованием алгоритма цепочки резервных значений. Используется по умолчанию в VueI18n.

См. также

Параметры ​

ПараметрТипОписание
ctxCoreContext<Message>контекст
fallbackFallbackLocaleрезервная локаль
startLocaleНачальная локаль

Возвращает ​

Резервные локали

fallbackWithSimple ​

Резервное значение с простой реализацией

Подпись:

typescript
export declare function fallbackWithSimple<Message = string>(_ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];

Детали

Функция резервной локали, реализованная с использованием простого алгоритма резервного значения.

Как правило, она возвращает значение, указанное в свойстве fallbackLocale, и обрабатывается внутри intlify.

Параметры ​

ПараметрТипОписание
_ctxCoreContext<Message>
fallbackFallbackLocaleрезервная локаль
startLocaleНачальная локаль

Возвращает ​

Резервные локали

LinkedModifiers ​

Подпись:

typescript
export type LinkedModifiers<T = string> = {
    [key: string]: LinkedModify<T>;
};

Locale ​

Подпись:

typescript
export type Locale = IsNever<GeneratedLocale> extends true ? string : GeneratedLocale;

LocaleDetector ​

Подпись:

typescript
export interface LocaleDetector<Args extends any[] = any[]>

resolvedOnce ​

(...args: Args): Locale | Promise<Locale>; ​

LocaleFallbacker ​

Обработчик резервной локали

Подпись:

typescript
export type LocaleFallbacker = <Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale) => Locale[];

LocaleMessage ​

Подпись:

typescript
export type LocaleMessage<Message = string> = Record<string, LocaleMessageValue<Message>>;

LocaleMessageDictionary ​

Подпись:

typescript
export type LocaleMessageDictionary<T, Message = string> = {
    [K in keyof T]: LocaleMessageType<T[K], Message>;
};

LocaleMessages ​

Подпись:

typescript
export type LocaleMessages<Schema, Locales = Locale, _Message = string> = LocaleRecord<UnionToTuple<Locales>, Schema>;

LocaleMessageType ​

Подпись:

typescript
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 ​

Подпись:

typescript
export type LocaleMessageValue<Message = string> = LocaleMessageDictionary<any, Message> | string;

LocaleOptions ​

Подпись:

typescript
export interface LocaleOptions<Locales = Locale>

locale ​

Подпись:

typescript
locale?: Locales | LocaleDetector;

Детали

Локаль локализации

MessageCompiler ​

Компилятор сообщений

Подпись:

typescript
export type MessageCompiler<Message = string, MessageSource = string | ResourceNode> = (message: MessageSource, context: MessageCompilerContext) => MessageFunction<Message>;

MessageCompilerContext ​

Контекст, передаваемый компилятору сообщений.

Подпись:

typescript
export type MessageCompilerContext = Pick<CompileOptions, 'onError' | 'onCacheKey'> & {
    warnHtmlMessage?: boolean;
    key: string;
    locale: Locale;
};

MessageContext ​

Контекст сообщения.

Подпись:

typescript
export interface MessageContext<T = string>

type ​

Тип сообщения, который будет обработан функцией сообщения.

Подпись:

typescript
type: string;

Детали

Обычно text, вам нужно вернуть строку в функции сообщения.

values ​

Значения сообщения.

Подпись:

typescript
values: Record<string, unknown>;

Детали

Значения сообщения — это аргументы, переданные из функции перевода, таких как $t, t, или translate.

Примеры

vue-i18n $t (или t) случай:

html
<p>{{ $t('greeting', { name: 'DIO' }) }}</p> <!-- `{ name: 'DIO' }` — значения сообщения -->

Случай @intlify/core (@intlify/core-base) translate:

js
translate(context, 'foo.bar', ['dio']) // `['dio']` — значения сообщения

linked(key, modifier) ​

Разрешить связанное сообщение.

Подпись:

typescript
linked(key: Path, modifier?: string): MessageType<T>;

Параметры ​

ПараметрТипОписание
keyPathКлюч сообщения
modifierstringМодификатор

Возвращает ​

Разрешенное сообщение.

linked(key, modifier, type) ​

Перегруженный метод linked

Подпись:

typescript
linked(key: Path, modifier?: string, type?: string): MessageType<T>;

Параметры ​

ПараметрТипОписание
keyPathКлюч сообщения
modifierstringМодификатор
typestringТип сообщения

Возвращает ​

Разрешенное сообщение.

linked(key, options) ​

Перегруженный метод linked

Подпись:

typescript
linked(key: Path, options?: LinkedOptions): MessageType<T>;

Параметры ​

ПараметрТипОписание
keyPathКлюч сообщения
optionsLinkedOptionsОпции связывания

Возвращает ​

Разрешенное сообщение.

list(index) ​

Разрешить значение сообщения из списка.

Подпись:

typescript
list(index: number): unknown;

Параметры ​

ПараметрТипОписание
indexnumberИндекс значений сообщений.

Возвращает ​

Разрешенное значение сообщения.

Примеры

js
const messages = {
  en: {
    greeting: ({ list }) => `hello, ${list(0)}!`
  }
}

named(key) ​

Разрешить значение сообщения по имени.

Подпись:

typescript
named(key: string): unknown;

Параметры ​

ПараметрТипОписание
keystringКлюч значения сообщения.

Возвращает ​

Разрешенное значение сообщения.

Примеры

js
const messages = {
  en: {
    greeting: ({ named }) => `hello, ${named('name')}!`
  }
}

plural(messages) ​

Разрешить сообщение с индексом множественного числа.

Подпись:

typescript
plural(messages: T[]): T;

Подробности

Разрешается с индексом множественного числа с помощью функции перевода.

Параметры ​

ПараметрТипОписание
messagesT[]Сообщения, которые разрешаются с индексом множественного числа с помощью функции перевода.

Возвращает ​

Разрешенное сообщение.

Примеры

js
const messages = {
  en: {
    car: ({ plural }) => plural(['car', 'cars']),
    apple: ({ plural, named }) =>
      plural([
        'no apples',
        'one apple',
        `${named('count')} apples`
      ])
  }
}

MessageFunction ​

Функция сообщения.

Подпись:

typescript
export type MessageFunction<T = string> = MessageFunctionCallable | MessageFunctionInternal<T>;

MessageFunctionReturn ​

Подпись:

typescript
export type MessageFunctionReturn<T = string> = T extends string ? MessageType<T> : MessageType<T>[];

MessageResolver ​

Разрешитель сообщений

Подпись:

typescript
export type MessageResolver = (obj: unknown, path: Path) => PathValue;

NamedValue ​

Подпись:

typescript
export type NamedValue<T = {}> = T & Record<string, unknown>;

NumberOptions ​

Опции чисел

Подпись:

typescript
export interface NumberOptions<Key = string, Locales = Locale> extends Intl.NumberFormatOptions, LocaleOptions<Locales>

Детали

Опции для API форматирования чисел

fallbackWarn ​

Подпись:

typescript
fallbackWarn?: boolean;

Детали

Нужно ли разрешать ключи форматирования, когда в вашем языке нет форматирования для ключа

key ​

Подпись:

typescript
key?: Key;

Детали

Целевой ключ формата

missingWarn ​

Подпись:

typescript
missingWarn?: boolean;

Детали

Нужно ли подавлять предупреждения, выводимые при сбое локализации

part ​

Подпись:

typescript
part?: boolean;

Детали

Нужно ли использовать Intel.NumberFormat#formatToParts

Path ​

Подпись:

typescript
export type Path = string;

PathValue ​

Подпись:

typescript
export type PathValue = string | number | boolean | Function | null | {
    [key: string]: PathValue;
} | PathValue[];

PluralizationRules ​

Подпись:

typescript
export type PluralizationRules = {
    [locale: string]: PluralizationRule;
};

PostTranslationHandler ​

Подпись:

typescript
export type PostTranslationHandler<Message = string> = (translated: MessageFunctionReturn<Message>, key: string) => MessageFunctionReturn<Message>;

registerLocaleFallbacker ​

Зарегистрировать обработчик резервной локали

Подпись:

typescript
export declare function registerLocaleFallbacker(fallbacker: LocaleFallbacker): void;

Параметры ​

ПараметрТипОписание
fallbackerLocaleFallbackerФункция LocaleFallbacker

registerMessageResolver ​

Зарегистрировать разрешитель сообщений

Подпись:

typescript
export declare function registerMessageResolver(resolver: MessageResolver): void;

Параметры ​

ПараметрТипОписание
resolverMessageResolverФункция MessageResolver

resolveValue ​

Разрешитель сообщений

Подпись:

typescript
export declare function resolveValue(obj: unknown, path: Path): PathValue;

Детали

Разрешает сообщения. Сообщения с иерархической структурой, такими как объекты, могут быть разрешены. Этот разрешитель используется по умолчанию в VueI18n.

Параметры ​

ПараметрТипОписание
objunknownЦелевой объект для разрешения с помощью пути
pathPathпуть для разрешения значения сообщения

Возвращает ​

Разрешённое значение пути

resolveWithKeyValue ​

Разрешитель сообщений с ключом-значением

Подпись:

typescript
export declare function resolveWithKeyValue(obj: unknown, path: Path): PathValue;

Детали

Разрешает сообщения с ключом-значением. Обратите внимание, что сообщения с иерархической структурой, такими как объекты, не могут быть разрешены

Параметры ​

ПараметрТипОписание
objunknownЦелевой объект для разрешения с помощью пути
pathPathпуть для разрешения значения сообщения

Возвращает ​

Разрешённое значение пути

TranslateOptions ​

Опции перевода

Подпись:

typescript
export interface TranslateOptions<Locales = Locale> extends LocaleOptions<Locales>

Детали

Опции для API перевода

default ​

Подпись:

typescript
default?: string | boolean;

Детали

Сообщение по умолчанию, если произошёл сбой перевода

escapeParameter ​

Подпись:

typescript
escapeParameter?: boolean;

Детали

Нужно ли экранировать параметры для списков или именованных значений интерполяции

fallbackWarn ​

Подпись:

typescript
fallbackWarn?: boolean;

Детали

Нужно ли делать интерполяцию шаблонов по ключам перевода, когда в вашем языке отсутствует перевод для ключа

list ​

Подпись:

typescript
list?: unknown[];

Детали

Интерполяция списка

missingWarn ​

Подпись:

typescript
missingWarn?: boolean;

Детали

Нужно ли подавлять предупреждения, выводимые при сбое локализации

named ​

Подпись:

typescript
named?: NamedValue;

Детали

Интерполяция по имени

plural ​

Подпись:

typescript
plural?: number;

Детали

Число выбора множественного числа

resolvedMessage ​

Подпись:

typescript
resolvedMessage?: boolean;

Детали

Указывает, было ли сообщение разрешено