많은 작은 패키지로 구성된 대규모 응용 프로그램을 개발 중입니다. 각 패키지에는 현지화를위한 고유 한 리소스 파일 세트가 있습니다.
현지화 문자열을 구성하고 이름을 지정하는 가장 좋은 방법은 무엇입니까?
지금까지 내 생각은 다음과 같습니다.
중복 처리
동일한 패키지 (예 : "우편 번호")는 특정 패키지 내에서 여러 번 나타날 수 있습니다. 프로그래밍 본능 (DRY)은 모든 발생이 공유하는 단일 문자열 리소스 를 만들 도록 지시합니다 .
그런 다음 번역사가 일부 장소에서는 긴 번역 ( "Postleitzahl")을 선택하고 공간이 적은 장소에서는 짧은 번역 ( "PLZ")을 선택할 수 있습니다. 또는 일부 발생 ( "우편 번호 :")에는 콜론을 추가 할 수도 있지만 다른 경우에는 콜론을 추가하지 않을 수도 있습니다. 또는 일부 지역에서는 다른 대문자 ( "우편 번호")가 필요할 수 있습니다. 이러한 모든 주장 은 내용이 동일하더라도 사용 당 하나의 자원 을 작성하는 것을 가리 킵니다 .
명명
중복을 제거하려는 경우 content로 리소스 이름을 지정하는 것이 좋습니다 . 접두사를 통해 사용법의 종류를 암시 할 수도 있습니다. 따라서 labelOK
= "OK" , messageFileTooLarge
= "파일이 최대 파일 크기를 초과합니다." , and labelZipCode
= "우편 번호" .
내용으로 이름을 지정하면 형식 인수를 자연스럽게 처리 할 수 있다는 이점이 있습니다. 리소스 messageFileHas_0_MBWhileMaximumIs_1_MB
는 실제 파일 크기와 최대 파일 크기라는 두 가지 형식 인수를 명확하게 취합니다.
그러나 중복을 허용하는 경우 콘텐츠만으로 이름을 지정하는 것은 의미가 없습니다. 고유 한 리소스 이름을 얻으려면 리소스 이름 에 사용 장소를 포함시켜야합니다 . 식별자가 약간 길어지는 경향이 있지만 그래픽 컨트롤에서 작동합니다. fileSelectionConfirmationButtonText
= "OK" , customerDetailsTableColumnZipCode
= "Zip Code" . 그러나 비 시각적 코드 파일의 경우 더 어려워집니다. 문자열의 최종 표시 위치를 모르는 경우 특정 문자열 사용법을 어떻게 지정합니까? 코드 파일과 함수 이름으로? 다소 어색하고 취하기 쉬운 것 같습니다.
대체로 중복을 허용하려고 노력하고 있지만 이것을 지원하는 일관된 이름 지정 체계를 찾는 데 어려움을 겪고 있습니다.
편집 : 이 질문에는 두 가지 측면이 있습니다. 자원 을 구성 하는 방법 (DRY 대 중복)과 이름 을 지정 하는 방법 . 지금까지 답변은 첫 번째 측면에 집중되어 있습니다. 명명 규칙에 대한 의견을 보내 주셔서 감사합니다.