2013-05-06 2 views
0

저는 Grails에서 새로 왔으며 grails-framework에 표준으로 통합 된 i18n-plugins를 사용하려고합니다 (2.2.1을 사용합니다). 동적 인 스캐 폴딩을 사용하고 내 도메인 모델의 변수 레이블이 properties-file의 값으로 변경되지 않았는지 궁금합니다. 그래서 메시지 태그를 직접 사용하려고했습니다. 그러나 두 가지 방법 모두 작동하지 않습니다. 구성을 변경하지 않았습니다. 나는 간단한보기를 추가 걸릴 :grails i18n 코드 속성을 변경하지 마십시오

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

을 그리고 나는 message.properties 및 message_de.properties에 다음 항목을 추가 : "LANG = 드"나는 함께 URL을 열

test.de.label=testDE 

이 매개 변수없이 아무 것도 작동하지 않습니다. 또한 동적 인 scollding을 통한 도메인 모델의 레이블링은 작동하지 않았습니다. 이 g : propertie-file에 표준으로있는 코드가있는 message-tag는 괜찮습니다. 왜 내 맞춤 라벨이 작동하지 않는지 이해할 수 없습니다.

질문 : - 설정이 필요합니까? - 내가 작성한 코드 오류가 있습니까?

답변

0

필요에 따라 새 메시지를 만드는 것 외에는 수행해야 할 구성이 없어야합니다. 방금 테스트 도메인 클래스 (Notification)로 새 2.2.1 프로젝트를 만든 다음 새 도메인에 대해 generate all을 실행했습니다.

내가 http://localhost:8080/TestApp/notifications/list?lang=de에서 새 도메인의 목록보기에 갈 때 나는 확실히 독일의 존재가 사용을 참조하십시오라는 메시지가 태그의 직접 사용에서 볼 수 Notifications anlegenNotifications Liste

유일한 실수는 쉼표 ,, 있습니다 따옴표 대신 "mymy.test.de.label입니다. 이 작품은 나를 위해 :

당신은 아마 실제 메시지 이름의 언어를 참조하지 않아야합니다 - 그 종류의 목적을 이길. 모든 언어 파일은 메시지에 대해 동일한 '이름'이 있어야합니다

//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에 대한 업데이트를했고 쉼표를보고 everthing이 실행 중임을 알아 냈습니다! :) –

+0

문제 없음 - 다행스럽게 생각합니다! – Kelly