我们确实有一个应该翻译成不同语言的网站。一些措辞在准备翻译的消息属性文件中。我现在想将其余文本添加到这些文件中。
给文本 block 命名的好方法是什么?
<view>.<type>.<name>
我们主要有网页,一些元素/模块在一些网站上重复。
最佳答案
我们使用点表示法和驼峰命名法提出了以下 key 命名约定(Java,顺便说一句):
标签键 (表单标签、页面/表单/应用程序标题等……即不是完整的句子;用于多个 UI 位置):
如果标签表示 Java 字段(即表单字段)并且与表单标签匹配:标签.nameOfField
其他:标签.sameAsValue
例子:
内容 key :
projectName.uiPath.messageOrContentType.n.*
在哪里:
当页面上有多个内容区域并且需要进一步分解一个或多个内容区域时(基于上面的 HTML 示例),可以将辅助数字标识符附加到键中。示例: ...内容.1.1 , ...内容.1.2
例子:
优点/缺点 :
+ 标签键可以很容易地重复使用;位置无关紧要。
+ 对于未重复使用的内容键,在 UI 上定位页面将简单且合乎逻辑。
- 翻译人员可能不清楚标签键在 UI 上的位置。对于不浏览页面的翻译人员来说,这可能不是问题,但对于开发人员来说可能仍然是一个问题。
- 如果内容键必须在 UI 上的多个位置使用(很可能),则键名称选择在其他位置将没有意义。在我们的例子中,管理不关心内容区域的重复值,所以在这种情况下我们将使用不同的键(在 UI 上显示位置)。
由于我们目前正在改进我们的资源包,因此我们将不胜感激有关此约定的反馈——尤其是可以改进它的反馈! :)
关于internationalization - 在 i18n 中命名消息属性的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4366107/