i18n Java: utilizar un descriptor de acceso ResourceBundle por paquete, o uno para todo el proyecto?

StackOverflow https://stackoverflow.com/questions/2067336

Pregunta

No sé nada acerca de la internacionalización.

Tengo un proyecto con varios paquetes. Estoy utilizando asistente integrado "Externalizar Cuerdas" de Eclipse para extraer constantes de cadena en mis clases a un archivo de propiedades y reemplazar esas cadenas con llamadas a un descriptor de acceso estático. Así que en lugar de

System.out.println("Hello, world!");

termino con

System.out.println(Messages.getString("MyKey"));

y una clase de utilidad Messages en cada paquete (que proporciona un método getString estático para obtener la cadena deseada de un ResourceBundle [en este caso un archivo .properties]). ¿Es mejor tener una clase Messages en cada paquete, o tener una sola clase Messages para todo el proyecto?

¿Fue útil?

Solución

Estoy a favor de un archivo de localización global. Tendrá duplicados de las llaves ( "OK", "Cancelar") que requeriría la duplicación o la anidación, y la interfaz con la gente fuera de localización es más fácil si se consolidan los recursos.

Otros consejos

Me gustaría mantener una por paquete. Este / refactorización / unidad de pruebas de mantenimiento manera es mucho más fácil.

Además, no existen dependencias globales en un único archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top