多言語対応 (i18n)¶
フロントエンドは @solid-primitives/i18n による多言語対応を実装しています。
- 対応言語: 日本語 (ja)、英語 (en)
- デフォルト: 日本語(ブラウザ言語で自動検出)
- 切替: 右上のボタンで
JA↔ENをトグル - 永続化:
localStorageに保存、リロード後も保持
言語の追加方法¶
frontend/src/i18n/dictionaries/に新しい辞書ファイル(例:ko.ts)を作成frontend/src/i18n/index.tsxのdictionariesとlocalesに追加- 型定義は
ja.tsのDictionary型で保証されるため、キーの過不足がコンパイル時に検出されます
辞書ファイルの構造¶
// frontend/src/i18n/dictionaries/ja.ts
export const ja = {
"app.title": "Nekonoverse",
"app.tagline": "ねこに優しいActivityPubサーバー",
"common.loading": "読み込み中...",
"common.login": "ログイン",
// ...
} as const;
export type Dictionary = typeof ja;
英語辞書は Dictionary 型を参照するため、キーの追加・削除は日本語辞書から行います。