Skip to content

Composition API

Composer

Composer インターフェース

署名:

typescript
export interface Composer<Messages extends Record<string, any> = {}, DateTimeFormats extends Record<string, any> = {}, NumberFormats extends Record<string, any> = {}, OptionLocale = Locale, ResourceLocales = PickupLocales<NonNullable<Messages>> | PickupLocales<NonNullable<DateTimeFormats>> | PickupLocales<NonNullable<NumberFormats>>, Locales = Locale extends GeneratedLocale ? GeneratedLocale : OptionLocale extends Locale ? IsNever<ResourceLocales> extends true ? Locale : ResourceLocales : OptionLocale | ResourceLocales> extends ComposerCustom

詳細

これは Vue 3 Composition API で使用されるインターフェースです。

availableLocales

署名:

typescript
readonly availableLocales: ComputedRef<Locales[]>;

詳細

"messages" 内の利用可能なロケールの一覧(語彙順)。

d

日時フォーマット

署名:

typescript
d: ComposerDateTimeFormatting<DateTimeFormats, Locales, RemoveIndexSignature<{
        [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K];
    }>>;

詳細

詳細な関数について、ComposerDateTimeFormatting を参照してください。

datetimeFormats

署名:

typescript
readonly datetimeFormats: ComputedRef<{
        [K in keyof DateTimeFormats]: DateTimeFormats[K];
    }>;

詳細

ローカリゼーションの日時フォーマット。

参照:

escapeParameter

署名:

typescript
escapeParameter: boolean;

詳細

メッセージが翻訳される前に補間パラメータをエスケープするかどうか。

参照:

fallbackFormat

署名:

typescript
fallbackFormat: boolean;

詳細

fallbackLocale またはルートにフォールバックする際の警告を抑制するかどうか。

参照:

fallbackLocale

署名:

typescript
fallbackLocale: WritableComputedRef<FallbackLocales<Locales>>;

詳細

この Composer インスタンスが現在使用しているフォールバックロケール。

参照:

fallbackRoot

署名:

typescript
fallbackRoot: boolean;

詳細

ローカリゼーションに失敗した場合にルートレベル(グローバル スコープ)のローカリゼーションにフォールバックするかどうか。

参照:

fallbackWarn

署名:

typescript
fallbackWarn: boolean | RegExp;

詳細

ローカリゼーションに失敗した際にフォールバック警告を抑制するかどうか。

参照:

id

署名:

typescript
id: number;

詳細

インスタンス ID。

inheritLocale

署名:

typescript
inheritLocale: boolean;

詳細

ルートレベルのロケールをコンポーネントローカリゼーションロケールに継承するかどうか。

参照:

isGlobal

署名:

typescript
readonly isGlobal: boolean;

詳細

このコンポーザーインスタンスがグローバルかどうか

locale

署名:

typescript
locale: WritableComputedRef<Locales>;

詳細

この Composer インスタンスが使用している現在のロケール。

ロケールに地域と方言が含まれている場合、このロケールには暗黙的なフォールバックが含まれます。

参照:

messages

署名:

typescript
readonly messages: ComputedRef<{
        [K in keyof Messages]: Messages[K];
    }>;

詳細

ローカリゼーションのロケールメッセージ。

参照:

missingWarn

署名:

typescript
missingWarn: boolean | RegExp;

詳細

ローカリゼーションに失敗した際に出力される警告を抑制するかどうか。

参照:

modifiers

署名:

typescript
readonly modifiers: LinkedModifiers<VueMessageType>;

詳細

リンクされたメッセージに対するカスタム修飾子。

参照:

n

数値フォーマット

署名:

typescript
n: ComposerNumberFormatting<NumberFormats, Locales, RemoveIndexSignature<{
        [K in keyof DefineNumberFormat]: DefineNumberFormat[K];
    }>>;

詳細

詳細な関数について、ComposerNumberFormatting を参照してください。

numberFormats

署名:

typescript
readonly numberFormats: ComputedRef<{
        [K in keyof NumberFormats]: NumberFormats[K];
    }>;

詳細

ローカリゼーションの数値フォーマット。

参照:

pluralRules

署名:

typescript
readonly pluralRules: PluralizationRules;

詳細

単語の複数形規則セット

参照:

rt

ロケールメッセージ翻訳の解決

署名:

typescript
rt: ComposerResolveLocaleMessageTranslation<Locales>;

詳細

詳細な関数について、ComposerResolveLocaleMessageTranslation を参照してください。

t

ロケールメッセージ翻訳

署名:

