Skip to content

General ​

createI18n ​

Vue I18n factory

Firma:

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>;

Parámetros de Tipo ​

ParámetroDescripción
SchemaEl esquema de los recursos i18n (mensajes, datetimeFormats, numberFormats), por defecto
LocalesLos idiomas del esquema de recursos i18n, por defecto en-US

Parámetros ​

ParámetroTipoDescripción
optionsOptionsUna opción, ver I18nOptions

Retorna ​

Instancia de I18n

Ver también:

Ejemplos

js
import { createApp } from 'vue'
import { createI18n, useI18n } from 'vue-i18n'

// llamar con opción I18n
const i18n = createI18n({
  locale: 'ja',
  messages: {
    en: { ... },
    ja: { ... }
  }
})

const App = {
  setup() {
    // ...
    const { t } = useI18n({ ... })
    return { ... , t }
  }
}

const app = createApp(App)

// ¡instalar!
app.use(i18n)
app.mount('#app')

DefineDateTimeFormat ​

La definición de tipo del formato de fecha y hora

Firma:

typescript
export interface DefineDateTimeFormat extends DateTimeFormat

Detalles

El typealias se usa para definir estrictamente el tipo del formato de fecha y hora.

El tipo definido por esto puede ser usado en el ámbito global.

Ejemplos

ts
// type.d.ts (archivo `.d.ts` en tu aplicación)
import { DefineDateTimeFormat } from 'vue-i18n'

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

DefineLocaleMessage ​

La definición de tipo del mensaje de localización

Firma:

typescript
export interface DefineLocaleMessage extends LocaleMessage<VueMessageType>

Detalles

El typealias se usa para definir estrictamente el tipo del mensaje de localización.

El tipo definido por esto puede ser usado en el ámbito global.

Ejemplos

ts
// type.d.ts (archivo `.d.ts` en tu aplicación)
import { DefineLocaleMessage } from 'vue-i18n'

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

DefineNumberFormat ​

La definición de tipo del formato numérico

Firma:

typescript
export interface DefineNumberFormat extends NumberFormat

Detalles

El typealias se usa para definir estrictamente el tipo del formato numérico.

El tipo definido por esto puede ser usado en el ámbito global.

Ejemplos

ts
// type.d.ts (archivo `.d.ts` en tu aplicación)
import { DefineNumberFormat } from 'vue-i18n'

declare module 'vue-i18n' {
  export interface DefineNumberFormat {
    currency: {
      style: 'currency'
      currencyDisplay: 'symbol'
      currency: string
    }
  }
}

ExportedGlobalComposer ​

Instancia del compositor global exportada

Firma:

typescript
export interface ExportedGlobalComposer

Detalles

Esta interfaz es el compositor global que proporciona la interfaz inyectada en cada componente con app.config.globalProperties.

availableLocales ​

Idiomas disponibles

Firma:

typescript
readonly availableLocales: Locale[];

Detalles

Esta propiedad es una propiedad proxy-like para Composer#availableLocales. Para más detalles, ver

fallbackLocale ​

Idioma de reserva

Firma:

typescript
fallbackLocale: FallbackLocale;

Detalles

Esta propiedad es una propiedad proxy-like para Composer#fallbackLocale. Para más detalles, ver

locale ​

Idioma

Firma:

typescript
locale: Locale;

Detalles

Esta propiedad es una propiedad proxy-like para Composer#locale. Para más detalles, ver

I18n ​

Instancia I18n

Firma:

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

Detalles

La instancia requerida para la instalación como plugin de Vue

global ​

La propiedad accesible a la instancia del Compositor global

Una instancia de esta propiedad es ámbito global*.

Firma:

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

dispose() ​

Liberar recurso del ámbito global

Firma:

typescript
dispose(): void;

Parámetros ​

ParámetroTipoDescripción

install(app, options) ​

Punto de entrada de instalación

Firma:

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

Parámetros ​

ParámetroTipoDescripción
appAppUna instancia de la aplicación Vue objetivo
optionsunknown[]Opciones de instalación

I18nAdditionalOptions ​

Opciones adicionales de I18n

Firma:

typescript
export interface I18nAdditionalOptions

Detalles

I18nAdditionalOptions son opciones específicas de configuración de Vue I18n para la instalación del plugin y el control del comportamiento.

globalInjection ​

Si inyectar propiedades y funciones globales en cada componente.

Firma:

typescript
globalInjection?: boolean;

Detalles

Si se establece en true, entonces las propiedades y métodos con prefijo $ se inyectan en el Componente Vue.

Ver también:

true

I18nOptions ​

Opciones de I18n para createI18n

Firma:

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 ​

Opciones del plugin de Vue I18n

Firma:

typescript
export interface I18nPluginOptions

Detalles

Las opciones especificadas al instalar Vue I18n como plugin de Vue usando app.use.

globalInstall ​

