¿Cuál es la mejor manera de proporcionar localización para Enums?

Estoy escribiendo una aplicación multilingüe que utiliza muchas enumeraciones, y me gustaría lograr los siguientes objetivos:

Mostrar nombres Enum como cadenas localizadasProporcione descripciones localizadas utilizando atributosHabilite el análisis sensible al lenguaje de enumeraciones de nuevo a valores int

Tengo ganas de decorar la enumeración usando atributos + un archivo de recursos, de modo que se pueda acceder a las cadenas localizadas desde la información de tipo de tiempo de ejecución. He estado siguiendo la ruta antes de declarar una clase estática con miembros estáticosen lugar de una enumeración, pero esto presentó tantos problemas como resolvió.

¿Es apropiado algún tipo de mecanismo basado en TypeDescriptor? O incluso posible?

Además, ¿cómo se logra el objetivo n. ° 3 de una manera limpia, genérica y reutilizable?

Desde que hice esta pregunta, he completado la biblioteca de código abierto que necesitaba pantallas de enumeración localizables. Fui con la técnica de implementar TypeConverters. Fuente completa disponible enhttp://measures.codeplex.com/

Respuestas a la pregunta(3)

Su respuesta a la pregunta