我正在修补错误系统,我使用枚举来识别错误。枚举包含在服务器端并转换为JS对象,但我不知道在哪里保留我的错误消息。
错误枚举
public enum MyError
{
InvalidThingFormat = 1001,
AllowedThingsExceeded = 1002
}
生成JavaScript“enum”
var MyError= {InvalidThingFormat :1001,AllowedThingsExceeded:1002};
并按照
进行检查switch(data.error) {
case MyError.InvalidThingFormat:
alert("Format validation failed");
break;
// etc.
}
到目前为止,我喜欢这种感觉,但我不喜欢硬编码的错误消息;那么我将把我的本地化/国际化的人类可读错误信息放在哪里?
是否还应该在JS中推出后端翻译集,或者翻译是否仅在JS方面,由其他方法处理?代码会是什么样的; Error.GetMessage(MyError.AllowedThingsExceeded)
?
答案 0 :(得分:1)
你会有几个javascript文件,每个文件都以其本地化命名。 IE:
烯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"];