'From etoys3.0 of 7 March 2008 [Letztes Update: #2119] on 2 September 2008 at 3:42:47 pm'! "Change Set: slowLangMenu-bf Date: 2 September 2008 Author: Bert Freudenberg Show a wait cursor while assembling the language menu, which takes a couple of seconds the first time."! !Project methodsFor: 'language' stamp: 'bf 9/2/2008 15:33'! chooseNaturalLanguage "Put up a menu allowing the user to choose the natural language for the project" | aMenu availableLanguages item | Cursor wait showWhile: [ aMenu _ MenuMorph new defaultTarget: self. aMenu addTitle: 'choose language' translated. aMenu lastItem setBalloonText: 'This controls the human language in which tiles should be viewed. It is potentially extensible to be a true localization mechanism, but initially it only works in the classic tile scripting system. Each project has its own private language choice' translated. Preferences noviceMode ifFalse:[aMenu addStayUpItem]. availableLanguages := NaturalLanguageTranslator availableLanguageLocaleIDs asSortedCollection:[:x :y | x displayName < y displayName]. availableLanguages do: [:localeID | item _ aMenu addUpdating: #stringForLanguageNameIs: target: Locale selector: #switchAndInstallFontToID:gently: argumentList: {localeID. true} extraIcon: (Locale localeID: localeID) iconForNativeLanguage. item wordingArgument: localeID.]. ]. aMenu popUpInWorld "Project current chooseNaturalLanguage"! !