I currently face an odd issue. I am not sure why Microsoft decided to go this way, but for me this seems like the worst design possible.
My Windows installation was done using German as language. I am used to English, though, so I changed the primary language to that.
Now all performance counters and categories are registered using their German names, yet I want to use them independent of the system language. So I "hard-coded" their English names when creating them, which resulted in an error at my hand.
To fix the issue, I found a neat snippet which allows to create using the English name and automatically translated it to the correct name.
Now since my system language is English but my counters are registered using German names, how can I get them without hard-coding German names into an localized application? I really don't understand why they use localized names for this instead of IDs which are universal. The native method always returns the English name, because I use that as system language.
EDIT: The registry only shows English names, but when I call PerformanceCounterCategory.GetCategories()
I get a list of German names.