'From etoys2.2 of 25 September 2007 [latest update: #1727] on 25 October 2007 at 12:32:34 pm'! "Change Set: TransDom2-KR Date: 25 October 2007 Author: Korakurider TextDomainManager now holds also class->domain mappings. #translated try to resolve domain by class, not class category. "! Object subclass: #TextDomainManager instanceVariableNames: '' classVariableNames: 'ClassCategories DefaultDomain DomainInfos Classes ' poolDictionaries: '' category: 'System-Localization'! !String methodsFor: 'translating' stamp: 'KR 10/25/2007 12:29'! translated "answer the receiver translated to the default language" | sender mclass selector domain | sender _ thisContext sender. selector _ (sender receiver class) selectorAtMethod: sender method setClass: [:c | mclass _ c]. domain _ TextDomainManager domainForClass: mclass name. ^ self translatedTo: LocaleID current inDomain: domain.! ! !TextDomainManager class methodsFor: 'accessing' stamp: 'KR 10/25/2007 11:51'! domainForClass: aClass ^Classes at: aClass ifAbsent: [self defaultDomain]! ! !TextDomainManager class methodsFor: 'class initialization' stamp: 'KR 10/25/2007 11:50'! initialize ClassCategories _ IdentityDictionary new. Classes _ IdentityDictionary new. DomainInfos _ Dictionary new. self defaultDomain: 'etoys'.! ! !TextDomainManager class methodsFor: 'private' stamp: 'KR 10/25/2007 12:27'! refresh ClassCategories _ IdentityDictionary new. Classes _ IdentityDictionary new. DomainInfos keysAndValuesDo: [:domainName :domainInfo | domainInfo matchedSystemCategories do: [:cat | ClassCategories at: cat ifPresent: [self error: 'category ', (cat asString) , ' belongs to multiple domains']. ClassCategories at: cat put: domainName. (SystemOrganization listAtCategoryNamed: cat ) do: [ :cls | Classes at: cls put: domainName. ] ] ]! ! TextDomainManager initialize! Object subclass: #TextDomainManager instanceVariableNames: '' classVariableNames: 'ClassCategories Classes DefaultDomain DomainInfos' poolDictionaries: '' category: 'System-Localization'!