0

これは、実装がどのように見えるかです

public class Product
{
    public integer id {get;set;}
    [MultiLangual]
    public string name {get;set;}
}

データベースでは、名前には次のようなものが含まれます。

{en:Pataoto, nl: Aardappel, de: Patat, fr: pommes de terre}

これには、クライアントが自分の製品に与えたすべての翻訳済みフィールドが含まれます。(この場合: ポテト)。

フロントエンドでは、これは複数の html 要素として表示され、フォームの送信時に (どういうわけか) どの言語であるかを検出します。

私の質問は、どうすればこれを行うことができますか? 私はいつもアトリビュートの作成に行き詰まっており、どこから続ければよいかわかりません...

私の属性では、私は多くのことをすべきではありません.

public class MultiLangualAttribute : Attribute
{
    public MultiLangualAttribute() : base()
    { 
    }

    public override string ToString()
    {
        return base.ToString();
    }
}

しかし、ビュー内のすべてを検出してカスタム レイアウトを作成するにはどうすればよいでしょうか (これは と で動作するはずです。テキストのみが含まれます。

上記のアイデアまたはより良い実装は、非常に役立ちます:)

4

1 に答える 1

0

(ほぼ間違いなく) より良い実装は、アプリケーションのローカリゼーションの標準的な方法だと思います。App_GlobalResources作成する必要があるフォルダーの下にリソースと文字列を定義します。たとえばFruits.resx、システム言語で翻訳したいすべての果物を含むファイルを作成します。その後、Web サイトに含めるすべての言語Fruits.de.resxFruits.es.resxなどを作成します。実行時にリソースを更新することもできます。この回答ですべてのアプローチを説明するには多すぎるため、MVC アプリケーションのローカリゼーションに関する詳細なチュートリアルのリンクを 1 つまたは 2 つ提供したいと思います。

これがすべてあなたの助けになり、幸運を祈ります

于 2012-08-21T23:13:33.080 に答える