Localisation is an important and tough issue for everyone. While determining localisation keys, we should avoid duplication, determining text case (uppercase, lowercase, uppercase), articles, singular/plural and suffix/prefix correctly, creating clean hierarchy (according to controller, page, model or category).
Please, share your strategy and lead developers to handle this issue.
I am going to use this strategy. You can comment it to improve.
{ case } :: UC - Uppercase
{ case } :: LC - Lowercase
{ case } :: CC - Camelcase
For Specific Keys
{ category }. { page }. { key }.{ case }
examples
landing.city.title = { param0 } Cheapest Flights
landing.fromto.title = { param0 } - { param1 } Cheapest Flights
Common or Basic Keys (Enums, Forms)
{ category }.{ key }.{ case }
examples
landing.nearestAirports = Nearest Airports
currency.TRY = TL
gender.MALE = Male
searchForm.from = From
searchForm.flexibleDates = Flexible Dates
signinForm.username = Usernmame
cabinType.ECONOMY = Economy
passengerDetail.name = Name
invoice.taxnumber = Tax Number