一般
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 を使用して各コンポーネントに注入されるインターフェースを提供するグローバル composer です。
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
createI18n 用の I18n オプション
シグネチャ:
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詳細
app.use を使用して Vue I18n を Vue プラグインとしてインストールするときに指定されるオプション。
globalInstall
Vue I18n が提供するコンポーネントをグローバルにインストールするかどうか
シグネチャ:
globalInstall?: boolean;詳細
このオプションが有効な場合、コンポーネントは app.use 時にグローバルにインストールされます。
import 構文で手動でインストールしたい場合は、false に設定して必要に応じてインストールできます。
true
I18nScope
I18n スコープ
シグネチャ:
export type I18nScope = 'local' | 'parent' | 'global';VERSION
Vue I18n バージョン
シグネチャ:
VERSION: string詳細
Semver 形式。package.json の version フィールドと同じ形式。
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 props で指定された値を返し、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 で、メッセージ関数で string を返す必要があります。
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;詳細
メッセージが解決されたかどうか