kopia lustrzana https://github.com/backface/turtlestitch
Fixed a number of whitespace inconsistencies
rodzic
70f5eced79
commit
4c9fee58ee
18
README.md
18
README.md
|
@ -1,14 +1,14 @@
|
|||
|
||||
|
||||
Snap! Build Your Own Blocks
|
||||
|
||||
http://snap.berkeley.edu
|
||||
|
||||
a visual, blocks based programming language
|
||||
inspired by Scratch
|
||||
|
||||
written by Jens Mönig and Brian Harvey
|
||||
jens@moenig.org, bh@cs.berkeley.edu
|
||||
|
||||
http://snap.berkeley.edu
|
||||
|
||||
a visual, blocks based programming language
|
||||
inspired by Scratch
|
||||
|
||||
written by Jens Mönig and Brian Harvey
|
||||
jens@moenig.org, bh@cs.berkeley.edu
|
||||
|
||||
Copyright (C) 2013 by Jens Mönig and Brian Harvey
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -1588,9 +1588,9 @@ SyntaxElementMorph.prototype.endLayout = function () {
|
|||
special form: upvar
|
||||
|
||||
%upvar - same as %t (inline variable reporter template)
|
||||
|
||||
|
||||
special form: input name
|
||||
|
||||
|
||||
%inputName - variable blob (used in input type dialog)
|
||||
|
||||
examples:
|
||||
|
@ -4386,7 +4386,7 @@ ScriptsMorph.prototype.reactToDropOf = function (droppedMorph, hand) {
|
|||
Usually I am just a receptacle for inherited methods and attributes,
|
||||
however, if my 'type' attribute is set to one of the following
|
||||
values, I act as an iconic slot myself:
|
||||
|
||||
|
||||
'list' - a list symbol
|
||||
*/
|
||||
|
||||
|
|
20
byob.js
20
byob.js
|
@ -11,7 +11,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -57,7 +57,7 @@
|
|||
ReporterBlockMorph***
|
||||
CustomReporterBlockMorph
|
||||
JaggedBlockMorph
|
||||
|
||||
|
||||
|
||||
StringMorph*
|
||||
BlockLabelFragmentMorph
|
||||
|
@ -90,7 +90,7 @@
|
|||
VariableDialogMorph
|
||||
BlockExportDialogMorph
|
||||
BlockImportDialogMorph
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/*global modules, CommandBlockMorph, SpriteMorph, TemplateSlotMorph,
|
||||
|
@ -418,7 +418,7 @@ CustomCommandBlockMorph.prototype.refreshPrototype = function () {
|
|||
protoSpec = this.specFromFragments();
|
||||
|
||||
|
||||
// update the prototype's type
|
||||
// update the prototype's type
|
||||
// and possibly exchange 'this' for 'myself'
|
||||
if (this instanceof CustomCommandBlockMorph
|
||||
&& ((hat.type === 'reporter') || (hat.type === 'predicate'))) {
|
||||
|
@ -1302,7 +1302,7 @@ BlockDialogMorph.prototype.fixLayout = function () {
|
|||
+ this.padding
|
||||
);
|
||||
}
|
||||
} else if (this.head) { // when changing an existing prototype
|
||||
} else if (this.head) { // when changing an existing prototype
|
||||
if (this.types) {
|
||||
this.types.fixLayout();
|
||||
this.silentSetWidth(
|
||||
|
@ -2125,7 +2125,7 @@ InputSlotDialogMorph.uber = DialogBoxMorph.prototype;
|
|||
|
||||
// InputSlotDialogMorph preferences settings:
|
||||
|
||||
// if "isLaunchingExpanded" is true I always open in the long form
|
||||
// if "isLaunchingExpanded" is true I always open in the long form
|
||||
InputSlotDialogMorph.prototype.isLaunchingExpanded = false;
|
||||
|
||||
// InputSlotDialogMorph instance creation:
|
||||
|
@ -2486,13 +2486,13 @@ InputSlotDialogMorph.prototype.addSlotTypeButton = function (
|
|||
its right.
|
||||
Note that you can make the slot picture interactive (turn
|
||||
it into a ToggleElementMorph by changing the
|
||||
|
||||
|
||||
element.fullImage()
|
||||
|
||||
|
||||
line to just
|
||||
|
||||
|
||||
element
|
||||
|
||||
|
||||
I've opted for the simpler representation because it reduces
|
||||
the duration of time it takes for the InputSlotDialog to load
|
||||
and show. But in the future computers and browsers may be
|
||||
|
|
2
cloud.js
2
cloud.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -2,54 +2,54 @@
|
|||
Contributing to BYOB4 / Snap!
|
||||
by Jens Mönig
|
||||
last changed: 12/09/14
|
||||
*****************************
|
||||
|
||||
*****************************
|
||||
|
||||
Attached is the current development code base for BYOB4 a.k.a. Snap. It consists of
|
||||
several JavaScript, HTML and text files, and while some of it may be functional
|
||||
most parts will be in flux and subject to frequent, even fundamental modifications.
|
||||
This document lays out a few simple guidelines ensuring that collaborative code
|
||||
contribution works out.
|
||||
|
||||
|
||||
Working with changesets
|
||||
-----------------------
|
||||
contribution works out.
|
||||
|
||||
|
||||
Working with changesets
|
||||
-----------------------
|
||||
You'll often want to change or add code in existing JS files. Please don't. Instead
|
||||
use a changeset. The way I always do it myself is to copy the empty
|
||||
|
||||
changeset.js
|
||||
|
||||
file and rename it to something like
|
||||
|
||||
JensChangesToMorphic.js
|
||||
|
||||
use a changeset. The way I always do it myself is to copy the empty
|
||||
|
||||
changeset.js
|
||||
|
||||
file and rename it to something like
|
||||
|
||||
JensChangesToMorphic.js
|
||||
|
||||
Into this file I write all the functions I want to add to Morphic. If I want to
|
||||
change a function in Morphic.js I copy it to the changeset and edit it there. Then
|
||||
I always validate the changeset with
|
||||
|
||||
JSLint.com
|
||||
|
||||
Please check your code frequently with JSLint!
|
||||
|
||||
For our Snap code set JSLint's settings to:
|
||||
|
||||
assume a browser
|
||||
tolerate missing 'use strict' pragma
|
||||
|
||||
[4] indentation
|
||||
[78] maximum line length
|
||||
I always validate the changeset with
|
||||
|
||||
JSLint.com
|
||||
|
||||
Please check your code frequently with JSLint!
|
||||
|
||||
For our Snap code set JSLint's settings to:
|
||||
|
||||
assume a browser
|
||||
tolerate missing 'use strict' pragma
|
||||
|
||||
[4] indentation
|
||||
[78] maximum line length
|
||||
|
||||
If you're working on the core Morphic library you can also
|
||||
|
||||
tolerate eval
|
||||
tolerate eval
|
||||
tolerate unfiltered for in
|
||||
|
||||
|
||||
although you'll probably not ever going to need either EVAL or FORIN in your
|
||||
changesets anyway.
|
||||
|
||||
changesets anyway.
|
||||
|
||||
There are, of course, other tools - like JSHint and Firebug - that help you debug
|
||||
your code. Feel free to use whichever suits you best, but let's all agree on
|
||||
JSLint's (nitpicky!) formatting rules so we get code that's well readable and
|
||||
easily shareable among ourselves.
|
||||
easily shareable among ourselves.
|
||||
|
||||
|
||||
Coding style
|
||||
|
@ -112,62 +112,62 @@ Avoid
|
|||
- create a new constructor instead
|
||||
|
||||
|
||||
Testing your code
|
||||
------------------
|
||||
Testing your code
|
||||
------------------
|
||||
(don't worry, I'm not talking about formal UnitTest Suites or other BDSM software
|
||||
fetishes, just about playing with what you're creating while you're doing it)
|
||||
|
||||
fetishes, just about playing with what you're creating while you're doing it)
|
||||
|
||||
To test your changesets just add another line in the html stub file with your
|
||||
changeset. Make sure to put your changeset /after/ Morphic.js and Blocks.js and
|
||||
whichever libraries are already included, so it'll actually get used.
|
||||
|
||||
In your changeset override the world's
|
||||
|
||||
customMorphs
|
||||
|
||||
whichever libraries are already included, so it'll actually get used.
|
||||
|
||||
In your changeset override the world's
|
||||
|
||||
customMorphs
|
||||
|
||||
function so it returns a list of instances of your Morphs. For "Blocks.js" that
|
||||
code is:
|
||||
|
||||
var BlockMorph;
|
||||
var ScriptsMorph;
|
||||
|
||||
WorldMorph.prototype.customMorphs = function () {
|
||||
var sm = new ScriptsMorph();
|
||||
sm.setExtent(new Point(800, 600));
|
||||
return [
|
||||
new BlockMorph(),
|
||||
sm
|
||||
];
|
||||
};
|
||||
|
||||
code is:
|
||||
|
||||
var BlockMorph;
|
||||
var ScriptsMorph;
|
||||
|
||||
WorldMorph.prototype.customMorphs = function () {
|
||||
var sm = new ScriptsMorph();
|
||||
sm.setExtent(new Point(800, 600));
|
||||
return [
|
||||
new BlockMorph(),
|
||||
sm
|
||||
];
|
||||
};
|
||||
|
||||
Just modify this code so it returns your list of sample Morphs instead of
|
||||
BlockMorph and ScriptsMorph instances.
|
||||
|
||||
BlockMorph and ScriptsMorph instances.
|
||||
|
||||
Once you've added this code to your changeset you can open your sample html file
|
||||
in your browser, and you'll find your sample Morphs in the World's DEMO menu.
|
||||
|
||||
|
||||
Inspectors
|
||||
----------
|
||||
in your browser, and you'll find your sample Morphs in the World's DEMO menu.
|
||||
|
||||
|
||||
Inspectors
|
||||
----------
|
||||
To actually test play with your Morphs you can right-click on them and open an
|
||||
inspector on them. You can open more than one inspector on each object. The
|
||||
inspector pretty much works the same as in Smalltalk. It even has an evaluation
|
||||
pane at the bottom, in which you can type in any JS code, mark it with your mouse
|
||||
(or select all with ctrl-a), righ-click on the selection and either "do it", "show
|
||||
it" or "inspect it" (again, like in Squeak).
|
||||
|
||||
it" or "inspect it" (again, like in Squeak).
|
||||
|
||||
Needless to say, in the evaluation pane "this" always refers to the inspected
|
||||
object.
|
||||
|
||||
|
||||
Source Code Mgmt
|
||||
-----------------
|
||||
object.
|
||||
|
||||
|
||||
Source Code Mgmt
|
||||
-----------------
|
||||
The good thing about changesets is that you can continue working on them regardless
|
||||
of new dev releases that happen in the meantime. When you feel you've got something
|
||||
that's finished just send me your changeset, and I'll work all the changesets into
|
||||
the Snap codebase and release another dev version. That way there will always (and
|
||||
frequently) be a harmonized common code base.
|
||||
|
||||
Thanks!
|
||||
|
||||
frequently) be a harmonized common code base.
|
||||
|
||||
Thanks!
|
||||
|
||||
--Jens
|
||||
|
|
10
gui.js
10
gui.js
|
@ -11,7 +11,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -1227,7 +1227,7 @@ IDE_Morph.prototype.createCorral = function () {
|
|||
// IDE_Morph layout
|
||||
|
||||
IDE_Morph.prototype.fixLayout = function (situation) {
|
||||
// situation is a string, i.e.
|
||||
// situation is a string, i.e.
|
||||
// 'selectSprite' or 'refreshPalette' or 'tabEditor'
|
||||
var padding = 5;
|
||||
|
||||
|
@ -4478,8 +4478,8 @@ SpriteIconMorph.prototype.copySound = function (sound) {
|
|||
|
||||
/*
|
||||
I am a selectable element in the SpriteEditor's "Costumes" tab, keeping
|
||||
a self-updating thumbnail of the costume I'm respresenting, and a
|
||||
self-updating label of the costume's name (in case it is changed
|
||||
a self-updating thumbnail of the costume I'm respresenting, and a
|
||||
self-updating label of the costume's name (in case it is changed
|
||||
elsewhere)
|
||||
*/
|
||||
|
||||
|
@ -5300,4 +5300,4 @@ JukeboxMorph.prototype.reactToDropOf = function (icon) {
|
|||
});
|
||||
this.sprite.sounds.add(costume, idx);
|
||||
this.updateList();
|
||||
};
|
||||
};
|
||||
|
|
748
history.txt
748
history.txt
|
@ -1,377 +1,377 @@
|
|||
BYOB4 (Snap) history
|
||||
---------------------
|
||||
110511
|
||||
------
|
||||
* Scrolling by dragging
|
||||
* Scrolling by dragging velocity
|
||||
|
||||
110516
|
||||
------
|
||||
* Autoscrolling
|
||||
|
||||
110518
|
||||
------
|
||||
* Textures
|
||||
|
||||
110524
|
||||
------
|
||||
* CommandSlotMorphs (%c)
|
||||
|
||||
110527
|
||||
------
|
||||
* Templates
|
||||
* Padding for ScrollFrames
|
||||
|
||||
110530
|
||||
------
|
||||
* C-slots only attach to blocks' tops (no longer also to bottoms)
|
||||
|
||||
110531
|
||||
------
|
||||
* ReporterBlockMorphs
|
||||
|
||||
110628
|
||||
------
|
||||
* World menu in every Morph's developersMenu
|
||||
* changed the standard to "sharp shadows" because of Firefox5 bug
|
||||
|
||||
110630
|
||||
------
|
||||
* StringMorphs and TextMorph notify their parents of layout changes
|
||||
* TypeInSlotMorphs (round - %n - and rectangular - %s -)
|
||||
|
||||
110705
|
||||
------
|
||||
* block specs
|
||||
|
||||
110706
|
||||
------
|
||||
* BooleanSlotMorphs (%b)
|
||||
* Color mixing
|
||||
* contrast setting for SyntaxElementMorphs
|
||||
* exit confirmation
|
||||
|
||||
110707
|
||||
------
|
||||
* BlockMorph color changing
|
||||
* entry field tabbing (Firefox and Opera only)
|
||||
* label multi-line wrapping for command blocks
|
||||
|
||||
110708
|
||||
------
|
||||
* extrapolate blockSpec upon label part drop
|
||||
|
||||
110711
|
||||
------
|
||||
* optional intra-block-label word wrap (flag) layout setting
|
||||
|
||||
110712
|
||||
------
|
||||
* rectangular reporter layout
|
||||
* label mutli-line wrapping for reporters
|
||||
* user-definable label line breaks (%br)
|
||||
* font size customizable for individual menus
|
||||
* ArrowMorphs
|
||||
|
||||
110714
|
||||
------
|
||||
* optional drop-down menu for type-in slots
|
||||
* read-only menus for type-in slots (%inst, %var, %lst, %obj, %eff,
|
||||
%dir, %cst, %snd, %key, %idx, %msg, %att, %fun, %typ)
|
||||
* global pixel color sensing
|
||||
* renamed TypeInSlotMorph to InputSlotMorph
|
||||
|
||||
110718
|
||||
------
|
||||
* ColorSlotMorphs (%clr)
|
||||
* collision detection groundwork
|
||||
|
||||
110719
|
||||
------
|
||||
* high-level documentation and code comments
|
||||
* optional blurred slot shades (off by default)
|
||||
|
||||
110720
|
||||
------
|
||||
* HatBlocks
|
||||
|
||||
110721
|
||||
------
|
||||
* scrollBarSize can now optionally be specified individually
|
||||
* block highlighting
|
||||
* specs for any-unevaluated and Boolean-unevaluated inputs
|
||||
|
||||
110722
|
||||
------
|
||||
* stringField settable as numeric, supresses textual input
|
||||
* editable numeric input slots supress textual type-in
|
||||
* evaluation helper methods and properties
|
||||
* collision detection
|
||||
|
||||
110726
|
||||
------
|
||||
* MultiArgMorphs (%mult%x)
|
||||
|
||||
110727
|
||||
------
|
||||
* Morphic: fullBounds() now ignores hidden submorphs
|
||||
* MultiArgMorphs: Optional label and minimum inputs settings, '%inputs'
|
||||
* Morphic: simplified BoxMorph rendering
|
||||
* Same-colored (white), semi-transparent reporter drop feedbacks
|
||||
|
||||
110804
|
||||
------
|
||||
* evaluator: ThreadManager, Process, StackFrame, VariableFrame
|
||||
|
||||
110810
|
||||
------
|
||||
* nasciturus: objects, gui
|
||||
|
||||
110811
|
||||
------
|
||||
* Morphic: broken rect fix for float-positioned Morphs
|
||||
* Blocks: straight bottom edges for stop-blocks
|
||||
* PenMorph: round line ends
|
||||
|
||||
110816
|
||||
------
|
||||
* Morphic: SpeechBubbleMorphs and bubble help for menus/buttons
|
||||
|
||||
110817
|
||||
------
|
||||
* Threads: evaluating reporters
|
||||
* showValue bubbles
|
||||
|
||||
110818
|
||||
------
|
||||
* optimizations for menu bubble help and Blocks layout
|
||||
|
||||
110823
|
||||
------
|
||||
* Sprite-scoped variables
|
||||
|
||||
110824
|
||||
------
|
||||
* numerical virtual keyboard (pop-up-sliders - taken out again)
|
||||
* sliders now work with negative floor numbers
|
||||
* mouse wheel scroll events (thanks, Nathan!)
|
||||
|
||||
110826
|
||||
------
|
||||
* TemplateSlotMorphs (%t, %mult%t, %scriptVars)
|
||||
* script variables
|
||||
* lockable inputs
|
||||
|
||||
110911
|
||||
------
|
||||
* Morphic: PenMorph.setHeading() fixed
|
||||
|
||||
110912
|
||||
------
|
||||
* Threads: renamed StackFrame to Context
|
||||
* Blocks: persistent input default values
|
||||
|
||||
110913
|
||||
------
|
||||
* basic Lambda primitives
|
||||
* basic Lambda visualization (showBubble)
|
||||
|
||||
110914
|
||||
------
|
||||
* c-slots in primitives are now static by default
|
||||
* basic THE BLOCK, CALL and REPORT
|
||||
|
||||
110919
|
||||
------
|
||||
* formal parameters
|
||||
* recursion
|
||||
* closures
|
||||
|
||||
110922
|
||||
------
|
||||
* implicit parameters
|
||||
|
||||
110923
|
||||
------
|
||||
* error catching for block evaluation
|
||||
|
||||
110926
|
||||
------
|
||||
* basic message broadcasting
|
||||
* thread forking (LAUNCH block)
|
||||
|
||||
110927
|
||||
------
|
||||
* WAIT block
|
||||
|
||||
110928
|
||||
------
|
||||
* GLIDE block
|
||||
|
||||
111006
|
||||
------
|
||||
* force yield after timeout
|
||||
|
||||
111007
|
||||
------
|
||||
* swooshy hat block tops (instead of circle segments)
|
||||
|
||||
111009
|
||||
------
|
||||
* call/cc
|
||||
|
||||
111010
|
||||
------
|
||||
* hybrid scope
|
||||
|
||||
111012
|
||||
------
|
||||
* autolambdafying CSlotMorphs (C-shaped) and CommandSlotMorphs (inline)
|
||||
* Morphic: right mouse click emulation for Mac
|
||||
|
||||
111017
|
||||
------
|
||||
* another take on continuations
|
||||
|
||||
111019
|
||||
------
|
||||
* Morphic: scrolling speedup
|
||||
|
||||
111020
|
||||
------
|
||||
* unevaluated FunctionSlotMorphs (%f)
|
||||
* autolambdafying ReporterSlotMorphs (%r, %p)
|
||||
|
||||
111021
|
||||
------
|
||||
* GUI: CellMorphs (for stage watchers)
|
||||
|
||||
111025
|
||||
------
|
||||
* GUI: WatcherMorphs
|
||||
* SHOW VARIABLE, HIDE VARIABLE blocks
|
||||
|
||||
111026
|
||||
------
|
||||
* Blocks: empty choice for input drop down menus
|
||||
* automatic positioning of new watchers
|
||||
* watchers on temporary variables are deleted by HIDE VARIABLE block (not hidden)
|
||||
* HIDE VARIABLE with empty input deletes all watchers on temporary vars
|
||||
|
||||
111027
|
||||
------
|
||||
* more extensive Error catching
|
||||
* slider for numerical text entries in "mobile mode"
|
||||
* bigger blocks in "mobile mode"
|
||||
|
||||
111031
|
||||
------
|
||||
* new: widgets.js
|
||||
* PushButtons
|
||||
|
||||
111102
|
||||
------
|
||||
* Morphic: StringMorph shadows
|
||||
|
||||
111103
|
||||
------
|
||||
* widgets: ToggleMorphs (check boxes and radio buttons)
|
||||
* non-variable watchers
|
||||
* checkbox toggling for variable watchers
|
||||
|
||||
111108
|
||||
------
|
||||
* Lists
|
||||
|
||||
111109
|
||||
------
|
||||
* ListWatchers (basics)
|
||||
|
||||
111111
|
||||
------
|
||||
* Morphic: visibleBounds() bug fix
|
||||
|
||||
111114
|
||||
------
|
||||
* Morphic: fullImageClassic() for ListWatcherMorphs
|
||||
* Threads: MultiArgMorph now use Lists instead of JS-Arrays
|
||||
* List Blocks
|
||||
* GUI: adding/removing variables doesn't make the palette jump to the top
|
||||
* Blocks: list type slots
|
||||
|
||||
111115
|
||||
------
|
||||
* Morphic: more tolerant grabbing
|
||||
* Lists: synchronized Watcher updating (speed-up)
|
||||
|
||||
111116
|
||||
------
|
||||
* Lists: conservative watcher updating (speed-up)
|
||||
* GUI: logo pane and 'about' box
|
||||
|
||||
111118
|
||||
------
|
||||
* Lists: watcher shows list range (speed-up, stability)
|
||||
|
||||
111121
|
||||
------
|
||||
* Atomicity (WARP)
|
||||
* REPEAT UNTIL
|
||||
* WAIT UNTIL
|
||||
|
||||
111123
|
||||
------
|
||||
* hybrid lists (arrayed and linked)
|
||||
* CONS and CDR
|
||||
|
||||
111124
|
||||
------
|
||||
* layout optimization for dropped and snapping blocks (thanks, John!)
|
||||
* Equality testing for lists (thanks, Brian!)
|
||||
|
||||
111128
|
||||
------
|
||||
* layout optimization merged into Morphic.js -> trackChanges
|
||||
|
||||
111129
|
||||
------
|
||||
* Widgets: DialogBoxMorph basics
|
||||
|
||||
111130
|
||||
------
|
||||
* Widgets: AlignmentMorphs
|
||||
* keyboard events for DialogBoxMorphs
|
||||
|
||||
111202
|
||||
------
|
||||
* Widgets: InputFieldMorphs
|
||||
* Prompters based on DialogBoxes
|
||||
* Renaming of input templates
|
||||
* Morphic keyboard enhancements
|
||||
|
||||
111205
|
||||
------
|
||||
* new primitives: MOUSE X, MOUSE Y, TIMER, RESET TIMER
|
||||
|
||||
111207
|
||||
------
|
||||
* byob.js (CustomBlockDefinition, CustomCommandBlockMorph)
|
||||
|
||||
111209
|
||||
------
|
||||
* BlockEditor basics for CustomCommandBlocks
|
||||
|
||||
111212
|
||||
------
|
||||
* BlockDialogMorph (basics)
|
||||
* CustomReporterBlockMorph
|
||||
|
||||
111213
|
||||
------
|
||||
* call/cc for lambdas and custom blocks
|
||||
|
||||
111214
|
||||
------
|
||||
BYOB4 (Snap) history
|
||||
---------------------
|
||||
110511
|
||||
------
|
||||
* Scrolling by dragging
|
||||
* Scrolling by dragging velocity
|
||||
|
||||
110516
|
||||
------
|
||||
* Autoscrolling
|
||||
|
||||
110518
|
||||
------
|
||||
* Textures
|
||||
|
||||
110524
|
||||
------
|
||||
* CommandSlotMorphs (%c)
|
||||
|
||||
110527
|
||||
------
|
||||
* Templates
|
||||
* Padding for ScrollFrames
|
||||
|
||||
110530
|
||||
------
|
||||
* C-slots only attach to blocks' tops (no longer also to bottoms)
|
||||
|
||||
110531
|
||||
------
|
||||
* ReporterBlockMorphs
|
||||
|
||||
110628
|
||||
------
|
||||
* World menu in every Morph's developersMenu
|
||||
* changed the standard to "sharp shadows" because of Firefox5 bug
|
||||
|
||||
110630
|
||||
------
|
||||
* StringMorphs and TextMorph notify their parents of layout changes
|
||||
* TypeInSlotMorphs (round - %n - and rectangular - %s -)
|
||||
|
||||
110705
|
||||
------
|
||||
* block specs
|
||||
|
||||
110706
|
||||
------
|
||||
* BooleanSlotMorphs (%b)
|
||||
* Color mixing
|
||||
* contrast setting for SyntaxElementMorphs
|
||||
* exit confirmation
|
||||
|
||||
110707
|
||||
------
|
||||
* BlockMorph color changing
|
||||
* entry field tabbing (Firefox and Opera only)
|
||||
* label multi-line wrapping for command blocks
|
||||
|
||||
110708
|
||||
------
|
||||
* extrapolate blockSpec upon label part drop
|
||||
|
||||
110711
|
||||
------
|
||||
* optional intra-block-label word wrap (flag) layout setting
|
||||
|
||||
110712
|
||||
------
|
||||
* rectangular reporter layout
|
||||
* label mutli-line wrapping for reporters
|
||||
* user-definable label line breaks (%br)
|
||||
* font size customizable for individual menus
|
||||
* ArrowMorphs
|
||||
|
||||
110714
|
||||
------
|
||||
* optional drop-down menu for type-in slots
|
||||
* read-only menus for type-in slots (%inst, %var, %lst, %obj, %eff,
|
||||
%dir, %cst, %snd, %key, %idx, %msg, %att, %fun, %typ)
|
||||
* global pixel color sensing
|
||||
* renamed TypeInSlotMorph to InputSlotMorph
|
||||
|
||||
110718
|
||||
------
|
||||
* ColorSlotMorphs (%clr)
|
||||
* collision detection groundwork
|
||||
|
||||
110719
|
||||
------
|
||||
* high-level documentation and code comments
|
||||
* optional blurred slot shades (off by default)
|
||||
|
||||
110720
|
||||
------
|
||||
* HatBlocks
|
||||
|
||||
110721
|
||||
------
|
||||
* scrollBarSize can now optionally be specified individually
|
||||
* block highlighting
|
||||
* specs for any-unevaluated and Boolean-unevaluated inputs
|
||||
|
||||
110722
|
||||
------
|
||||
* stringField settable as numeric, supresses textual input
|
||||
* editable numeric input slots supress textual type-in
|
||||
* evaluation helper methods and properties
|
||||
* collision detection
|
||||
|
||||
110726
|
||||
------
|
||||
* MultiArgMorphs (%mult%x)
|
||||
|
||||
110727
|
||||
------
|
||||
* Morphic: fullBounds() now ignores hidden submorphs
|
||||
* MultiArgMorphs: Optional label and minimum inputs settings, '%inputs'
|
||||
* Morphic: simplified BoxMorph rendering
|
||||
* Same-colored (white), semi-transparent reporter drop feedbacks
|
||||
|
||||
110804
|
||||
------
|
||||
* evaluator: ThreadManager, Process, StackFrame, VariableFrame
|
||||
|
||||
110810
|
||||
------
|
||||
* nasciturus: objects, gui
|
||||
|
||||
110811
|
||||
------
|
||||
* Morphic: broken rect fix for float-positioned Morphs
|
||||
* Blocks: straight bottom edges for stop-blocks
|
||||
* PenMorph: round line ends
|
||||
|
||||
110816
|
||||
------
|
||||
* Morphic: SpeechBubbleMorphs and bubble help for menus/buttons
|
||||
|
||||
110817
|
||||
------
|
||||
* Threads: evaluating reporters
|
||||
* showValue bubbles
|
||||
|
||||
110818
|
||||
------
|
||||
* optimizations for menu bubble help and Blocks layout
|
||||
|
||||
110823
|
||||
------
|
||||
* Sprite-scoped variables
|
||||
|
||||
110824
|
||||
------
|
||||
* numerical virtual keyboard (pop-up-sliders - taken out again)
|
||||
* sliders now work with negative floor numbers
|
||||
* mouse wheel scroll events (thanks, Nathan!)
|
||||
|
||||
110826
|
||||
------
|
||||
* TemplateSlotMorphs (%t, %mult%t, %scriptVars)
|
||||
* script variables
|
||||
* lockable inputs
|
||||
|
||||
110911
|
||||
------
|
||||
* Morphic: PenMorph.setHeading() fixed
|
||||
|
||||
110912
|
||||
------
|
||||
* Threads: renamed StackFrame to Context
|
||||
* Blocks: persistent input default values
|
||||
|
||||
110913
|
||||
------
|
||||
* basic Lambda primitives
|
||||
* basic Lambda visualization (showBubble)
|
||||
|
||||
110914
|
||||
------
|
||||
* c-slots in primitives are now static by default
|
||||
* basic THE BLOCK, CALL and REPORT
|
||||
|
||||
110919
|
||||
------
|
||||
* formal parameters
|
||||
* recursion
|
||||
* closures
|
||||
|
||||
110922
|
||||
------
|
||||
* implicit parameters
|
||||
|
||||
110923
|
||||
------
|
||||
* error catching for block evaluation
|
||||
|
||||
110926
|
||||
------
|
||||
* basic message broadcasting
|
||||
* thread forking (LAUNCH block)
|
||||
|
||||
110927
|
||||
------
|
||||
* WAIT block
|
||||
|
||||
110928
|
||||
------
|
||||
* GLIDE block
|
||||
|
||||
111006
|
||||
------
|
||||
* force yield after timeout
|
||||
|
||||
111007
|
||||
------
|
||||
* swooshy hat block tops (instead of circle segments)
|
||||
|
||||
111009
|
||||
------
|
||||
* call/cc
|
||||
|
||||
111010
|
||||
------
|
||||
* hybrid scope
|
||||
|
||||
111012
|
||||
------
|
||||
* autolambdafying CSlotMorphs (C-shaped) and CommandSlotMorphs (inline)
|
||||
* Morphic: right mouse click emulation for Mac
|
||||
|
||||
111017
|
||||
------
|
||||
* another take on continuations
|
||||
|
||||
111019
|
||||
------
|
||||
* Morphic: scrolling speedup
|
||||
|
||||
111020
|
||||
------
|
||||
* unevaluated FunctionSlotMorphs (%f)
|
||||
* autolambdafying ReporterSlotMorphs (%r, %p)
|
||||
|
||||
111021
|
||||
------
|
||||
* GUI: CellMorphs (for stage watchers)
|
||||
|
||||
111025
|
||||
------
|
||||
* GUI: WatcherMorphs
|
||||
* SHOW VARIABLE, HIDE VARIABLE blocks
|
||||
|
||||
111026
|
||||
------
|
||||
* Blocks: empty choice for input drop down menus
|
||||
* automatic positioning of new watchers
|
||||
* watchers on temporary variables are deleted by HIDE VARIABLE block (not hidden)
|
||||
* HIDE VARIABLE with empty input deletes all watchers on temporary vars
|
||||
|
||||
111027
|
||||
------
|
||||
* more extensive Error catching
|
||||
* slider for numerical text entries in "mobile mode"
|
||||
* bigger blocks in "mobile mode"
|
||||
|
||||
111031
|
||||
------
|
||||
* new: widgets.js
|
||||
* PushButtons
|
||||
|
||||
111102
|
||||
------
|
||||
* Morphic: StringMorph shadows
|
||||
|
||||
111103
|
||||
------
|
||||
* widgets: ToggleMorphs (check boxes and radio buttons)
|
||||
* non-variable watchers
|
||||
* checkbox toggling for variable watchers
|
||||
|
||||
111108
|
||||
------
|
||||
* Lists
|
||||
|
||||
111109
|
||||
------
|
||||
* ListWatchers (basics)
|
||||
|
||||
111111
|
||||
------
|
||||
* Morphic: visibleBounds() bug fix
|
||||
|
||||
111114
|
||||
------
|
||||
* Morphic: fullImageClassic() for ListWatcherMorphs
|
||||
* Threads: MultiArgMorph now use Lists instead of JS-Arrays
|
||||
* List Blocks
|
||||
* GUI: adding/removing variables doesn't make the palette jump to the top
|
||||
* Blocks: list type slots
|
||||
|
||||
111115
|
||||
------
|
||||
* Morphic: more tolerant grabbing
|
||||
* Lists: synchronized Watcher updating (speed-up)
|
||||
|
||||
111116
|
||||
------
|
||||
* Lists: conservative watcher updating (speed-up)
|
||||
* GUI: logo pane and 'about' box
|
||||
|
||||
111118
|
||||
------
|
||||
* Lists: watcher shows list range (speed-up, stability)
|
||||
|
||||
111121
|
||||
------
|
||||
* Atomicity (WARP)
|
||||
* REPEAT UNTIL
|
||||
* WAIT UNTIL
|
||||
|
||||
111123
|
||||
------
|
||||
* hybrid lists (arrayed and linked)
|
||||
* CONS and CDR
|
||||
|
||||
111124
|
||||
------
|
||||
* layout optimization for dropped and snapping blocks (thanks, John!)
|
||||
* Equality testing for lists (thanks, Brian!)
|
||||
|
||||
111128
|
||||
------
|
||||
* layout optimization merged into Morphic.js -> trackChanges
|
||||
|
||||
111129
|
||||
------
|
||||
* Widgets: DialogBoxMorph basics
|
||||
|
||||
111130
|
||||
------
|
||||
* Widgets: AlignmentMorphs
|
||||
* keyboard events for DialogBoxMorphs
|
||||
|
||||
111202
|
||||
------
|
||||
* Widgets: InputFieldMorphs
|
||||
* Prompters based on DialogBoxes
|
||||
* Renaming of input templates
|
||||
* Morphic keyboard enhancements
|
||||
|
||||
111205
|
||||
------
|
||||
* new primitives: MOUSE X, MOUSE Y, TIMER, RESET TIMER
|
||||
|
||||
111207
|
||||
------
|
||||
* byob.js (CustomBlockDefinition, CustomCommandBlockMorph)
|
||||
|
||||
111209
|
||||
------
|
||||
* BlockEditor basics for CustomCommandBlocks
|
||||
|
||||
111212
|
||||
------
|
||||
* BlockDialogMorph (basics)
|
||||
* CustomReporterBlockMorph
|
||||
|
||||
111213
|
||||
------
|
||||
* call/cc for lambdas and custom blocks
|
||||
|
||||
111214
|
||||
------
|
||||
* feature: deleting block instances and custom block definitions
|
||||
|
||||
120106
|
||||
|
|
10
lang-cs.js
10
lang-cs.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2012 by Michal Moc
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.cs = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
10
lang-de.js
10
lang-de.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.de = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
10
lang-eo.js
10
lang-eo.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -269,21 +269,21 @@ SnapTranslator.dict.eo = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
10
lang-es.js
10
lang-es.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.es = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
12
lang-fr.js
12
lang-fr.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -227,7 +227,7 @@ SnapTranslator.dict.fr = {
|
|||
'Costumes',
|
||||
'Sounds':
|
||||
'Sons',
|
||||
|
||||
|
||||
// names:
|
||||
'Sprite':
|
||||
'Lutin',
|
||||
|
@ -264,21 +264,21 @@ SnapTranslator.dict.fr = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
334
lang-it.js
334
lang-it.js
|
@ -1,14 +1,14 @@
|
|||
/*
|
||||
|
||||
lang-it.js
|
||||
|
||||
Italian translation for SNAP!
|
||||
|
||||
written by Jens Mönig
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
/*
|
||||
|
||||
lang-it.js
|
||||
|
||||
Italian translation for SNAP!
|
||||
|
||||
written by Jens Mönig
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
|
||||
Note to Translators:
|
||||
|
@ -164,7 +164,7 @@
|
|||
-Jens
|
||||
*/
|
||||
|
||||
/*global SnapTranslator*/
|
||||
/*global SnapTranslator*/
|
||||
|
||||
SnapTranslator.dict.it = {
|
||||
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.it = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
@ -303,7 +303,7 @@ SnapTranslator.dict.it = {
|
|||
'vai a x: %n y: %n',
|
||||
'go to %dst':
|
||||
'raggiungi %dst',
|
||||
'glide %n secs to x: %n y: %n':
|
||||
'glide %n secs to x: %n y: %n':
|
||||
'scivola in %n secondi a x: %n y: %n',
|
||||
'change x by %n':
|
||||
'cambia x di %n',
|
||||
|
@ -377,16 +377,16 @@ SnapTranslator.dict.it = {
|
|||
'stop all sounds':
|
||||
'arresta tutti i suoni',
|
||||
'rest for %n beats':
|
||||
'fai una pausa di %n battute',
|
||||
'play note %n for %n beats':
|
||||
'suona nota %n per %n battute',
|
||||
'change tempo by %n':
|
||||
'cambia tempo di %n',
|
||||
'set tempo to %n bpm':
|
||||
'porta tempo a %n bpm',
|
||||
'tempo':
|
||||
'tempo',
|
||||
|
||||
'fai una pausa di %n battute',
|
||||
'play note %n for %n beats':
|
||||
'suona nota %n per %n battute',
|
||||
'change tempo by %n':
|
||||
'cambia tempo di %n',
|
||||
'set tempo to %n bpm':
|
||||
'porta tempo a %n bpm',
|
||||
'tempo':
|
||||
'tempo',
|
||||
|
||||
// pen:
|
||||
'clear':
|
||||
'pulisci',
|
||||
|
@ -460,14 +460,14 @@ SnapTranslator.dict.it = {
|
|||
'chiama %cmdRing con continuazione',
|
||||
'warp %c':
|
||||
'esegui in modalit\u00E0 turbo %c',
|
||||
'when I start as a clone':
|
||||
'quando vengo clonato',
|
||||
'create a clone of %cln':
|
||||
'crea un clone di %cln',
|
||||
'myself':
|
||||
'me stesso',
|
||||
'delete this clone':
|
||||
'elimina questo clone',
|
||||
'when I start as a clone':
|
||||
'quando vengo clonato',
|
||||
'create a clone of %cln':
|
||||
'crea un clone di %cln',
|
||||
'myself':
|
||||
'me stesso',
|
||||
'delete this clone':
|
||||
'elimina questo clone',
|
||||
|
||||
// sensing:
|
||||
'touching %col ?':
|
||||
|
@ -496,14 +496,14 @@ SnapTranslator.dict.it = {
|
|||
'azzera cronometro',
|
||||
'timer':
|
||||
'cronometro',
|
||||
'%att of %spr':
|
||||
'%att di %spr',
|
||||
'http:// %s':
|
||||
'leggi pagina web http:// %s',
|
||||
'turbo mode?':
|
||||
'modalit\u00E0 turbo attiva',
|
||||
'set turbo mode to %b':
|
||||
'porta modalit\u00E0 turbo a %b',
|
||||
'%att of %spr':
|
||||
'%att di %spr',
|
||||
'http:// %s':
|
||||
'leggi pagina web http:// %s',
|
||||
'turbo mode?':
|
||||
'modalit\u00E0 turbo attiva',
|
||||
'set turbo mode to %b':
|
||||
'porta modalit\u00E0 turbo a %b',
|
||||
|
||||
'filtered for %clr':
|
||||
'selezionati per colore %clr',
|
||||
|
@ -547,8 +547,8 @@ SnapTranslator.dict.it = {
|
|||
'lettera del codice unicode %n',
|
||||
'is %s a %typ ?':
|
||||
'%s \u00E8 di tipo %typ',
|
||||
'is %s identical to %s ?':
|
||||
'%s \u00E8 identico a %s ?',
|
||||
'is %s identical to %s ?':
|
||||
'%s \u00E8 identico a %s ?',
|
||||
|
||||
'type of %s':
|
||||
'tipo di %s',
|
||||
|
@ -644,22 +644,22 @@ SnapTranslator.dict.it = {
|
|||
'Esporta blocchi...',
|
||||
'show global custom block definitions as XML\nin a new browser window':
|
||||
'mostra in formato XML le definizione dei nuovi blocchi\nin una nuova finestra del browser',
|
||||
'Import tools...':
|
||||
'Importa tools...',
|
||||
'load the official library of\npowerful blocks':
|
||||
'carica la libreria ufficiale di\nblocchi Snap',
|
||||
|
||||
// cloud menu
|
||||
'Login...':
|
||||
'Accedi...',
|
||||
'Signup...':
|
||||
'Registrati...',
|
||||
'Import tools...':
|
||||
'Importa tools...',
|
||||
'load the official library of\npowerful blocks':
|
||||
'carica la libreria ufficiale di\nblocchi Snap',
|
||||
|
||||
// cloud menu
|
||||
'Login...':
|
||||
'Accedi...',
|
||||
'Signup...':
|
||||
'Registrati...',
|
||||
|
||||
// settings menu
|
||||
'Language...':
|
||||
'Lingua...',
|
||||
'Zoom blocks...':
|
||||
'Zoom dei blocchi...',
|
||||
'Zoom blocks...':
|
||||
'Zoom dei blocchi...',
|
||||
'Blurred shadows':
|
||||
'Ombreggiature attenuate',
|
||||
'uncheck to use solid drop\nshadows and highlights':
|
||||
|
@ -668,18 +668,18 @@ SnapTranslator.dict.it = {
|
|||
'abilitare per visualizzare ombreggiature\ned evidenziature attenuate',
|
||||
'Zebra coloring':
|
||||
'Colorazione alternata',
|
||||
'check to enable alternating\ncolors for nested blocks':
|
||||
'check to enable alternating\ncolors for nested blocks':
|
||||
'abilitare per visualizzare a colori\nalternati i blocchi annidati',
|
||||
'uncheck to disable alternating\ncolors for nested block':
|
||||
'uncheck to disable alternating\ncolors for nested block':
|
||||
'disabilitare per non visualizzare a colori\nalternati i blocchi annidati',
|
||||
|
||||
'Dynamic input labels':
|
||||
'Etichette degli input dinamiche',
|
||||
'uncheck to disable dynamic\nlabels for variadic inputs':
|
||||
'disabilitare per non avere etichette\ndinamiche per input variabili',
|
||||
'check to enable dynamic\nlabels for variadic inputs':
|
||||
'abilitare per avere etichette\ndinamiche per input variabili',
|
||||
|
||||
|
||||
'Dynamic input labels':
|
||||
'Etichette degli input dinamiche',
|
||||
'uncheck to disable dynamic\nlabels for variadic inputs':
|
||||
'disabilitare per non avere etichette\ndinamiche per input variabili',
|
||||
'check to enable dynamic\nlabels for variadic inputs':
|
||||
'abilitare per avere etichette\ndinamiche per input variabili',
|
||||
|
||||
'Prefer empty slot drops':
|
||||
'Favorisci l\'aggancio a slot vuoti',
|
||||
'settings menu prefer empty slots hint':
|
||||
|
@ -691,49 +691,49 @@ SnapTranslator.dict.it = {
|
|||
'check to always show slot\ntypes in the input dialog':
|
||||
'abilitare per mostrare sempre i tipi degli slot\nnella finestra di creazione degli input',
|
||||
'uncheck to use the input\ndialog in short form':
|
||||
'disabilitare per non mostrare automaticamente i tipi degli slot\nnella finestra di creazione degli input',
|
||||
'disabilitare per non mostrare automaticamente i tipi degli slot\nnella finestra di creazione degli input',
|
||||
'Virtual keyboard':
|
||||
'Tastiera virtuale',
|
||||
'uncheck to disable\nvirtual keyboard support\nfor mobile devices':
|
||||
'disabilitare per non usare il supporto\ndella tastiera virtuale con i dispositivi mobili',
|
||||
'disabilitare per non usare il supporto\ndella tastiera virtuale con i dispositivi mobili',
|
||||
'check to enable\nvirtual keyboard support\nfor mobile devices':
|
||||
'abilitare per usare il supporto della\ntastiera virtuale con i dispositivi mobili',
|
||||
'abilitare per usare il supporto della\ntastiera virtuale con i dispositivi mobili',
|
||||
'Input sliders':
|
||||
'Usa slider per gli input',
|
||||
'uncheck to disable\ninput sliders for\nentry fields':
|
||||
'disabilitare per non visualizzare gli slider\n per inserire valori numerici',
|
||||
'disabilitare per non visualizzare gli slider\n per inserire valori numerici',
|
||||
'check to enable\ninput sliders for\nentry fields':
|
||||
'abilitare per visualizzare gli slider\n per inserire valori numerici',
|
||||
'abilitare per visualizzare gli slider\n per inserire valori numerici',
|
||||
'Clicking sound':
|
||||
'Click di aggancio dei blocchi',
|
||||
'uncheck to turn\nblock clicking\nsound off':
|
||||
'disabilitare per non riprodurre il suono di aggancio dei blocchi',
|
||||
'disabilitare per non riprodurre il suono di aggancio dei blocchi',
|
||||
'check to turn\nblock clicking\nsound on':
|
||||
'abilitare per riprodurre il suono di aggancio dei blocchi',
|
||||
'Animations':
|
||||
'Animazioni',
|
||||
'uncheck to disable\nIDE animations':
|
||||
'disabilitare per non consentire\nanimazioni dell\u0027IDE',
|
||||
'Turbo mode':
|
||||
'Modalit\u00E0 Turbo',
|
||||
'check to prioritize\nscript execution':
|
||||
'abilitare per dare priorit\u00E0\nall\u0027esecuzione degli script',
|
||||
'uncheck to run scripts\nat normal speed':
|
||||
'disabilitare per eseguire gli script\na velocità normale',
|
||||
'check to enable\nIDE animations':
|
||||
'abilitare per nconsentire\nanimazioni dell\u0027IDE',
|
||||
'Thread safe scripts':
|
||||
'Script thread safe',
|
||||
'uncheck to allow\nscript reentrancy':
|
||||
'disabilitare per permettere agli script di rientrare',
|
||||
'check to disallow\nscript reentrancy':
|
||||
'abilitare per impedire agli script di rientrare',
|
||||
'Prefer smooth animations':
|
||||
'Animazioni a framerate fisso',
|
||||
'uncheck for greater speed\nat variable frame rates':
|
||||
'disabilitare per massima velocità\na framerate variabile',
|
||||
'check for smooth, predictable\nanimations across computers':
|
||||
'abilitare per avere animazioni\nfluide su tutti i computer',
|
||||
'abilitare per riprodurre il suono di aggancio dei blocchi',
|
||||
'Animations':
|
||||
'Animazioni',
|
||||
'uncheck to disable\nIDE animations':
|
||||
'disabilitare per non consentire\nanimazioni dell\u0027IDE',
|
||||
'Turbo mode':
|
||||
'Modalit\u00E0 Turbo',
|
||||
'check to prioritize\nscript execution':
|
||||
'abilitare per dare priorit\u00E0\nall\u0027esecuzione degli script',
|
||||
'uncheck to run scripts\nat normal speed':
|
||||
'disabilitare per eseguire gli script\na velocità normale',
|
||||
'check to enable\nIDE animations':
|
||||
'abilitare per nconsentire\nanimazioni dell\u0027IDE',
|
||||
'Thread safe scripts':
|
||||
'Script thread safe',
|
||||
'uncheck to allow\nscript reentrancy':
|
||||
'disabilitare per permettere agli script di rientrare',
|
||||
'check to disallow\nscript reentrancy':
|
||||
'abilitare per impedire agli script di rientrare',
|
||||
'Prefer smooth animations':
|
||||
'Animazioni a framerate fisso',
|
||||
'uncheck for greater speed\nat variable frame rates':
|
||||
'disabilitare per massima velocità\na framerate variabile',
|
||||
'check for smooth, predictable\nanimations across computers':
|
||||
'abilitare per avere animazioni\nfluide su tutti i computer',
|
||||
|
||||
// inputs
|
||||
'with inputs':
|
||||
|
@ -750,14 +750,14 @@ SnapTranslator.dict.it = {
|
|||
// blocks:
|
||||
'help...':
|
||||
'aiuto...',
|
||||
'relabel...':
|
||||
'rinomina...',
|
||||
'relabel...':
|
||||
'rinomina...',
|
||||
'duplicate':
|
||||
'duplica',
|
||||
'make a copy\nand pick it up':
|
||||
'crea una copia',
|
||||
'only duplicate this block':
|
||||
'duplica solo questo blocco',
|
||||
'only duplicate this block':
|
||||
'duplica solo questo blocco',
|
||||
'delete':
|
||||
'cancella',
|
||||
'script pic...':
|
||||
|
@ -766,8 +766,8 @@ SnapTranslator.dict.it = {
|
|||
'apri una nuova finestra\ncon un\'immagine di questo script',
|
||||
'ringify':
|
||||
'inserisci in un anello',
|
||||
'unringify':
|
||||
'estrai dall\'anello',
|
||||
'unringify':
|
||||
'estrai dall\'anello',
|
||||
|
||||
// custom blocks:
|
||||
'delete block definition...':
|
||||
|
@ -781,14 +781,14 @@ SnapTranslator.dict.it = {
|
|||
'export...':
|
||||
'esporta...',
|
||||
|
||||
// stage:
|
||||
'show all':
|
||||
'mostra tutti gli sprite',
|
||||
'pic...':
|
||||
'salva immagine dello Stage...',
|
||||
'open a new window\nwith a picture of the stage':
|
||||
'apre una nuova finestra con un\u0027immagine dello Stage',
|
||||
|
||||
// stage:
|
||||
'show all':
|
||||
'mostra tutti gli sprite',
|
||||
'pic...':
|
||||
'salva immagine dello Stage...',
|
||||
'open a new window\nwith a picture of the stage':
|
||||
'apre una nuova finestra con un\u0027immagine dello Stage',
|
||||
|
||||
// scripting area
|
||||
'clean up':
|
||||
'riordina',
|
||||
|
@ -804,8 +804,8 @@ SnapTranslator.dict.it = {
|
|||
'rinomina',
|
||||
'export':
|
||||
'esporta',
|
||||
'rename costume':
|
||||
'rinomina costume',
|
||||
'rename costume':
|
||||
'rinomina costume',
|
||||
|
||||
// sounds
|
||||
'Play sound':
|
||||
|
@ -816,8 +816,8 @@ SnapTranslator.dict.it = {
|
|||
'Stop',
|
||||
'Play':
|
||||
'Play',
|
||||
'rename sound':
|
||||
'rinomina suono',
|
||||
'rename sound':
|
||||
'rinomina suono',
|
||||
|
||||
// dialogs
|
||||
// buttons
|
||||
|
@ -833,47 +833,47 @@ SnapTranslator.dict.it = {
|
|||
// help
|
||||
'Help':
|
||||
'Aiuto',
|
||||
|
||||
// zoom blocks
|
||||
'Zoom blocks':
|
||||
'Zoom dei blocchi',
|
||||
'build':
|
||||
'costruisci',
|
||||
'your own':
|
||||
'i tuoi',
|
||||
'blocks':
|
||||
'blocchi',
|
||||
'normal (1x)':
|
||||
'normale (1x)',
|
||||
'demo (1.2x)':
|
||||
'Demo (1.2x)',
|
||||
'presentation (1.4x)':
|
||||
'presentazione(1.4x)',
|
||||
'big (2x)':
|
||||
'grandi (2x)',
|
||||
'huge (4x)':
|
||||
'molto grandi (4x)',
|
||||
'giant (8x)':
|
||||
'giganti (8x)',
|
||||
'monstrous (10x)':
|
||||
'grandissimi (10x)',
|
||||
|
||||
// Project Manager
|
||||
'Untitled':
|
||||
'Senza Titolo',
|
||||
'Open Project':
|
||||
'Apri Progetto',
|
||||
'(empty)':
|
||||
'(vuoto)',
|
||||
'Saved!':
|
||||
'Salvato!',
|
||||
'Delete Project':
|
||||
'Elimina Progetto',
|
||||
'Are you sure you want to delete':
|
||||
'Sei sicuro di voler eliminare',
|
||||
'rename...':
|
||||
'rinomina...',
|
||||
|
||||
|
||||
// zoom blocks
|
||||
'Zoom blocks':
|
||||
'Zoom dei blocchi',
|
||||
'build':
|
||||
'costruisci',
|
||||
'your own':
|
||||
'i tuoi',
|
||||
'blocks':
|
||||
'blocchi',
|
||||
'normal (1x)':
|
||||
'normale (1x)',
|
||||
'demo (1.2x)':
|
||||
'Demo (1.2x)',
|
||||
'presentation (1.4x)':
|
||||
'presentazione(1.4x)',
|
||||
'big (2x)':
|
||||
'grandi (2x)',
|
||||
'huge (4x)':
|
||||
'molto grandi (4x)',
|
||||
'giant (8x)':
|
||||
'giganti (8x)',
|
||||
'monstrous (10x)':
|
||||
'grandissimi (10x)',
|
||||
|
||||
// Project Manager
|
||||
'Untitled':
|
||||
'Senza Titolo',
|
||||
'Open Project':
|
||||
'Apri Progetto',
|
||||
'(empty)':
|
||||
'(vuoto)',
|
||||
'Saved!':
|
||||
'Salvato!',
|
||||
'Delete Project':
|
||||
'Elimina Progetto',
|
||||
'Are you sure you want to delete':
|
||||
'Sei sicuro di voler eliminare',
|
||||
'rename...':
|
||||
'rinomina...',
|
||||
|
||||
// costume editor
|
||||
'Costume Editor':
|
||||
'Editor di Immagini',
|
||||
|
@ -901,8 +901,8 @@ SnapTranslator.dict.it = {
|
|||
// export blocks
|
||||
'Export blocks':
|
||||
'Esporta blocchi',
|
||||
'Import blocks':
|
||||
'Importa blocchi',
|
||||
'Import blocks':
|
||||
'Importa blocchi',
|
||||
'this project doesn\'t have any\ncustom global blocks yet':
|
||||
'in questo progetto non sono stati ancora definiti dei nuovi blocchi',
|
||||
'select':
|
||||
|
@ -946,8 +946,8 @@ SnapTranslator.dict.it = {
|
|||
'Crea parametro',
|
||||
'Edit input name':
|
||||
'Modifica parametro',
|
||||
'Edit label fragment':
|
||||
'Modifica porzione di etichetta',
|
||||
'Edit label fragment':
|
||||
'Modifica porzione di etichetta',
|
||||
'Title text':
|
||||
'Parole della definizione',
|
||||
'Input name':
|
||||
|
@ -1016,8 +1016,8 @@ SnapTranslator.dict.it = {
|
|||
'Scegli il min del cursore...',
|
||||
'slider max...':
|
||||
'Scegli il max del cursore...',
|
||||
'import...':
|
||||
'importa...',
|
||||
'import...':
|
||||
'importa...',
|
||||
'Slider minimum value':
|
||||
'Valore minimo del cursore',
|
||||
'Slider maximum value':
|
||||
|
@ -1053,8 +1053,8 @@ SnapTranslator.dict.it = {
|
|||
// costumes
|
||||
'Turtle':
|
||||
'Tartaruga',
|
||||
'Empty':
|
||||
'Vuoto',
|
||||
'Empty':
|
||||
'Vuoto',
|
||||
|
||||
// graphical effects
|
||||
'ghost':
|
||||
|
@ -1191,4 +1191,4 @@ SnapTranslator.dict.it = {
|
|||
'ultimo',
|
||||
'any':
|
||||
'qualunque'
|
||||
};
|
||||
};
|
||||
|
|
454
lang-ja.js
454
lang-ja.js
|
@ -1,14 +1,14 @@
|
|||
/*
|
||||
|
||||
lang-ja.js
|
||||
|
||||
Japanese translation for SNAP!
|
||||
|
||||
written by Jens Mönig
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
/*
|
||||
|
||||
lang-ja.js
|
||||
|
||||
Japanese translation for SNAP!
|
||||
|
||||
written by Jens Mönig
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
|
||||
Note to Translators:
|
||||
|
@ -164,7 +164,7 @@
|
|||
-Jens
|
||||
*/
|
||||
|
||||
/*global SnapTranslator*/
|
||||
/*global SnapTranslator*/
|
||||
|
||||
SnapTranslator.dict.ja = {
|
||||
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.ja = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
@ -303,7 +303,7 @@ SnapTranslator.dict.ja = {
|
|||
'x座標を %n 、y座標を %n にする',
|
||||
'go to %dst':
|
||||
'%dst へ行く',
|
||||
'glide %n secs to x: %n y: %n':
|
||||
'glide %n secs to x: %n y: %n':
|
||||
'%n 秒でx座標を %n に、y座標を %n に変える',
|
||||
'change x by %n':
|
||||
'x座標を %n ずつ変える',
|
||||
|
@ -376,16 +376,16 @@ SnapTranslator.dict.ja = {
|
|||
'終わるまで %snd の音を鳴らす',
|
||||
'stop all sounds':
|
||||
'すべての音を止める',
|
||||
'rest for %n beats':
|
||||
'%n 拍休む',
|
||||
'play note %n for %n beats':
|
||||
'%n の音符を %n 拍鳴らす',
|
||||
'change tempo by %n':
|
||||
'テンポを %n ずつ変える',
|
||||
'set tempo to %n bpm':
|
||||
'テンポを %n BPMにする',
|
||||
'tempo':
|
||||
'テンポ',
|
||||
'rest for %n beats':
|
||||
'%n 拍休む',
|
||||
'play note %n for %n beats':
|
||||
'%n の音符を %n 拍鳴らす',
|
||||
'change tempo by %n':
|
||||
'テンポを %n ずつ変える',
|
||||
'set tempo to %n bpm':
|
||||
'テンポを %n BPMにする',
|
||||
'tempo':
|
||||
'テンポ',
|
||||
|
||||
// pen:
|
||||
'clear':
|
||||
|
@ -460,14 +460,14 @@ SnapTranslator.dict.ja = {
|
|||
'継続付きで %cmdRing を呼ぶ',
|
||||
'warp %c':
|
||||
'ワープする %c',
|
||||
'when I start as a clone':
|
||||
'クローンされたとき',
|
||||
'create a clone of %cln':
|
||||
'%cln のクローンを作る',
|
||||
'myself':
|
||||
'自分自身',
|
||||
'delete this clone':
|
||||
'このクローンを削除する',
|
||||
'when I start as a clone':
|
||||
'クローンされたとき',
|
||||
'create a clone of %cln':
|
||||
'%cln のクローンを作る',
|
||||
'myself':
|
||||
'自分自身',
|
||||
'delete this clone':
|
||||
'このクローンを削除する',
|
||||
|
||||
// sensing:
|
||||
'touching %col ?':
|
||||
|
@ -498,11 +498,11 @@ SnapTranslator.dict.ja = {
|
|||
'タイマー',
|
||||
'http:// %s':
|
||||
'http:// %s',
|
||||
'turbo mode?':
|
||||
'ターボモード?',
|
||||
'set turbo mode to %b':
|
||||
'ターボーモードを %b にする',
|
||||
|
||||
'turbo mode?':
|
||||
'ターボモード?',
|
||||
'set turbo mode to %b':
|
||||
'ターボーモードを %b にする',
|
||||
|
||||
'filtered for %clr':
|
||||
'%clr 色を抽出',
|
||||
'stack size':
|
||||
|
@ -545,11 +545,11 @@ SnapTranslator.dict.ja = {
|
|||
'Unicodeで %n の文字',
|
||||
'is %s a %typ ?':
|
||||
'%s は %typ 型',
|
||||
'is %s identical to %s ?':
|
||||
'%s は %s と同一',
|
||||
'is %s identical to %s ?':
|
||||
'%s は %s と同一',
|
||||
|
||||
'type of %s':
|
||||
'%s の型',
|
||||
'%s の型',
|
||||
|
||||
// variables:
|
||||
'Make a variable':
|
||||
|
@ -629,9 +629,9 @@ SnapTranslator.dict.ja = {
|
|||
'Import...':
|
||||
'読み込み...',
|
||||
'file menu import hint':
|
||||
'チェックするとレポーターをドラッグ&ドロップするとき\n'
|
||||
+ '空のレポーターにフォーカスします\n\n'
|
||||
+ 'いくつかのブラウザーではサポートされません',
|
||||
'チェックするとレポーターをドラッグ&ドロップするとき\n'
|
||||
+ '空のレポーターにフォーカスします\n\n'
|
||||
+ 'いくつかのブラウザーではサポートされません',
|
||||
'Export project as plain text ...':
|
||||
'テキストファイルとしてプロジェクトを書き出す...',
|
||||
'Export project...':
|
||||
|
@ -642,21 +642,21 @@ SnapTranslator.dict.ja = {
|
|||
'ブロックを書き出す...',
|
||||
'show global custom block definitions as XML\nin a new browser window':
|
||||
'グローバルカスタムブロックの定義をXMLとして\nブラウザの新しいウインドウに表示する',
|
||||
'Import tools...':
|
||||
'ツールを読み込む...',
|
||||
'load the official library of\npowerful blocks':
|
||||
'強力なブロックの公式\nライブラリを読み込む',
|
||||
|
||||
// cloud menu
|
||||
'Login...':
|
||||
'ログイン...',
|
||||
'Signup...':
|
||||
'サインアップ...',
|
||||
'Import tools...':
|
||||
'ツールを読み込む...',
|
||||
'load the official library of\npowerful blocks':
|
||||
'強力なブロックの公式\nライブラリを読み込む',
|
||||
|
||||
// cloud menu
|
||||
'Login...':
|
||||
'ログイン...',
|
||||
'Signup...':
|
||||
'サインアップ...',
|
||||
|
||||
// settings menu
|
||||
'Language...':
|
||||
'言語...',
|
||||
'Zoom blocks...':
|
||||
'言語...',
|
||||
'Zoom blocks...':
|
||||
'ブロックをズーム...',
|
||||
'Blurred shadows':
|
||||
'半透明の影',
|
||||
|
@ -665,17 +665,17 @@ SnapTranslator.dict.ja = {
|
|||
'check to use blurred drop\nshadows and highlights':
|
||||
'チェックすると半透明の影と\nハイライトになります',
|
||||
'Zebra coloring':
|
||||
'縞々で表示',
|
||||
'check to enable alternating\ncolors for nested blocks':
|
||||
'縞々で表示',
|
||||
'check to enable alternating\ncolors for nested blocks':
|
||||
'チェックすると入れ子になった\nブロックを縞々で表示します',
|
||||
'uncheck to disable alternating\ncolors for nested block':
|
||||
'チェックを外すと入れ子になった\nブロックを普通に表示します',
|
||||
'Dynamic input labels':
|
||||
'動的な入力ラベル',
|
||||
'uncheck to disable dynamic\nlabels for variadic inputs':
|
||||
'チェックを外すと可変個引数の\n動的ラベルを不可にします',
|
||||
'check to enable dynamic\nlabels for variadic inputs':
|
||||
'チェックすると可変個引数の\n動的ラベルを可能にします',
|
||||
'uncheck to disable alternating\ncolors for nested block':
|
||||
'チェックを外すと入れ子になった\nブロックを普通に表示します',
|
||||
'Dynamic input labels':
|
||||
'動的な入力ラベル',
|
||||
'uncheck to disable dynamic\nlabels for variadic inputs':
|
||||
'チェックを外すと可変個引数の\n動的ラベルを不可にします',
|
||||
'check to enable dynamic\nlabels for variadic inputs':
|
||||
'チェックすると可変個引数の\n動的ラベルを可能にします',
|
||||
'Prefer empty slot drops':
|
||||
'空のスロットのドロップを許す',
|
||||
'settings menu prefer empty slots hint':
|
||||
|
@ -687,49 +687,49 @@ SnapTranslator.dict.ja = {
|
|||
'check to always show slot\ntypes in the input dialog':
|
||||
'チェックすると引数ダイアログに\n常にスロットの型を表示します',
|
||||
'uncheck to use the input\ndialog in short form':
|
||||
'チェックを外すと引数ダイアログを短く表示します',
|
||||
'チェックを外すと引数ダイアログを短く表示します',
|
||||
'Virtual keyboard':
|
||||
'仮想キーボード',
|
||||
'uncheck to disable\nvirtual keyboard support\nfor mobile devices':
|
||||
'チェックを外すとモバイル機器用の\n仮想キーボードを無効にします',
|
||||
'チェックを外すとモバイル機器用の\n仮想キーボードを無効にします',
|
||||
'check to enable\nvirtual keyboard support\nfor mobile devices':
|
||||
'チェックするとモバイル機器用の\n仮想キーボードを有効にします',
|
||||
'チェックするとモバイル機器用の\n仮想キーボードを有効にします',
|
||||
'Input sliders':
|
||||
'入力スライダー',
|
||||
'uncheck to disable\ninput sliders for\nentry fields':
|
||||
'チェックを外すと入力フィールドのスライダーを無効にします',
|
||||
'チェックを外すと入力フィールドのスライダーを無効にします',
|
||||
'check to enable\ninput sliders for\nentry fields':
|
||||
'チェックすると入力フィールドのスライダーを有効にします',
|
||||
'チェックすると入力フィールドのスライダーを有効にします',
|
||||
'Clicking sound':
|
||||
'クリック音',
|
||||
'uncheck to turn\nblock clicking\nsound off':
|
||||
'チェックを外すとブロックの\nクリック音を切ります',
|
||||
'チェックを外すとブロックの\nクリック音を切ります',
|
||||
'check to turn\nblock clicking\nsound on':
|
||||
'チェックを外すとブロックの\nクリック音を入れます',
|
||||
'Animations':
|
||||
'アニメーション',
|
||||
'uncheck to disable\nIDE animations':
|
||||
'チェックを外すとIDEの\nアニメーションを切ります',
|
||||
'check to prioritize\nscript execution':
|
||||
'チェックするとスクリプトの\n処理を優先します',
|
||||
'uncheck to run scripts\nat normal speed':
|
||||
'チェックを外すとスクリプトを\n通常の速度で実行します',
|
||||
'check to enable\nIDE animations':
|
||||
'チェックするとIDEの\nアニメーションを入れます',
|
||||
'Turbo mode':
|
||||
'ターボモード',
|
||||
'チェックを外すとブロックの\nクリック音を入れます',
|
||||
'Animations':
|
||||
'アニメーション',
|
||||
'uncheck to disable\nIDE animations':
|
||||
'チェックを外すとIDEの\nアニメーションを切ります',
|
||||
'check to prioritize\nscript execution':
|
||||
'チェックするとスクリプトの\n処理を優先します',
|
||||
'uncheck to run scripts\nat normal speed':
|
||||
'チェックを外すとスクリプトを\n通常の速度で実行します',
|
||||
'check to enable\nIDE animations':
|
||||
'チェックするとIDEの\nアニメーションを入れます',
|
||||
'Turbo mode':
|
||||
'ターボモード',
|
||||
'Thread safe scripts':
|
||||
'スクリプトをスレッドセーフにする',
|
||||
'uncheck to allow\nscript reentrancy':
|
||||
'チェックを外すとスクリプトを\n再入可能にします',
|
||||
'チェックを外すとスクリプトを\n再入可能にします',
|
||||
'check to disallow\nscript reentrancy':
|
||||
'チェックするとスクリプトを\n再入不能にします',
|
||||
'Prefer smooth animations':
|
||||
'なめらかなアニメーションにする',
|
||||
'uncheck for greater speed\nat variable frame rates':
|
||||
'チェックを外すとフレームレート\n当たりの速度を上げます',
|
||||
'check for smooth, predictable\nanimations across computers':
|
||||
'チェックするとコンピューター間で\nなめらかで予測可能なアニメーションにします',
|
||||
'チェックするとスクリプトを\n再入不能にします',
|
||||
'Prefer smooth animations':
|
||||
'なめらかなアニメーションにする',
|
||||
'uncheck for greater speed\nat variable frame rates':
|
||||
'チェックを外すとフレームレート\n当たりの速度を上げます',
|
||||
'check for smooth, predictable\nanimations across computers':
|
||||
'チェックするとコンピューター間で\nなめらかで予測可能なアニメーションにします',
|
||||
|
||||
// inputs
|
||||
'with inputs':
|
||||
|
@ -738,8 +738,8 @@ SnapTranslator.dict.ja = {
|
|||
'引数名:',
|
||||
'Input Names:':
|
||||
'引数名:',
|
||||
'input list:':
|
||||
'引数リスト:',
|
||||
'input list:':
|
||||
'引数リスト:',
|
||||
|
||||
// context menus:
|
||||
'help':
|
||||
|
@ -751,8 +751,8 @@ SnapTranslator.dict.ja = {
|
|||
'duplicate':
|
||||
'複製',
|
||||
'make a copy\nand pick it up':
|
||||
'コピーを作って\nそれを掴みます',
|
||||
'only duplicate this block':
|
||||
'コピーを作って\nそれを掴みます',
|
||||
'only duplicate this block':
|
||||
'このブロックをコピーするだけ',
|
||||
'delete':
|
||||
'削除',
|
||||
|
@ -762,8 +762,8 @@ SnapTranslator.dict.ja = {
|
|||
'このスクリプトの画像を表示する新しいウィンドウを開きます',
|
||||
'ringify':
|
||||
'リング化',
|
||||
'unringify':
|
||||
'非リング化',
|
||||
'unringify':
|
||||
'非リング化',
|
||||
|
||||
// custom blocks:
|
||||
'delete block definition...':
|
||||
|
@ -775,15 +775,15 @@ SnapTranslator.dict.ja = {
|
|||
'edit':
|
||||
'編集',
|
||||
'export...':
|
||||
'書き出し...',
|
||||
'書き出し...',
|
||||
|
||||
// stage:
|
||||
'show all':
|
||||
'すべてを表示',
|
||||
'pic...':
|
||||
'画像...',
|
||||
'open a new window\nwith a picture of the stage':
|
||||
'このステージの画像で\n新しいウィンドウを開く',
|
||||
// stage:
|
||||
'show all':
|
||||
'すべてを表示',
|
||||
'pic...':
|
||||
'画像...',
|
||||
'open a new window\nwith a picture of the stage':
|
||||
'このステージの画像で\n新しいウィンドウを開く',
|
||||
|
||||
// scripting area
|
||||
'clean up':
|
||||
|
@ -799,8 +799,8 @@ SnapTranslator.dict.ja = {
|
|||
'rename':
|
||||
'名前を変更',
|
||||
'export':
|
||||
'書き出し',
|
||||
'rename costume':
|
||||
'書き出し',
|
||||
'rename costume':
|
||||
'コスチュームの名前を変更',
|
||||
|
||||
// sounds
|
||||
|
@ -811,16 +811,16 @@ SnapTranslator.dict.ja = {
|
|||
'Stop':
|
||||
'停止',
|
||||
'Play':
|
||||
'再生',
|
||||
'rename sound':
|
||||
'再生',
|
||||
'rename sound':
|
||||
'音の名前を変更',
|
||||
|
||||
// dialogs
|
||||
// buttons
|
||||
'OK':
|
||||
'OK',
|
||||
'Ok':
|
||||
'OK',
|
||||
'Ok':
|
||||
'OK',
|
||||
'Cancel':
|
||||
'キャンセル',
|
||||
'Yes':
|
||||
|
@ -831,48 +831,48 @@ SnapTranslator.dict.ja = {
|
|||
// help
|
||||
'Help':
|
||||
'ヘルプ',
|
||||
|
||||
// zoom blocks
|
||||
'Zoom blocks':
|
||||
'ブロックをズーム',
|
||||
'build':
|
||||
'作ろう',
|
||||
'your own':
|
||||
'あなた自身の',
|
||||
'blocks':
|
||||
'ブロックを',
|
||||
'normal (1x)':
|
||||
'ノーマル (1x)',
|
||||
'demo (1.2x)':
|
||||
'デモ (1.2x)',
|
||||
'presentation (1.4x)':
|
||||
'プレゼンテーション (1.4x)',
|
||||
'big (2x)':
|
||||
'大 (2x)',
|
||||
'huge (4x)':
|
||||
'特大 (4x)',
|
||||
'giant (8x)':
|
||||
'巨大 (8x)',
|
||||
'monstrous (10x)':
|
||||
'超巨大 (10x)',
|
||||
|
||||
// Project Manager
|
||||
'Untitled':
|
||||
'名称未設定',
|
||||
'Open Project':
|
||||
'プロジェクトを開く',
|
||||
'Open':
|
||||
'開く',
|
||||
'(empty)':
|
||||
'(空)',
|
||||
'Saved!':
|
||||
'保存しました!',
|
||||
'Delete Project':
|
||||
'プロジェクトを削除',
|
||||
'Are you sure you want to delete':
|
||||
'本当に削除しますか',
|
||||
'rename...':
|
||||
'名前を変更...',
|
||||
|
||||
// zoom blocks
|
||||
'Zoom blocks':
|
||||
'ブロックをズーム',
|
||||
'build':
|
||||
'作ろう',
|
||||
'your own':
|
||||
'あなた自身の',
|
||||
'blocks':
|
||||
'ブロックを',
|
||||
'normal (1x)':
|
||||
'ノーマル (1x)',
|
||||
'demo (1.2x)':
|
||||
'デモ (1.2x)',
|
||||
'presentation (1.4x)':
|
||||
'プレゼンテーション (1.4x)',
|
||||
'big (2x)':
|
||||
'大 (2x)',
|
||||
'huge (4x)':
|
||||
'特大 (4x)',
|
||||
'giant (8x)':
|
||||
'巨大 (8x)',
|
||||
'monstrous (10x)':
|
||||
'超巨大 (10x)',
|
||||
|
||||
// Project Manager
|
||||
'Untitled':
|
||||
'名称未設定',
|
||||
'Open Project':
|
||||
'プロジェクトを開く',
|
||||
'Open':
|
||||
'開く',
|
||||
'(empty)':
|
||||
'(空)',
|
||||
'Saved!':
|
||||
'保存しました!',
|
||||
'Delete Project':
|
||||
'プロジェクトを削除',
|
||||
'Are you sure you want to delete':
|
||||
'本当に削除しますか',
|
||||
'rename...':
|
||||
'名前を変更...',
|
||||
|
||||
// costume editor
|
||||
'Costume Editor':
|
||||
|
@ -901,8 +901,8 @@ SnapTranslator.dict.ja = {
|
|||
// export blocks
|
||||
'Export blocks':
|
||||
'ブロックを書き出し',
|
||||
'Import blocks':
|
||||
'ブロックを読み込み',
|
||||
'Import blocks':
|
||||
'ブロックを読み込み',
|
||||
'this project doesn\'t have any\ncustom global blocks yet':
|
||||
'このプロジェクトはカスタムグローバルブロックを持っていません',
|
||||
'select':
|
||||
|
@ -945,8 +945,8 @@ SnapTranslator.dict.ja = {
|
|||
'引数名を作成',
|
||||
'Edit input name':
|
||||
'引数名を編集',
|
||||
'Edit label fragment':
|
||||
'ラベルの断片を編集',
|
||||
'Edit label fragment':
|
||||
'ラベルの断片を編集',
|
||||
'Title text':
|
||||
'タイトルテキスト',
|
||||
'Input name':
|
||||
|
@ -981,7 +981,7 @@ SnapTranslator.dict.ja = {
|
|||
'複数の引数 (値は引数のリスト)',
|
||||
'Upvar - make internal variable visible to caller':
|
||||
'Upvar - 呼び出し元から見える内部的な変数',
|
||||
|
||||
|
||||
// About Snap
|
||||
'About Snap':
|
||||
'Snapについて',
|
||||
|
@ -1015,8 +1015,8 @@ SnapTranslator.dict.ja = {
|
|||
'スライダーの最小値...',
|
||||
'slider max...':
|
||||
'スライダーの最大値...',
|
||||
'import...':
|
||||
'読み込み...',
|
||||
'import...':
|
||||
'読み込み...',
|
||||
'Slider minimum value':
|
||||
'スライダーの最小値',
|
||||
'Slider maximum value':
|
||||
|
@ -1038,7 +1038,7 @@ SnapTranslator.dict.ja = {
|
|||
'(-90) 左',
|
||||
'(0) up':
|
||||
'(0) 上',
|
||||
'(180) down':
|
||||
'(180) down':
|
||||
'(180) 下',
|
||||
|
||||
// collision detection
|
||||
|
@ -1052,8 +1052,8 @@ SnapTranslator.dict.ja = {
|
|||
// costumes
|
||||
'Turtle':
|
||||
'タートル',
|
||||
'Empty':
|
||||
'空',
|
||||
'Empty':
|
||||
'空',
|
||||
|
||||
// graphical effects
|
||||
'ghost':
|
||||
|
@ -1189,62 +1189,62 @@ SnapTranslator.dict.ja = {
|
|||
'last':
|
||||
'最後',
|
||||
'any':
|
||||
'任意',
|
||||
|
||||
// missing entries
|
||||
'Reference manual':
|
||||
'リファレンスマニュアル',
|
||||
'Sign in':
|
||||
'サインイン',
|
||||
'User name:':
|
||||
'ユーザー名:',
|
||||
'Password:':
|
||||
'パスワード:',
|
||||
'stay signed in on this computer\nuntil logging out':
|
||||
'ログアウトするまでこのコンピューターに\nサインインしたままにする',
|
||||
'Sign up':
|
||||
'サインアップ',
|
||||
'User name:':
|
||||
'ユーザー名:',
|
||||
'Password:':
|
||||
'パスワード:',
|
||||
'Birth date:':
|
||||
'誕生月:',
|
||||
'Birth date:':
|
||||
'年:',
|
||||
'January':
|
||||
'1月',
|
||||
'February':
|
||||
'2月',
|
||||
'March':
|
||||
'3月',
|
||||
'April':
|
||||
'4月',
|
||||
'May':
|
||||
'5月',
|
||||
'June':
|
||||
'6月',
|
||||
'July':
|
||||
'7月',
|
||||
'August':
|
||||
'8月',
|
||||
'September':
|
||||
'9月',
|
||||
'October':
|
||||
'10月',
|
||||
'November':
|
||||
'11月',
|
||||
'December':
|
||||
'12月',
|
||||
'1993 or before':
|
||||
'1993年以前',
|
||||
'E-mail address:':
|
||||
'電子メールアドレス:',
|
||||
'Terms of Service...':
|
||||
'サービス利用規約...',
|
||||
'Privacy...':
|
||||
'個人情報...',
|
||||
'I have read and agree\nto the Terms of Service':
|
||||
'サービス利用規約を読み\nそれに同意します',
|
||||
|
||||
};
|
||||
'任意',
|
||||
|
||||
// missing entries
|
||||
'Reference manual':
|
||||
'リファレンスマニュアル',
|
||||
'Sign in':
|
||||
'サインイン',
|
||||
'User name:':
|
||||
'ユーザー名:',
|
||||
'Password:':
|
||||
'パスワード:',
|
||||
'stay signed in on this computer\nuntil logging out':
|
||||
'ログアウトするまでこのコンピューターに\nサインインしたままにする',
|
||||
'Sign up':
|
||||
'サインアップ',
|
||||
'User name:':
|
||||
'ユーザー名:',
|
||||
'Password:':
|
||||
'パスワード:',
|
||||
'Birth date:':
|
||||
'誕生月:',
|
||||
'Birth date:':
|
||||
'年:',
|
||||
'January':
|
||||
'1月',
|
||||
'February':
|
||||
'2月',
|
||||
'March':
|
||||
'3月',
|
||||
'April':
|
||||
'4月',
|
||||
'May':
|
||||
'5月',
|
||||
'June':
|
||||
'6月',
|
||||
'July':
|
||||
'7月',
|
||||
'August':
|
||||
'8月',
|
||||
'September':
|
||||
'9月',
|
||||
'October':
|
||||
'10月',
|
||||
'November':
|
||||
'11月',
|
||||
'December':
|
||||
'12月',
|
||||
'1993 or before':
|
||||
'1993年以前',
|
||||
'E-mail address:':
|
||||
'電子メールアドレス:',
|
||||
'Terms of Service...':
|
||||
'サービス利用規約...',
|
||||
'Privacy...':
|
||||
'個人情報...',
|
||||
'I have read and agree\nto the Terms of Service':
|
||||
'サービス利用規約を読み\nそれに同意します',
|
||||
|
||||
};
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.ja_HIRA = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
@ -981,7 +981,7 @@ SnapTranslator.dict.ja_HIRA = {
|
|||
'ふくすうのひきすう (あたいはひきすうのリスト)',
|
||||
'Upvar - make internal variable visible to caller':
|
||||
'Upvar - よびだしもとからみえるないぶてきなへんすう',
|
||||
|
||||
|
||||
// About Snap
|
||||
'About Snap':
|
||||
'Snapについて',
|
||||
|
|
124
lang-ko.js
124
lang-ko.js
|
@ -1,14 +1,14 @@
|
|||
/*
|
||||
|
||||
lang-ko.js
|
||||
|
||||
Korean translation for SNAP!
|
||||
|
||||
written by Jens Mönig
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
/*
|
||||
|
||||
lang-ko.js
|
||||
|
||||
Korean translation for SNAP!
|
||||
|
||||
written by Jens Mönig
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
|
||||
Note to Translators:
|
||||
|
@ -164,7 +164,7 @@
|
|||
-Jens
|
||||
*/
|
||||
|
||||
/*global SnapTranslator*/
|
||||
/*global SnapTranslator*/
|
||||
|
||||
SnapTranslator.dict.ko = {
|
||||
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.ko = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
@ -303,7 +303,7 @@ SnapTranslator.dict.ko = {
|
|||
'x: %n 、y: %n 쪽으로 가기',
|
||||
'go to %dst':
|
||||
'%dst 위치로 가기',
|
||||
'glide %n secs to x: %n y: %n':
|
||||
'glide %n secs to x: %n y: %n':
|
||||
'%n 초 동안 x: %n 、y: %n 쪽으로 움직이기',
|
||||
'change x by %n':
|
||||
'x좌표 %n 만큼 바꾸기',
|
||||
|
@ -386,7 +386,7 @@ SnapTranslator.dict.ko = {
|
|||
'템포를 %n bpm으로 맞추기',
|
||||
'tempo':
|
||||
'템포',
|
||||
|
||||
|
||||
|
||||
// pen:
|
||||
'clear':
|
||||
|
@ -491,7 +491,7 @@ SnapTranslator.dict.ko = {
|
|||
'타이머',
|
||||
'http:// %s':
|
||||
'http:// %s',
|
||||
|
||||
|
||||
'filtered for %clr':
|
||||
'%clr 색 추출하기',
|
||||
'stack size':
|
||||
|
@ -579,7 +579,7 @@ SnapTranslator.dict.ko = {
|
|||
'%s 을(를) %idx 위치에 추가하기 %l',
|
||||
'replace item %idx of %l with %s':
|
||||
'%idx 항목 %l 에 %s 로 교체하기',
|
||||
|
||||
|
||||
// other
|
||||
'Make a block':
|
||||
'블록 만들기',
|
||||
|
@ -615,9 +615,9 @@ SnapTranslator.dict.ko = {
|
|||
'Import...':
|
||||
'가져오기...',
|
||||
'file menu import hint':
|
||||
'내보낸 프로젝트 파일, 블록 라이브러리\n'
|
||||
+ '스프라이트 모양 또는 소리를 가져옵니다.\n\n'
|
||||
+ '일부 웹브라우저에서는 지원되지 않습니다.',
|
||||
'내보낸 프로젝트 파일, 블록 라이브러리\n'
|
||||
+ '스프라이트 모양 또는 소리를 가져옵니다.\n\n'
|
||||
+ '일부 웹브라우저에서는 지원되지 않습니다.',
|
||||
'Export project as plain text ...':
|
||||
'프로젝트를 텍스트 파일로 내보내기...',
|
||||
'Export project...':
|
||||
|
@ -640,9 +640,9 @@ SnapTranslator.dict.ko = {
|
|||
'체크하면, 그림자와 하이라이트가\n반투명 상태로 됩니다.',
|
||||
'Zebra coloring':
|
||||
'중첩 블록 구분하기',
|
||||
'check to enable alternating\ncolors for nested blocks':
|
||||
'check to enable alternating\ncolors for nested blocks':
|
||||
'체크하면, 중첩된 블록을\n다른 색으로 구분할 수 있습니다.',
|
||||
'uncheck to disable alternating\ncolors for nested block':
|
||||
'uncheck to disable alternating\ncolors for nested block':
|
||||
'체크해제하면, 중첩된 블록을\n다른 색으로 구분할 수 없습니다.',
|
||||
'Prefer empty slot drops':
|
||||
'빈 슬롯에 입력 가능',
|
||||
|
@ -655,31 +655,31 @@ SnapTranslator.dict.ko = {
|
|||
'check to always show slot\ntypes in the input dialog':
|
||||
'체크하면, 입력 대화창에\n항상 슬롯의 형태를 보여줍니다.',
|
||||
'uncheck to use the input\ndialog in short form':
|
||||
'체크해제하면, 입력 대화창을\n짧은 형태로 사용합니다.',
|
||||
'체크해제하면, 입력 대화창을\n짧은 형태로 사용합니다.',
|
||||
'Virtual keyboard':
|
||||
'가상 키보드',
|
||||
'uncheck to disable\nvirtual keyboard support\nfor mobile devices':
|
||||
'체크해제하면, 모바일 기기에서\n가상 키보드를 사용할 수 없습니다.',
|
||||
'체크해제하면, 모바일 기기에서\n가상 키보드를 사용할 수 없습니다.',
|
||||
'check to enable\nvirtual keyboard support\nfor mobile devices':
|
||||
'체크하면, 모바일 기기에서\n가상 키보드를 사용할 수 있습니다.',
|
||||
'체크하면, 모바일 기기에서\n가상 키보드를 사용할 수 있습니다.',
|
||||
'Input sliders':
|
||||
'입력창에서 슬라이더 사용',
|
||||
'uncheck to disable\ninput sliders for\nentry fields':
|
||||
'체크해제하면, 입력창에서\n슬라이더를 사용할 수 없습니다.',
|
||||
'체크해제하면, 입력창에서\n슬라이더를 사용할 수 없습니다.',
|
||||
'check to enable\ninput sliders for\nentry fields':
|
||||
'체크하면, 입력창에서\n슬라이더를 사용할 수 있습니다.',
|
||||
'체크하면, 입력창에서\n슬라이더를 사용할 수 있습니다.',
|
||||
'Clicking sound':
|
||||
'블록 클릭시 소리',
|
||||
'uncheck to turn\nblock clicking\nsound off':
|
||||
'체크해제하면, 블록 클릭시\n소리가 꺼집니다.',
|
||||
'체크해제하면, 블록 클릭시\n소리가 꺼집니다.',
|
||||
'check to turn\nblock clicking\nsound on':
|
||||
'체크하면, 블록 클릭시\n소리가 켜집니다.',
|
||||
'체크하면, 블록 클릭시\n소리가 켜집니다.',
|
||||
'Thread safe scripts':
|
||||
'스레드 안전 스크립트',
|
||||
'uncheck to allow\nscript reentrancy':
|
||||
'체크해제하면, 스크립트\n재진입성을 허락합니다.',
|
||||
'체크해제하면, 스크립트\n재진입성을 허락합니다.',
|
||||
'check to disallow\nscript reentrancy':
|
||||
'체크하면, 스크립트\n재진입성을 허락하지 않습니다.',
|
||||
'체크하면, 스크립트\n재진입성을 허락하지 않습니다.',
|
||||
|
||||
// inputs
|
||||
'with inputs':
|
||||
|
@ -1069,30 +1069,30 @@ SnapTranslator.dict.ko = {
|
|||
'last':
|
||||
'마지막',
|
||||
'any':
|
||||
'임의',
|
||||
|
||||
// missing entries
|
||||
'Untitled':
|
||||
'이름없음',
|
||||
'Open Project':
|
||||
'프로젝트 열기',
|
||||
'Open':
|
||||
'열기',
|
||||
'(empty)':
|
||||
'(공란)',
|
||||
'Saved!':
|
||||
'저장했습니다!',
|
||||
'Delete Project':
|
||||
'프로젝트 삭제',
|
||||
'Are you sure you want to delete':
|
||||
'정말로 삭제합니까?',
|
||||
'unringify':
|
||||
'형태변환취소',
|
||||
'rename...':
|
||||
'이름수정...',
|
||||
'(180) down':
|
||||
'(180) 아래',
|
||||
'Ok':
|
||||
'OK'
|
||||
|
||||
};
|
||||
'임의',
|
||||
|
||||
// missing entries
|
||||
'Untitled':
|
||||
'이름없음',
|
||||
'Open Project':
|
||||
'프로젝트 열기',
|
||||
'Open':
|
||||
'열기',
|
||||
'(empty)':
|
||||
'(공란)',
|
||||
'Saved!':
|
||||
'저장했습니다!',
|
||||
'Delete Project':
|
||||
'프로젝트 삭제',
|
||||
'Are you sure you want to delete':
|
||||
'정말로 삭제합니까?',
|
||||
'unringify':
|
||||
'형태변환취소',
|
||||
'rename...':
|
||||
'이름수정...',
|
||||
'(180) down':
|
||||
'(180) 아래',
|
||||
'Ok':
|
||||
'OK'
|
||||
|
||||
};
|
||||
|
|
10
lang-pt.js
10
lang-pt.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
Copyright (C) 2012 by Manuel Menezes de Sequeira
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -265,21 +265,21 @@ SnapTranslator.dict.pt = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
12
lang-ru.js
12
lang-ru.js
|
@ -4,7 +4,7 @@
|
|||
|
||||
Russian translation for SNAP!
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -168,7 +168,7 @@ SnapTranslator.dict.ru = {
|
|||
Special characters: (see <http://0xcc.net/jsescape/>)
|
||||
|
||||
, \u00c4, \u00e4
|
||||
, \u00d6, \u00f6
|
||||
, \u00d6, \u00f6
|
||||
, \u00dc, \u00fc
|
||||
§ \u00df
|
||||
*/
|
||||
|
@ -260,21 +260,21 @@ SnapTranslator.dict.ru = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
40
lang-si.js
40
lang-si.js
|
@ -1,14 +1,14 @@
|
|||
/*
|
||||
|
||||
lang-si.js
|
||||
|
||||
Slovenian translation for SNAP!
|
||||
|
||||
translated by Sasa Divjak
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
/*
|
||||
|
||||
lang-si.js
|
||||
|
||||
Slovenian translation for SNAP!
|
||||
|
||||
translated by Sasa Divjak
|
||||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
|
||||
Note to Translators:
|
||||
|
@ -62,7 +62,7 @@
|
|||
pl - Polish => SnapTranslator.dict.pl = {
|
||||
pt - Portuguese => SnapTranslator.dict.pt = {
|
||||
es - Spanish => SnapTranslator.dict.es = {
|
||||
el - Greek => => SnapTranslator.dict.el = {
|
||||
el - Greek => => SnapTranslator.dict.el = {
|
||||
si - Slovenian => => SnapTranslator.dict.si = {
|
||||
|
||||
etc. (see <http://en.wikipedia.org/wiki/ISO_639-1>)
|
||||
|
@ -144,7 +144,7 @@
|
|||
pl - Polish => lang-pl.js
|
||||
pt - Portuguese => lang-pt.js
|
||||
es - Spanish => lang-es.js
|
||||
el - Greek => => lang-el.js
|
||||
el - Greek => => lang-el.js
|
||||
si - Slovenian => => lang-si.js
|
||||
|
||||
and send it to me for inclusion in the official Snap! distribution.
|
||||
|
@ -166,7 +166,7 @@
|
|||
-Jens
|
||||
*/
|
||||
|
||||
/*global SnapTranslator*/
|
||||
/*global SnapTranslator*/
|
||||
|
||||
SnapTranslator.dict.si = {
|
||||
|
||||
|
@ -267,21 +267,21 @@ SnapTranslator.dict.si = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
@ -1066,4 +1066,4 @@ SnapTranslator.dict.si = {
|
|||
'zadnji',
|
||||
'any':
|
||||
'poljuben'
|
||||
};
|
||||
};
|
||||
|
|
10
lang-zh.js
10
lang-zh.js
|
@ -9,7 +9,7 @@
|
|||
|
||||
Copyright (C) 2012 by Jens Mönig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -266,21 +266,21 @@ SnapTranslator.dict.zh = {
|
|||
abbreviation.
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
'say %s for %n secs'
|
||||
|
||||
can currently not be changed into
|
||||
|
||||
|
||||
'say %n secs long %s'
|
||||
|
||||
and still work as intended.
|
||||
|
||||
Similarly
|
||||
|
||||
|
||||
'point towards %dst'
|
||||
|
||||
cannot be changed into
|
||||
|
||||
|
||||
'point towards %cst'
|
||||
|
||||
without breaking its functionality.
|
||||
|
|
2
lists.js
2
lists.js
|
@ -9,7 +9,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig and Brian Harvey
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
|
BIN
locale.js
BIN
locale.js
Plik binarny nie jest wyświetlany.
|
@ -11,4 +11,4 @@ widgets.js
|
|||
store.js
|
||||
xml.js
|
||||
scriptsPaneTexture.gif
|
||||
snap_logo_sm.gif
|
||||
snap_logo_sm.gif
|
||||
|
|
68
morphic.js
68
morphic.js
|
@ -10,7 +10,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -591,9 +591,9 @@
|
|||
rasterization can be deferred until the destination scale is known, taking
|
||||
advantage of SVG's ability for smooth scaling. If instead SVGs are to be
|
||||
rasterized right away, you can set the
|
||||
|
||||
|
||||
MorphicPreferences.rasterizeSVGs
|
||||
|
||||
|
||||
preference to <true>. In this case dropped SVGs also trigger the
|
||||
droppedImage() event with a canvas containing a rasterized version of the
|
||||
SVG.
|
||||
|
@ -602,12 +602,12 @@
|
|||
canvas.
|
||||
|
||||
Those are dispatched as
|
||||
|
||||
|
||||
droppedAudio(anAudio, name)
|
||||
droppedText(aString, name)
|
||||
|
||||
events to interested Morphs at the mouse pointer.
|
||||
|
||||
|
||||
if none of the above content types can be determined, the file contents
|
||||
is dispatched as an ArrayBuffer to interested Morphs:
|
||||
|
||||
|
@ -637,7 +637,7 @@
|
|||
keyboardReceiver
|
||||
|
||||
property.
|
||||
|
||||
|
||||
Note that processKeyUp() is optional and doesn't have to be present
|
||||
if your morph doesn't require it.
|
||||
|
||||
|
@ -708,34 +708,34 @@
|
|||
a stream of events, mostly by "bubbling" them up the text element's
|
||||
owner chain. Text elements' parents are notified about the following
|
||||
events:
|
||||
|
||||
|
||||
Whenever the user presses a key on the keyboard while a text element
|
||||
is being edited, a
|
||||
|
||||
|
||||
reactToKeystroke(event)
|
||||
|
||||
is escalated up its parent chain, the "event" parameter being the
|
||||
original one received by the World.
|
||||
|
||||
|
||||
Once the user has completed the edit, the following events are
|
||||
dispatched:
|
||||
|
||||
|
||||
accept() - <enter> was pressed on a single line of text
|
||||
cancel() - <esc> was pressed on any text element
|
||||
|
||||
Note that "accept" only gets triggered by single-line texte elements,
|
||||
as the <enter> key is used to insert line breaks in multi-line
|
||||
elements. Therefore, whenever a text edit is terminated by the user
|
||||
(accepted, cancelled or otherwise),
|
||||
(accepted, cancelled or otherwise),
|
||||
|
||||
reactToEdit(StringOrTextMorph)
|
||||
|
||||
is triggered.
|
||||
|
||||
If the MorphicPreference's
|
||||
|
||||
|
||||
useSliderForInput
|
||||
|
||||
|
||||
setting is turned on, a slider is popped up underneath the currently
|
||||
edited text element letting the user insert numbers out of the given
|
||||
slider range. Whenever this happens, i.e. whenever the slider is moved
|
||||
|
@ -751,7 +751,7 @@
|
|||
method is invoked. That way complex Morphs containing text elements
|
||||
get a chance to react if something about the embedded text has been
|
||||
modified programmatically. These events are:
|
||||
|
||||
|
||||
layoutChanged() - sent from instances of TextMorph
|
||||
fixLayout() - sent from instances of StringMorph
|
||||
|
||||
|
@ -842,12 +842,12 @@
|
|||
menu features Gui-Builder-wise functionality to directly inspect,
|
||||
take apart, reassamble and otherwise manipulate morphs and their
|
||||
contents.
|
||||
|
||||
|
||||
Instead of using the "customContextMenu" property you can also
|
||||
assign a more dynamic contextMenu by overriding the general
|
||||
|
||||
|
||||
userMenu()
|
||||
|
||||
|
||||
method with a customized menu constructor. The difference between
|
||||
the customContextMenu property and the userMenu() method is that
|
||||
the former is also present in development mode and overrides the
|
||||
|
@ -936,11 +936,11 @@
|
|||
seemingly dramatic slow-down of the Morphic system. Typically this
|
||||
occurs when updating the layout of complex Morphs with very many
|
||||
submorphs, e.g. when resizing an inspector window.
|
||||
|
||||
|
||||
An effective strategy to cope with this is to use the inherited
|
||||
|
||||
|
||||
trackChanges
|
||||
|
||||
|
||||
property of the Morph prototype for damage list housekeeping.
|
||||
|
||||
The trackChanges property of the Morph prototype is a Boolean switch
|
||||
|
@ -953,20 +953,20 @@
|
|||
achieved by setting the trackChanges flag to false before propagating
|
||||
the layout changes, setting it to true again and then storing the full
|
||||
bounds of the surrounding morph. An an example refer to the
|
||||
|
||||
|
||||
moveBy()
|
||||
|
||||
|
||||
method of HandMorph, and to the
|
||||
|
||||
fixLayout()
|
||||
|
||||
|
||||
method of InspectorMorph, or the
|
||||
|
||||
|
||||
startLayout()
|
||||
endLayout()
|
||||
|
||||
methods of SyntaxElementMorph in the Snap application.
|
||||
|
||||
methods of SyntaxElementMorph in the Snap application.
|
||||
|
||||
|
||||
(9) minifying morphic.js
|
||||
------------------------
|
||||
|
@ -2157,9 +2157,9 @@ Morph.uber = Node.prototype;
|
|||
bounds of the surrounding morph. An an example refer to the
|
||||
|
||||
fixLayout()
|
||||
|
||||
|
||||
method of InspectorMorph, or the
|
||||
|
||||
|
||||
startLayout()
|
||||
endLayout()
|
||||
|
||||
|
@ -3975,7 +3975,7 @@ PenMorph.prototype.drawNew = function (facing) {
|
|||
/*
|
||||
my orientation can be overridden with the "facing" parameter to
|
||||
implement Scratch-style rotation styles
|
||||
|
||||
|
||||
*/
|
||||
var context, start, dest, left, right, len,
|
||||
direction = facing || this.heading;
|
||||
|
@ -6602,7 +6602,7 @@ MenuMorph.prototype.addItem = function (labelString, action, hint, color) {
|
|||
/*
|
||||
labelString is normally a single-line string. But it can also be one
|
||||
of the following:
|
||||
|
||||
|
||||
* a multi-line string (containing line breaks)
|
||||
* an icon (either a Morph or a Canvas)
|
||||
* a tuple of format: [icon, string]
|
||||
|
@ -8137,7 +8137,7 @@ MenuItemMorph.prototype.createLabel = function () {
|
|||
if (isString(this.labelString)) {
|
||||
this.label = this.createLabelString(this.labelString);
|
||||
} else if (this.labelString instanceof Array) {
|
||||
// assume its pattern is: [icon, string]
|
||||
// assume its pattern is: [icon, string]
|
||||
this.label = new Morph();
|
||||
this.label.alpha = 0; // transparent
|
||||
this.label.add(icon = this.createIcon(this.labelString[0]));
|
||||
|
@ -8837,7 +8837,7 @@ function ListMorph(elements, labelGetter, format) {
|
|||
last predicate to evaluate true when given the list element sets
|
||||
the given color. If no condition is met, the default color (black)
|
||||
will be assigned.
|
||||
|
||||
|
||||
An example of how to use fomats can be found in the InspectorMorph's
|
||||
"markOwnProperties" mechanism.
|
||||
*/
|
||||
|
@ -9551,11 +9551,11 @@ HandMorph.prototype.processDrop = function (event) {
|
|||
find out whether an external image or audio file was dropped
|
||||
onto the world canvas, turn it into an offscreen canvas or audio
|
||||
element and dispatch the
|
||||
|
||||
|
||||
droppedImage(canvas, name)
|
||||
droppedSVG(image, name)
|
||||
droppedAudio(audio, name)
|
||||
|
||||
|
||||
events to interested Morphs at the mouse pointer
|
||||
*/
|
||||
var files = event instanceof FileList ? event
|
||||
|
|
BIN
morphic.txt
BIN
morphic.txt
Plik binarny nie jest wyświetlany.
|
@ -11,7 +11,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -5080,7 +5080,7 @@ CellMorph.prototype.mouseClickLeft = function (pos) {
|
|||
/*
|
||||
I am a little window which observes some value and continuously
|
||||
updates itself accordingly.
|
||||
|
||||
|
||||
My target can be either a SpriteMorph or a VariableFrame.
|
||||
*/
|
||||
|
||||
|
@ -5337,7 +5337,7 @@ WatcherMorph.prototype.fixLayout = function () {
|
|||
|
||||
// WatcherMorph events:
|
||||
|
||||
/*
|
||||
/*
|
||||
// Scratch-like watcher-toggling, commented out b/c we have a drop-down menu
|
||||
|
||||
WatcherMorph.prototype.mouseClickLeft = function () {
|
||||
|
|
|
@ -21,4 +21,4 @@ SVG support limitations
|
|||
|
||||
OS/X: turn LCD font smoothing off
|
||||
|
||||
Beware of third-party Chrome toolbars and iFrames
|
||||
Beware of third-party Chrome toolbars and iFrames
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
var hex_sha512 = (function (hex_sha512) {
|
||||
|
||||
var hexcase = 0;
|
||||
var hexcase = 0;
|
||||
|
||||
function hex_sha512(s)
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<script type="text/javascript" src="locale.js"></script>
|
||||
<script type="text/javascript" src="cloud.js"></script>
|
||||
<script type="text/javascript" src="sha512.js"></script>
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
var world;
|
||||
window.onload = function () {
|
||||
world = new WorldMorph(document.getElementById('world'));
|
||||
|
@ -34,4 +34,4 @@
|
|||
<p>Your browser doesn't support canvas.</p>
|
||||
</canvas>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
4
store.js
4
store.js
|
@ -9,7 +9,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -46,7 +46,7 @@
|
|||
working version of a complete XMLSerializer. I have taken much of the
|
||||
overall design and many of the functions and methods in this file from
|
||||
Nathan's fine original prototype.
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/*global modules, XML_Element, XML_Serializer, VariableFrame, StageMorph,
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2,8 +2,8 @@
|
|||
Translating BYOB4 / Snap!
|
||||
by Jens Moenig
|
||||
last changed: 12/10/16
|
||||
*****************************
|
||||
|
||||
*****************************
|
||||
|
||||
At this stage of development, Snap! can be translated to any LTR language
|
||||
maintaining the current order of inputs (formal parameters in blocks).
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -2978,4 +2978,4 @@ InputFieldMorph.prototype.drawRectBorder = function (context) {
|
|||
context.moveTo(this.width() - shift, this.edge);
|
||||
context.lineTo(this.width() - shift, this.height() - this.edge);
|
||||
context.stroke();
|
||||
};
|
||||
};
|
||||
|
|
4
xml.js
4
xml.js
|
@ -9,7 +9,7 @@
|
|||
|
||||
Copyright (C) 2013 by Jens Mšnig
|
||||
|
||||
This file is part of Snap!.
|
||||
This file is part of Snap!.
|
||||
|
||||
Snap! is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
@ -425,4 +425,4 @@ XML_Element.prototype.parseStream = function (stream) {
|
|||
this.contents += ch;
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
Ładowanie…
Reference in New Issue