Estoy construyendo una aplicación C# que probablemente contenga un par de archivos de recursos para almacenar cadenas para su uso en la traducción de idiomas. Estoy tratando de encontrar una convención de nombres para las llaves en mis archivos de recursos. ¿Alguien ha abordado esto antes que yo?Archivo de recursos (.resx) Convenciones de nomenclatura clave?
Respuesta
Simplemente use la convención de nomenclatura de Pascal. No atribuya la clave a un módulo o a la clase. Generalízalo para que pueda ser reutilizado.
Ej: ReadWriteWarningMessage
El punto separado convención funciona bien para los elementos de menú. Pero, ¿qué ocurre con las cadenas generadas dinámicamente o los mensajes de los usuarios?
Si usted tiene un nombre de valor Pair en recursos como
CloseConfirmation - ¿Quieres cerrar la ventana sin guardar?
Agregue una nueva clase llamada Mensajes.
public static class Messages
{
public const String CloseConfirmation = "CloseConfirmation";
public static String GetMessage(String messageId)
{
return //your namespace//.Properties.Resources.ResourceManager.GetString(messageId);
}}
y para acceder a él uso
MessageBox.Show(Messages.GetMessage(Messages.CloseConfirmation));
Esperamos que esto ayude.
¿Ha considerado guiones bajos como Menu_File_Open o algo así como Place_StringDescription? Actualmente utilizo un esquema donde las cosas comunes van a Common_ como Common_PressHereTo y las vistas específicas van a su lugar respectivo como MainMenu_FileOpen. En general, antes del guión bajo escribo donde aparece el recurso y después del guión bajo un texto descriptivo.
Intento organizarlo de forma similar a los espacios de nombres que estoy usando para diseñar la estructura del programa. Entonces, si tiene MyCompany.MyProduct.MyModule, las cadenas en ese módulo serían MyModule_Blah_Blah. De esa forma son únicos dentro del producto general.
- 1. Convenciones de nomenclatura AJAX
- 2. Convenciones de nomenclatura de restricción de clave principal de NHibernate
- 3. Convenciones de nomenclatura de PostgreSQL
- 4. convenciones de nomenclatura de ensamblaje
- 5. Convenciones de nomenclatura de Protobuf
- 6. Convenciones de nomenclatura de PHP?
- 7. Archivos de recursos (RESX) estropeados
- 8. ExtJS 4 Convenciones de nomenclatura
- 9. convenciones de nomenclatura para hilos?
- 10. Convenciones de nomenclatura de SQL Server
- 11. Convenciones de nomenclatura de archivos de diseño?
- 12. convenciones de nomenclatura de nombres de nombres
- 13. Convenciones de nomenclatura de gemas de Ruby
- 14. ¿Java tiene un equivalente a los archivos de recursos .NET (.resx) para la localización?
- 15. Convenciones de nomenclatura de interfaces extraídas
- 16. Convenciones de nomenclatura de servidores funcionales
- 17. C++: listas de inicialización/convenciones de nomenclatura
- 18. Java convenciones de nomenclatura de paquete
- 19. Convenciones de nomenclatura de Python en decoradores
- 20. Convenciones de nomenclatura de objetos WebSphere MQ
- 21. Convenciones de nomenclatura para tipos de plantilla?
- 22. Convenciones de nomenclatura para activadores de DB
- 23. Java convenciones de nomenclatura de Excepción
- 24. Convenciones de nomenclatura de archivos jar
- 25. Convenciones de nomenclatura de proyectos y conjuntos
- 26. Cómo ordenar a. resx (archivo de recursos) en .NET
- 27. prefijando DTO/POCOS - convenciones de nomenclatura?
- 28. Convenciones de nomenclatura variable en C++
- 29. Convenciones de nomenclatura estándar para Objective-C
- 30. Convenciones de nomenclatura administradas por JSF
No se trata de nombrar las convenciones de las claves, sino más acerca de las estrategias sobre cómo acceder a los mensajes en los archivos de recursos. – Juri
Gracias Prajeesh, puedo acceder al recurso sin ningún problema. Sin embargo, mi problema es que puedo tener cientos de claves y quiero una manera fácil de buscarlas. Me encontré con una convención jerárquica como: Menu.File.Open como un ejemplo para un título del menú. Me gusta este enfoque, pero no se permiten decimales cuando uso recursos fuertemente tipados (que yo soy). Gracias aunque ... – Dawsy