public enum ObjectType { 国家= 0, 地区= 1, 省= 2, 市= 3, 酒店= 4 }
我有两个语言版本的两个应用程序,这个枚举显示在某个地方,所以取决于语言版本我想显示正确版本的枚举
用德语版本代替Country Land等。
此应用程序使用相同的websercice,它声明了此枚举。
ADDED
我有一个datagridview和对象列表,哪些类有字段ObjectType,我必须在datagridviev中显示这个池,所以这是一个问题
答案 0 :(得分:12)
枚举键是代码的一部分,就像方法名称一样。他们不应该被本地化。
如果您需要本地化,请不要直接向用户显示枚举键。使用资源文件将它们映射到本地化值。
答案 1 :(得分:2)
枚举值应该用于编程逻辑,通常不用于UI输出。您应该以默认英语提供ObjectType
枚举(与大多数编程关键字一样),并让WebService使用者将翻译转换为正确的语言。
答案 2 :(得分:0)
这样的解决方案怎么样?
public enum ObjectType
{
Country=0,
Land=0,
Region=1,
...
}
顺便说一下,正如有人所说,Enums不应该被本地化。尝试其他一些好的解决方案。如果您分享更多详细信息,我们会尝试建议。
答案 3 :(得分:0)
最好是在枚举和字符串表示之间实现数据库或配置文件映射。它不仅可以帮助您进行本地化,还可以帮助您实现具有两个单词的枚举值
答案 4 :(得分:0)