I don&#39;t understand all these removals.<br>Some methods were used no?<br>Try opening a FileList and select a file...<br>.st does not work for me at least.<br><br>Nicolas<br><br><div class="gmail_quote">Le 29 mars 2012 13:50,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt;</span> a écrit :<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Edgar J. De Cleene uploaded a new version of System to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/System-edc.475.mcz" target="_blank">http://source.squeak.org/trunk/System-edc.475.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: System-edc.475<br>
Author: edc<br>
Time: 29 March 2012, 8:53:50.906 am<br>
UUID: 168c5525-e271-4c85-81ca-7256ccdfcf3d<br>
Ancestors: System-edc.474<br>
<br>
More cleanup.<br>
Several methods deleted of NaturalLanguageTranslator as implemented in  subclass InternalTranslator.<br>
Needed for not Undeclared.<br>
I do all way from fresh 11860.image, no blows<br>
<br>
=============== Diff against System-edc.474 ===============<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;allKnownPhrases (in category &#39;private&#39;) -----<br>
- allKnownPhrases<br>
-       ^AllKnownPhrases ifNil: [AllKnownPhrases := Dictionary new: 2051]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;availableLanguageLocaleIDs (in category &#39;accessing&#39;) -----<br>
- availableLanguageLocaleIDs<br>
-       &quot;Return the locale ids for the currently available languages.<br>
-       Meaning those which either internally or externally have<br>
-       translations available.&quot;<br>
-       &quot;NaturalLanguageTranslator availableLanguageLocaleIDs&quot;<br>
-       ^ self translators values collect:[:each | each localeID]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;cachedTranslations (in category &#39;private&#39;) -----<br>
- cachedTranslations<br>
-       &quot;CachedTranslations := nil&quot;<br>
-       ^CachedTranslations ifNil: [CachedTranslations := Dictionary new]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;cleanUp (in category &#39;class initialization&#39;) -----<br>
- cleanUp<br>
-       &quot;Flush caches&quot;<br>
-<br>
-       CachedTranslations := nil.<br>
-       AllKnownPhrases := nil.!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;cleanUpCache (in category &#39;private&#39;) -----<br>
- cleanUpCache<br>
-       &quot;NaturalLanguageTranslator cleanUpCache&quot;<br>
-<br>
-       self cachedTranslations keys do: [:key |<br>
-               key isoLanguage size &gt; 2 ifTrue: [self cachedTranslations removeKey: key]]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;directoryForLanguage:country:create: (in category &#39;private loading&#39;) -----<br>
- directoryForLanguage: isoLanguage country: isoCountry create: createDir<br>
-       &quot;Try to locate the &lt;prefs&gt;/locale/&lt;language&gt;{/&lt;country&gt;} folder.<br>
-       If createDir is set, create the path down to country or language, depending on wether it&#39;s specified..<br>
-       Return the directory for country or language depending on specification.<br>
-       If neither exists, nil&quot;<br>
-<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;es&#39; country: nil create: true&quot;<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;de&#39; country: &#39;DE&#39; create: true&quot;<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;en&#39; country: &#39;US&#39; create: false&quot;<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;en&#39; country: nil create: true&quot;<br>
-<br>
-       &quot;If this fails, there is nothing we can do about it here&quot;<br>
-       | localeDir  countryDir languageDir |<br>
-       localeDir := self localeDirCreate: createDir.<br>
-       localeDir ifNil: [^nil].<br>
-<br>
-       isoCountry ifNil: [<br>
-               languageDir := localeDir directoryNamed: isoLanguage.<br>
-               createDir<br>
-                       ifTrue: [languageDir assureExistence].<br>
-               ^languageDir exists<br>
-                       ifTrue: [languageDir]<br>
-                       ifFalse: [nil]].<br>
-<br>
-       countryDir := languageDir directoryNamed: isoCountry.<br>
-       createDir<br>
-               ifTrue: [countryDir assureExistence].<br>
-<br>
-       ^countryDir exists<br>
-               ifTrue: [countryDir]<br>
-               ifFalse: [nil]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;directoryForLocaleID:create: (in category &#39;private loading&#39;) -----<br>
- directoryForLocaleID: localeID create: createDir<br>
-       &quot;Try to locate the &lt;prefs&gt;/locale/&lt;language&gt;{/&lt;country&gt;} folder.<br>
-       If createDir is set, create the path down to country or language, depending on locale.<br>
-       Return the directory for country or language depending on locale.<br>
-       If neither exists, nil&quot;<br>
-<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;de&#39; country: nil readOnly: true&quot;<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;de&#39; country: &#39;DE&#39; readOnly: true&quot;<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;en&#39; country: &#39;US&#39; readOnly: false&quot;<br>
-       &quot;NaturalLanguageTranslator directoryForLanguage: &#39;en&#39; country: nil readOnly: true&quot;<br>
-<br>
-       ^self directoryForLanguage: localeID isoLanguage country: localeID isoCountry create: createDir!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;loadAvailableExternalLocales (in category &#39;private loading&#39;) -----<br>
- loadAvailableExternalLocales<br>
-       &quot;private - register locales IDs based on the content of the &lt;prefs&gt;/locale/ directory&quot;<br>
-       | localeDir |<br>
-       localeDir := self localeDirCreate: false.<br>
-       localeDir ifNil: [^ #()].<br>
-       localeDir directoryNames<br>
-               do: [:langDirName |<br>
-                       | langDir |<br>
-                       langDir := localeDir directoryNamed: langDirName.<br>
-                       (langDir fileNamesMatching: &#39;*.&#39; , self translationSuffix)<br>
-                               ifNotEmpty: [self loadTranslatorForIsoLanguage: langDirName isoCountry: nil].<br>
-                       langDir directoryNames<br>
-                               do: [:countryDirName |<br>
-                                       | countryDir |<br>
-                                       countryDir := langDir directoryNamed: countryDirName.<br>
-                                       (countryDir fileNamesMatching: &#39;*.&#39; , self translationSuffix)<br>
-                                               ifNotEmpty: [self loadTranslatorForIsoLanguage: langDirName isoCountry: countryDirName]<br>
-                       ]<br>
-               ].<br>
- !<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;loadAvailableLocales (in category &#39;private loading&#39;) -----<br>
- loadAvailableLocales<br>
-       &quot;This loads the default locale and all external locales&quot;<br>
-<br>
-       | defaultID |<br>
-       defaultID := LocaleID current.<br>
-       self cachedTranslations at: defaultID ifAbsent: [self localeID: defaultID].<br>
-       self loadAvailableExternalLocales.!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;loadExternalTranslationsFor: (in category &#39;private loading&#39;) -----<br>
- loadExternalTranslationsFor: translator<br>
-       &quot;Try to load translations from external external files.<br>
-       The files are located in the &lt;prefs&gt;/locale/&lt;language&gt;{/&lt;country&gt;} folder.<br>
-       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.&quot;<br>
-<br>
-       | translationDir |<br>
-       translationDir := self directoryForLocaleID: translator localeID create: false.<br>
-       translationDir ifNil: [ ^nil ].<br>
-       (translationDir fileNamesMatching: &#39;*.&#39; , self translationSuffix)<br>
-               do: [:fileName | translator loadFromFileNamed: (translationDir fullNameFor: fileName)]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;loadTranslatorForIsoLanguage:isoCountry: (in category &#39;private loading&#39;) -----<br>
- loadTranslatorForIsoLanguage: isoLanguage isoCountry: isoCountry<br>
-       &quot;private - load the translations from &lt;prefs&gt;/locale/ directory<br>
-       the procedure is to assure the existence of a translator for the<br>
-       given language/country and then load the external translations for this translator&quot;<br>
-<br>
-       | translator |<br>
-       translator := self localeID: (LocaleID isoLanguage: isoLanguage isoCountry: isoCountry).<br>
-<br>
-       self loadExternalTranslationsFor: translator!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;localeDirCreate: (in category &#39;private loading&#39;) -----<br>
- localeDirCreate: createDir<br>
-       &quot;Try to locate the &lt;prefs&gt;/locale/ folder.<br>
-       If createDir is set, try to create the path.<br>
-       If it doesn&#39;t exist, return nil&quot;<br>
-<br>
-       &quot;If this fails, there is nothing we can do about it here&quot;<br>
-       | prefDir  localeDir |<br>
-       (createDir not<br>
-                       and: [ExternalSettings preferenceDirectory isNil])<br>
-               ifTrue: [^ nil].<br>
-<br>
-       prefDir := ExternalSettings assuredPreferenceDirectory.<br>
-       prefDir exists<br>
-               ifFalse: [^nil].<br>
-<br>
-<br>
-       localeDir := prefDir directoryNamed: &#39;locale&#39;.<br>
-       createDir<br>
-               ifTrue: [localeDir assureExistence].<br>
-       ^localeDir exists<br>
-               ifTrue: [localeDir]<br>
-               ifFalse: [nil]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;registerPhrase: (in category &#39;private&#39;) -----<br>
- registerPhrase: phrase<br>
-       &quot;Using a Dictionary so we can lookup existing string instead of creating needless copies when loading a translation.&quot;<br>
-       self allKnownPhrases at: phrase put: phrase!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;registeredPhraseFor: (in category &#39;private&#39;) -----<br>
- registeredPhraseFor: phrase<br>
-       &quot;Using a Dictionary so we can lookup existing string instead of creating needless copies when loading a translation.&quot;<br>
-       ^self allKnownPhrases at: phrase ifAbsentPut: [phrase]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator class&gt;&gt;translationSuffix (in category &#39;private&#39;) -----<br>
- translationSuffix<br>
-       ^&#39;translation&#39;!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;fileOutOn:keys: (in category &#39;fileIn/fileOut&#39;) -----<br>
- fileOutOn: aStream keys: keys<br>
-       &quot;self current fileOutOn: Transcript. Transcript endEntry&quot;<br>
-       (keys<br>
-               ifNil: [generics keys asArray sort])<br>
-               do: [:key | self<br>
-                               nextChunkPut: (generics associationAt: key)<br>
-                               on: aStream].<br>
-       keys<br>
-               ifNil: [self untranslated<br>
-                               do: [:each | self nextChunkPut: each -&gt; &#39;&#39; on: aStream]].<br>
-       aStream nextPut: $!!;<br>
-                cr!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;generics (in category &#39;private&#39;) -----<br>
- generics<br>
-       ^generics ifNil: [generics := Dictionary new]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;loadFromFileNamed: (in category &#39;private store-retrieve&#39;) -----<br>
- loadFromFileNamed: fileNameString<br>
-       &quot;Load translations from an external file&quot;<br>
-<br>
-       FileStream readOnlyFileNamed: fileNameString do: [ :file |<br>
-               self loadFromStream: file ].<br>
-       self changed: #translations.<br>
-       self changed: #untranslated.<br>
- !<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;loadFromRefStream: (in category &#39;private store-retrieve&#39;) -----<br>
- loadFromRefStream: stream<br>
-       &quot;Load translations from an external file&quot;<br>
-       | loadedArray refStream |<br>
-       refStream := ReferenceStream on: stream.<br>
-       [loadedArray := refStream next]<br>
-               ensure: [refStream close].<br>
-       self processExternalObject: loadedArray !<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;loadFromStream: (in category &#39;private store-retrieve&#39;) -----<br>
- loadFromStream: stream<br>
-       &quot;Load translations from an external file&quot;<br>
-       | header isFileIn |<br>
-       header := &#39;&#39;&#39;Translation dictionary&#39;&#39;&#39;.<br>
-       isFileIn := (stream next: header size)<br>
-                               = header.<br>
-       stream reset.<br>
-       isFileIn<br>
-               ifTrue: [stream fileInAnnouncing: &#39;Loading &#39; translated, stream localName]<br>
-               ifFalse: [self loadFromRefStream: stream]!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;mergeTranslations: (in category &#39;private store-retrieve&#39;) -----<br>
- mergeTranslations: newTranslations<br>
-       &quot;Merge a new set of translations into the exiting table.<br>
-       Overwrites existing entries.&quot;<br>
-<br>
-       newTranslations keysAndValuesDo: [:key :value |<br>
-               self rawPhrase: (self class registeredPhraseFor: key) translation: value].<br>
-       self changed: #translations.<br>
-       self changed: #untranslated.!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;processExternalObject: (in category &#39;private store-retrieve&#39;) -----<br>
- processExternalObject: anArray<br>
-       &quot;pivate - process the external object&quot;<br>
-<br>
-       &quot;new format -&gt; {translations. untranslated}&quot;<br>
-<br>
-       anArray second do: [:each | self class registerPhrase: each].<br>
-<br>
-       self mergeTranslations: anArray first!<br>
<br>
Item was removed:<br>
- ----- Method: NaturalLanguageTranslator&gt;&gt;saveToFileNamed: (in category &#39;private store-retrieve&#39;) -----<br>
- saveToFileNamed: fileNameString<br>
-       &quot;save the receiver&#39;s translations to a file named fileNameString&quot;<br>
-       | stream |<br>
-       &quot;Set true if you need to save as binary&quot;<br>
-       false<br>
-               ifTrue: [stream := ReferenceStream fileNamed: fileNameString.<br>
-                       stream nextPut: {self translations. self untranslated}.<br>
-                       stream close.<br>
-                       ^ self].<br>
-       stream := FileStream fileNamed: fileNameString.<br>
-       [self fileOutOn: stream]<br>
-               ensure: [stream close]!<br>
<br>
<br>
</blockquote></div><br>