知識マップ: WinForms/WPFアプリの多言語化 ── resx・サテライトアセンブリ・カルチャ切り替えの実務

記事「WinForms/WPFアプリの多言語化 ── resx・サテライトアセンブリ・カルチャ切り替えの実務」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

WinForms/WPFアプリの多言語化を、CurrentCulture(書式)とCurrentUICulture(リソース言語)を分けて設計する土台から整理する記事で、resxが本体のニュートラルリソースと言語別サテライトアセンブリに分かれ、CurrentUICultureを起点に特定カルチャからニュートラルへ自動フォールバックする仕組みを説明する。WinFormsはLocalizableプロパティによるデザイナー方式と共有resx方式を併用し、WPFは.NET(Core)では動かないLocBaml方式ではなくresx+x:Staticバインディングを第一候補とする。翻訳後もレイアウトの伸縮・RTL対応・InvariantCultureへのログ書式固定など文字列以外の対応が残ることも指摘する。

WinForms/WPFの多言語化の知識マップresxとサテライトアセンブリによるリソースフォールバックの仕組み、CurrentCultureとCurrentUICultureの役割分担、WinFormsのデザイナー方式とWPFのresxと静的リソース参照による方式、RTLやInvariantCultureなど文字列以外の対応の関係を示す図利用する利用する前提とする利用する前提とするで構成できる利用する前提とする両立しない前提とする利用する利用する推奨される対応推奨される対応で構成できるで構成できる自動化する推奨される対応原因になり得る利用する利用する利用する利用するresxリソースファイルサテライトアセンブリCultureInfo.CurrentUICultureWindows FormsWPFリソースフォールバックNeutralResourcesLanguage属性デザイナー方式(Localizable=true)LocBaml.NET(Core以降)BAML(Binary Application Markup Language)x:Static参照(resx)TableLayoutPanel+AutoSizeによる可変レイアウト右から左へ書く言語(RTL)対応ClickOnceCultureInfo.InvariantCulture多言語ログによる検索性の低下CultureInfo.CurrentCulture

概念間の関係(全23件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

resxリソースファイル
文字列やその他のリソースをXML形式で保持する.NETのリソースファイル形式。ビルド時に本体または言語別のサテライトアセンブリへ変換される。
サテライトアセンブリ
言語別のリソースだけを収めた、本体アセンブリとは別の「言語コード/アセンブリ名.resources.dll」という形式のDLL。
CultureInfo.CurrentUICulture
リソースマネージャーがどの言語のリソースを読み込むかを決める.NETのカルチャ設定。既定値はOSのユーザーインターフェイス言語に由来する。
Windows Forms
デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。
WPF
XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。
リソースフォールバック
CurrentUICultureを起点に、特定カルチャ→ニュートラルカルチャ→本体の既定リソースの順でリソースを探索する.NETの自動探索プロセス。
デザイナー方式(Localizable=true)
フォームのLocalizableプロパティをtrueにし、Languageプロパティを切り替えて編集することで、コントロールの文字列・サイズ・位置を言語別resxへ自動保存するWindows Formsのローカライズ方式。
LocBaml
BAMLから翻訳対象の文字列を抜き出し、訳文を差し込んで言語別のBAMLを作り直す、.NET Framework時代のWPF向けサンプルツール。.NET(Core)のWPFでは動作しない。
x:Static参照(resx)
XAMLから、resxで生成された型付きクラスの静的プロパティの値を画面構築時に1回だけ読み込むWPFの参照方式。
TableLayoutPanel+AutoSizeによる可変レイアウト
翻訳後の文字列長の変化にコントロールのサイズが追従するよう、TableLayoutPanelとAutoSizeを組み合わせるWindows Formsのレイアウト手法。
ClickOnce
.NETのWindowsデスクトップアプリを、利用者単位で簡単に配り、自動更新まで含めて回すための配布技術。マニフェストを中心に配布・更新・キャッシュ管理をまとめて扱う配布モデル。
CultureInfo.InvariantCulture
OSの地域設定(カルチャ)に依存しない数値・日付の書式変換に使う.NETのカルチャ。CSV出力での区切り文字との衝突回避だけでなく、和暦混入の防止やログ出力の検索性維持など、境界を越える日付・数値の文字列表現を固定したい場面で広く使われる。
CultureInfo.CurrentCulture
日付・数値・通貨などの書式を決める.NETのカルチャ設定。表示するリソース言語(CurrentUICulture)とは独立して設定できる。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。