繁体   English   中英

如何对资源包中的资源进行分组?

[英]How to group resources in a resource bundle?

在资源包文件中对资源进行分组的最佳方法是什么? 我看到最常见的是按 web 页面对资源进行分组,例如:

# -- company page 
company.name.lbl=Name: 
company.address.lbl=Address:

# -- contact page 
contact.name.lbl=Name: 
contact.email.lbl=Email: 

这样做的问题是许多具有相同名称的字段是重复的。 然后,您会建议识别所有常用名称并将它们分开分组吗? 就像是:

name.lbl=Name: 
address.lbl=Address: 
email.lbl=Email: 

当然这也有一些缺点,如果您想将公司名称 label 更改为“公司名称”,那么您可能会毫无意义地更改联系人名称 label。 当然,您应该为此创建一个新资源,但是进行更改的人可能会忽略创建新资源。

我将继续使用前一个按 web 页面分组的示例,因为每个页面上显示的文本都有自己单独的上下文。

您可以尝试保持 DRY 并识别所有常见文本,但如果任何页面的上下文发生变化,您可能会发现自己创建了新资源,如果您将页面资源分开,您将已经完成。

将资源按页面分开的另一个原因是,如果您需要翻译资源,创建翻译的上下文将是不言而喻的。 这有助于您保持关注点的清晰分离,因此您的编码人员不必担心单词的翻译方式,您的翻译人员也不必弄乱任何代码。

第一个选项可能意味着重复文本,但更灵活。 例如,如果公司名称与个人名称完全不同会怎样? 或者如果明天你的老板决定公司名称的 label 应该从“名称”更改为“公司名称”。

如果您使用第二个选项,您将失去使用资源包的大部分优势。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM