resxmanager net how asp and agregar c# localization resx resource-management

c# - net - resxmanager



Esquemas de nombres de archivos de recursos de cadena y administración (1)

Una pregunta trivial tal vez, pero estoy interesado en las respuestas. Actualmente estoy refacturando algunos archivos de recursos de cadenas monolíticas muy grandes (un archivo de recursos de contenedor por proyecto, en aproximadamente 30 proyectos). Los estoy dividiendo de forma tal que seguimos una convención para nuestros archivos y hacemos que las cadenas sean más fáciles de encontrar y administrar cuando se codifica.

En general, estoy dividiendo los archivos en este esquema:

  • ErrorMessages.resx
  • LogMessages.resx
  • ViewResources.resx
  • AppResources.resx

No estoy muy emocionado con el nombramiento, y me pregunto qué usan otras personas. Por ejemplo, en vez de AppResources (cadenas para uso interno de la aplicación), he visto muchos proyectos de demostración que usan StringResources , Internal (terrible), etc.

Se aprecian ideas / anécdotas / sugerencias sobre la gestión de recursos o esquemas de nomenclatura estándar.


Generalmente estructurar mis recursos de esta manera:

El primer archivo de recursos es utilizado por toda la aplicación (por ejemplo, Project.Core ) e incluye todo tipo de cadenas comunes ampliamente utilizadas. En realidad, no hago ninguna diferencia entre los errores / excepciones y el registro:

  • CommonResources.resx
    Modificador de acceso: Público
    • Error_Context
      por ejemplo, Error_ArgumentCannotBeNull
    • Warn_Context
      por ejemplo, Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context
      por ejemplo, Info_UpdateAvailable
    • Validation_Context
      por ejemplo Validation_EmailNotValid

El segundo archivo de recursos es utilizado por la capa de presentación y contiene todo tipo de cadenas de interfaz de usuario. La denominación puede variar de un proyecto a otro, pero en general se parece al siguiente esquema:

  • PresentationResources.resx
    Modificador de acceso: interno
    • Common_Context
      por ejemplo, Common_Yes
    • Section/Controller_Window/View_Context
      por ejemplo, Help_FAQ_HeadlineHowToUseResources o Help_FAQ_TextHowToUseResources

Finalmente, cada proyecto / conjunto también tiene un archivo interno de recursos para los recursos Error / Warn / Info / Validation que son demasiado específicos para ir en el archivo CommonResources.resx . Debo admitir que, principalmente, le doy el nombre a este archivo de recursos InternalResources.cs ;)

  • InternalResources.resx
    Modificador de acceso: interno
    • Classname_Error_Context
      por ejemplo, BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context