--- a/AbstractSettingsApplication.st Mon Mar 15 13:59:21 2004 +0100
+++ b/AbstractSettingsApplication.st Mon Mar 15 15:11:32 2004 +0100
@@ -3999,9 +3999,9 @@
|fontPref fontPrefs language oldLanguage languageString territory enc
answer matchingFonts l screen switch dialog anyWrong|
- language := self languageHolder value.
self withWaitCursorDo:[
languageString := translatedLanguages at:(self languageIndexHolder value).
+ language := self languageHolder value.
(language includes:$-) ifTrue:[
l := language asCollectionOfSubstringsSeparatedBy:$-.
language := l at:1.
@@ -4180,7 +4180,10 @@
!
languageIndexChanged
- self languageHolder value:(listOfLanguages at:self languageIndexHolder value ? 1).
+ |langIdx|
+
+ langIdx := self languageIndexHolder value ? 1.
+ self languageHolder value:(listOfLanguages at:langIdx).
self updateModifiedChannel.
!
@@ -4223,15 +4226,16 @@
!
initializeLanguages
- |flags enResources savedLanguage enLanguages nativeLanguages languages|
+ |flags enResources savedLanguage savedLanguageTerritory enLanguages nativeLanguages languages listOfLanguageKeys|
resources := self class classResources.
listOfLanguages := resources at:'LIST_OF_OFFERED_LANGUAGES' default:#('default' 'en' ).
listOfLanguages := listOfLanguages asOrderedCollection.
+ listOfLanguageKeys := listOfLanguages collect:[:l | l copyReplaceAll:$- with:$_ ].
(perLanguageResources notNil
and:[ (perLanguageResources includesKey:#en) not
- and:[ (perLanguageResources includesKey:#en_us) not ]])
+ and:[ (perLanguageResources includesKey:#'en_us') not ]])
ifTrue:[
perLanguageResources := nil.
].
@@ -4239,24 +4243,32 @@
perLanguageResources isNil ifTrue:[
perLanguageResources := Dictionary new.
- listOfLanguages do:[:eachLang |
+ listOfLanguageKeys do:[:eachLang |
savedLanguage := Language.
+ savedLanguageTerritory := LanguageTerritory.
ResourcePack flushCachedResourcePacks.
[
- |rsc|
-
- Language := eachLang asSymbol.
+ |rsc lang terr|
+
+ lang := terr := eachLang.
+ (lang includes:$_) ifTrue:[
+ terr := lang copyFrom:4.
+ lang := lang copyTo:2.
+ ].
+ Language := lang asSymbol.
+ LanguageTerritory := terr asSymbol.
rsc := ResourcePack for:(self class) cached:false.
perLanguageResources at:eachLang asSymbol put:rsc.
] ensure:[
- Language := savedLanguage
+ Language := savedLanguage.
+ LanguageTerritory := savedLanguageTerritory.
].
].
ResourcePack flushCachedResourcePacks.
].
- enResources := perLanguageResources at:#en ifAbsent:[perLanguageResources at:#en_us].
-
- enLanguages := listOfLanguages
+ enResources := perLanguageResources at:#en ifAbsent:[perLanguageResources at:#'en_us'].
+
+ enLanguages := listOfLanguageKeys
collect:[:lang | |item|
item := enResources at:('LANG_' , lang) default:nil.
item isNil ifTrue:[
@@ -4270,7 +4282,7 @@
]
].
- nativeLanguages := listOfLanguages
+ nativeLanguages := listOfLanguageKeys
collect:[:lang | |item enLang|
item := enResources at:('LANG_' , lang) default:nil.
item isNil ifTrue:[
@@ -4290,7 +4302,7 @@
item := resources at:enLang default:enLang.
].
- flags := listOfLanguages collect:[:lang | |item coll|
+ flags := listOfLanguageKeys collect:[:lang | |item coll|
item := resources at:('FLAG_' , lang) default:nil.
item notNil ifTrue:[
item
@@ -4338,7 +4350,8 @@
s
].
- languageList := translatedLanguages with:flags
+ languageList := translatedLanguages
+ with:flags
collect:[:lang :flag | LabelAndIcon icon:flag string:lang.].
! !
@@ -11279,5 +11292,5 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.148 2004-03-15 09:41:24 ca Exp $'
-! !
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.149 2004-03-15 14:11:32 cg Exp $'
+! !