我目前正致力于将现有的Web应用程序转换为支持其他语言(即威尔士语)。我建议的方法是将所有显示的文本提取到属性文件中,然后使用JSTL fmt标签访问文本。我应该如何构造jsps使用的资源包属性文件?
我的问题是:这些属性文件应该如何构造?我知道他们需要在Web应用程序的类路径上,而不是直接将它们存储在WEB-INF/classes中,我宁愿在构建步骤中将它们复制到那里。这使我在如何在颠覆中存储文件方面有很大的灵活性。由于它们与jsps紧密结合,创建一个新的顶层目录(例如资源)并镜像该文件夹下的jsp结构是一个好主意吗?这将使我喜欢
resources/jsp/index.properties
resources/jsp/index_cy.properties
结构这似乎是一个合理的方法,它是可扩展为类属性文件太多,如果他们被要求:那么
resources/com/mycompany/myapp/CustomObject.properties
resources/com/mycompany/myapp/CustomObject_cy.properties
构建过程可以复制所有这些文件都放入WEB-INF /类中,准备打包成war文件。
这种方法是否符合行业标准?这是我现在的公司的第一个多语言应用程序,所以它可能被用作所有其他人的蓝图。
编辑:有人指出,这种做法可能会导致很多不同的属性文件复制的字符串。虽然这是真的,但它只会与jsps中存在的重复字符串一样多。从jsp到属性文件有一个明确的映射,这是以更好的属性文件重复为代价的吗?
这是一个很好的观点,因为相同的标签通常会跨多个jsps使用。 – 2008-12-08 12:28:12
但是,当前的说法是,只要它出现在多个页面上(或者在同一页上甚至多于一次),相同的字符串就会被复制。所以我会试图为字符串的每个实例创建一个唯一的键,以允许上下文的灵活性。 – 2008-12-08 15:42:28