Я префикс своих литералов по прецеденту или имени класса действия. например:
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
... он думал, что это было слово «нет» (отрицательное от да). :)
Последний (но не менее важный) префикс имени класса поможет вам, когда вы захотите реорганизовать / переименовать классы и быстро обновить эти ключи свойств, не обращая внимания на шаблоны.