Estoy tratando de localizar imágenes en JSF, y quiero que el usuario pueda establecer su configuración regional en mi sitio. Esto que estoy haciendo por una llamada aImagen i18n en JSF2
FacesContext.getCurrentInstance().getViewRoot().setLocale(_locale);
la que funciona muy bien, con una excepción:
<h:graphicImage library="images" name="pic.gif" />
utiliza el Accept-Language
enviado en la solicitud del navegador para determinar qué localización para su empleo. Puedo evitar esto colocando una cadena local de cada archivo .properties
y hacer referencia a las imágenes por
<h:graphicImage library="#{resource.locale}/images" name="pic.gif" />
pero entonces no hay retroceso para las imágenes individuales, por lo que tiene que tener una copia de cada imagen, ya sea es diferente o no, en el directorio de cada localidad. Esto es bastante engorroso, dado que soporto 9 configuraciones regionales y probablemente más en el futuro. Cualquier consejo sería muy apreciado.
Actualmente estoy buscando "decorar" ViewHandler para anular el método [public Locale calculateLocale (FacesContext context)] usando la clase ViewHandlerWrapper. Parece una solución muy prometedora, se actualizará cuando lo haya hecho – theFunkyEngineer
Alterar ViewHandler funcionó para obtener la configuración regional del lugar correcto; sin embargo, la recuperación de imágenes sigue siendo un problema: utilizará una biblioteca diferente para imágenes no localizadas. Publicará la configuración completa cuando finalice la implementación. – theFunkyEngineer
Vea mi comentario a BalusC a continuación. – rapt