[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
|