GnuSmalltalkUsersGuide:AdditionalChapter5 12

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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)에 연관된 해석에 관한 정보를 응답하라.


Notes