Si instalar globalmente los componentes ofrecidos por Vue I18n

Firma:

typescript
globalInstall?: boolean;

Detalles

Si esta opción está habilitada, los componentes se instalarán globalmente en el momento de app.use.

Si quieres instalar manualmente con la sintaxis de import, puedes establecerlo en false para instalar cuando sea necesario.

true

I18nScope ​

Ámbito de I18n

Firma:

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

VERSION ​

Versión de Vue I18n

Firma:

typescript
VERSION: string

Detalles

Formato semver. Mismo formato que el campo version del archivo package.json.

DateTimeOptions ​

Opciones de fecha y hora

Firma:

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

Detalles

Opciones para la API de formato de fecha y hora

fallbackWarn ​

Firma:

typescript
fallbackWarn?: boolean;

Detalles

Si se resuelve en claves de formato cuando tu idioma carece de formato para una clave

key ​

Firma:

typescript
key?: Key;

Detalles

La clave de formato de destino

missingWarn ​

Firma:

typescript
missingWarn?: boolean;

Detalles

Si suprimir las advertencias emitidas cuando falla la localización

part ​

Firma:

typescript
part?: boolean;

Detalles

Si usar Intel.DateTimeFormat#formatToParts

DefineCoreLocaleMessage ​

La definición de tipo del mensaje de localización para el paquete @intlify/core-base

Firma:

typescript
export interface DefineCoreLocaleMessage extends LocaleMessage<string>

Detalles

El typealias se usa para definir estrictamente el tipo del mensaje de localización.

Ejemplos

ts
// type.d.ts (archivo `.d.ts` en tu aplicación)
import { DefineCoreLocaleMessage } from '@intlify/core-base'

declare module '@intlify/core-base' {
  export interface DefineCoreLocaleMessage {
    title: string
    menu: {
      login: string
    }
  }
}

FallbackLocale ​

Firma:

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

fallbackWithLocaleChain ​

Resolución de reserva con cadena de idioma

Firma:

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

Detalles

Una función de resolución de idioma de reserva implementada con un algoritmo de cadena de reserva. Se usa en VueI18n por defecto.

Ver también

Parámetros ​

ParámetroTipoDescripción
ctxCoreContext<Message>Un contexto
fallbackFallbackLocaleUn idioma de reserva
startLocaleUn idioma inicial

Retorna ​

Idiomas de reserva

fallbackWithSimple ​

Resolución de reserva con implementación simple

Firma:

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

Detalles

Una función de resolución de idioma de reserva implementada con un algoritmo de reserva simple.

Básicamente, devuelve el valor especificado en las props fallbackLocale, y se procesa con la reserva dentro de intlify.

Parámetros ​

ParámetroTipoDescripción
_ctxCoreContext<Message>
fallbackFallbackLocaleUn idioma de reserva
startLocaleUn idioma inicial

Retorna ​

Idiomas de reserva

LinkedModifiers ​

Firma:

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

Locale ​

Firma:

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

LocaleDetector ​

Firma:

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

resolvedOnce ​

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

LocaleFallbacker ​

El resolutor de idiomas de reserva

Firma:

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

LocaleMessage ​

Firma:

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

LocaleMessageDictionary ​

Firma:

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

LocaleMessages ​

Firma:

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

LocaleMessageType ​

Firma:

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 ​

Firma:

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

LocaleOptions ​

Firma:

typescript
export interface LocaleOptions<Locales = Locale>

locale ​

Firma:

typescript
locale?: Locales | LocaleDetector;

Detalles

El idioma de la localización

MessageCompiler ​

El compilador de mensajes

Firma:

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

MessageCompilerContext ​

El contexto que se pasará al compilador de mensajes.

Firma:

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

MessageContext ​

El contexto del mensaje.

Firma:

typescript
export interface MessageContext<T = string>

type ​

El tipo de mensaje que será manejado por la función de mensaje.

Firma:

typescript
type: string;

Detalles

Generalmente text, necesitas retornar string en la función de mensaje.

values ​

Los valores del mensaje.

Firma:

typescript
values: Record<string, unknown>;

Detalles

Los valores del mensaje son los valores de argumento pasados desde la función de traducción, como $t, t, o translate.

Ejemplos

Caso de vue-i18n $t (o t):

html
<p>{{ $t('greeting', { name: 'DIO' }) }}</p> <!-- `{ name: 'DIO' }` son los valores del mensaje -->

Caso de @intlify/core (@intlify/core-base) translate:

js
translate(context, 'foo.bar', ['dio']) // `['dio']` son los valores del mensaje

linked(key, modifier) ​

Resolver mensaje vinculado.

Firma:

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

Parámetros ​

ParámetroTipoDescripción
keyPathUna clave de mensaje
modifierstringUn modificador

Retorna ​

Un mensaje resuelto.

linked(key, modifier, type) ​

Sobrecarga de linked

Firma:

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

Parámetros ​

