GnuSmalltalkUsersGuide:AdditionalChapter5 12
Jump to navigation
Jump to search
- I18N.LcMessagesDomain
I18N.LcMessagesDomain
네임스페이스 I18N에 정의됨
슈퍼클래스: I18N.LocaleData
범주: i18n-메시지
- 이 객체는 메시지 도메인에 (카탈로그) 대한 추상적 슈퍼클래스이다. 이는 그 서브클래스의 인스턴스를 생성하기 위한 메서드를 포함하지만 일반적으로 LcMessages에 의해서만 사용된다.
해석은 #at: 또는 쉬운 이항 메시지 '?'를 이용해 접근된다. 이 방법을 이용하면 해석된 문자열로 접근하기 위한 공통 관용구는 string := NLS? 'abc'. string := self ? 'abc'가 될 것이며 (첫 번째의 NLS는 클래스 변수, 두 번째에서는 수신자가 위임을 통해 #? 를 구현함), 기존의 string := 'abc' 보다 5~6개 문자만 더 길어진 셈이다. (GNU gettext에 의해 사용되는 ("abc") 용어 참조)
I18N.LcMessagesDomain 클래스: MO 파일 열기
id: anArray on: aFileName
MO 파일에 대한 경로로부터 주어진 지역 식별자를 이용해 수신자의 인스턴스를 생성하라.
I18N.LcMessagesDomain: 캐시 처리하기
flush
수신자의 해석에 대한 캐시를 비워라(flush).
shouldCache
해석을 캐시 저장해야 하는지 응답하라. 해당 메서드가 항상 false를 응답하도록 오버라이드 해서는 절대 안 되는데, 이를 어길 시 해석을 사용할 때 버그가 야기될 것이다.
I18N.LcMessagesDomain: 질의하기
? aString
'aString'의 해석을 응답하고, 어떤 해석도 이용할 수 없는 경우 aString을 응답하라.
at: aString
'aString'의 해석을 응답하고, 어떤 해석도 이용할 수 없는 경우 aString을 응답하라.
at: singularString plural: pluralString with: n
n ~ =1인 경우 '%1'을 n으로 대체하여 pluralString의 해석을 응답하고, n=1인 경우singularstring의 해석을 응답하라.
at: aString put: anotherString
이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.
translatorInformation
해석에 대한 정보를 응답하고, 정보가 없는 경우 nil을 응답하라. 해당 정보는 빈 문자열의 'translation'으로 보관된다.
translatorInformationAt: key
주어진 키에 연관된 해석에 관한 정보를 응답하라.
translatorInformationAt: key at: subkey
주어진 키와 키의 하위키(subkey)에 연관된 해석에 관한 정보를 응답하라.