try to identify the problem so that we fix it Setf On Apr 29, 2010, at 5:50 PM, Hilaire Fernandes wrote:
> Hilaire Fernandes a écrit : >> How should I proceed? >> Do I update directly the related package in PharoInbox? >> > > In latest 1.1, I started to file in NaturalLanguageTranslator.st as it looks > like a root class. The image frooze. > > I guess it is related to Smalltalk registry or so... > > How should I proceed? > > Hilaire > > PS: File in attachment > 'From etoys4.0 of 9 October 2008 [dernière mise à jour: #2336] on 29 April > 2010 at 5:02:21 pm'! > Object subclass: #NaturalLanguageTranslator > instanceVariableNames: 'id' > classVariableNames: 'Translators' > poolDictionaries: '' > category: 'System-Localization'! > !NaturalLanguageTranslator commentStamp: '<historical>' prior: 0! > abstract class of natural language translator. > Class side manages and holds loaded instances of concrete classes.! > > > !NaturalLanguageTranslator methodsFor: 'accessing' stamp: 'yo 8/27/2008 > 13:10'! > atRandom > > self subclassResponsibility. > ! ! > > !NaturalLanguageTranslator methodsFor: 'accessing' stamp: 'KR 10/23/2007 > 18:40'! > domainRegistered: aDomainName > "notify that new TextDomain is registered. Concrete subclass can > responds to this event if needed"! ! > > !NaturalLanguageTranslator methodsFor: 'accessing' stamp: 'KR 10/23/2007 > 18:40'! > domainUnregistered: aDomainName > "notify that new TextDomain is unregistered. Concrete subclass can > responds to this event if needed"! ! > > !NaturalLanguageTranslator methodsFor: 'accessing' stamp: 'KR 10/30/2007 > 18:41'! > isDomainLoaded: aDomainName > "ask if translation dictionary for the domain has been loaded and > available now for use" > self subclassResponsibility.! ! > > !NaturalLanguageTranslator methodsFor: 'accessing' stamp: 'KR 10/15/2007 > 12:48'! > localeID > ^id! ! > > !NaturalLanguageTranslator methodsFor: 'accessing' stamp: 'KR 10/15/2007 > 12:50'! > localeID: anID > id := anID! ! > > > !NaturalLanguageTranslator methodsFor: 'language switching' stamp: 'KR > 10/17/2007 01:57'! > setCurrent > "notify locale of the translator become current" > ! ! > > > !NaturalLanguageTranslator methodsFor: 'printing' stamp: 'tak 10/19/2007 > 13:59'! > printOn: aStream > aStream nextPutAll: self class name; nextPut: $(; print: self localeID; > nextPut: $)! ! > > > !NaturalLanguageTranslator methodsFor: 'translation' stamp: 'KR 10/17/2007 > 01:34'! > translate: aString > ^self translate: aString > inDomain: TextDomainManager defaultDomain! ! > > !NaturalLanguageTranslator methodsFor: 'translation' stamp: 'tak 10/19/2007 > 13:38'! > translate: aString inDomain: aDomainName > ^ aString! ! > > "-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "! > > NaturalLanguageTranslator class > instanceVariableNames: ''! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'tak > 10/19/2007 11:20'! > availableForLocaleID: localeID > "Answer available locale ID. > If translator is not found for correct locale ID, then isoLanguage is > attempted for the key." > ^ self translators > at: localeID > ifAbsent: [localeID hasParent > ifTrue: [self translators > at: localeID parent > ifAbsent: [self default]] > ifFalse: [self default]]! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'tak > 10/19/2007 13:47'! > availableLanguageLocaleIDs > "Return the locale ids for the currently available languages. > Meaning those which either internally or externally have > translations available." > "NaturalLanguageTranslator availableLanguageLocaleIDs" > ^ self translators values collect:[:each | each localeID]! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'KR > 10/15/2007 12:58'! > current > ^ self availableForLocaleID: LocaleID current! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'KR > 10/15/2007 12:59'! > default > "Answer translator for backstop" > "self default translate: 'test'" > ^ self new > localeID: (LocaleID isoLanguage: 'en')! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'KR > 10/23/2007 18:41'! > domainRegistered: aDomainName > "notify that new TextDomain is registered" > self translators do: [:each | each domainRegistered: aDomainName]! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'KR > 10/23/2007 18:41'! > domainUnregistered: aDomainName > "notify that new TextDomain is unregistered" > self translators do: [:each | each domainUnregistered: aDomainName]! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'KR > 10/23/2007 19:42'! > localeChanged > "notify some project starts to use this locale. > this facility may use the event to load translation data dynamically" > self current setCurrent > ! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'tak > 10/19/2007 11:21'! > removeLocaleID: localeID > "self removeLocaleID: (LocaleID isoString: 'ja-kids')" > ^ self translators > removeKey: localeID > ifAbsent: []! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'tak > 10/19/2007 11:18'! > resetCaches > Translators := nil.! ! > > !NaturalLanguageTranslator class methodsFor: 'accessing' stamp: 'tak > 10/19/2007 11:15'! > translators > ^ Translators ifNil: [Translators := Dictionary new] ! ! > > > !NaturalLanguageTranslator class methodsFor: 'class initialization' stamp: > 'tak 10/19/2007 15:25'! > initialize > Smalltalk addToStartUpList: NaturalLanguageTranslator after: > FileDirectory. > ! ! > > !NaturalLanguageTranslator class methodsFor: 'class initialization' stamp: > 'KR 10/23/2007 19:43'! > privateStartUp > self resetCaches. > GetTextTranslator privateStartUp. > InternalTranslator privateStartUp. > self localeChanged.! ! > > !NaturalLanguageTranslator class methodsFor: 'class initialization' stamp: > 'tak 10/19/2007 15:29'! > startUp: resuming > resuming > ifFalse: [^ self]. > self privateStartUp.! ! > > > !NaturalLanguageTranslator class methodsFor: 'translation' stamp: 'KR > 10/30/2007 18:59'! > translateWithoutLoading: aString toLocaleID: localeID > "translate for default domain" > ^self translateWithoutLoading: aString toLocaleID: localeID inDomain: > TextDomainManager defaultDomain. > ! ! > > !NaturalLanguageTranslator class methodsFor: 'translation' stamp: 'KR > 10/30/2007 18:50'! > translateWithoutLoading: aString toLocaleID: localeID inDomain: aDomainName > "try to translate with small footprint: > if GetTextTranslator hasn't loaded MO, try to use > InternalTranslator. > if InternalTranslator isn't available, then actually load MO > and use it" > | translator | > translator := self availableForLocaleID: localeID. > (translator isDomainLoaded: aDomainName) ifFalse: [ > (InternalTranslator availableLanguageLocaleIDs includes: > localeID) > ifTrue: [translator := InternalTranslator localeID: > localeID]. > ]. > ^translator translate: aString inDomain: aDomainName! ! > > !NaturalLanguageTranslator class methodsFor: 'translation' stamp: 'KR > 10/30/2007 18:33'! > translate: aString toLocaleID: localeID > "translate for default domain" > ^ (self availableForLocaleID: localeID) > translate: aString! ! > > !NaturalLanguageTranslator class methodsFor: 'translation' stamp: 'KR > 10/15/2007 14:00'! > translate: aString toLocaleID: localeID inDomain: aDomainName > ^ (self availableForLocaleID: localeID) > translate: aString inDomain: aDomainName! ! > > > NaturalLanguageTranslator initialize! > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
