2012-02-09 10 views
0

グローバルリソースファイル:ContactDetails.resxがあります。ここには、ウェブサイトで使用されている住所と連絡先情報があります。リソースファイルからのリソースへのリンク

連絡先の詳細をすべて記載した連絡先ページもありますが、言語によって変更されています。したがって、英国のウェブサイトでは、英国の連絡先の詳細が上部に表示されますが、フランスのウェブサイトではフランスの詳細が上部に表示されます。

異なるリソースの値からリソース値を参照して、リソースをネストする方法はありますか?

答えて

0

フランス語のリソースファイルにリソース値が存在せず、デフォルトのリソースファイルに存在する場合、システムは自動的にデフォルトのリソースファイルから値を取得します。

だからあなたの局在をfrに設定し、通話のようなものですされている場合:

Resources.ContactDetails.Telephone 

、電話はそれから電話値を取得しますContactDetails.fr.resxには存在しませんContactDetails.resx


すべての値がページに表示されるが、ローカライゼーションに応じて異なる順序で表示される場合は、これらをリソースファイルに保存しないことをお勧めします。リソースファイルのバリエーションは、言語の変更であり、データのレイアウトを変更するものではありません。

代わりに、私は、データベースにこれらを保存するために推薦する、などページ上の3つのリテラルコントロールを持っている:

<asp:literal id="ltl1stTelephone" runat="server" /> 
<asp:literal id="ltl2ndTelephone" runat="server" /> 
<asp:literal id="ltl3rdTelephone" runat="server" /> 

その後ローカライズに応じて、各コントロールに割り当てられるべき値を指定します。

if (System.Threading.Thread.CurrentThread.CurrentUICulture = "fr"){ 
    ......... 
} 
+0

私が求めているものではありません。基本的に1つのリソースファイルがページの構造を提供しています(私が知っているベストプラクティスではないかもしれません)。これにより連絡先の詳細が表示されます。しかし、ある電話番号を変更すると他の多くの場所が変更されるため、連絡先の詳細をこのファイルの中に保存することは望ましくありません。代わりに、最初のリソースファイルから参照される、すべての連絡先の詳細を保持する別の場所が必要です。 – Chris

+2

これについて考えてみると、リソースファイルがこれについて正しい方法であるかどうか疑問に思います...これをどのように達成しますか? – Chris

+0

これで、リソースコード値にHTMLコードを保存していますか?これはおそらく最良の方法ではありません。フランス語のローカリゼーションの場合は、別のCSSファイルを使用できますか?それはおそらくもっとうまくいくでしょう。それとも、私はまだ誤解していますか? – Curt

関連する問題