2,894 questions
The string to be displayed are changed by referring to CultureInfo.CurrentUICulture.Name.
using System.ComponentModel;
using System.Globalization;
class SRDescriptionAttribute : DescriptionAttribute
{
public string EnString { get; }
public string JpString { get; }
public SRDescriptionAttribute(string enString, string jpString) {
EnString = enString;
JpString = jpString;
}
public override string Description {
get {
switch (CultureInfo.CurrentUICulture.Name) {
case "en-US":
return EnString;
case "ja-JP":
return JpString;
}
return EnString;
}
}
}
It is used like this.
class TestUserControl : UserControl
{
[SRDescription("English", "日本語")]
public int Prop1 { get; set; }
}