Java I18N : 패키지 당 하나의 ResourceBundle Accessor 또는 전체 프로젝트에 하나를 사용하십니까?
-
20-09-2019 - |
문제
나는 국제화에 대해 아무것도 모른다.
여러 패키지가있는 프로젝트가 있습니다. Eclipse의 내장 "Exextionalize Strings"마법사를 사용하여 클래스의 문자열 상수를 속성 파일로 추출하고 해당 문자열을 정적 액세서로 교체합니다. 그래서 대신
System.out.println("Hello, world!");
나는 끝납니다
System.out.println(Messages.getString("MyKey"));
그리고 a Messages
모든 패키지의 유틸리티 클래스 (정적을 제공하는 getString
ResourceBundle에서 원하는 문자열을 가져 오는 방법 [이 경우 a .properties
파일]). a를 갖는 것이 가장 좋습니다 Messages
모든 패키지의 클래스 또는 싱글이 있습니다 Messages
전체 프로젝트 수업?
해결책
글로벌 현지화 파일을 선호합니다. 중복 또는 중첩이 필요한 중복 키 ( "OK", "CANCEL")가 있으며 리소스가 통합되면 외부 현지화와 인터페이스하는 것이 더 쉽습니다.
다른 팁
나는 패키지 1 대를 유지할 것입니다. 이러한 방식으로 유지 보수/리팩토링/단위 테스트가 훨씬 쉽습니다.
또한 단일 파일에는 전역 종속성이 없습니다.
제휴하지 않습니다 StackOverflow