2008-09-17 9 views
17

WPFアプリケーションをローカライズする良い方法はないようです。 MSDNはx:UidのXAMLを散らばり、CSVファイルを生成し、サンプルコードを使用して新しいアセンブリを生成すると答えているようです。さらに悪いことに、このプロセスでは、画像、バイナリブロブ(PDFファイルなど)、コードに埋め込まれた文字列をローカライズする方法については言及していません。その文字列のデータを持っている WPFアプリケーションをローカライズする最善の方法は何ですか?LocBAML?

  • をローカライズする必要があります

    1. は、画像やその他のバイナリ・ブロブ(PDFドキュメントなど)が含まれ
    2. いくつかのアセンブリが含まれています:

      だから、どのようにアプリケーションをローカライズするかもしれません

  • +0

    答えはいくつかあります。あなたは何を選んだのでしょうか? – Dmitriy

    +0

    それはずっとずっと忘れてしまった!ドー! –

    答えて

    8

    は、ここでは専門家が、「ポイ捨て」xはあなたのXAMLない:あなたのWindowsはすべてstrinでコードをフォームのUIDが「ポイ捨て」よりも悪いではありません。XAML(MessageBox.Show("Hello World");など)ではありませんあなたがそれらをローカライズするためにしなければならないナンセンス。

    私の知る限り、WPFアプリケーションは「文字列テーブル、画像などのすべてのフレームワークCLRリソース」をサポートしています。ローカライズされたリソースを持つことができます。

    もちろん、このナンセンスの多くを処理したマークアップ拡張を作成した方がはるかに簡単です。 You can find an example of someone doing this here.およびhere's another, similar solution.

    +3

    こんにちは、このコメントのように、この答えは***ほとんど8歳です***。 WPFアプリケーションのローカライズに関する最新情報をご覧ください。答えをupvoteする必要はありません、ちょうどこのコメントをupvote /あなたが見つけるものについての詳細を残す! – Will

    0

    上記のすべてのシナリオをサポートする古い「ResX」ファイルを使用することができます。これは、WPFアプリケーションで実現することができますどのようにここで説明されています

    WPF Application Framework (WAF) =>あなたは記事とhere利用可能なコードを見ている必要がありローカリゼーションサンプル

    10

    を参照してください。 LocBaml、カスタムマークアップ拡張、または添付プロパティを使用して、WPFアプリケーションをローカライズするさまざまな方法について説明します。マークアップ拡張機能とResxリソースを使用するのが最善の解決策です。このコードには、そのためのローカリゼーションフレームワークが含まれています。

    0

    Gnu GetTextユーティリティとサポートアプリケーションを試してみてください。 ResourceManagerやResourceSetsをベースにしたgenerate C#クラスもあります。もちろん、Webページ、ネイティブコード、iPhoneなど、アプリケーションの他の部分の翻訳を再利用することもできます。

    関連する問題