[squeak-dev] The Trunk: System-edc.475.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Mar 29 11:51:43 UTC 2012


Edgar J. De Cleene uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-edc.475.mcz

==================== Summary ====================

Name: System-edc.475
Author: edc
Time: 29 March 2012, 8:53:50.906 am
UUID: 168c5525-e271-4c85-81ca-7256ccdfcf3d
Ancestors: System-edc.474

More cleanup.
Several methods deleted of NaturalLanguageTranslator as implemented in  subclass InternalTranslator.
Needed for not Undeclared.
I do all way from fresh 11860.image, no blows

=============== Diff against System-edc.474 ===============

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>allKnownPhrases (in category 'private') -----
- allKnownPhrases
- 	^AllKnownPhrases ifNil: [AllKnownPhrases := Dictionary new: 2051]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>availableLanguageLocaleIDs (in category 'accessing') -----
- 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]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>cachedTranslations (in category 'private') -----
- cachedTranslations
- 	"CachedTranslations := nil" 
- 	^CachedTranslations ifNil: [CachedTranslations := Dictionary new]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>cleanUp (in category 'class initialization') -----
- cleanUp
- 	"Flush caches"
- 
- 	CachedTranslations := nil.
- 	AllKnownPhrases := nil.!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>cleanUpCache (in category 'private') -----
- cleanUpCache
- 	"NaturalLanguageTranslator cleanUpCache"
- 
- 	self cachedTranslations keys do: [:key |
- 		key isoLanguage size > 2 ifTrue: [self cachedTranslations removeKey: key]]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>directoryForLanguage:country:create: (in category 'private loading') -----
- directoryForLanguage: isoLanguage country: isoCountry create: createDir
- 	"Try to locate the <prefs>/locale/<language>{/<country>} folder.
- 	If createDir is set, create the path down to country or language, depending on wether it's specified..
- 	Return the directory for country or language depending on specification.
- 	If neither exists, nil"
- 
- 	"NaturalLanguageTranslator directoryForLanguage: 'es' country: nil create: true"
- 	"NaturalLanguageTranslator directoryForLanguage: 'de' country: 'DE' create: true"
- 	"NaturalLanguageTranslator directoryForLanguage: 'en' country: 'US' create: false"
- 	"NaturalLanguageTranslator directoryForLanguage: 'en' country: nil create: true"
- 
- 	"If this fails, there is nothing we can do about it here"
- 	| localeDir  countryDir languageDir |
- 	localeDir := self localeDirCreate: createDir.
- 	localeDir ifNil: [^nil].
- 
- 	isoCountry ifNil: [
- 		languageDir := localeDir directoryNamed: isoLanguage.
- 		createDir
- 			ifTrue: [languageDir assureExistence].
- 		^languageDir exists
- 			ifTrue: [languageDir]
- 			ifFalse: [nil]].
- 
- 	countryDir := languageDir directoryNamed: isoCountry.
- 	createDir
- 		ifTrue: [countryDir assureExistence].
- 
- 	^countryDir exists
- 		ifTrue: [countryDir]
- 		ifFalse: [nil]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>directoryForLocaleID:create: (in category 'private loading') -----
- directoryForLocaleID: localeID create: createDir
- 	"Try to locate the <prefs>/locale/<language>{/<country>} folder.
- 	If createDir is set, create the path down to country or language, depending on locale.
- 	Return the directory for country or language depending on locale.
- 	If neither exists, nil"
- 
- 	"NaturalLanguageTranslator directoryForLanguage: 'de' country: nil readOnly: true"
- 	"NaturalLanguageTranslator directoryForLanguage: 'de' country: 'DE' readOnly: true"
- 	"NaturalLanguageTranslator directoryForLanguage: 'en' country: 'US' readOnly: false"
- 	"NaturalLanguageTranslator directoryForLanguage: 'en' country: nil readOnly: true"
- 
- 	^self directoryForLanguage: localeID isoLanguage country: localeID isoCountry create: createDir!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>loadAvailableExternalLocales (in category 'private loading') -----
- loadAvailableExternalLocales
- 	"private - register locales IDs based on the content of the <prefs>/locale/ directory"
- 	| localeDir |
- 	localeDir := self localeDirCreate: false.
- 	localeDir ifNil: [^ #()].
- 	localeDir directoryNames
- 		do: [:langDirName | 
- 			| langDir | 
- 			langDir := localeDir directoryNamed: langDirName.
- 			(langDir fileNamesMatching: '*.' , self translationSuffix)
- 				ifNotEmpty: [self loadTranslatorForIsoLanguage: langDirName isoCountry: nil].
- 			langDir directoryNames
- 				do: [:countryDirName | 
- 					| countryDir | 
- 					countryDir := langDir directoryNamed: countryDirName.
- 					(countryDir fileNamesMatching: '*.' , self translationSuffix)
- 						ifNotEmpty: [self loadTranslatorForIsoLanguage: langDirName isoCountry: countryDirName]
- 			]
- 		].
- !

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>loadAvailableLocales (in category 'private loading') -----
- loadAvailableLocales
- 	"This loads the default locale and all external locales"
- 
- 	| defaultID |
- 	defaultID := LocaleID current.
- 	self cachedTranslations at: defaultID ifAbsent: [self localeID: defaultID].
- 	self loadAvailableExternalLocales.!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>loadExternalTranslationsFor: (in category 'private loading') -----
- loadExternalTranslationsFor: translator
- 	"Try to load translations from external external files.
- 	The files are located in the <prefs>/locale/<language>{/<country>} folder.
- 	There can be more than one file for each location, so applications can install their own partial translation tables. All files in the specific folder are loaded."
- 
- 	| translationDir |
- 	translationDir := self directoryForLocaleID: translator localeID create: false.
- 	translationDir ifNil: [ ^nil ]. 
- 	(translationDir fileNamesMatching: '*.' , self translationSuffix)
- 		do: [:fileName | translator loadFromFileNamed: (translationDir fullNameFor: fileName)]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>loadTranslatorForIsoLanguage:isoCountry: (in category 'private loading') -----
- loadTranslatorForIsoLanguage: isoLanguage isoCountry: isoCountry 
- 	"private - load the translations from <prefs>/locale/ directory  
- 	the procedure is to assure the existence of a translator for the  
- 	given language/country and then load the external translations for this translator"
- 
- 	| translator |
- 	translator := self localeID: (LocaleID isoLanguage: isoLanguage isoCountry: isoCountry).
- 
- 	self loadExternalTranslationsFor: translator!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>localeDirCreate: (in category 'private loading') -----
- localeDirCreate: createDir
- 	"Try to locate the <prefs>/locale/ folder.
- 	If createDir is set, try to create the path.
- 	If it doesn't exist, return nil"
- 
- 	"If this fails, there is nothing we can do about it here"
- 	| prefDir  localeDir |
- 	(createDir not
- 			and: [ExternalSettings preferenceDirectory isNil])
- 		ifTrue: [^ nil].
- 
- 	prefDir := ExternalSettings assuredPreferenceDirectory.
- 	prefDir exists
- 		ifFalse: [^nil].
- 
- 
- 	localeDir := prefDir directoryNamed: 'locale'.
- 	createDir
- 		ifTrue: [localeDir assureExistence].
- 	^localeDir exists
- 		ifTrue: [localeDir]
- 		ifFalse: [nil]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>registerPhrase: (in category 'private') -----
- registerPhrase: phrase
- 	"Using a Dictionary so we can lookup existing string instead of creating needless copies when loading a translation."
- 	self allKnownPhrases at: phrase put: phrase!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>registeredPhraseFor: (in category 'private') -----
- registeredPhraseFor: phrase
- 	"Using a Dictionary so we can lookup existing string instead of creating needless copies when loading a translation."
- 	^self allKnownPhrases at: phrase ifAbsentPut: [phrase]!

Item was removed:
- ----- Method: NaturalLanguageTranslator class>>translationSuffix (in category 'private') -----
- translationSuffix
- 	^'translation'!

Item was removed:
- ----- Method: NaturalLanguageTranslator>>fileOutOn:keys: (in category 'fileIn/fileOut') -----
- fileOutOn: aStream keys: keys 
- 	"self current fileOutOn: Transcript. Transcript endEntry"
- 	(keys
- 		ifNil: [generics keys asArray sort])
- 		do: [:key | self
- 				nextChunkPut: (generics associationAt: key)
- 				on: aStream].
- 	keys
- 		ifNil: [self untranslated
- 				do: [:each | self nextChunkPut: each -> '' on: aStream]].
- 	aStream nextPut: $!!;
- 		 cr!

Item was removed:
- ----- Method: NaturalLanguageTranslator>>generics (in category 'private') -----
- generics
- 	^generics ifNil: [generics := Dictionary new]!

Item was removed:
- ----- Method: NaturalLanguageTranslator>>loadFromFileNamed: (in category 'private store-retrieve') -----
- loadFromFileNamed: fileNameString 
- 	"Load translations from an external file"
- 
- 	FileStream readOnlyFileNamed: fileNameString do: [ :file |
- 		self loadFromStream: file ].
- 	self changed: #translations.
- 	self changed: #untranslated.
- !

Item was removed:
- ----- Method: NaturalLanguageTranslator>>loadFromRefStream: (in category 'private store-retrieve') -----
- loadFromRefStream: stream 
- 	"Load translations from an external file"
- 	| loadedArray refStream |
- 	refStream := ReferenceStream on: stream.
- 	[loadedArray := refStream next]
- 		ensure: [refStream close].
- 	self processExternalObject: loadedArray !

Item was removed:
- ----- Method: NaturalLanguageTranslator>>loadFromStream: (in category 'private store-retrieve') -----
- loadFromStream: stream 
- 	"Load translations from an external file"
- 	| header isFileIn |
- 	header := '''Translation dictionary'''.
- 	isFileIn := (stream next: header size)
- 				= header.
- 	stream reset.
- 	isFileIn
- 		ifTrue: [stream fileInAnnouncing: 'Loading ' translated, stream localName]
- 		ifFalse: [self loadFromRefStream: stream]!

Item was removed:
- ----- Method: NaturalLanguageTranslator>>mergeTranslations: (in category 'private store-retrieve') -----
- mergeTranslations: newTranslations
- 	"Merge a new set of translations into the exiting table.
- 	Overwrites existing entries."
- 
- 	newTranslations keysAndValuesDo: [:key :value |
- 		self rawPhrase: (self class registeredPhraseFor: key) translation: value].
- 	self changed: #translations.
- 	self changed: #untranslated.!

Item was removed:
- ----- Method: NaturalLanguageTranslator>>processExternalObject: (in category 'private store-retrieve') -----
- processExternalObject: anArray 
- 	"pivate - process the external object"
- 
- 	"new format -> {translations. untranslated}"
- 
- 	anArray second do: [:each | self class registerPhrase: each].
- 
- 	self mergeTranslations: anArray first!

Item was removed:
- ----- Method: NaturalLanguageTranslator>>saveToFileNamed: (in category 'private store-retrieve') -----
- saveToFileNamed: fileNameString 
- 	"save the receiver's translations to a file named fileNameString"
- 	| stream |
- 	"Set true if you need to save as binary"
- 	false
- 		ifTrue: [stream := ReferenceStream fileNamed: fileNameString.
- 			stream nextPut: {self translations. self untranslated}.
- 			stream close.
- 			^ self].
- 	stream := FileStream fileNamed: fileNameString.
- 	[self fileOutOn: stream]
- 		ensure: [stream close]!



More information about the Squeak-dev mailing list