Thank you for writing.
The best way to localize all the items displayed in the property grid is through the Label
uses the label property to determine what text to display for an item. The Label
property works the following way:
1. It checks whether there is a label set explicitly, if this is the case then it returns this label
2. It checks whether there is DisplayName
attribute applied to the property, if this is true it returns the attribute value.
3. Returns the property name.
In the case of category items step two is skipped. So whenever you change the display language you can iterate over the items and assign the localized values.
I have attached a sample project where I have implemented an example localization using the Label property. Also to localize the UI elements of the property grid you can use a localization provider.
I hope this will be useful. Should you have further questions, I would be glad to help.