I don't understand all these removals. Some methods were used no? Try opening a FileList and select a file... .st does not work for me at least.
Nicolas
Le 29 mars 2012 13:50, commits@source.squeak.org a écrit :
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]!
On Fri, 30 Mar 2012, Nicolas Cellier wrote:
I don't understand all these removals. Some methods were used no? Try opening a FileList and select a file... .st does not work for me at least.
I'm not sure if it's the side effect of these changes, but there are some tests broken related to FileList and Locales. Please run all tests and make sure there are no new failures/errors before commiting to the Trunk until we have the Jenkins server doing this for us automatically.
Levente
Nicolas
Le 29 mars 2012 13:50, commits@source.squeak.org a écrit : 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]!
squeak-dev@lists.squeakfoundation.org