'From Squeakland 3.8.5976 of 18 August 2004 [latest update: #242] on 21 August 2004 at 6:13:23 pm'! "Change Set: TranslationFixes-nk Date: 21 August 2004 Author: Ned Konz A couple of translation-related fixes. "! !NaturalLanguageTranslator class methodsFor: 'private loading' stamp: 'nk 8/21/2004 13:03'! directoryForLanguage: isoLanguage country: isoCountry create: createDir "Try to locate the /locale/{/} 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]! ! !NaturalLanguageTranslator class methodsFor: 'private loading' stamp: 'nk 8/21/2004 13:00'! loadExternalTranslationsFor: translator "Try to load translations from external external files. The files are located in the /locale/{/} 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)]! !