typescript
t: ComposerTranslation<Messages, Locales, RemoveIndexSignature<{
        [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
    }>>;

詳細

詳細な関数について、ComposerTranslation を参照してください。

warnHtmlMessage

署名:

typescript
warnHtmlMessage: boolean;

詳細

HTML フォーマットのロケールメッセージの使用を許可するかどうか。

false を設定すると、Composer インスタンス上のロケールメッセージをチェックします。

true を指定すると、コンソールに警告が出力されます。

参照:

getDateTimeFormat(locale)

日時フォーマットを取得

署名:

typescript
getDateTimeFormat<DateTimeSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>, Return = IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{
        [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K];
    }> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema>(locale: LocaleSchema | Locale): Return;

型パラメータ

パラメータ説明
DateTimeSchema日時フォーマットスキーマ、デフォルトは never

詳細

Composer インスタンスから日時フォーマットを取得します。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール

戻り値

日時フォーマット

getLocaleMessage(locale)

ロケールメッセージを取得

署名:

typescript
getLocaleMessage<MessageSchema extends LocaleMessage<VueMessageType> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, Return = IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{
        [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
    }> : NonNullable<Messages>[Locale] : MessageSchema>(locale: LocaleSchema | Locale): Return;

型パラメータ

パラメータ説明
MessageSchemaロケールメッセージスキーマ、デフォルトは never

詳細

Composer インスタンスからロケールメッセージを取得します。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール

戻り値

ロケールメッセージ

getMissingHandler()

不足ハンドラーを取得

署名:

typescript
getMissingHandler(): MissingHandler | null;

パラメータ

パラメータタイプ説明

戻り値

MissingHandler

getNumberFormat(locale)

数値フォーマットを取得

署名:

typescript
getNumberFormat<NumberSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>, Return = IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{
        [K in keyof DefineNumberFormat]: DefineNumberFormat[K];
    }> : NonNullable<NumberFormats>[Locale] : NumberSchema>(locale: LocaleSchema | Locale): Return;

型パラメータ

パラメータ説明
NumberSchema数値フォーマットスキーマ、デフォルトは never

詳細

Composer インスタンスから数値フォーマットを取得します。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール

戻り値

数値フォーマット

getPostTranslationHandler()

翻訳後の処理ハンドラーを取得

署名:

typescript
getPostTranslationHandler(): PostTranslationHandler<VueMessageType> | null;

パラメータ

パラメータタイプ説明

戻り値

mergeDateTimeFormat(locale, format)

日時フォーマットをマージ

署名:

typescript
mergeDateTimeFormat<DateTimeSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>, Formats = IsNever<DateTimeSchema> extends true ? Record<string, any> : DateTimeSchema>(locale: LocaleSchema | Locale, format: Formats): void;

型パラメータ

パラメータ説明
DateTimeSchema日時フォーマットスキーマ、デフォルトは never

詳細

日時フォーマットを Composer インスタンスにマージします。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール
formatFormats対象の日時フォーマット

mergeLocaleMessage(locale, message)

ロケールメッセージをマージ

署名:

typescript
mergeLocaleMessage<MessageSchema extends LocaleMessage<VueMessageType> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, Message = IsNever<MessageSchema> extends true ? Record<string, any> : MessageSchema>(locale: LocaleSchema | Locale, message: Message): void;

型パラメータ

パラメータ説明
MessageSchemaロケールメッセージスキーマ、デフォルトは never

詳細

ロケールメッセージを Composer インスタンスにマージします。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール
messageMessageメッセージ

mergeNumberFormat(locale, format)

数値フォーマットをマージ

署名:

typescript
mergeNumberFormat<NumberSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>, Formats = IsNever<NumberSchema> extends true ? Record<string, any> : NumberSchema>(locale: LocaleSchema | Locale, format: Formats): void;

型パラメータ

パラメータ説明
NumberSchema数値フォーマットスキーマ、デフォルトは never

詳細

数値フォーマットを Composer インスタンスにマージします。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール
formatFormats対象の数値フォーマット

setDateTimeFormat(locale, format)

日時フォーマットを設定

署名:

typescript
setDateTimeFormat<DateTimeSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>, FormatsType = IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{
        [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K];
    }> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema, Formats extends FormatsType = FormatsType>(locale: LocaleSchema | Locale, format: Formats): void;

型パラメータ

パラメータ説明
DateTimeSchema日時フォーマットスキーマ、デフォルトは never

詳細

日時フォーマットを Composer インスタンスに設定します。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール
formatFormats対象の日時フォーマット

setLocaleMessage(locale, message)

ロケールメッセージを設定

署名:

typescript
setLocaleMessage<MessageSchema extends LocaleMessage<VueMessageType> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, MessageType = IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{
        [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
    }> : NonNullable<Messages>[Locale] : MessageSchema, Message extends MessageType = MessageType>(locale: LocaleSchema | Locale, message: Message): void;

型パラメータ

パラメータ説明
MessageSchemaロケールメッセージスキーマ、デフォルトは never

詳細

ロケールメッセージを Composer インスタンスに設定します。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール
messageMessageメッセージ

setMissingHandler(handler)

不足ハンドラーを設定

署名:

typescript
setMissingHandler(handler: MissingHandler | null): void;

パラメータ

パラメータタイプ説明
handlerMissingHandler | nullMissingHandler

setNumberFormat(locale, format)

数値フォーマットを設定

署名:

typescript
setNumberFormat<NumberSchema extends Record<string, any> = never, LocaleSchema extends string = string, Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>, FormatsType = IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{
        [K in keyof DefineNumberFormat]: DefineNumberFormat[K];
    }> : NonNullable<NumberFormats>[Locale] : NumberSchema, Formats extends FormatsType = FormatsType>(locale: LocaleSchema | Locale, format: Formats): void;

型パラメータ

パラメータ説明
NumberSchema数値フォーマットスキーマ、デフォルトは never

詳細

数値フォーマットを Composer インスタンスに設定します。

パラメータ

パラメータタイプ説明
localeLocaleSchema | Locale対象のロケール
formatFormats対象の数値フォーマット

setPostTranslationHandler(handler)

翻訳後の処理ハンドラーを設定

署名:

typescript
setPostTranslationHandler(handler: PostTranslationHandler<VueMessageType> | null): void;

パラメータ

パラメータタイプ説明
handlerPostTranslationHandler<VueMessageType> | null

te(key, locale)

ロケールメッセージの存在確認

署名:

typescript
te<Str extends string, Key extends PickupKeys<Messages> = PickupKeys<Messages>>(key: Str | Key, locale?: Locales): boolean;

詳細

Composer インスタンスにロケールメッセージが存在するか確認します。

locale を指定した場合、そのロケールのメッセージをチェックします。

パラメータ

パラメータタイプ説明
keyStr | Key対象のロケールメッセージキー
localeLocalesロケール、グローバルスコープまたはローカルスコープより優先的に使用されます

戻り値

ロケールメッセージが見つかった場合は true、さもなければ false。ただし、キーに値が存在しても翻訳不可であっても false が返されます。ただし、translateExistCompatibletrue に設定されている場合、キーが利用可能であれば値が翻訳不可であっても true が返されます。

tm(key)

ロケールメッセージの取得

署名:

typescript
tm<Key extends string, ResourceKeys extends PickupKeys<Messages> = PickupKeys<Messages>, Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>, Target = IsEmptyObject<Messages> extends false ? NonNullable<Messages>[Locale] : RemoveIndexSignature<{
        [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
    }>, Return = ResourceKeys extends ResourcePath<Target> ? ResourceValue<Target, ResourceKeys> : Record<string, any>>(key: Key | ResourceKeys): Return;

詳細

useI18nI18nScope 'local' またはいくつかの UseI18nOptions が指定されている場合、グローバルスコープのロケールメッセージよりもローカルスコープのロケールメッセージが優先的に翻訳されます。

現在の locale に基づいて、Composer インスタンスのメッセージからロケールメッセージが返されます。

locale を変更した場合、返されるロケールメッセージも対応するロケールになります。

Composer インスタンスのメッセージに指定された key のロケールメッセージがない場合、フォールバックを使用して返されます。

[!WARNING] tm によって返されるロケールメッセージには rt を使用する必要があります。rt の詳細を参照してください。

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys対象のロケールメッセージキー

戻り値

ロケールメッセージ

テンプレートブロック:

html
<div class="container">
  <template v-for="content in tm('contents')">
    <h2>{{ rt(content.title) }}</h2>
    <p v-for="paragraph in content.paragraphs">
     {{ rt(paragraph) }}
    </p>
  </template>
</div>

スクリプトブロック:

js
import { defineComponent } from 'vue
import { useI18n } from 'vue-i18n'

export default defineComponent({
  setup() {
    const { rt, tm } = useI18n({
      messages: {
        en: {
          contents: [
            {
              title: 'Title1',
              // ...
              paragraphs: [
                // ...
              ]
            }
          ]
        }
      }
      // ...
    })
    // ...
    return { ... , rt, tm }
  }
})

ComposerAdditionalOptions

useI18n のための Composer 追加オプション

署名:

typescript
export interface ComposerAdditionalOptions

詳細

ComposerAdditionalOptionsComposerOptions を拡張するため、これらのオプションを指定できます。

useScope

ComposerCustom

Composer の型カスタム定義

署名:

typescript
export interface ComposerCustom

詳細

Composer を拡張できるインターフェース。

サードパーティ(例:nuxt/i18n)によって定義された型

ts
// vue-i18n.d.ts (アプリ内の `.d.ts` ファイル)

declare module 'vue-i18n' {
  interface ComposerCustom {
    localeCodes: string[]
  }
}

ComposerDateTimeFormatting

日時フォーマット関数

署名:

typescript
export interface ComposerDateTimeFormatting<DateTimeFormats extends Record<string, any> = {}, Locales = 'en-US', DefinedDateTimeFormat extends RemovedIndexResources<DefineDateTimeFormat> = RemovedIndexResources<DefineDateTimeFormat>, C = IsEmptyObject<DefinedDateTimeFormat> extends false ? PickupFormatPathKeys<{
    [K in keyof DefinedDateTimeFormat]: DefinedDateTimeFormat[K];
}> : never, M = IsEmptyObject<DateTimeFormats> extends false ? PickupFormatKeys<DateTimeFormats> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>

詳細

これは Composer のインターフェースです。

(value: number | Date | string): string;

日時フォーマット

署名:

typescript
(value: number | Date | string): string;

詳細

この関数がリアクティブコンテキストで使用されている場合、ロケールが変更されると一度再評価されます。

useI18n'local' またはいくつかの UseI18nOptions が指定されている場合、グローバルスコープの日時フォーマットよりもローカルスコープの日時フォーマットが優先的に翻訳されます。

それ以外の場合は、グローバルスコープの日時フォーマットでフォーマットされます。

参照:

パラメータ

パラメータタイプ説明
valuenumber | Date | string値、タイムスタンプ番号または Date インスタンスまたは ISO 8601 文字列

戻り値

フォーマットされた値

(value: Value, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

日時フォーマット

署名:

typescript
<Value extends number | Date | string = number, Key extends string = string, OptionsType extends Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales>>(value: Value, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

詳細

オーバーロードされた d

このオーバーロードされた d では、登録された日時フォーマットのキーで日時フォーマットを指定します。

パラメータ

パラメータタイプ説明
valueValue値、タイムスタンプ番号または Date インスタンスまたは ISO 8601 文字列
keyOrOptionsOptionsType日時フォーマットのキー、または日時のフォーマット追加情報

戻り値

フォーマットされた値

(value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

日時フォーマット

署名:

typescript
<Value extends number | Date | string = number, Key extends string = string, OptionsType extends Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales>>(value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

詳細

オーバーロードされた d

このオーバーロードされた d では、対象ロケールの登録済み日時フォーマットのキーで日時フォーマットを指定します。

パラメータ

パラメータタイプ説明
valueValue値、タイムスタンプ番号または Date インスタンスまたは ISO 8601 文字列
keyOrOptionsOptionsType日時フォーマットのキー、または日時のフォーマット追加情報
localeLocalesロケール、グローバルスコープまたはローカルスコープより優先的に使用されます。

戻り値

フォーマットされた値

ComposerNumberFormatting

数値フォーマット関数

署名:

typescript
export interface ComposerNumberFormatting<NumberFormats extends Record<string, any> = {}, Locales = 'en-US', DefinedNumberFormat extends RemovedIndexResources<DefineNumberFormat> = RemovedIndexResources<DefineNumberFormat>, C = IsEmptyObject<DefinedNumberFormat> extends false ? PickupFormatPathKeys<{
    [K in keyof DefinedNumberFormat]: DefinedNumberFormat[K];
}> : never, M = IsEmptyObject<NumberFormats> extends false ? PickupFormatKeys<NumberFormats> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>

詳細

これは Composer のインターフェースです。

(value: number): string;

数値フォーマット

署名:

typescript
(value: number): string;

詳細

この関数がリアクティブコンテキストで使用されている場合、ロケールが変更されると一度再評価されます。

useI18n'local' またはいくつかの UseI18nOptions が指定されている場合、グローバルスコープの数値フォーマットよりもローカルスコープの数値フォーマットが優先的に翻訳されます。

それ以外の場合は、グローバルスコープの数値フォーマットでフォーマットされます。

参照:

パラメータ

パラメータタイプ説明
valuenumber数値

戻り値

フォーマットされた値

(value: number, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

数値フォーマット

署名:

typescript
<Key extends string = string, OptionsType extends Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales>>(value: number, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

詳細

オーバーロードされた n

このオーバーロードされた n では、登録された数値フォーマットのキーで数値フォーマットを指定します。

パラメータ

パラメータタイプ説明
valuenumber数値
keyOrOptionsOptionsType数値フォーマットのキー、または数値のフォーマット追加情報

戻り値

フォーマットされた値

(value: number, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

数値フォーマット

署名:

typescript
<Key extends string = string, OptionsType extends Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales>>(value: number, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

詳細

オーバーロードされた n

このオーバーロードされた n では、対象ロケールの登録済み数値フォーマットのキーで数値フォーマットを指定します。

パラメータ

パラメータタイプ説明
valuenumber数値
keyOrOptionsOptionsType数値フォーマットのキー、または数値のフォーマット追加情報
localeLocalesロケール、グローバルスコープまたはローカルスコープより優先的に使用されます。

戻り値

フォーマットされた値

ComposerOptions

Composer オプション

署名:

typescript
export interface ComposerOptions<Schema extends {
    message?: unknown;
    datetime?: unknown;
    number?: unknown;
} = {
    message: DefaultLocaleMessageSchema;
    datetime: DefaultDateTimeFormatSchema;
    number: DefaultNumberFormatSchema;
}, Locales extends {
    messages: unknown;
    datetimeFormats: unknown;
    numberFormats: unknown;
} | string = Locale, MessagesLocales = Locales extends {
    messages: infer M;
} ? M : Locales extends string ? Locales : Locale, DateTimeFormatsLocales = Locales extends {
    datetimeFormats: infer D;
} ? D : Locales extends string ? Locales : Locale, NumberFormatsLocales = Locales extends {
    numberFormats: infer N;
} ? N : Locales extends string ? Locales : Locale, MessageSchema = Schema extends {
    message: infer M;
} ? M : DefaultLocaleMessageSchema, DateTimeSchema = Schema extends {
    datetime: infer D;
} ? D : DefaultDateTimeFormatSchema, NumberSchema = Schema extends {
    number: infer N;
} ? N : DefaultNumberFormatSchema, _Messages extends LocaleMessages<MessageSchema, MessagesLocales, VueMessageType> = LocaleMessages<MessageSchema, MessagesLocales, VueMessageType>, _DateTimeFormats extends DateTimeFormatsType<DateTimeSchema, DateTimeFormatsLocales> = DateTimeFormatsType<DateTimeSchema, DateTimeFormatsLocales>, _NumberFormats extends NumberFormatsType<NumberSchema, NumberFormatsLocales> = NumberFormatsType<NumberSchema, NumberFormatsLocales>>

詳細

これはコンポーザーを作成するためのオプションです。

datetime

datetimeFormats

escapeParameter

署名:

typescript
escapeParameter?: boolean;

詳細

escapeParameter が true に設定されている場合、メッセージが翻訳される前に補間パラメータがエスケープされます。

これは、翻訳出力が v-html で使用され、翻訳リソースに HTML マークアップが含まれている場合(例:ユーザー提供の値の周囲)に便利です。

このような使用パターンは、事前に計算されたテキスト文字列を UI コンポーネントに渡す場合によく起こります。

エスケープ処理では、以下の記号をそれぞれの HTML 文字エンティティに置き換えます:<、>、"、'。

escapeParameter を true に設定しても既存の機能は壊れませんが、XSS(クロスサイトスクリプティング)攻撃ベクトルに対する保護を提供します。

参照:

false

fallbackFormat

署名:

typescript
fallbackFormat?: boolean;

詳細

言語に翻訳がない場合に翻訳キーでテンプレート補間を行うかどうか。

true の場合、"ベース"言語のテンプレートはスキップし、キーがテンプレートになります。

参照:

false

fallbackLocale

署名:

typescript
fallbackLocale?: FallbackLocale;

詳細

フォールバックローカリゼーションのロケール。

より複雑なフォールバック定義についてはフォールバックを参照してください。

参照:

デフォルトは、locale が指定されていない場合または locale の値である 'en-US' です。

fallbackRoot

署名:

typescript
fallbackRoot?: boolean;

詳細

コンポーネントローカリゼーションでは、ローカリゼーションに失敗した場合にルートレベル(グローバルスコープ)のローカリゼーションにフォールバックするかどうか。

false の場合、ルートへのフォールバックは行われません。

参照:

true

fallbackWarn

署名:

typescript
fallbackWarn?: boolean | RegExp;

詳細

fallbackLocale またはルートへのフォールバック時に警告を抑制するかどうか。

false の場合、フォールバック警告は抑制されます。

正規表現を使用すると、翻訳キー(例:t)に一致するフォールバック警告を抑制できます。

参照:

true

flatJson

署名:

typescript
flatJson?: boolean;

詳細

フラット JSON メッセージの使用を許可するかどうか

false

inheritLocale

署名:

typescript
inheritLocale?: boolean;

詳細

ルートレベルのロケールをコンポーネントローカリゼーションロケールに継承するかどうか。

false の場合、ルートレベルのロケールに関係なく、各コンポーネントロケールでローカライズします。

参照:

true

locale

署名:

typescript
locale?: Locale;

詳細

ローカリゼーションのロケール。

ロケールに地域と方言が含まれている場合、このロケールには暗黙的なフォールバックが含まれます。

参照:

'en-US'

message

messageCompiler

署名:

typescript
messageCompiler?: MessageCompiler;

詳細

カスタムメッセージ形式のコンパイラ。

指定しない場合、vue-i18n のデフォルトメッセージコンパイラが使用されます。

メッセージ関数を返す独自のメッセージコンパイラを実装する必要があります。

intl-messageformat でカスタムメッセージコンパイラを設定する例:

js
import { createI18n } from 'vue-i18n'
import IntlMessageFormat from 'intl-messageformat'

function messageCompiler(message, { locale, key, onError }) {
  if (typeof message === 'string') {
    // コンパイラのパフォーマンスをキャッシュ戦略やメモ化で調整できます
    const formatter = new IntlMessageFormat(message, locale)
    return ctx => formatter.format(ctx.values)
  } else {
    // AST に対応したい場合、
    // bundle プラグインで `json`、`yaml` などのロケールメッセージを変換する必要があります。
    onError && onError(new Error('not support for AST'))
    return () => key // `key` でデフォルトを返す
  }
}

// I18n オプションで呼び出し
const i18n = createI18n({
  locale: 'ja',
  messageCompiler, // メッセージコンパイラを設定
  messages: {
    en: {
      hello: 'hello world!',
      greeting: 'hi, {name}!',
      // ICU メッセージ形式
      photo: `You have {numPhotos, plural,
        =0 {no photos.}
        =1 {one photo.}
        other {# photos.}
      }`
    },
  }
})

// 以下、何かする...
// ...

[!TIP] 🆕 v9.3+

[!WARNING] カスタムメッセージ形式は実験的な機能です。将来破壊的な変更や削除が予想されます。

参照:

undefined

messageResolver

署名:

typescript
messageResolver?: MessageResolver;

詳細

メッセージを解決するためのメッセージリゾルバー。

指定しない場合、vue-i18n の内部メッセージリゾルバーがデフォルトで使用されます。

以下の要件を満たすメッセージリゾルバーを自分で実装する必要があります:

  • メッセージリゾルバーの第1引数として渡されたロケールメッセージと、第2引数として渡されたパスを使用してメッセージを解決します。

  • メッセージが解決できない場合は null を返します。

  • null が返される場合、フォールバックが有効な場合はメッセージリゾルバーも呼び出されるため、メッセージは解決される必要があります。

メッセージリゾルバーは以下の API によって間接的に呼び出されます:


createI18n で設定する方法の例:

js
import { createI18n } from 'vue-i18n'

// あなたのメッセージリゾルバー
function messageResolver(obj, path) {
  // 単純なメッセージ解決!
  const msg = obj[path]
  return msg != null ? msg : null
}

// I18n オプションで呼び出し
const i18n = createI18n({
  locale: 'ja',
  messageResolver, // メッセージリゾルバーを設定
  messages: {
    en: { ... },
    ja: { ... }
  }
})

// 以下、何かする...
// ...

[!TIP] 🆕 v9.2+

[!WARNING] メッセージリゾルバーを使用する場合、flatJson 設定は無視されます。つまり、フラット JSON を自分で解決する必要があります。

参照:

undefined

messages

missing

署名:

typescript
missing?: MissingHandler;

詳細

ローカリゼーション不足のハンドラー。

ハンドラーはローカリゼーション対象ロケール、ローカリゼーションパスキー、Vue インスタンス、および値とともに呼び出されます。

不足ハンドラーが割り当てられており、ローカリゼーション不足が発生した場合、警告は表示されません。

null

missingWarn

署名:

typescript
missingWarn?: boolean | RegExp;

詳細

ローカリゼーションに失敗した際に出力される警告を抑制するかどうか。

false の場合、ローカリゼーション失敗警告は抑制されます。

正規表現を使用すると、翻訳キー(例:t)に一致するローカリゼーション失敗警告を抑制できます。

参照:

true

modifiers

署名:

typescript
modifiers?: LinkedModifiers<VueMessageType>;

詳細

リンクされたメッセージに対するカスタム修飾子。

参照:

number

numberFormats

pluralRules

署名:

typescript
pluralRules?: PluralizationRules;

詳細

単語の複数形規則セット

参照:

{}

postTranslation

署名:

typescript
postTranslation?: PostTranslationHandler<VueMessageType>;

詳細

翻訳後の処理のハンドラー。

このハンドラーは t の呼び出しが終わった後に呼び出されます。

このハンドラーは、スペースのトリミングなどの翻訳されたテキストをフィルターしたい場合に便利です。

null

warnHtmlMessage

署名:

typescript
warnHtmlMessage?: boolean;

詳細

HTML フォーマットのロケールメッセージの使用を許可するかどうか。

warnHtmlMessage プロパティを参照してください。

参照:

true

ComposerResolveLocaleMessageTranslation

ロケールメッセージ翻訳の解決関数

署名:

typescript
export interface ComposerResolveLocaleMessageTranslation<Locales = 'en-US'>

詳細

これは Composer のインターフェースです。

(message: MessageFunction<VueMessageType> | VueMessageType): string;

ロケールメッセージ翻訳の解決

署名:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType): string;

詳細

この関数がリアクティブコンテキストで使用されている場合、ロケールが変更されると一度再評価されます。

useI18n'local' またはいくつかの UseI18nOptions が指定されている場合、グローバルスコープのロケールメッセージよりもローカルスコープのロケールメッセージが優先的に翻訳されます。

それ以外の場合は、グローバルスコープのロケールメッセージで翻訳されます。

[!TIP] rt の使用例は、tmv-for、JavaScript の for 文を使用したプログラムによるロケールメッセージ翻訳です。

[!WARNING] rtt とは異なり、ロケールメッセージのキーではなく、ロケールメッセージ自体を処理します。rt には内部フォールバックはありません。tm によって返されるロケールメッセージの構造を理解し、使用する必要があります。

参照:

パラメータ

パラメータタイプ説明
messageMessageFunction<VueMessageType> | VueMessageType解決する対象のロケールメッセージ。tm によって返されるロケールメッセージを指定する必要があります。

戻り値

翻訳されたメッセージ

(message: MessageFunction<VueMessageType> | VueMessageType, plural: number, options?: TranslateOptions<Locales>): string;

複数形のロケールメッセージ翻訳の解決

署名:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType, plural: number, options?: TranslateOptions<Locales>): string;

詳細

オーバーロードされた rt

このオーバーロードされた rt では、複数形の翻訳メッセージを返します。

[!TIP] rt の使用例は、tmv-for、JavaScript の for 文を使用したプログラムによるロケールメッセージ翻訳です。

[!WARNING] rtt とは異なり、ロケールメッセージのキーではなく、ロケールメッセージ自体を処理します。rt には内部フォールバックはありません。tm によって返されるロケールメッセージの構造を理解し、使用する必要があります。

参照:

パラメータ

パラメータタイプ説明
messageMessageFunction<VueMessageType> | VueMessageType解決する対象のロケールメッセージ。tm によって返されるロケールメッセージを指定する必要があります。
pluralnumber複数形の文字列を取得する位置。1 は最初のものを返します。
optionsTranslateOptions<Locales>翻訳の追加情報

戻り値

翻訳されたメッセージ

(message: MessageFunction<VueMessageType> | VueMessageType, list: unknown[], options?: TranslateOptions<Locales>): string;

リスト補間のロケールメッセージ翻訳の解決

署名:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType, list: unknown[], options?: TranslateOptions<Locales>): string;

詳細

オーバーロードされた rt

このオーバーロードされた rt では、複数形の翻訳メッセージを返します。

[!TIP] rt の使用例は、tmv-for、JavaScript の for 文を使用したプログラムによるロケールメッセージ翻訳です。

[!WARNING] rtt とは異なり、ロケールメッセージのキーではなく、ロケールメッセージ自体を処理します。rt には内部フォールバックはありません。tm によって返されるロケールメッセージの構造を理解し、使用する必要があります。

参照:

パラメータ

パラメータタイプ説明
messageMessageFunction<VueMessageType> | VueMessageType解決する対象のロケールメッセージ。tm によって返されるロケールメッセージを指定する必要があります。
listunknown[]リスト補間の値。
optionsTranslateOptions<Locales>翻訳の追加情報

戻り値

翻訳されたメッセージ

(message: MessageFunction<VueMessageType> | VueMessageType, named: NamedValue, options?: TranslateOptions<Locales>): string;

名前付き補間のロケールメッセージ翻訳の解決

署名:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType, named: NamedValue, options?: TranslateOptions<Locales>): string;

詳細

オーバーロードされた rt

このオーバーロードされた rt では、各プレースホルダー x に対してロケールメッセージに {x} トークンが含まれている必要があります。

[!TIP] rt の使用例は、tmv-for、JavaScript の for 文を使用したプログラムによるロケールメッセージ翻訳です。

[!WARNING] rtt とは異なり、ロケールメッセージのキーではなく、ロケールメッセージ自体を処理します。rt には内部フォールバックはありません。tm によって返されるロケールメッセージの構造を理解し、使用する必要があります。

参照:

パラメータ

パラメータタイプ説明
messageMessageFunction<VueMessageType> | VueMessageType解決する対象のロケールメッセージ。tm によって返されるロケールメッセージを指定する必要があります。
namedNamedValue名前付き補間の値。
optionsTranslateOptions<Locales>翻訳の追加情報

戻り値

翻訳されたメッセージ

ComposerTranslation

ロケールメッセージ翻訳関数

署名:

typescript
export interface ComposerTranslation<Messages extends Record<string, any> = {}, Locales = 'en-US', DefinedLocaleMessage extends RemovedIndexResources<DefineLocaleMessage> = RemovedIndexResources<DefineLocaleMessage>, C = IsEmptyObject<DefinedLocaleMessage> extends false ? JsonPaths<{
    [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
}> : never, M = IsEmptyObject<Messages> extends false ? TranslationsPaths<Messages> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>

詳細

これは Composer のインターフェースです。

(key: Key | ResourceKeys | number): string;

ロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number): string;

詳細

この関数がリアクティブコンテキストで使用されている場合、ロケールが変更されると一度再評価されます。

useI18nI18nScope 'local' またはいくつかの UseI18nOptions が指定されている場合、グローバルスコープのロケールメッセージよりもローカルスコープのロケールメッセージが優先的に翻訳されます。

それ以外の場合は、グローバルスコープのロケールメッセージで翻訳されます。

参照:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, named: NamedValue): string;

名前付き補間のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、各プレースホルダー x に対してロケールメッセージに {x} トークンが含まれている必要があります。

オプションに従って、翻訳不足の警告を抑止することもできます。

参照:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
namedNamedValue名前付き補間の値

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, named: NamedValue, plural: number): string;

名前付き補間と複数形のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, plural: number): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、各プレースホルダー x に対してロケールメッセージに {x} トークンが含まれており、複数形の翻訳メッセージを返します。

参照:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
namedNamedValue名前付き補間の値
pluralnumber複数形の文字列を取得する位置。1 は最初のものを返します。

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string;

名前付き補間と複数形のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、各プレースホルダー x に対してロケールメッセージに {x} トークンが含まれており、翻訳が見つからない場合はデフォルトメッセージを返します。

参照:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
namedNamedValue名前付き補間の値
defaultMsgstring翻訳が見つからない場合に返すデフォルトメッセージ

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions<Locales>): string;

名前付き補間のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions<Locales>): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、各プレースホルダー x に対してロケールメッセージに {x} トークンが含まれています。

オプションに従って、翻訳不足の警告を抑止することもできます。

オプションの詳細について、TranslateOptions を参照してください。

詳細な使用方法:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
namedNamedValue名前付き補間の値
optionsTranslateOptions<Locales>翻訳の追加情報

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, plural: number): string;

複数形のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, plural: number): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、複数形の翻訳メッセージを返します。

オプションに従って、翻訳不足の警告を抑止することもできます。

参照:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
pluralnumber複数形の文字列を取得する位置。1 は最初のものを返します。

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, plural: number, options: TranslateOptions<Locales>): string;

