enum や、DB に、コードの名称などを直接日本語で入れずに、i18n/messages.properties で定義したキーを入れておけば国際化対応が楽だ。
しかし、普通にやっても旨く表示できない。
こんな感じで定義しておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
public static enum NandemoCode implements MessageSourceResolvable { konnnacode('code.xxxx.konnnacode'), annacode('code.xxxx.annacode'), others('code.xxxx.others') String messageCode IdentificationCode(String messagePrefix) { this.messageCode = messageCode } @Override String toString() { return this.messageCode } @Override String[] getCodes() { return [this.messageCode] } @Override Object[] getArguments() { return null } @Override String getDefaultMessage() { return null } } |
DBから取った場合は、ドメインで MessageSourceResolvable を実装してあげれば出来るとおもう。やったことないけど。
「[Grails] enum などを select でリスト表示した時に国際化対応する」への1件のフィードバック