Skip to content

FoMのローカライズをassets.zipから読み込む - #699

Merged
Freeesia merged 5 commits into
masterfrom
codex/fom-assets-zip-localization
Sep 20, 2026
Merged

Freeesia merged 5 commits into
masterfrom
codex/fom-assets-zip-localization

Conversation

@Freeesia

@Freeesia Freeesia commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner

概要

  • 旧形式の localization.json への依存を廃止し、ゲームの assets.zip からローカライズデータを直接読み込むように変更
  • assets/t2/**/*.c.toml から会話・カットシーン、assets/fiddle/**/*.toml からその他の英語原文を取得
  • assets/localization/l10n.meta.toml の fiddle_renames に従って対象リソースを選択
  • アプリの翻訳先がゲーム対応言語の場合、その言語の assets/localization/translations/*.meta.toml を参照
  • 対応する翻訳リソースを未翻訳候補の判定、翻訳例コンテキスト、用語集に利用し、公式翻訳は TranslatedText として直接返さない
  • 同じ英文に複数のリソース候補がある場合もすべて保持し、翻訳先言語で英語のまま残る未翻訳候補を優先
  • ゲームデータから話者を取得し、キャラクターとシーンの情報を翻訳コンテキストへ反映
  • 選択肢はプレイヤー(Ari)の発言として扱い、OCR補正も未翻訳候補を中心に照合

対応する翻訳リソース

  • 日本語 (jpn)
  • フランス語 (fra)
  • 韓国語 (kor)
  • ロシア語 (rus)
  • スペイン語 (spa)
  • 中国語・簡体字 (zh-Hans)
  • 中国語・繁体字 (zh-Hant)

英語およびゲーム非対応の翻訳先では翻訳リソースによる絞り込みを行わず、英語原文全体を補正候補にします。

入出力・設定

  • フィルタープラグインの入力・出力型と呼び出し方法は変更なし
  • 公式日本語を直接返さなくなったため、UseJpn 設定を削除
  • プラグイン独自の言語設定は追加せず、アプリの翻訳先言語を使用

検証

  • dotnet build Plugins/WindowTranslator.Plugin.FoMPlugin/WindowTranslator.Plugin.FoMPlugin.csproj --no-restore --disable-build-servers -m:1 -p:UseSharedCompilation=false
  • 実際の assets.zip から英語 44,054 件を読み込み
  • 翻訳リソースの読み込み件数: 日本語 34,176、フランス語 42,256、韓国語 43,275、ロシア語 38,163、スペイン語 38,186、簡体字 43,282、繁体字 43,275
  • 会話・カットシーン 34,559 件中 33,433 件(96.7%)で話者メタデータを取得
  • 翻訳済みと未翻訳が混在する同一英文 236 グループを確認
  • 自動テストは要望に従い追加・実行していません

@Freeesia
Freeesia marked this pull request as ready for review September 13, 2026 07:19
@Freeesia
Freeesia marked this pull request as draft September 13, 2026 14:14
@Freeesia
Freeesia marked this pull request as ready for review September 20, 2026 13:30
@Freeesia
Freeesia merged commit 2468299 into master Sep 20, 2026
8 checks passed
@Freeesia
Freeesia deleted the codex/fom-assets-zip-localization branch September 20, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant