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