Вы должны выполнить следующие действия:
(1) подготовить файлы ресурсов, например resource.en-US.resx
/ resource.zh-CN.resx
/ и т.д.. Каждый файл ресурсов имеет ключи и значения, их ключи одинаковы для разных файлов, значения различаются в разных языках.
(2) определите свой собственный DescriptionAttribute
, примерно так:
public class LocalDescriptionAttribute : DescriptionAttribute
{
public string ResourceKey { get; set; }
public string CultureCode { get; set; }
//you can set a default value of CultureCode
//so that you needn't set it everywhere
public override string Description
{
get
{
//core of this attribute
//first find the corresponding resource file by CultureCode
//and then get the description text by the ResourceKey
}
}
}
Использование:
public enum MyTexts
{
[LocalDescription(CultureCode="zh-CN", ResourceKey="Title")]
Title = 0,
[LocalDescription(ResourceKey="Status")] //default CultureCode
Status = 1
}