メインコンテンツまでスキップ

テキストのカスタマイズ

フロントエンドフレームワークは、国際化とローカライゼーションのためにi18nextライブラリを使用しています。これにより、アプリケーション内のテキストの翻訳が簡単にできるだけでなく、カスタム翻訳キーを使用してテキスト自体をカスタマイズすることも可能です。

テキストのカスタマイズ方法

アプリケーションのテンプレート内では、i18nOptions プロパティを使用してi18nextライブラリを設定できます。このプロパティは、i18next.init メソッドに渡され、指定されたオプションでi18nextライブラリを初期化します。詳細については、i18nextのドキュメントを参照してください。

フロントエンドフレームワークの場合、resources プロパティを使用してアプリケーションで使用されるテキストを指定できます。私たちは、アプリケーションのデフォルトの翻訳を読み込む loadDefaultTranslations メソッドを提供しています。

{
...
i18nOptions: {
resources: loadDefaultTranslations(),
}
}

次に、独自の翻訳を指定して、この翻訳リストに結合することで、デフォルトの翻訳を上書きできます。

import { merge } from 'lodash';
import { loadDefaultTranslations } from '@basaldev/blocks-frontend-framework';

{
...
i18nOptions: {
resources: merge(loadDefaultTranslations(), {
ja: {
keyToOverride: 'My custom translation text'
}
}),
}
}

翻訳の管理

コード内でのテキストの翻訳は面倒になることがあるため、上書きされた翻訳を管理するためにyaml形式で指定された翻訳ファイルを使用することをお勧めします。

ja:
keyToOverride1: 'My custom translation text 1'
objectToOverride:
key1: 'My custom translation text 2'
key2: 'My custom translation text 3'

このファイルもインポートできます。

import { merge } from 'lodash';
import { loadDefaultTranslations, loadTranslationsFromYaml } from '@basaldev/blocks-frontend-framework';
import translationOverrides from './overrides.yaml';

{
...
i18nOptions: {
resources: merge(loadDefaultTranslations(), loadTranslationsFromYaml(translationOverrides)),
}
}

翻訳ファイルのフォーマット

注意

フロントエンドフレームワークでは、現在翻訳用のyamlファイルについて固定のフォーマットは存在しません。

将来的には、翻訳をより構造化された方法で整理し、アプリケーションの構造に合わせて翻訳ファイルをより読みやすく、管理しやすくする予定です。 フィードバックや提案がありましたら、お気軽にご連絡ください。