2011-09-20 1 views
0

ICU 리소스 번들을 작성하고 대부분 유지 관리하는 것이 가장 좋은 방법인지 궁금합니다. 특히 반복되는 문자열을 처리하는 가장 좋은 방법입니다. ICU 리소스 번들 모범 사례

root:table { 
    remove_page:string { "Remove this page" } 
    remove_widget:sring { "Remove this widget" } 
} 

꺼짐 과정이 최소한의,하지만 난 비슷한 문자열을 많이하고 "하위 테이블"로 큰 프로젝트를 의미 해요 : 예를 들어

, 당신은 ResourceBundle을 다음했다고 밝혔습니다. 이것을 이렇게 유지하는 것이 최선일까요? 코드의 모든 행동을 특정 문자열을 사용하거나 더 나은 다음과 같은 예를 들어 문자열을 조합하는 연습, 다음과 같습니다, 아마추어는 지금까지 ICU의 ResourceBundles을 가진 많은 경험이없는 있다는

root:table { 
    remove_this:string { "Remove this " } 
    page:string { "page" } 
    widget:string { "widget" } 
} 

하지만, 그것들이 적절히 지어지면 국제화와 유지에 매우 편리해야하며 따라서 질문이 필요합니다.

미리 감사드립니다.

편집 : ICU info on Recourse Bundle Format -이 형식은 리소스 번들을 구성 할 때 명심해야 할 수도 있습니다. 예를 들어 배열은 테이블보다 메모리를 적게 차지합니다. 물론이 코드는 "이름이 없습니다"코드를 읽는 데 큰 고통이 될 수 있습니다.

+0

'무명'이란 의미가 확실하지 않습니다. –

+0

이 질문을 완전히 제어 할 수 있으면 대답을 수락 할 수 있어야합니다. 나는 당신의 '답'을 삭제했다. –

답변

1

Formatting Messages을 참조하십시오. 및 MessageFormat::format() with named arguments. 문자열을 "연결"하고 싶지는 않습니다. 대신 당신이 뭔가를 할 수 있습니다 단어가 "이"로 인해 굴절해야 할 수도 있기 때문에, : 때문에 다양한 언어의 규칙, 번역 "{일을} 제거"하는 것이 더 쉬운 경우도 있다는 점

root { 
    remove_this { "Remove this {thing}." } 
    page { "page" } 
    widget { "widget" } 
} 

주 성별, 사건, 번호 등으로, SelectFormat을 참조하십시오.