0

C# Windows フォーム アプリケーションをローカライズしたいと考えています。言語と値を 1 つずつ設定して、コントロールの文字列をローカライズしました。form1.en.resx と form1.fr.resx があり、実行すると期待どおりに動作します (フランス語の PC のフランス語 英語の PC の英語) )。しかし、コード内の他の文字列に対してそれを行う方法がわかりませんでした。私が持っているとしましょう:

MessageBox.Show("Hello world");

次のようなものが必要だと思います

MessageBox.Show(Resources.Helloworld);

また、PC の言語に応じて、他のコントロール テキストと同様に、適切なリソース値を選択する必要があります。そのようなことをする正しい方法は何ですか?

resharpersMove to resourceオプションを試しました。ただし、プロジェクトのリソースに移動するだけなので、言語オプションを指定することはできません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

次のようなことを試すことができます:

  public enum myResource
    {
        HelloWorld,
        ByeWorld
    }



public string GetText(myResource someRes)
        {
            string sText = "";
            switch (someRes)
            {
                case someRes.HelloWorld:
                    sText = "Hello World";
                    break;
                case someRes.ByeWorld:
                    sText = "ByeWorld";
                    break;
                default:
                    sText = "Empty...";
                    break;
            }

            return sText ;

        }
于 2013-09-25T09:21:50.650 に答える