General
createI18n
Vue I18n factory
Firma:
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ámetro | Descripción |
|---|---|
| Schema | El esquema de los recursos i18n (mensajes, datetimeFormats, numberFormats), por defecto |
| Locales | Los idiomas del esquema de recursos i18n, por defecto en-US |
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| options | Options | Una opción, ver I18nOptions |
Retorna
Instancia de I18n
Ver también:
Ejemplos
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:
export interface DefineDateTimeFormat extends DateTimeFormatDetalles
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
// 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:
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
// 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:
export interface DefineNumberFormat extends NumberFormatDetalles
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
// 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:
export interface ExportedGlobalComposerDetalles
Esta interfaz es el compositor global que proporciona la interfaz inyectada en cada componente con app.config.globalProperties.
availableLocales
Idiomas disponibles
Firma:
readonly availableLocales: Locale[];Detalles
Esta propiedad es una propiedad proxy-like para Composer#availableLocales. Para más detalles, ver
fallbackLocale
Idioma de reserva
Firma:
fallbackLocale: FallbackLocale;Detalles
Esta propiedad es una propiedad proxy-like para Composer#fallbackLocale. Para más detalles, ver
locale
Idioma
Firma:
locale: Locale;Detalles
Esta propiedad es una propiedad proxy-like para Composer#locale. Para más detalles, ver
I18n
Instancia I18n
Firma:
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:
readonly global: Composer<Messages, DateTimeFormats, NumberFormats, OptionLocale>;dispose()
Liberar recurso del ámbito global
Firma:
dispose(): void;Parámetros
| Parámetro | Tipo | Descripción |
|---|
install(app, options)
Punto de entrada de instalación
Firma:
install(app: App, ...options: unknown[]): void;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| app | App | Una instancia de la aplicación Vue objetivo |
| options | unknown[] | Opciones de instalación |
I18nAdditionalOptions
Opciones adicionales de I18n
Firma:
export interface I18nAdditionalOptionsDetalles
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:
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:
- Implícito con propiedades y funciones inyectadas
- link ComponentCustomProperties
true
I18nOptions
Opciones de I18n para createI18n
Firma:
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:
export interface I18nPluginOptionsDetalles
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:
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:
export type I18nScope = 'local' | 'parent' | 'global';VERSION
Versión de Vue I18n
Firma:
VERSION: stringDetalles
Formato semver. Mismo formato que el campo version del archivo package.json.
DateTimeOptions
Opciones de fecha y hora
Firma:
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:
fallbackWarn?: boolean;Detalles
Si se resuelve en claves de formato cuando tu idioma carece de formato para una clave
key
Firma:
key?: Key;Detalles
La clave de formato de destino
missingWarn
Firma:
missingWarn?: boolean;Detalles
Si suprimir las advertencias emitidas cuando falla la localización
part
Firma:
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:
export interface DefineCoreLocaleMessage extends LocaleMessage<string>Detalles
El typealias se usa para definir estrictamente el tipo del mensaje de localización.
Ejemplos
// 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:
export type FallbackLocale = Locale | Locale[] | {
[locale in string]: Locale[];
} | false;fallbackWithLocaleChain
Resolución de reserva con cadena de idioma
Firma:
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ámetro | Tipo | Descripción |
|---|---|---|
| ctx | CoreContext<Message> | Un contexto |
| fallback | FallbackLocale | Un idioma de reserva |
| start | Locale | Un idioma inicial |
Retorna
Idiomas de reserva
fallbackWithSimple
Resolución de reserva con implementación simple
Firma:
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ámetro | Tipo | Descripción |
|---|---|---|
| _ctx | CoreContext<Message> | |
| fallback | FallbackLocale | Un idioma de reserva |
| start | Locale | Un idioma inicial |
Retorna
Idiomas de reserva
LinkedModifiers
Firma:
export type LinkedModifiers<T = string> = {
[key: string]: LinkedModify<T>;
};Locale
Firma:
export type Locale = IsNever<GeneratedLocale> extends true ? string : GeneratedLocale;LocaleDetector
Firma:
export interface LocaleDetector<Args extends any[] = any[]>resolvedOnce
(...args: Args): Locale | Promise<Locale>;
LocaleFallbacker
El resolutor de idiomas de reserva
Firma:
export type LocaleFallbacker = <Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale) => Locale[];LocaleMessage
Firma:
export type LocaleMessage<Message = string> = Record<string, LocaleMessageValue<Message>>;LocaleMessageDictionary
Firma:
export type LocaleMessageDictionary<T, Message = string> = {
[K in keyof T]: LocaleMessageType<T[K], Message>;
};LocaleMessages
Firma:
export type LocaleMessages<Schema, Locales = Locale, _Message = string> = LocaleRecord<UnionToTuple<Locales>, Schema>;LocaleMessageType
Firma:
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:
export type LocaleMessageValue<Message = string> = LocaleMessageDictionary<any, Message> | string;LocaleOptions
Firma:
export interface LocaleOptions<Locales = Locale>locale
Firma:
locale?: Locales | LocaleDetector;Detalles
El idioma de la localización
MessageCompiler
El compilador de mensajes
Firma:
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:
export type MessageCompilerContext = Pick<CompileOptions, 'onError' | 'onCacheKey'> & {
warnHtmlMessage?: boolean;
key: string;
locale: Locale;
};MessageContext
El contexto del mensaje.
Firma:
export interface MessageContext<T = string>type
El tipo de mensaje que será manejado por la función de mensaje.
Firma:
type: string;Detalles
Generalmente text, necesitas retornar string en la función de mensaje.
values
Los valores del mensaje.
Firma:
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):
<p>{{ $t('greeting', { name: 'DIO' }) }}</p> <!-- `{ name: 'DIO' }` son los valores del mensaje -->Caso de @intlify/core (@intlify/core-base) translate:
translate(context, 'foo.bar', ['dio']) // `['dio']` son los valores del mensajelinked(key, modifier)
Resolver mensaje vinculado.
Firma:
linked(key: Path, modifier?: string): MessageType<T>;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| key | Path | Una clave de mensaje |
| modifier | string | Un modificador |
Retorna
Un mensaje resuelto.
linked(key, modifier, type)
Sobrecarga de linked
Firma:
linked(key: Path, modifier?: string, type?: string): MessageType<T>;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| key | Path | Una clave de mensaje |
| modifier | string | Un modificador |
| type | string | Un tipo de mensaje |
Retorna
Un mensaje resuelto.
linked(key, options)
Sobrecarga de linked
Firma:
linked(key: Path, options?: LinkedOptions): MessageType<T>;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| key | Path | Una clave de mensaje |
| options | LinkedOptions | Un opciones vinculadas |
Retorna
Un mensaje resuelto.
list(index)
Resolver valor de mensaje desde lista.
Firma:
list(index: number): unknown;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| index | number | Un índice de valores de mensaje. |
Retorna
Un valor de mensaje resuelto.
Ejemplos
const messages = {
en: {
greeting: ({ list }) => `hello, ${list(0)}!`
}
}named(key)
Resolver valor de mensaje desde nombre.
Firma:
named(key: string): unknown;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| key | string | Una clave de valor de mensaje. |
Retorna
Un valor de mensaje resuelto.
Ejemplos
const messages = {
en: {
greeting: ({ named }) => `hello, ${named('name')}!`
}
}plural(messages)
Resolver mensaje con índice de plural.
Firma:
plural(messages: T[]): T;Detalles
Esto se resuelve con el índice de plural con la función de traducción.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| messages | T[] | los mensajes, que se resuelven con el índice de plural con la función de traducción. |
Retorna
Un mensaje resuelto.
Ejemplos
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:
export type MessageFunction<T = string> = MessageFunctionCallable | MessageFunctionInternal<T>;MessageFunctionReturn
Firma:
export type MessageFunctionReturn<T = string> = T extends string ? MessageType<T> : MessageType<T>[];MessageResolver
Firma:
export type MessageResolver = (obj: unknown, path: Path) => PathValue;NamedValue
Firma:
export type NamedValue<T = {}> = T & Record<string, unknown>;NumberOptions
Opciones Numéricas
Firma:
export interface NumberOptions<Key = string, Locales = Locale> extends Intl.NumberFormatOptions, LocaleOptions<Locales>Detalles
Opciones para la API de formato numérico
fallbackWarn
Firma:
fallbackWarn?: boolean;Detalles
Si se resuelve en claves de formato cuando tu idioma carece de formato para una clave
key
Firma:
key?: Key;Detalles
La clave de formato de destino
missingWarn
Firma:
missingWarn?: boolean;Detalles
Si suprimir las advertencias emitidas cuando falla la localización
part
Firma:
part?: boolean;Detalles
Si usar Intel.NumberFormat#formatToParts
Path
Firma:
export type Path = string;PathValue
Firma:
export type PathValue = string | number | boolean | Function | null | {
[key: string]: PathValue;
} | PathValue[];PluralizationRules
Firma:
export type PluralizationRules = {
[locale: string]: PluralizationRule;
};PostTranslationHandler
Firma:
export type PostTranslationHandler<Message = string> = (translated: MessageFunctionReturn<Message>, key: string) => MessageFunctionReturn<Message>;registerLocaleFallbacker
Registrar el resolutor de idiomas de reserva
Firma:
export declare function registerLocaleFallbacker(fallbacker: LocaleFallbacker): void;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| fallbacker | LocaleFallbacker | Una función LocaleFallbacker |
registerMessageResolver
Registrar el resolutor de mensajes
Firma:
export declare function registerMessageResolver(resolver: MessageResolver): void;Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| resolver | MessageResolver | Una función MessageResolver |
resolveValue
Resolutor de mensajes
Firma:
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ámetro | Tipo | Descripción |
|---|---|---|
| obj | unknown | Un objeto objetivo para ser resuelto con ruta |
| path | Path | Una ruta para resolver el valor del mensaje |
Retorna
Un valor de ruta resuelto
resolveWithKeyValue
Resolutor de mensajes clave-valor
Firma:
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ámetro | Tipo | Descripción |
|---|---|---|
| obj | unknown | Un objeto objetivo para ser resuelto con ruta |
| path | Path | Una ruta para resolver el valor del mensaje |
Retorna
Un valor de ruta resuelto
TranslateOptions
Opciones de Traducción
Firma:
export interface TranslateOptions<Locales = Locale> extends LocaleOptions<Locales>Detalles
Opciones para la API de Traducción
default
Firma:
default?: string | boolean;Detalles
Mensaje predeterminado cuando ocurre una falta de traducción
escapeParameter
Firma:
escapeParameter?: boolean;Detalles
Si escapar parámetros para valores de interpolación de lista o nombre
fallbackWarn
Firma:
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:
list?: unknown[];Detalles
Interpolación de lista
missingWarn
Firma:
missingWarn?: boolean;Detalles
Si suprimir las advertencias emitidas cuando falla la localización
named
Firma:
named?: NamedValue;Detalles
Interpolación de nombre
plural
Firma:
plural?: number;Detalles
Número de elección de pluralización
resolvedMessage
Firma:
resolvedMessage?: boolean;Detalles
Si el mensaje ha sido resuelto