複数形のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, plural: number, options: TranslateOptions<Locales>): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、複数形の翻訳メッセージを返します。

オプションに従って、翻訳不足の警告を抑止することもできます。

オプションの詳細について、TranslateOptions を参照してください。

参照:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
pluralnumber複数形の文字列を取得する位置。1 は最初のものを返します。
optionsTranslateOptions<Locales>翻訳の追加情報

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, defaultMsg: string): string;

不足デフォルトメッセージのロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, defaultMsg: string): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、翻訳が見つからない場合にデフォルトメッセージを返します。

オプションに従って、翻訳不足の警告を抑止することもできます。

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
defaultMsgstring翻訳が見つからない場合に返すデフォルトメッセージ

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions<Locales>): string;

不足デフォルトメッセージのロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions<Locales>): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、翻訳が見つからない場合にデフォルトメッセージを返します。

オプションに従って、翻訳不足の警告を抑止することもできます。

オプションの詳細について、TranslateOptions を参照してください。

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
defaultMsgstring翻訳が見つからない場合に返すデフォルトメッセージ
optionsTranslateOptions<Locales>翻訳の追加情報

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, list: unknown[]): string;

リスト補間のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[]): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、リスト内の各プレースホルダーに {0}{1}、... が含まれるロケールメッセージが必要です。

