저는 사람들이 어떻게 국제화를하는지에 대해 조금씩 읽었습니다. 공통적 인 합의는 이러한 문자열을 별도의 파일 (일반적으로 xml)에 저장하고 필요할 때로드하는 것입니다.왜 국제화 "단어"를 별도의 (XML) 파일에 저장합니까?
대신 왜 그 문자열을 데이터베이스에 저장하지 않는지 궁금합니다. 이런 식으로는별로 좋지 않니?
Btw 내 앱의 특성은 웹 사이트 앱입니다.
저는 사람들이 어떻게 국제화를하는지에 대해 조금씩 읽었습니다. 공통적 인 합의는 이러한 문자열을 별도의 파일 (일반적으로 xml)에 저장하고 필요할 때로드하는 것입니다.왜 국제화 "단어"를 별도의 (XML) 파일에 저장합니까?
대신 왜 그 문자열을 데이터베이스에 저장하지 않는지 궁금합니다. 이런 식으로는별로 좋지 않니?
Btw 내 앱의 특성은 웹 사이트 앱입니다.
가장 중요한 것은 컴파일 테이블 외부에 문자열 테이블을 저장하여 업데이트 된 번역을 다시 작성하지 않아도되도록하는 것입니다. 이렇게하면 새롭거나 업데이트 된 번역이 나중에 번거 로움없이 통합 될 수 있습니다.
물론이 문자열 테이블은 아무 곳에 나 저장할 수 있습니다. 데이터베이스에 저장하려면 자신을 노크하십시오. 응용 프로그램이 도달 할 수 있고 번역 직원이 올바른 위치에 전달하는 방법을 알고 있으면 차이가 없습니다.
데이터베이스에 저장하면 "로캘"스위치가 발생할 때마다 데이터베이스를 쿼리하는 데 추가 오버 헤드가 발생합니다.
자원 번들의 이유입니다. 소스 코드와 함께 패키지하지만 언어를 지원하도록 코드를 변경하지 않아도됩니다.
resourcebundle 클래스를 직접 서브 클래스 화하고 jdbc 지원을 구현하여 로켈 특정 문자열이 데이터베이스에 저장 될 수 있습니다.
http://java.sun.com/developer/technicalArticles/Intl/ResourceBundles/
심각한 국제화는 항상 부품 및 플레이어의 많은 큰 프로젝트입니다. @zerkms가 암시 하듯이 번역 작업은 전 세계의 개인 및 팀이 수행하는 오프라인 활동 일 경우가 많습니다.
따라서 번역 팀이 작성할 수있는 깨끗한 업무용 제품 (번역 된 XML 파일)을 가지고있는 것이 좋습니다.
일단 파일이 번역되면 소프트웨어에서 번역을 처리하는 방법은 귀하에게 달려 있습니다. 변수를 자리 표시 자로 대체해야하는 경우가 종종 있으므로이를 메모리에 유지하는 것이 일반적입니다.
xml 파일로 작업하는 것이 훨씬 쉽습니다. (번역 할 때) – zerkms