2013-05-06 2 views
0

Я новичок в Grails и пытаюсь использовать i18n-plugin, который стандартно интегрирован в рамки grails (я использую 2.2.1). Я использую динамические леса и задаюсь вопросом, что метки переменных моей модели домена не изменились со значениями свойства-файла. Вот почему я попытался использовать тег-сообщение напрямую. Но оба способа не работают. Я не менял никакой конфигурации. Я беру простое представление надстройку:grails i18n не меняет атрибут кода

<g:message code=„my.test.de.label“ /> 

И я добавляю в message.properties и message_de.properties следующую запись:

test.de.label=testDE 

Я открыл URL с «LANG = де?» и без этого параметра и ничего не работает. Кроме того, смена динамической сколдинга в доменной модели не сработала. Если я этот g: message-tag с кодом, который обычно находится в файле alltty-файла, в порядке. И я не понимаю, почему мой пользовательский ярлык не работает.

Вопрос: - Есть ли какая-либо конфигурация, которую мне нужно сделать? - Есть ли код-ошибка, которую я сделал?

ответ

0

Не нужно ничего настраивать, кроме как создавать новые сообщения по мере необходимости. Я только что создал новый проект 2.2.1 с классом тестового домена (Notification), затем выполнил generate all для нового домена.

Когда я иду к просмотру списка для нового домена в http://localhost:8080/TestApp/notifications/list?lang=de Я определенно вижу немецкий существо используется: Notifications anlegen и Notifications Liste

Единственные ошибки, которые я могу видеть в прямом использовании тега сообщения являются запятые ,, вместо котировок " и my в my.test.de.label. Это работает для меня:

//gsp 
<g:message code="test.label" /> 

//messages_de.properties 
test.label=testDe 

Вы должны, вероятно, не относится к языку в реальном имени сообщения - это своего рода поражения цели. Каждый язык файл должен иметь один и тот же «имя» для сообщения:

//messages_de.properties 
default.button.create.label=Anlegen 

//messages.properties 
default.button.create.label=Create 

//messages_es.properties 
default.button.create.label=Crear 

Затем использовать в GSP

<g:message code="default.button.create.label" /> 

Таким образом, система i18n берет его на основе языка отправленного из браузера.

+0

Эй, спасибо за помощь. Я сделал обновление для grails 2.2.2 и посмотрел на запятые и знал, что все работает! :) –

+0

Нет проблем - рад, что это сработало! – Kelly

Смежные вопросы