オプションに従って、翻訳不足の警告を抑止することもできます。

参照:

パラメータ

パラメータタイプ説明
keyKey | ResourceKeys | number対象のロケールメッセージキー
listunknown[]リスト補間の値

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, list: unknown[], plural: number): string;

リスト補間と複数形のロケールメッセージ翻訳

署名:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], plural: number): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、リスト内の各プレースホルダーに {0}{1}、... が含まれるロケールメッセージが必要であり、複数形の翻訳メッセージを返します。

参照:

パラメータ

パラメータ説明
keyKey | ResourceKeys | number翻訳対象のロケールメッセージキー
listunknown[]リスト補間における値
pluralnumber取得する複数形の文字列。1 は最初のものを返します。

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string;

リスト補間と不足時のデフォルトメッセージを持つロケールメッセージの翻訳

シグネチャ:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string;

詳細

オーバーロードされた t

詳しくは以下のリンクをご参照ください:

このオーバーロードされた t では、ロケールメッセージに {0}{1} などのプレースホルダーが含まれている必要があります。もし翻訳が見つからない場合は、デフォルトメッセージを返します。

パラメータ

パラメータ説明
keyKey | ResourceKeys | number翻訳対象のロケールメッセージキー
listunknown[]リスト補間における値
defaultMsgstring翻訳が見つからなかった場合に返すデフォルトメッセージ

