i18n プラグイン

i18n プラグインは、多言語およびローカライズのサポートを提供します。デフォルトでは、Day Flow のコアライブラリはバンドルサイズを最小限に抑えるため、英語 (en-US) ののみが含まれています。

インストール

ローカライズプラグインパッケージをインストールします:

npm install @dayflow/plugin-localization
pnpm add @dayflow/plugin-localization
yarn add @dayflow/plugin-localization
bun add @dayflow/plugin-localization

使い方

他の言語のサポートを有効にするには、プラグインを登録し、必要なロケールオブジェクトを提供します。

import { useCalendarApp, DayFlowCalendar } from '@dayflow/core';
import {
  createLocalizationPlugin,
  zh,
  ja,
  fr,
} from '@dayflow/plugin-localization';

function MyCalendar() {
  const calendar = useCalendarApp({
    views: [
      /* ビューの設定 */
    ],
    plugins: [
      createLocalizationPlugin({
        locales: [zh, ja, fr], // 必要な言語を登録
      }),
    ],
    locale: 'ja-JP', // 現在のロケールを設定
  });

  return <DayFlowCalendar calendar={calendar} />;
}

設定

プラグインは、グローバルロケールレジストリに登録する Locale オブジェクトのリストを受け取ります。

interface LocalizationConfig {
  locales: Locale[];
}

利用可能なロケール

現在、@dayflow/plugin-localization パッケージでは以下のロケールが利用可能です:

エクスポート言語ロケールコード
zh中国語zh-CN
ja日本語ja-JP
ko韓国語ko-KR
frフランス語fr-FR
deドイツ語de-DE
esスペイン語es-ES
en英語en-US (コアに内蔵済み)

カスタムロケール

プラグインを使用せずに、またはプラグインに渡すことで、独自のカスタムロケールを登録することもできます:

const myCustomLocale = {
  code: 'pt-BR',
  messages: {
    today: 'Hoje',
    day: 'Dia',
    week: 'Semana',
    month: 'Mês',
    // ... 他のすべての翻訳キー
  },
};

const calendar = useCalendarApp({
  plugins: [
    createLocalizationPlugin({
      locales: [myCustomLocale],
    }),
  ],
  locale: 'pt-BR',
});

On this page