Memory management 关于大型本地化属性文件的最佳实践是什么?

Memory management 关于大型本地化属性文件的最佳实践是什么?,memory-management,properties-file,response-time,Memory Management,Properties File,Response Time,从性能和内存的角度来看,本地化属性文件的最佳实践是什么 几个大文件还是许多小文件? 使用属性文件或已编译的属性类文件? 示例场景: 我有一个包含大约150个.jsp文件的应用程序。 每个jsp文件使用5到50个键。 钥匙总数为1500。 每个键被翻译成25种语言。 我设想四种解决方案: 1) 使用少量但较大的属性文件(例如:“Bundle_da.properties”之类的文件) 有25个属性文件,每个文件中有1500个键。 所有150.jsp文件都包含相同的属性文件。 这样,所有.jsp文件都

从性能和内存的角度来看,本地化属性文件的最佳实践是什么

几个大文件还是许多小文件?
使用属性文件或已编译的属性类文件?

示例场景:
我有一个包含大约150个.jsp文件的应用程序。
每个jsp文件使用5到50个键。
钥匙总数为1500。
每个键被翻译成25种语言。

我设想四种解决方案:

1) 使用少量但较大的属性文件(例如:“Bundle_da.properties”之类的文件)
有25个属性文件,每个文件中有1500个键。
所有150.jsp文件都包含相同的属性文件。
这样,所有.jsp文件都将包含所有1500个密钥,其中只能使用5到50个密钥。

2) 使用少量但较大的属性类文件(例如“public class Bundle_da Extendes ListResourceBundle…”)
有25个类,每个类有1500个键。
所有150.jsp文件都包含相同的类。
这样,所有.jsp文件都将包含所有1500个密钥,其中只能使用5到50个密钥。

3) 使用多个但较小的属性文件
每个.jsp文件只包含该特定文件所需的密钥。
属性文件的数量将为150 x 25=3750
这样,所有的.jsp文件将只包含实际使用的密钥。(即5到50个键)。

4) 使用.jsp特定的属性类别。
每个.jsp特定的bundle类将只包含该特定.jsp文件所需的键。
属性类别的数量为150 x 25=3750
这样,所有的.jsp文件将只包含实际使用的密钥。(即5到50个键)。

两个问题:
从性能角度来看,4种解决方案中哪一种是首选解决方案?
内存的角度来看,4种解决方案中的哪一种在web服务器上分配的内存更少

提前谢谢你

Allan

我们有一个更大的桌面应用程序。任何专为最终用户使用而设计的文本消息都包装在代码中的某些标记中。perl脚本扫描所有*.C文件并提取标记的字符串以生成.po文件,它还从rsc文件中提取字符串。我们最终得到两个.po文件,一个用于.C字符串,另一个用于.rsc字符串。总共有大约16000个字符串,.po文件被转换为每种语言的.mo文件,每个.mo文件大约有600K,因此每种语言有1.2Mb

您的情况可能不同,但我们从来没有理由担心文件大小。我关心的是降低本地化子系统的复杂性。例如,在我们的例子中,我宁愿让我们的翻译人员填写两个.po文件中的空白,而不是可能包含最终用户文本消息的100个文件

注意.po文件每个大约有400K