有没有人对资源文件中的命名密钥有任何建议?例如,您是否将密钥的名称基于需要本地化的文本或使用该文本的控件?
假设您在多个屏幕中有一个编辑按钮(一个用于编辑用户,一个用于编辑组).您可以使用以下键:
editUserButton.label =编辑用户...
editGroupButton.label =编辑组...
要么
editUser =编辑用户...
editGroup =编辑组...
要么
user.edit =编辑用户...
group.edit =编辑组...
你更喜欢什么方案?为什么?
我用usecase或action classname作为文字的前缀.例如:
PlaceOrder.invalidId=Invalid id for order {0} PlaceOrder.success=Your order {0} was successful PlaceOrder.fail.visa=Your visa was ... PlaceOrder.fail.communications=We could not... PlaceOrder.submit=Buy now Login=Login Login.fail=Your credentials did not... Login.alread=You are already logged in
这样可以避免碰撞:
EditStudent=Edit EditClass=Edit EditCourse=Edit Course
......还可以更轻松地找到你需要的东西.
我按实体分组的另一种方式:
Person.id=# Person.name=First name Person.surname=Surname
这些可以在具有实体的表上显示为标题.它会在以下情况下为您节省:
Person.id=# Class.id=# Course.id=Course Id
最后,通过在属性键中提供上下文,您可以避免错误的翻译.比如我曾经有过:
no=no
它被用作左上角单元格的id(#)表头,但我们的法语翻译为法语做了这个:
no=non
......他认为这是"不"这个词(是的否定).:)
当您想要重构/重命名类并快速更新这些属性键而不必查看模板时,最后(但并非最不重要)使用classname前缀将有所帮助.