'From etoys3.0 of 24 February 2008 [latest update: #1969] on 16 April 2008 at 1:06:53 am'! "Change Set: transMisc2-KR Date: 16 April 2008 Author: Korakurider translated misc missing translations"! !Morph methodsFor: 'debug and other' stamp: 'KR 4/16/2008 00:51'! buildDebugMenu: aHand "Answer a debugging menu for the receiver. The hand argument is seemingly historical and plays no role presently" | aMenu aPlayer aModel | aMenu _ MenuMorph new defaultTarget: self. aMenu addStayUpItem. (self hasProperty: #errorOnDraw) ifTrue: [aMenu add: 'start drawing again' translated action: #resumeAfterDrawError. aMenu addLine]. (self hasProperty: #errorOnStep) ifTrue: [aMenu add: 'start stepping again' translated action: #resumeAfterStepError. aMenu addLine]. aMenu add: 'inspect morph' translated action: #inspectInMorphic:. aMenu add: 'explore morph' translated target: self selector: #explore. aMenu add: 'inspect properties' translated action: #inspectMorphsProperties. aMenu add: 'inspect owner chain' translated action: #inspectOwnerChain. Smalltalk isMorphic ifFalse: [aMenu add: 'inspect morph (in MVC)' translated action: #inspect]. (aModel _ self modelOrNil) ifNotNil: [aMenu addLine. aMenu add: 'inspect model' translated target: aModel action: #inspect. aMenu add: 'explore model' translated target: aModel action: #explore. aMenu add: 'model protocol' translated target: aModel action: #haveFullProtocolBrowsed]. (aPlayer _ self player) ifNotNil: [aMenu add: 'inspect player' translated target: aPlayer action: #inspect]. aMenu addLine. aPlayer ifNotNil: [aMenu add: 'viewer for Player' translated target: self player action: #beViewed. aMenu balloonTextForLastItem: 'Opens a viewer on my Player -- this is the same thing you get if you click on the cyan "View" halo handle' translated]. aMenu add: 'viewer for Morph' translated target: self action: #viewMorphDirectly. aMenu balloonTextForLastItem: 'Opens a Viewer on this Morph, rather than on its Player' translated. aMenu add: 'morph protocol' translated target: self selector: #haveFullProtocolBrowsed. aMenu addLine. self addViewingItemsTo: aMenu. aMenu add: 'make own subclass' translated action: #subclassMorph; add: 'internal name ' translated action: #choosePartName. self isWorldMorph ifFalse: [aMenu add: 'save morph in file' translated action: #saveOnFile]. aMenu addLine; add: 'control-menu...' translated target: self selector: #invokeMetaMenu:. ^ aMenu! ! !Morph methodsFor: 'menus' stamp: 'KR 4/16/2008 00:46'! addToggleItemsToHaloMenu: aMenu "Add standard true/false-checkbox items to the memu" #( (resistsRemovalString toggleResistsRemoval 'whether I should be reistant to easy deletion via the pink X handle') (stickinessString toggleStickiness 'whether I should be resistant to a drag done by mousing down on me') (lockedString lockUnlockMorph 'when "locked", I am inert to all user interactions') (hasClipSubmorphsString changeClipSubmorphs 'whether the parts of objects within me that are outside my bounds should be masked.') (hasDirectionHandlesString changeDirectionHandles 'whether direction handles are shown with the halo') (hasDragAndDropEnabledString changeDragAndDrop 'whether I am open to having objects dropped into me') ) translatedNoop do: [:trip | (Preferences eToyFriendly not or: [trip size = 3]) ifTrue: [ aMenu addUpdating: trip first action: trip second. aMenu balloonTextForLastItem: trip third translated ] ]. self couldHaveRoundedCorners ifTrue: [aMenu addUpdating: #roundedCornersString action: #toggleCornerRounding. aMenu balloonTextForLastItem: 'whether my corners should be rounded' translated]! ! !SystemWindow methodsFor: 'menu' stamp: 'KR 4/16/2008 00:52'! buildWindowMenu | aMenu | aMenu _ MenuMorph new defaultTarget: self. aMenu add: 'change title...' translated action: #relabel. aMenu addLine. aMenu add: 'send to back' translated action: #sendToBack. aMenu add: 'make next-to-topmost' translated action: #makeSecondTopmost. aMenu addLine. self mustNotClose ifFalse: [aMenu add: 'make unclosable' translated action: #makeUnclosable] ifTrue: [aMenu add: 'make closable' translated action: #makeClosable]. aMenu add: (self isSticky ifTrue: ['make draggable' translated] ifFalse: ['make undraggable' translated]) action: #toggleStickiness. aMenu addLine. aMenu add: 'full screen' translated action: #fullScreen. self isCollapsed ifFalse: [aMenu add: 'window color...' translated action: #setWindowColor]. ^aMenu! ! !CollapsedMorph methodsFor: 'menu' stamp: 'KR 4/16/2008 00:52'! buildWindowMenu "Answer the menu to be put up in response to the user's clicking on the window-menu control in the window title. Specialized for CollapsedMorphs." | aMenu | aMenu _ MenuMorph new defaultTarget: self. aMenu add: 'change name...' translated action: #relabel. aMenu addLine. aMenu add: 'send to back' translated action: #sendToBack. aMenu add: 'make next-to-topmost' translated action: #makeSecondTopmost. aMenu addLine. self mustNotClose ifFalse: [aMenu add: 'make unclosable' translated action: #makeUnclosable] ifTrue: [aMenu add: 'make closable' translated action: #makeClosable]. aMenu add: (self isSticky ifTrue: ['make draggable' translated] ifFalse: ['make undraggable' translated]) action: #toggleStickiness. ^aMenu! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:55'! appearanceMenu "Build the appearance menu for the world." | screenCtrl | screenCtrl _ DisplayScreen. ^self fillIn: (self menu: 'appearance...' translatedNoop) from: { {'preferences...' translated. { Preferences . #openFactoredPanel} . 'Opens a "Preferences Panel" which allows you to alter many settings' translated} . {'choose theme...' translated. { Preferences . #offerThemesMenu} . 'Presents you with a menu of themes; each item''s balloon-help will tell you about the theme. If you choose a theme, many different preferences that come along with that theme are set at the same time; you can subsequently change any settings by using a Preferences Panel' translated} . nil . {'window colors...' translated. { Preferences . #windowSpecificationPanel} . 'Lets you specify colors for standard system windows.' translated}. {'system fonts...' translated. { self . #standardFontDo} . 'Choose the standard fonts to use for code, lists, menus, window titles, etc.' translated}. {'text highlight color...' translated. { Preferences . #chooseTextHighlightColor} . 'Choose which color should be used for text highlighting in Morphic.' translated}. {'insertion point color...' translated. { Preferences . #chooseInsertionPointColor} . 'Choose which color to use for the text insertion point in Morphic.' translated}. {'keyboard focus color' translated. { Preferences . #chooseKeyboardFocusColor} . 'Choose which color to use for highlighting which pane has the keyboard focus' translated}. nil. {#menuColorString . { Preferences . #toggleMenuColorPolicy} . 'Governs whether menu colors should be derived from the desktop color.' translated}. {#roundedCornersString . { Preferences . #toggleRoundedCorners} . 'Governs whether morphic windows and menus should have rounded corners.' translated}. nil. {'full screen on' translated. { screenCtrl . #fullScreenOn} . 'puts you in full-screen mode, if not already there.' translated}. {'full screen off' translated. { screenCtrl . #fullScreenOff} . 'if in full-screen mode, takes you out of it.' translated}. nil. {'set display depth...' translated. {self. #setDisplayDepth} . 'choose how many bits per pixel.' translated}. {'set desktop color...' translated. {self. #changeBackgroundColor} . 'choose a uniform color to use as desktop background.' translated}. {'set gradient color...' translated. {self. #setGradientColor} . 'choose second color to use as gradient for desktop background.' translated}. {'use texture background' translated. { #myWorld . #setStandardTexture} . 'apply a graph-paper-like texture background to the desktop.' translated}. nil. {'clear turtle trails from desktop' translated. { #myWorld . #clearTurtleTrails} . 'remove any pigment laid down on the desktop by objects moving with their pens down.' translated}. {'pen-trail arrowhead size...' translated. { Preferences. #setArrowheads} . 'choose the shape to be used in arrowheads on pen trails.' translated}. }! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:55'! changesMenu "Build the changes menu for the world." | menu | menu _ self menu: 'changes...' translatedNoop. self fillIn: menu from: { { 'file out current change set' translated. { ChangeSet current . #verboseFileOut}. 'Write the current change set out to a file whose name reflects the change set name and the current date & time.' translated}. { 'create new change set...' translated. { ChangeSorter . #newChangeSet}. 'Create a new change set and make it the current one.' translated}. { 'browse changed methods' translated. { ChangeSet . #browseChangedMessages}. 'Open a message-list browser showing all methods in the current change set' translated}. { 'check change set for slips' translated. { self . #lookForSlips}. 'Check the current change set for halts, references to the Transcript, etc., and if any such thing is found, open up a message-list browser detailing all possible slips.' translated}. nil. { 'simple change sorter' translated. {self. #openChangeSorter1}. 'Open a 3-paned changed-set viewing tool' translated}. { 'dual change sorter' translated. {self. #openChangeSorter2}. 'Open a change sorter that shows you two change sets at a time, making it easy to copy and move methods and classes between them.' translated}. { 'find a change sorter (C)' translated. { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window' translated}. nil. { 'browse recent submissions' translated. { Utilities . #browseRecentSubmissions}. 'Open a new recent-submissions browser. A recent-submissions browser is a message-list browser that shows the most recent methods that have been submitted. If you submit changes within that browser, it will keep up-to-date, always showing the most recent submissions.' translated}. { 'find recent submissions (R)' translated. { #myWorld . #openRecentSubmissionsBrowser:}. 'Make an open recent-submissions browser be the front-window, expanding a collapsed one or creating a new one if necessary. A recent-submissions browser is a message-list browser that shows the most recent methods that have been submitted, latest first. If you submit changes within that browser, it will keep up-to-date, always showing the most recent submissions at the top of the browser.' translated}. nil. { 'recently logged changes...' translated. { ChangeList . #browseRecentLog}.'Open a change-list browser on the latter part of the changes log. You can use this browser to recover logged changes which were not saved in your image, in the event of a crash or other interruption.' translated}. { 'recent log file...' translated. { Smalltalk . #writeRecentToFile}. 'Create a file holding the logged changes (going as far back as you wish), and open a window on that file.' translated}. nil. { 'save world as morph file' translated. {self. #saveWorldInFile}. 'Save a file that, when reloaded, reconstitutes the current World.' translated}. nil. }. self projectForMyWorld isIsolated ifTrue: [ self fillIn: menu from: { { 'propagate changes upward' translated. {self. #propagateChanges}. 'The changes made in this isolated project will propagate to projects up to the next isolation layer.' translated}. }. ] ifFalse: [ self fillIn: menu from: { { 'isolate changes of this project' translated. {self. #beIsolated}. 'Isolate this project and its subprojects from the rest of the system. Changes to methods here will be revoked when you leave this project.' translated}. }. ]. ^ menu! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:56'! debugMenu | menu | menu _ self menu: 'debug...' translatedNoop. ^self fillIn: menu from: { { 'inspect world' translated. { #myWorld . #inspect } }. { 'explore world' translated. { #myWorld . #explore } }. { 'inspect model' translated. { self . #inspectWorldModel } }. " { 'talk to world...' translated. { self . #typeInMessageToWorld } }." { 'start MessageTally' translated. { self . #startMessageTally } }. { 'start/browse MessageTally' translated. { self . #startThenBrowseMessageTally } }. { 'open process browser' translated. { ProcessBrowser . #open } }. nil. "(self hasProperty: #errorOnDraw) ifTrue: Later make this come up only when needed." { 'start drawing again' translated. { #myWorld . #resumeAfterDrawError } }. { 'start stepping again' translated. { #myWorld . #resumeAfterStepError } }. nil. { 'call #tempCommand' translated. { #myWorld . #tempCommand } }. { 'define #tempCommand' translated. { #myWorld . #defineTempCommand } }. } ! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:56'! helpMenu "Build the help menu for the world." | menu | menu := self menu: 'help...' translatedNoop. self fillIn: menu from: { {'about this system...' translated. {SmalltalkImage current. #aboutThisSystem}. 'current version information.' translated}. {'update code from server' translated. {Utilities. #updateFromServer}. 'load latest code updates via the internet' translated}. {'preferences...' translated. {Preferences. #openPreferencesInspector}. 'view and change various options.' translated}. {'set language...' translated. {Project. #chooseNaturalLanguage}. 'choose the language in which tiles should be displayed.' translated} . nil. {'command-key help' translated. { Utilities . #openCommandKeyHelp}. 'summary of keyboard shortcuts.' translated} }. self addGestureHelpItemsTo: menu. self fillIn: menu from: { {'world menu help' translated. { self . #worldMenuHelp}. 'helps find menu items buried in submenus.' translated}. "{'info about flaps' . { Utilities . #explainFlaps}. 'describes how to enable and use flaps.' translated}." {'font size summary' translated. { TextStyle . #fontSizeSummary}. 'summary of names and sizes of available fonts.' translated}. {'useful expressions' translated. { Utilities . #openStandardWorkspace}. 'a window full of useful expressions.' translated}. {'annotation setup...' translated. { Preferences . #editAnnotations}. 'Click here to get a little window that will allow you to specify which types of annotations, in which order, you wish to see in the annotation panes of browsers and other tools' translated}. nil. {'graphical imports' translated. { Imports default . #viewImages}. 'view the global repository called ImageImports; you can easily import external graphics into ImageImports via the FileList' translated}. {'standard graphics library' translated. { ScriptingSystem . #inspectFormDictionary}. 'lets you view and change the system''s standard library of graphics.' translated}. nil. {'telemorphic...' translated. {self. #remoteDo}. 'commands for doing multi-machine "telemorphic" experiments' translated}. {#soundEnablingString . { Preferences . #toggleSoundEnabling}. 'turning sound off will completely disable Squeak''s use of sound.' translated}. {'definition for...' translated. { Utilities . #lookUpDefinition}. 'if connected to the internet, use this to look up the definition of an English word.' translated}. nil. {'set author initials...' translated. { Utilities . #setAuthorInitials }. 'supply initials to be used to identify the author of code and other content.' translated}. {'vm statistics' translated. { self . #vmStatistics}. 'obtain some intriguing data about the vm.' translated}. nil. {'purge undo records' translated. { CommandHistory . #resetAllHistory }. 'save space by removing all the undo information remembered in all projects.' translated}. {'space left' translated. { self . #garbageCollect}. 'perform a full garbage-collection and report how many bytes of space remain in the image.' translated}. }. ^menu ! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:56'! newMorph "The user requested 'new morph' from the world menu. Put up a menu that allows many ways of obtaining new morphs. If the preference #classicNewMorphMenu is true, the full form of yore is used; otherwise, a much shortened form is used." | menu subMenu catDict shortCat class | menu _ self menu: 'Add a new morph' translatedNoop. menu add: 'from paste buffer' translated target: myHand action: #pasteMorph; add: 'from alphabetical list' translated subMenu: self alphabeticalMorphMenu; add: 'from a file...' translated target: self action: #readMorphFromAFile. menu addLine. menu add: 'grab rectangle from screen' translated target: myWorld action: #grabDrawingFromScreen:; add: 'grab with lasso from screen' translated target: myWorld action: #grabLassoFromScreen:; add: 'grab rubber band from screen' translated target: myWorld action: #grabRubberBandFromScreen:; add: 'grab flood area from screen' translated target: myWorld action: #grabFloodFromScreen:. menu addLine. menu add: 'make new drawing' translated target: myWorld action: #newDrawingFromMenu:; add: 'make link to project...' translated target: self action: #projectThumbnail. Preferences classicNewMorphMenu ifTrue: [menu addLine. catDict _ Dictionary new. SystemOrganization categories do: [:cat | ((cat beginsWith: 'Morphic-') and: [(#('Morphic-Menus' 'Morphic-Support') includes: cat) not]) ifTrue: [shortCat _ (cat copyFrom: 'Morphic-' size+1 to: cat size) translated. (SystemOrganization listAtCategoryNamed: cat) do: [:cName | class _ Smalltalk at: cName. ((class inheritsFrom: Morph) and: [class includeInNewMorphMenu]) ifTrue: [(catDict includesKey: shortCat) ifTrue: [(catDict at: shortCat) addLast: class] ifFalse: [catDict at: shortCat put: (OrderedCollection with: class)]]]]]. catDict keys asSortedCollection do: [:categ | subMenu _ MenuMorph new. ((catDict at: categ) asSortedCollection: [:c1 :c2 | c1 name < c2 name]) do: [:cl | subMenu add: cl name target: self selector: #newMorphOfClass:event: argument: cl]. menu add: categ subMenu: subMenu]]. self doPopUp: menu. ! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:56'! openMenu "Build the open window menu for the world." | menu | menu _ self menu: 'open...' translatedNoop. self fillIn: menu from: { {'browser (b)' translated. { self . #openBrowser}. 'A five-paned tool that lets you see all the code in the system' translated}. {'package-pane browser' translated. { PackagePaneBrowser . #openBrowser} . 'Similar to the regular browser, but adds an extra pane at top-left that groups class-categories that start with the same prefix' translated}. {'workspace (k)' translated. {self . #openWorkspace}. 'A window for composing text' translated}. {'file list' translated. {self . #openFileList} . 'A tool allowing you to browse any file' translated}. {'file...' translated. { FileList . #openFileDirectly} . 'Lets you open a window on a single file' translated}. {'transcript (t)' translated. {self . #openTranscript}. 'A window used to report messages sent to Transcript' translated}. "{'inner world' translated. { WorldWindow . #test1} }." {'event theatre' translated. {EventRecordingSpace. #open}. 'A place for recording "event movies" using the Event Recorder' translated}. nil. {'method finder' translated . { self . #openSelectorBrowser} . 'A tool for discovering methods' translated}. {'message names (W)' translated. { self . #openMessageNames} . 'A tool for finding and editing methods that contain any given keyword in their names.' translated}. nil. {'simple change sorter' translated. {self . #openChangeSorter1} . 'A tool allowing you to view the methods in a single change set' translated}. {'dual change sorter' translated. {self . #openChangeSorter2} . 'A tool allowing you to compare and manipulate two change sets concurrently' translated}. nil. }. self fillIn: menu from: self class registeredOpenCommands. menu addLine. self mvcProjectsAllowed ifTrue: [self fillIn: menu from: { {'mvc project' translated. {self. #openMVCProject} . 'Creates a new project of the classic "mvc" style' translated} }]. ^ self fillIn: menu from: { {'morphic project' translated. {self. #openMorphicProject} . 'Creates a new morphic project' translated}. }.! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:56'! projectMenu "Build the project menu for the world." | menu | self flag: #bob0302. menu _ self menu: 'projects...' translatedNoop. self fillIn: menu from: { { 'save on server (also makes a local copy)' translated. { #myProject . #storeOnServer } }. { 'save to a different server' translated. { #myProject . #saveAs } }. { 'save project on local file only' translated. { #myWorld . #saveOnFile } }. { 'see if server version is more recent...' translated. { #myProject . #loadFromServer } }. { 'load project from file...' translated. { self . #loadProject } }. nil. }. self fillIn: menu from: {{'show project hierarchy' translated. {Project. #showProjectHierarchyInWindow}. 'Opens a window that shows names and relationships of all the projects in your system.' translated}. nil}. self mvcProjectsAllowed ifTrue: [ self fillIn: menu from: { { 'create new mvc project' translated. { self . #openMVCProject } }. } ]. self fillIn: menu from: { { 'create new morphic project' translated. { self . #openMorphicProject } }. nil. { 'go to previous project' translated. { Project . #returnToPreviousProject } }. { 'go to next project' translated. { Project . #advanceToNextProject } }. { 'jump to project...' translated. { #myWorld . #jumpToProject } }. }. Preferences simpleMenus ifFalse: [ self fillIn: menu from: { nil. { 'save for future revert' translated. { #myProject . #saveForRevert } }. { 'revert to saved copy' translated. { #myProject . #revert } }. }. ]. ^ menu! ! !TheWorldMenu methodsFor: 'construction' stamp: 'KR 4/16/2008 00:58'! remoteMenu "Build the Telemorphic menu for the world." ^self fillIn: (self menu: 'Telemorphic' translatedNoop) from: { { 'local host address' translated. { #myWorld . #reportLocalAddress } }. { 'connect remote user' translated. { #myWorld . #connectRemoteUser } }. { 'disconnect remote user' translated. { #myWorld . #disconnectRemoteUser } }. { 'disconnect all remote users' translated. { #myWorld . #disconnectAllRemoteUsers } }. }! ! !TheWorldMenu methodsFor: 'windows & flaps menu' stamp: 'KR 4/16/2008 00:57'! windowsMenu "Build the windows menu for the world." ^ self fillIn: (self menu: 'windows' translatedNoop) from: { { 'find window' translated. { #myWorld . #findWindow: }. 'Presents a list of all windows; if you choose one from the list, it becomes the active window.' translated}. { 'find changed browsers...' translated. { #myWorld . #findDirtyBrowsers: }. 'Presents a list of browsers that have unsubmitted changes; if you choose one from the list, it becomes the active window.' translated}. { 'find changed windows...' translated. { #myWorld . #findDirtyWindows: }. 'Presents a list of all windows that have unsubmitted changes; if you choose one from the list, it becomes the active window.' translated}. nil. { 'find a transcript (t)' translated. { #myWorld . #findATranscript: }. 'Brings an open Transcript to the front, creating one if necessary, and makes it the active window' translated}. { 'find a fileList (L)' translated. { #myWorld . #findAFileList: }. 'Brings an open fileList to the front, creating one if necessary, and makes it the active window' translated}. { 'find a change sorter (C)' translated. { #myWorld . #findAChangeSorter: }. 'Brings an open change sorter to the front, creating one if necessary, and makes it the active window' translated}. { 'find message names (W)' translated. { #myWorld . #findAMessageNamesWindow: }. 'Brings an open MessageNames window to the front, creating one if necessary, and makes it the active window' translated}. nil. { #staggerPolicyString . { self . #toggleWindowPolicy }. 'stagger: new windows positioned so you can see a portion of each one. tile: new windows positioned so that they do not overlap others, if possible.' translated}. nil. { 'collapse all windows' translated. { #myWorld . #collapseAllWindows }. 'Reduce all open windows to collapsed forms that only show titles.' translated}. { 'collapse all objects' translated. { #myWorld . #collapseAllWindowsAndNonWindows }. 'Reduce all open windows and all other objects on the desktop to labeled tabs' translated}. { 'expand all' translated. { #myWorld . #expandAllCollapsedObjects }. 'Expand all collapsed windows and other collapsed objects back to their expanded forms.' translated}. { 'close top window (w)' translated. { SystemWindow . #closeTopWindow }. 'Close the topmost window if possible.' translated}. { 'send top window to back (\)' translated. { SystemWindow . #sendTopWindowToBack }. 'Make the topmost window become the backmost one, and activate the window just beneath it.' translated}. { 'move windows onscreen' translated. { #myWorld . #bringWindowsFullOnscreen }. 'Make all windows fully visible on the screen' translated}. nil. { 'delete unchanged windows' translated. { #myWorld . #closeUnchangedWindows }. 'Deletes all windows that do not have unsaved text edits.' translated}. { 'delete non-windows' translated. { #myWorld . #deleteNonWindows }. 'Deletes all non-window morphs lying on the world.' translated}. { 'delete both of the above' translated. { self . #cleanUpWorld }. 'deletes all unchanged windows and also all non-window morphs lying on the world, other than flaps.' translated}. }! ! !TheWorldMenu methodsFor: '*flexibleVocabularies-construction' stamp: 'KR 4/16/2008 00:55'! fullScriptingMenu "Build the authoring-tools menu for the world. This method offeres all the item historically offered in the full etoy system; when eToyFriendly is on, most of the items are suppressed." ^ self fillIn: (self menu: 'authoring tools...' translatedNoop) from: { { 'objects (o)' translated. { #myWorld . #activateObjectsTool }. 'A searchable source of new objects.' translated}. nil. "----------" { 'view trash contents' translated. { #myWorld . #openScrapsBook:}. 'The place where all your trashed morphs go.' translated}. { 'empty trash can' translated. { Utilities . #emptyScrapsBookGC}. 'Empty out all the morphs that have accumulated in the trash can.' translated}. nil. "----------" { 'sound library' translated. { SoundLibraryTool. #newInHand}.'A tool that lets you see and manage all the sounds in the sound library' translated}. { 'new scripting area' translated. { #myWorld . #detachableScriptingSpace}. 'A window set up for simple scripting.' translated}. nil. "----------" { 'status of scripts' translated. {#myWorld . #showStatusOfAllScripts}. 'Lets you view the status of all the scripts belonging to all the scripted objects of the project.' translated}. { 'summary of scripts' translated. {#myWorld . #printScriptSummary}. 'Produces a summary of scripted objects in the project, and all of their scripts.' translated}. { 'browser for scripts' translated. {#myWorld . #browseAllScriptsTextually}. 'Allows you to view all the scripts in the project in a traditional programmers'' "browser" format' translated}. nil. { 'gallery of players' translated. {#myWorld . #galleryOfPlayers}. 'A tool that lets you find out about all the players used in this project' translated}. " { 'gallery of scripts' translated. {#myWorld . #galleryOfScripts}. 'Allows you to view all the scripts in the project' translated}." { 'etoy vocabulary summary' translated. {#myWorld . #printVocabularySummary }. 'Displays a summary of all the pre-defined commands and properties in the pre-defined EToy vocabulary.' translated}. { 'attempt misc repairs' translated. {#myWorld . #attemptCleanup}. 'Take measures that may help fix up some things about a faulty or problematical project.' translated}. { 'remove all viewers' translated. {#myWorld . #removeAllViewers}. 'Remove all the Viewers from this project.' translated}. { 'refer to masters' translated. {#myWorld . #makeAllScriptEditorsReferToMasters }. 'Ensure that all script editors are referring to the first (alphabetically by external name) Player of their type' translated}. nil. "----------" { 'unlock locked objects' translated. { #myWorld . #unlockContents}. 'If any items on the world desktop are currently locked, unlock them.' translated}. { 'unhide hidden objects' translated. { #myWorld . #showHiders}. 'If any items on the world desktop are currently hidden, make them visible.' translated}. }! ! !TheWorldMenu methodsFor: '*flexibleVocabularies-construction' stamp: 'KR 4/16/2008 00:57'! scriptingMenu "Build the authoring-tools menu for the world. If eToyFriendly is set, a reduced menu is offered." Preferences eToyFriendly ifFalse: [^ self fullScriptingMenu]. ^ self fillIn: (self menu: 'authoring tools...' translatedNoop) from: { { 'objects (o)' translated. { #myWorld . #activateObjectsTool }. 'A searchable source of new objects.' translated}. nil. "----------" { 'view trash contents' translated. { #myWorld . #openScrapsBook:}. 'The place where all your trashed morphs go.' translated}. { 'empty trash can' translated. { Utilities . #emptyScrapsBookGC}. 'Empty out all the morphs that have accumulated in the trash can.' translated}. nil. "----------" { 'sound library' translated. { SoundLibraryTool. #newInHand}.'A tool that lets you see and manage all the sounds in the sound library' translated}. "{ 'new scripting area' translated. { #myWorld . #detachableScriptingSpace}. 'A window set up for simple scripting.' translated}. nil. ""----------" { 'status of scripts' translated. {#myWorld . #showStatusOfAllScripts}. 'Lets you view the status of all the scripts belonging to all the scripted objects of the project.' translated}. "{ 'summary of scripts' translated. {#myWorld . #printScriptSummary}. 'Produces a summary of scripted objects in the project, and all of their scripts.'}." "{ 'browser for scripts' translated. {#myWorld . #browseAllScriptsTextually}. 'Allows you to view all the scripts in the project in a traditional programmers'' ""browser"" format'}." { 'gallery of players' translated. {#myWorld . #galleryOfPlayers}. 'A tool that lets you find out about all the players used in this project' translated}. nil. " { 'gallery of scripts' translated. {#myWorld . #galleryOfScripts}. 'Allows you to view all the scripts in the project' translated}." "{ 'etoy vocabulary summary' translated. {#myWorld . #printVocabularySummary }. 'Displays a summary of all the pre-defined commands and properties in the pre-defined EToy vocabulary.' translated}." "{ 'attempt misc repairs' translated. {#myWorld . #attemptCleanup}. 'Take measures that may help fix up some things about a faulty or problematical project.' translated}." { 'remove all viewers' translated. {#myWorld . #removeAllViewers}. 'Remove all the Viewers from this project.' translated}. "{ 'refer to masters' translated. {#myWorld . #makeAllScriptEditorsReferToMasters }. 'Ensure that all script editors are referring to the first (alphabetically by external name) Player of their type' translated}. " "nil." "----------" "{ 'unlock locked objects' translated. { #myWorld . #unlockContents}. 'If any items on the world desktop are currently locked, unlock them.' translated}." "{ 'unhide hidden objects' translated. { #myWorld . #showHiders}. 'If any items on the world desktop are currently hidden, make them visible.' translated}." }! !