Я думаю, что вы находитесь в правильном направлении - используйте атрибуты для украшения членов перечисления.Единственное, что вам, вероятно, нужно сделать, это забыть о System.ComponentModel
и спроектировать свой собственный набор атрибутов, который будет соответствовать вашим требованиям и общей архитектуре приложения.
Мы использовали тот же подход, и он работает, как и ожидалось,чистый, универсальный, многократно используемый ».Единственный аспект, который мы не реализовали, потому что он нам не нужен, это фактическая интернационализация.Однако это всего лишь некоторая механика, которая требует от вас отслеживать текущую культуру и решать, где выбирать файлы ресурсов.По сути, вам может потребоваться выбрать подход «несколько атрибутов» (по одному на язык) или «один атрибут» (по одному для всех языков, инкапсулирующих выбор файла ресурсов).