1

エラーを識別するために列挙型を使用するエラーシステムをいじくり回しています。列挙型はサーバーサイドに含まれ、JSオブジェクトに変換されますが、エラーメッセージをどこに保存するかわかりません。

エラー列挙型

public enum MyError
{
    InvalidThingFormat = 1001,
    AllowedThingsExceeded = 1002
}

生成されたJavaScript「列挙型」

var MyError= {InvalidThingFormat :1001,AllowedThingsExceeded:1002};

そして、次のようにチェックします

switch(data.error) {
    case MyError.InvalidThingFormat:
        alert("Format validation failed");
        break;
    // etc.
}

これまでのところ、これがどのように感じられるかは気に入っていますが、ハードコードされたエラーメッセージは好きではありません。では、人間が読めるエラーメッセージのローカリゼーション/国際化をどこに置くのでしょうか?

JSでプッシュするバックエンド翻訳セットもあるべきですか、それとも翻訳はJS側でのみ行われ、他の方法で処理される必要がありますか?コードはどのようになりますか。Error.GetMessage(MyError.AllowedThingsExceeded)

4

1 に答える 1

1

それぞれのローカライズ用に名前が付けられた、いくつかの javascript ファイルがあります。いいえ:

en-us.js:

var ErrorMessages = {
    "1001" : "Invalid thing",
    "1002" : "Too many things."
};

es-mx.js: (注、実際にはスペイン語はわかりません)

var ErrorMessages = {
    "1001" : "Cosa no válido",
    "1002" : "Demasiadas cosas"
};

などなど。

したがって、en-us.js をデフォルトとして含め、その後、適切なローカリゼーションを含めます。

その後、次のように使用できます。

 var errMsg = ErrorMessages[MyError.InvalidThingFormat];

また

 var errMsg = ErrorMessages["1001"];
于 2012-09-17T14:27:20.107 に答える