戻り値

翻訳されたメッセージ

(key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions<Locales>): string;

リスト補間用のロケールメッセージの翻訳

シグネチャ:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions<Locales>): string;

詳細

オーバーロードされた t

このオーバーロードされた t では、ロケールメッセージに {0}{1} などのプレースホルダーが含まれている必要があります。

また、翻訳が見つからない場合に警告を抑制することも可能です(オプションによる)。

オプションの詳細については、TranslateOptions をご参照ください。

使用方法については、以下をご確認ください:

パラメータ

パラメータ説明
keyKey | ResourceKeys | number翻訳対象のロケールメッセージキー
listunknown[]リスト補間における値
optionsTranslateOptions<Locales>翻訳に関する追加オプション

戻り値

翻訳されたメッセージ

MissingHandler

シグネチャ:

typescript
export type MissingHandler = (locale: Locale, key: Path, instance?: ComponentInternalInstance | GenericComponentInstance, type?: string) => string | void;

useI18n

Vue I18n の Composition API を使用する

シグネチャ:

typescript
export declare function useI18n<Schema = DefaultLocaleMessageSchema, Locales = 'en-US', Options extends UseI18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>> = UseI18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>>>(options?: Options): Composer<NonNullable<Options['messages']>, NonNullable<Options['datetimeFormats']>, NonNullable<Options['numberFormats']>, NonNullable<Options['locale']>>;

