2013-06-19 4 views
1

인턴쉽을 위해 저는 소프트웨어 국제화와 현재의 관행 및 솔루션에 관한 연구를 해달라는 요청을 받았습니다.자바 소프트웨어 국제화

저는 약간의 연구를 수행했으며 실행 가능한 해결책을 찾지 못했습니다. 내 프로젝트 관리자가 stackoverflow에 묻기를 요청했습니다.

Java 소프트웨어를 국제화하기 위해 취업하는 관행은 무엇입니까?

편집

다음은 다른 사람이 나의 연구 결과에 관심이 경우 내 연구의 요약입니다 :

소프트웨어가 자바로 작성되기 때문에, RessourceBundles 분명히 사용된다. RessourceBundles는 현재 로케일에 대한 특정 변환이없는 경우 기본값으로 폴백 (fallback)하여 좋은 키 값 조회를 제공합니다. ResourceBundles는 텍스트의 번역에 국한되지 않고 자원의 국제화에도 제한됩니다. 예를 들어, 색상이나 이미지는 문화에 따라 다른 것을 의미합니다.

모든 것이 좋지만 Java PropertiesResourceBundles를 사용하면 순전히 번역기에 메타 데이터를 제공하지 못하고 복수형을 처리하지 못합니다.

GNU Gettext는 국제화에 대한 대체 승인을받습니다. 메시지는 영어로 소스 코드로 작성한 다음 추출하여 파일에 저장합니다. 추출 프로그램은 함수 호출을 검색하고 매개 변수를 추출합니다. 예를 들어, tr ("Hello, World!") 명령 줄 유틸리티 xgettext는 "tr"함수의 발생을 검색하고 모든 문자열 리터럴을 추출합니다. ResourceBundles을하지 번역에 대한 복수의 처리 및 컨텍스트가 할 것을 제공 무엇 gettext를

: gettext에의

자바 구현은 같은 존재한다.

+0

[여기] (http://docs.oracle.com/javase/tutorial/i18n/)를 참조하십시오. –

+0

SO에게 질문에 대한 답변을 관리자에게 요청하십시오. 그는 또한 더 나은 것을 사용하는 법을 배울 것입니다. –

답변

0

대부분의 질문에 답해야하므로이 trail을 읽으십시오.

웹 응용 프로그램의 경우 JavaEE에서 제공하는 표준 기능을 사용합니다. 이는 기본적으로 메시지 묶음을 JSF 페이지로 전달한 다음 페이지에 다음과 같은 모양의 마크 업을 사용하는 것을 의미합니다. #{msg.hello} "msg"는 메시지 번들의 이름이고 "hello"는 번역 된 문자열을 찾기 위해 사용되는 키입니다.

번역본은 모두 표준화 된 형식 및 명명 규칙이있는 특성 파일에 보관됩니다. 이 과정은 클라이언트 응용 프로그램과 거의 같은 방식으로 작동합니다. 비록 부드럽지는 않지만 느껴지지 않습니다.

저는 전문 번역가가 속성 파일을로드하고 번역을 제작하는 소프트웨어가 있다는 것을 알고 있습니다. 속성 파일에 주석을 추가하면 번역자가 번역 할 때 일부 컨텍스트를 갖게되므로 유용합니다.

0

다른 답변 외에도 프로젝트의 모든 현지화 리소스가 동기화되어 있는지 확인/분석 할 수있는 몇 가지 기술/소프트웨어를 사용하는 것이 좋습니다.
일반적으로 빌드하는 동안 완료해야하므로 이전에 오류를 찾고 catch 할 수 있습니다. 나는 개인적으로 사용하고 추천 할 것 같은 도구

하나는이 도움이 i18n-maven-plugin

희망입니다.