Home > C# > 目的別資料 > 地域設定

静的Resxリソースを構成する

WPFのための地域設定の手引き Localization Guidance for WPF

原文

WPF Localization Guidance 「Rick StrahlとMichele Leroux Bustamante(2009年6月)」の和訳です。
地域設定の実装の参考にしてください。

関連ファイル

訳文

あなたが、ありふれたWPFアプリケーション以外の何かを持っている場合、Resxファイル内のリソースが多くなる可能性があります。 あなたは、この方法で、これらのリソースを構成することについて、注意深く考えたくなるでしょう。 それは、あなたが、簡単に、編集とアクセスできる、リソースを見つけることができます。 あなたが、WindowsフォームとASP.NETで地域設定を使用している場合、あなたは、おそらくローカルとグローバル・リソースの概念を使い慣れています。 一般的に、その場所のResources.resxの中に、1セットのグローバル・リソース、 そして、その次に、アプリケーションのドキュメントにつき、1つのローカル・リソースのセットがあります。

先程、述べたように、WPFは、Windows FormsやASP.NETのどちらのとも違い、どんな組込みの自動的なリソース・マッピングの仕組みも提供しません。 そして、このように、どのように、リソースを格納し、マッピングするか決めるのは、あなた次第です。 グローバル/ローカル・リソース・モデルに準拠するのは、良い考えです。 それにもかかわらず、それは、IDEで直接サポートされません。 それは、多くのリソースを処理するために、実証済みの構成体系を提供します。 この方法を使用して、あなたは、それぞれのXAMLドキュメントのために、ローカルResxファイルを作成します。それは、そのドキュメントに特別な、リソース・キーを格納します。 これは、即時の要素プロパティの割当てだけでなく、メッセージのリソースが含まれている必要があります。 それは、それぞれのドキュメントのために、特別です。

要約すると、『ローカル』リソースを作成すると、含まれています。:

  • それぞれのXAMLドキュメントのために、Resxファイルを作成します。
  • XAMLドキュメントに、リソース形式の名前空間を追加します。
  • この名前空間を使用して、それぞれのリソースを結合します。
  • 例えば、次に示す例は、ResxResourceAdministration.xamlと呼ばれるドキュメントが含まれています。 そして、LocalResources\ResxResourceAdministrationRes.resx内のリソース・ファイルに、リソースのドイツ語版を加えます。 Figure 18は、複数のウィンドウが存在するとき、プロジェクトのレイアウトを具体的に説明します。:

    FIGURE 18:

    Windows(黄色)に関する、『グローバル』リソース(赤)と『ローカル』リソース(青)が使用されます。

    FIGURE 18

    ドキュメントごとにリソースを分離すると、それぞれのリソース・セットは、 すべてリソースが含まれる1つの巨大なリソースファイルと比較して、扱いやすいリソースの数を保ちます。 それぞれのローカル・リソースのファイル名のRes接尾辞を使用することで、それらが関係するドキュメントの名前と一致する、 リソースとドキュメントが同じクラス名を生成しないように、名前の衝突を回避します。 これは、コードの中で名前空間を指定することなく、あなたが、厳格に型指定されたリソースにアクセスできることを保証します。 そして、ドキュメントのように、あなたが、同じフォルダでリソースファイルを作成することが発生する場合、 Visual Studioは、ドキュメントとリソースのために、正確に同じクラス名を生成しません。 それは、同様に、乱雑を取り除くために、別々のフォルダにローカル・リソースを配置するのを助けます。 その、複数のリソースファイルは、プロジェクトにツリーに導入されます。

    ドキュメントのリソースに結合するとき、ここで、マークアップは、『ローカル』と『グローバル』リソース文字列から、 厳格に型指定されたリソースに、いくつかのラベルが結合したように見えます。:

    
    <Window x:Class="ResxResourceAdministration.LocalizationInfo" 
    	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    	xmlns:props="clr-namespace:ResxResourceAdministration.Properties" 
    	xmlns:res="clr-namespace: ResxResourceAdministration.LocalResources" 
    	Title="AddDialog" Height="300" Width="300"> 
    	<Window.Resources> 
    	<StackPanel Margin="10"> 
    		<Label content="{x:Static res:ResxResources.lblHelloWorld.Text}" 
    			x:Name="lblHelloWorld" Margin="5" /> 
    		<Label content="{x:Static props:Resources.Today}" Margin="5"/> 
    	</StackPanel> 
    </Window>	
    			

    でも、これの全ては、選択可能です。 上記は、単純に、あなたのプロジェクトで、あなたのリソースを構成することのために、あなたに、いくつかのアイデアを与えるヒントです。 思い通りに、あなたのリソース・ファイルを配置してください。 それは、あなたと、あなたの地域設定作業の流れに意味があります。

    このエントリーをはてなブックマークに追加

    Home PC C# Illustration

    Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
    kukekko@gmail.com
    ご連絡の際は、お問い合わせページのURLの明記をお願いします。
    「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」