ParámetroTipoDescripción
keyPathUna clave de mensaje
modifierstringUn modificador
typestringUn tipo de mensaje

Retorna ​

Un mensaje resuelto.

linked(key, options) ​

Sobrecarga de linked

Firma:

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

Parámetros ​

ParámetroTipoDescripción
keyPathUna clave de mensaje
optionsLinkedOptionsUn opciones vinculadas

Retorna ​

Un mensaje resuelto.

list(index) ​

Resolver valor de mensaje desde lista.

Firma:

typescript
list(index: number): unknown;

Parámetros ​

ParámetroTipoDescripción
indexnumberUn índice de valores de mensaje.

Retorna ​

Un valor de mensaje resuelto.

Ejemplos

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

named(key) ​

Resolver valor de mensaje desde nombre.

Firma:

typescript
named(key: string): unknown;

Parámetros ​

ParámetroTipoDescripción
keystringUna clave de valor de mensaje.

Retorna ​

Un valor de mensaje resuelto.

Ejemplos

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

plural(messages) ​

Resolver mensaje con índice de plural.

Firma:

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

Detalles

Esto se resuelve con el índice de plural con la función de traducción.

Parámetros ​

ParámetroTipoDescripción
messagesT[]los mensajes, que se resuelven con el índice de plural con la función de traducción.

Retorna ​

Un mensaje resuelto.

Ejemplos

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

MessageFunction ​

La Función de Mensaje.

Firma:

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

MessageFunctionReturn ​

Firma:

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

MessageResolver ​

Firma:

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

NamedValue ​

Firma:

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

NumberOptions ​

Opciones Numéricas

Firma:

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

Detalles

Opciones para la API de formato numérico

fallbackWarn ​

Firma:

typescript
fallbackWarn?: boolean;

Detalles

Si se resuelve en claves de formato cuando tu idioma carece de formato para una clave

key ​

Firma:

typescript
key?: Key;

Detalles

La clave de formato de destino

missingWarn ​

Firma:

typescript
missingWarn?: boolean;

Detalles

Si suprimir las advertencias emitidas cuando falla la localización

part ​

Firma:

typescript
part?: boolean;

Detalles

Si usar Intel.NumberFormat#formatToParts

Path ​

Firma:

typescript
export type Path = string;

PathValue ​

Firma:

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

PluralizationRules ​

Firma:

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

PostTranslationHandler ​

Firma:

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

registerLocaleFallbacker ​

Registrar el resolutor de idiomas de reserva

Firma:

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

Parámetros ​

ParámetroTipoDescripción
fallbackerLocaleFallbackerUna función LocaleFallbacker

registerMessageResolver ​

Registrar el resolutor de mensajes

Firma:

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

Parámetros ​

ParámetroTipoDescripción
resolverMessageResolverUna función MessageResolver

resolveValue ​

Resolutor de mensajes

Firma:

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

Detalles

Resuelve mensajes. Los mensajes con estructura jerárquica como objetos pueden ser resueltos. Este resolutor se usa en VueI18n por defecto.

Parámetros ​

ParámetroTipoDescripción
objunknownUn objeto objetivo para ser resuelto con ruta
pathPathUna ruta para resolver el valor del mensaje

Retorna ​

Un valor de ruta resuelto

resolveWithKeyValue ​

Resolutor de mensajes clave-valor

Firma:

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

Detalles

Resuelve mensajes con estructura clave-valor. Ten en cuenta que los mensajes con estructura jerárquica como objetos no pueden ser resueltos

Parámetros ​

ParámetroTipoDescripción
objunknownUn objeto objetivo para ser resuelto con ruta
pathPathUna ruta para resolver el valor del mensaje

Retorna ​

Un valor de ruta resuelto

TranslateOptions ​

Opciones de Traducción

Firma:

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

Detalles

Opciones para la API de Traducción

default ​

Firma:

typescript
default?: string | boolean;

Detalles

Mensaje predeterminado cuando ocurre una falta de traducción

escapeParameter ​

Firma:

typescript
escapeParameter?: boolean;

Detalles

Si escapar parámetros para valores de interpolación de lista o nombre

fallbackWarn ​

Firma:

typescript
fallbackWarn?: boolean;

Detalles

Si hacer interpolación de plantilla en claves de traducción cuando tu idioma carece de traducción para una clave

list ​

Firma:

typescript
list?: unknown[];

Detalles

Interpolación de lista

missingWarn ​

Firma:

typescript
missingWarn?: boolean;

Detalles

Si suprimir las advertencias emitidas cuando falla la localización

named ​

Firma:

typescript
named?: NamedValue;

Detalles

Interpolación de nombre

plural ​

Firma:

typescript
plural?: number;

Detalles

Número de elección de pluralización

resolvedMessage ​

Firma:

typescript
resolvedMessage?: boolean;

Detalles

Si el mensaje ha sido resuelto