다음 문제에 대한 우아한 해결책을 찾고 있습니다.GWT - 엔티티 등록 정보의 국제화
데이터베이스에 미리 정의 된 (!) 엔티티가 있습니다. 이러한 엔티티에는 이름과 설명 (문자열)이 있습니다. 데이터 액세스 레이어 주변에는/etc를로드/검색 할 비즈니스 로직을 포함하는 일부 EJB가 있습니다. 그 실체들.
프론트 엔드의 경우 백엔드에서 EJB 메소드를 호출하는 GWT 애플리케이션을 개발 중입니다.
문제는 위에서 언급 한 엔티티의 이름과 설명이 국제화되어야한다는 것입니다. 예를 들어 사용자의 로켈에 따라 엔티티의 설명이 "멋진 설명"(영어) 또는 "Beschreibung bla"(예 : 독일어) 또는 무엇이든 :
첫 번째 방법은 데이터베이스에서 리소스 문자열을 사용하는 것이 었습니다. 따라서 엔티티 A는 description "descriptionA"를 가지고 있고, 엔티티 B는 description "descriptionB"을 가지고 있습니다 ... 나중에 GWT app (또는 다른 클라이언트)는이 리소스 문자열을 일종의 "리소스 번들"을 사용하여 실제 설명으로 변환합니다. 예 :
resources_en.properties * * 엔티티 A
descriptionB의
descriptionA = 실제 설명 엔티티 B = 실제 설명
resources_de.properties * *
descriptionA = 답변 A
descriptionB = 설명 B
엔티티는 미리 정의되어 있으므로 컴파일시 모든 설명을 "알 수 있습니다". 그러나 자원 번들이 응용 프로그램을 다시 컴파일하지 않고도 향상 될 수 있다면 더 좋을 것입니다.
GWT에서 가능합니까? 어떻게해야합니까? 서버 또는 클라이언트 측에서 "번역"하는 것이 더 좋습니까?
그렇지 않으면 백엔드 측면에서 모든 i18n 항목을 처리해야합니다. 이는 클라이언트 측에서 설명을 정의하는 대신 데이터를 함께 유지하는 것을 허용합니다. 그러나 큰 단점은 백엔드가 발신자의 지역을 알아야한다는 것입니다.
안부, 프랭크