0

프로그램의 사용자 지정을위한 여러 수준이 있습니다.로켈 메시지의 모듈 사용자 정의 방법은 무엇입니까?

물론 gettext 및 xgettext와 같은 도구가 훌륭한 작업을 수행하는 i18n 메시지를 만들어서 말하십시오.

메시지의 의미를 수정하여 프로젝트의 목적을 수정하십시오.

질문은 : 상용구 번역 외에도 별도의 파일에 사용자 지정된 메시지를 보관하고 표준 도구가 사용자 지정된 메시지가 우선한다는 것을 이해할 수 있습니까?

이렇게하면 해당 메시지가 공개 저장소에 커밋되지 않도록하고 업그레이드시 상용구 텍스트로 덮어 쓰지 않아야합니다.

편집 : 편집 : 너무 많은 사람들이 현지화에 신경을 쓰지 않기 때문에 모든 플랫폼에 대한 답변을 수집하는 것이 적절하다고 생각합니다. 그러나 지금은이 Python/django를 구현하는 데 관심이 있습니다.

답변

1

Java에서 이러한 현지화 된 문자열은 ResourceBundle에 의해 처리됩니다. ResourceBundles에는 변형 개념이 있습니다. 예를 들어 messages_en.propertie이라는 기본 영어 리소스를 가질 수 있습니다. 그런 다음 message_en_US.properties 또는 message_en_UK.properties과 같이 특정 변형 된 영어를 맞춤 설정할 수 있습니다.

미국 및 영국은 ISO 국가 코드이지만 맞춤 설정하려는 문자열 만 포함하는 맞춤형 맞춤 설정을 설정할 수도 있습니다. 예를 들어 :

#messages_en.properties 
button.click=Click 
label.go=Go 

#messages_en_ZZ.properties 
button.click=Click Me 

en_ZZ에 로케일을 설정하면, 애플리케이션은 먼저 사용자 정의 문자열이 존재하는지, 다음 상용구 변환을 위해서 messages_en.properties로 다시 떨어 messages_en_ZZ.properties에 보일 것이다. [ResourceBundle의로드 우선 순위에 대한 자세한 정보] [1]

[1] : http://java.sun.com/javase/6/docs/api/java/util/ResourceBundle.html#getBundle(java.lang.String이 java.util.Locale의, java.lang.ClassLoader의가)

1

내 생각을 Qt의 강력한 국제화 시설 (here 참조) 만날 수 있습니다 귀하의 요구 - 당연히 파이썬에서도 사용할 수 있습니다. 보통 축복 덕분에 PyQt! -)

관련 문제