Professional Documents
Culture Documents
Multijezičnost - Upute: .Properties Fajlovi Su Zapravo Samo Fajlovi Koji Sadrže Key-Value Parove Prijevoda
Multijezičnost - Upute: .Properties Fajlovi Su Zapravo Samo Fajlovi Koji Sadrže Key-Value Parove Prijevoda
Multijezičnost - Upute: .Properties Fajlovi Su Zapravo Samo Fajlovi Koji Sadrže Key-Value Parove Prijevoda
Npr. za španjolski jezik fajl se zove: messages_es.properties jer je es locale string za španjolski
jezik (en je za engleski, it za talijanski, pl za poljski itd.)
.properties fajlovi su zapravo samo fajlovi koji sadrže key-value parove prijevoda:
label.permissions=Permissions
ukoliko želimo isti string na njemačkom jeziku, onda samo u messages_de.properties dodamo isti
string i promijenimo prijevod, key ostaje isti:
label.permissions=Berechtigungen
Trenutni jezik aplikacije se može promijeniti ako se doda ?lang=localeOdJezika na kraj URL-a,
npr. želimo postaviti hrvatski kao trenutni jezik:
http://conciergetest.hotelstouch.com:9005/concierge/node/index?lang=hr
grails će automatski dohvatiti jezik iz request parametra i vratiti prevedenu poruku na trenutno
odabrani jezik, tako da ga se ne mora posebno vaditi.
MessageSource messageSource
nakon toga se može u bilo kojoj metodi u servisu dohvatiti poruka na sljedeći način:
getAllMessageCodes(Locale(“de”))
[
{labelKey: “label.permissions”, labelValue: “Berechtigungen”},
{labelKey: “label.rooms”, labelValue: “Zimmer”}
]
messages_en.properties
label.dateranges.last.week=Last week
label.dateranges.yesterday=Yesterday
label.dateranges.last.month=Last month
label.dateranges.custom=Custom
messages_de.properties
label.dateranges.last.week=Letzte Woche
label.dateranges.yesterday=Gestern
label.dateranges.last.month=Vergangenen Monat
label.dateranges.custom=maßgeschneidert
dobije se rezultat:
[
{labelKey: “label.dateranges.last.week”, labelValue: “Letzte Woche”, originalValue: “Last week”},
{labelKey: “label.dateranges.yesterday”, labelValue: “Gestern”, originalValue: “Yesterday”},
{labelKey: “label.dateranges.last.month”, labelValue: “Vergangenen Monat”, originalValue: “Last
month”},
{labelKey: “label.dateranges.custom”, labelValue: “Maßgeschneidert”, originalValue: “Custom”}
]
Primjer:
</g:each>
</div>