Wie benutze ich i18n mit einem Grails / Groovy enum in einem g: select?

8

Ich versuche, i18n Lokalisierung auf einem Grails / Groovy Enum zu arbeiten,

%Vor%

Irgendwelche Hinweise, wie ich das erreichen könnte? Ich habe versucht, den vollständigen Klassennamen usw. in eine Lokalisierung zu schreiben, aber das scheint nicht zu funktionieren

%Vor%     
Marco 27.09.2011, 15:36
quelle

2 Antworten

13

Entschuldige die Verspätung, aber ich denke, das könnte dir helfen. Ich hatte genau das gleiche Problem mit Enums und i18n. Das ist die Lösung, die ich gefunden habe:

Wenn Sie Ihrer zuvor definierten Aufzählung folgen, geben Sie in Ihren message.properties-Dateien einen Eintrag für jeden Wert der Aufzählung ein, zum Beispiel:

%Vor%

Wenn Sie dann die Werte der Enumeration in einem Auswahlelement anzeigen möchten, gehen Sie wie folgt vor:

%Vor%

Entsprechend der Grails-Dokumentation bezüglich des select-Tags wird der Wert verwendet, den Sie in das Attribut valueMessagePrefix eingeben, gefolgt von einem Punkt (.) und dann dem Wert des Elements der enum. Auf diese Weise würde es in die Datei message.properties gehen und nach den Zeilen suchen, die Sie zuvor eingefügt haben.

Nun müssen Sie zum Beispiel in einer Liste von Daten den Wert der Enumeration für jeden Datensatz angeben. In diesem Fall müssen Sie Folgendes tun:

%Vor%

Dies ist der Fall, wenn Sie eine Domain-Klasse mit einem Attribut vom Typ Notification haben.

Ich hoffe, das hat geholfen. Tschüss!

    
Juan Vidal 06.10.2011, 13:14
quelle
7

Eine Methode ist in diesem Blogbeitrag von Rob Fletcher (von 2009)

Stellen Sie sicher, dass Ihre Enum-Klasse implements org.springframework.context.MessageSourceResolvable

ist

Implementieren Sie dann die definierten Methoden

    
tim_yates 27.09.2011 15:45
quelle