型パラメータ

パラメータ説明
Schema国際化リソース(メッセージ、日付形式、数値形式)スキーマ。デフォルトは DefaultLocaleMessageSchema
Locales国際化リソーススキーマのロケール。デフォルトは 'en-US'

詳細

この関数は主に setup で使用されます。

オプションが指定されている場合、各コンポーネントに対して Composer インスタンスが作成され、コンポーネント単位でのローカライズが可能です。

オプションが指定されていない場合、グローバルな Composer を使用してローカライズできます。

パラメータ

パラメータ説明
optionsOptionsオプション。UseI18nOptions を参照

戻り値

Composer インスタンス

コンポーネントベースのリソースを使用したローカライズの場合:

html
<template>
  <form>
    <label>{{ t('language') }}</label>
    <select v-model="locale">
      <option value="en">en</option>
      <option value="ja">ja</option>
    </select>
  </form>
  <p>message: {{ t('hello') }}</p>
</template>

<script>
import { useI18n } from 'vue-i18n'

export default {
 setup() {
   const { t, locale } = useI18n({
     locale: 'ja',
     messages: {
       en: { ... },
       ja: { ... }
     }
   })
   // 何かの処理 ...

   return { ..., t, locale }
 }
}
</script>

UseI18nOptions

useI18n 用の国際化オプション

シグネチャ:

typescript
export type UseI18nOptions<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 extends ComposerOptions<Schema, Locales> = ComposerOptions<Schema, Locales>> = ComposerAdditionalOptions & Options;

詳細

UseI18nOptionsComposerAdditionalOptions および ComposerOptions を継承しているため、これらのオプションを指定できます。

VueMessageType

シグネチャ:

typescript
export type VueMessageType = string | ResourceNode | VNode;