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%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!
Eine Methode ist in diesem Blogbeitrag von Rob Fletcher (von 2009)
Stellen Sie sicher, dass Ihre Enum-Klasse implements org.springframework.context.MessageSourceResolvable
Implementieren Sie dann die definierten Methoden
Tags und Links grails enums groovy internationalization