i18n API
GUIと翻訳システム間の境界を定義する。
関数
get_current_locale() -> string
現在のロケールコードを返す。
| 項目 | 仕様 |
|---|---|
| 戻り値 | ロケールコード(例: "ja", "en") |
| スレッド | 任意 |
| 呼び出しタイミング | UI初期化時 |
set_locale(locale: string) -> Result<(), Error>
アプリケーションのロケールを設定する。
| 項目 | 仕様 |
|---|---|
| 引数 | locale: 対応ロケールコード |
| 戻り値 | 成功時: Ok(()), 失敗時: Error |
| スレッド | 非リアルタイム |
| 副作用 | config.tomlに保存 |
| エラー | UnsupportedLocale(未対応言語の場合) |
t(key: string, params?: object) -> string
翻訳キーに対応する文字列を返す。
| 項目 | 仕様 |
|---|---|
| 引数 | key: 翻訳キー, params: 補間パラメータ(オプション) |
| 戻り値 | 翻訳済み文字列 |
| スレッド | 任意 |
| フォールバック | 英語 → キー自体 |
補間例: t("session.peers", { count: 3 }) → "3人が参加中"
対応ロケール
| コード | 言語 |
|---|---|
| ja | 日本語 |
| en | 英語 |
エラー
| エラー | 説明 |
|---|---|
| UnsupportedLocale | 未対応のロケールコードが指定された |