从您的帖子看来,您已经有了一种检测用户区域设置的方法。所以我会假设你持有这些信息。
我们这样做的方式是将用户区域设置存储在会话中,并将所有本地化资源存储在相应的目录名称中。例如:
/
/images
sendButton.gif
background.gif
/de-de/
sendButton.gif
/fr-fr/
sendButton.gif
然后使用 HttpHandler 根据当前用户的区域设置将本地化目录映射到默认目录的顶部。这允许将图像无缝集成到所有代码和 css 中,如果没有找到本地化图像,将使用基本目录中的图像。
如果需要更复杂的排序,那么我建议将您的国家/地区嵌套在您的语言中。像这样:
/
/images
sendButton.gif
background.gif
/de
/de
sendButton.gif
/fr
sendButton.gif
/fr
/be
然后,您可以指定语言级别的资源。甚至让您的 http 处理程序映射文件以一种方式向上传播而不是向下传播。这样 fr-fr 资源将用于所有没有自己的该名称资源的法语国家。
当然,在这一点上它确实变得相当复杂,尤其是在决定使用哪个法语国家作为法语语言的默认值(如果没有指定)时。您可能希望在某处开始存储优先级,以便决定您为哪个语言环境提供服务。以及资源是向上还是向下传播。但是,作为一种用于本地化图像的透明结构,同时保持 yoru 标记和 CSS 干净,这应该会很好地工作。