我想知道编写(主要是维护)ICU 资源包的最佳实践是什么。更具体地说,处理重复字符串的最佳方法。
例如,假设您有以下资源包:
root:table {
remove_page:string { "Remove this page" }
remove_widget:sring { "Remove this widget" }
}
当然,这是最小的,但我暗示的是一个包含许多类似字符串和“子表”的大项目。最好保持这样,即。为代码中的每个操作使用特定的字符串,或者将字符串组合起来会更好,例如:
root:table {
remove_this:string { "Remove this " }
page:string { "page" }
widget:string { "widget" }
}
作为一名业余爱好者,到目前为止,我对 ICU 资源包没有太多经验,但如果它们构建得当,它们对于 i18n 和维护应该非常方便,因此是个问题。
非常感谢您抽出宝贵时间。
编辑:有关资源包格式的 ICU 信息- 这些格式在构建资源包时也可能需要牢记,例如,数组占用的内存比表少。当然,这些都是“无名的”,这对于阅读代码来说可能是一个巨大的痛苦。