diff --git a/.DS_Store b/.DS_Store
deleted file mode 100644
index 5008ddfc..00000000
Binary files a/.DS_Store and /dev/null differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..e43b0f98
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.DS_Store
diff --git a/README.md b/README.md
index 8cb1ef72..8564d27d 100644
--- a/README.md
+++ b/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
diff --git a/blocks.js b/blocks.js
index 19035730..061e1769 100644
--- a/blocks.js
+++ b/blocks.js
@@ -6,12 +6,12 @@
based on morphic.js
inspired by Scratch
- written by Jens Mšnig
+ written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mšnig
+ 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
*/
diff --git a/byob.js b/byob.js
index 2999dbd9..c21cf110 100644
--- a/byob.js
+++ b/byob.js
@@ -6,12 +6,12 @@
based on morphic.js, widgets.js blocks.js, threads.js and objects.js
inspired by Scratch
- written by Jens Mšnig
+ written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mšnig
+ 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
diff --git a/cloud.js b/cloud.js
index 3faf327c..ccd93454 100644
--- a/cloud.js
+++ b/cloud.js
@@ -4,11 +4,11 @@
a backend API for SNAP!
- written by Jens Mšnig
+ written by Jens Mönig
- Copyright (C) 2013 by Jens Mšnig
+ 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
diff --git a/contributing to BYOB4.txt b/contributing to BYOB4.txt
index 988a660d..88138464 100755
--- a/contributing to BYOB4.txt
+++ b/contributing to BYOB4.txt
@@ -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
diff --git a/gui.js b/gui.js
index 184bbd04..07d4f070 100644
--- a/gui.js
+++ b/gui.js
@@ -6,12 +6,12 @@
based on morphic.js, blocks.js, threads.js and objects.js
inspired by Scratch
- written by Jens Mšnig
+ written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mšnig
+ 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
@@ -269,7 +269,7 @@ IDE_Morph.prototype.openIn = function (world) {
);
} else if (location.hash.substr(0, 6) === '#lang:') {
this.setLanguage(location.hash.substr(6));
- this.newProject();
+ this.loadNewProject = true;
} else if (location.hash.substr(0, 7) === '#signup') {
this.createCloudAccount();
}
@@ -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;
@@ -2177,7 +2177,9 @@ IDE_Morph.prototype.newProject = function () {
if (this.stage) {
this.stage.destroy();
}
- location.hash = '';
+ if (location.hash.substr(0, 6) !== '#lang:') {
+ location.hash = '';
+ }
this.globalVariables = new VariableFrame();
this.currentSprite = new SpriteMorph(this.globalVariables);
this.sprites = new List([this.currentSprite]);
@@ -2788,21 +2790,27 @@ IDE_Morph.prototype.setLanguage = function (lang) {
IDE_Morph.prototype.reflectLanguage = function (lang) {
var projectData;
SnapTranslator.language = lang;
- if (Process.prototype.isCatchingErrors) {
- try {
+ if (!this.loadNewProject) {
+ if (Process.prototype.isCatchingErrors) {
+ try {
+ projectData = this.serializer.serialize(this.stage);
+ } catch (err) {
+ this.showMessage('Serialization failed: ' + err);
+ }
+ } else {
projectData = this.serializer.serialize(this.stage);
- } catch (err) {
- this.showMessage('Serialization failed: ' + err);
}
- } else {
- projectData = this.serializer.serialize(this.stage);
}
SpriteMorph.prototype.initBlocks();
this.spriteBar.tabBar.tabTo('scripts');
this.createCategories();
this.createCorralBar();
this.fixLayout();
- this.openProjectString(projectData);
+ if (this.loadNewProject){
+ this.newProject();
+ } else {
+ this.openProjectString(projectData);
+ }
};
// IDE_Morph blocks scaling
@@ -4478,8 +4486,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 +5308,4 @@ JukeboxMorph.prototype.reactToDropOf = function (icon) {
});
this.sprite.sounds.add(costume, idx);
this.updateList();
-};
\ No newline at end of file
+};
diff --git a/history.txt b/history.txt
index c4b9796f..9dc8a97f 100755
--- a/history.txt
+++ b/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
diff --git a/lang-cs.js b/lang-cs.js
index dee3750e..7995417c 100644
--- a/lang-cs.js
+++ b/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.
diff --git a/lang-de.js b/lang-de.js
index 230d2af4..b5eb86fb 100644
--- a/lang-de.js
+++ b/lang-de.js
@@ -4,11 +4,11 @@
German translation for SNAP!
- written by Jens Mšnig
+ written by Jens Mönig
- Copyright (C) 2013 by Jens Mšnig
+ 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
@@ -171,10 +171,10 @@ SnapTranslator.dict.de = {
/*
Special characters: (see )
- €, Š \u00c4, \u00e4
- …, š \u00d6, \u00f6
- †, Ÿ \u00dc, \u00fc
- § \u00df
+ Ä, ä \u00c4, \u00e4
+ Ö, ö \u00d6, \u00f6
+ Ü, ü \u00dc, \u00fc
+ ß \u00df
*/
// translations meta information
@@ -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.
diff --git a/lang-eo.js b/lang-eo.js
index 85eb11b2..453ff010 100644
--- a/lang-eo.js
+++ b/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.
diff --git a/lang-es.js b/lang-es.js
index 5bb7ef4b..893148a4 100644
--- a/lang-es.js
+++ b/lang-es.js
@@ -4,11 +4,11 @@
Spanish translation for SNAP!
- written by Jens Mšnig
+ written by Jens Mönig
- Copyright (C) 2013 by Jens Mšnig
+ 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
@@ -171,10 +171,10 @@ SnapTranslator.dict.es = {
/*
Special characters: (see )
- €, Š \u00c4, \u00e4
- …, š \u00d6, \u00f6
- †, Ÿ \u00dc, \u00fc
- § \u00df
+ Ä, ä \u00c4, \u00e4
+ Ö, ö \u00d6, \u00f6
+ Ü, ü \u00dc, \u00fc
+ ß \u00df
*/
// translations meta information
@@ -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.
diff --git a/lang-fr.js b/lang-fr.js
index 4ec2589a..15eebb85 100644
--- a/lang-fr.js
+++ b/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.
diff --git a/lang-it.js b/lang-it.js
index edccca3c..5b0b1b80 100644
--- a/lang-it.js
+++ b/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 .
-
+
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'
-};
+};
diff --git a/lang-ja.js b/lang-ja.js
index e4f6ba9f..06af9728 100755
--- a/lang-ja.js
+++ b/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 .
-
+
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ãれã«åŒæ„ã—ã¾ã™',
+
+};
diff --git a/lang-ja_HIRA.js b/lang-ja_HIRA.js
index 30a46366..0bf85962 100755
--- a/lang-ja_HIRA.js
+++ b/lang-ja_HIRA.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
@@ -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ã«ã¤ã„ã¦',
diff --git a/lang-ko.js b/lang-ko.js
index f882c7a1..1c0f747e 100644
--- a/lang-ko.js
+++ b/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 .
-
+
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'
+
+};
diff --git a/lang-pt.js b/lang-pt.js
index db68d89b..47e47a06 100755
--- a/lang-pt.js
+++ b/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.
diff --git a/lang-ru.js b/lang-ru.js
index 49f1a582..f3ad6a27 100644
--- a/lang-ru.js
+++ b/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 )
€, Š \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.
diff --git a/lang-si.js b/lang-si.js
index b8f09e17..dbe290a0 100644
--- a/lang-si.js
+++ b/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 .
-
+
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 )
@@ -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'
-};
+};
diff --git a/lang-zh.js b/lang-zh.js
index 378b5cf2..9e2a8a80 100644
--- a/lang-zh.js
+++ b/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.
diff --git a/lists.js b/lists.js
index 5b549477..71f8f65a 100644
--- a/lists.js
+++ b/lists.js
@@ -4,12 +4,12 @@
list data structure and GUI for SNAP!
- written by Jens Mšnig and Brian Harvey
+ 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
+ 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
diff --git a/locale.js b/locale.js
index ec85cb26..11bbe92f 100644
Binary files a/locale.js and b/locale.js differ
diff --git a/manifest.mf b/manifest.mf
index e5d0c93e..353d47f0 100644
--- a/manifest.mf
+++ b/manifest.mf
@@ -11,4 +11,4 @@ widgets.js
store.js
xml.js
scriptsPaneTexture.gif
-snap_logo_sm.gif
\ No newline at end of file
+snap_logo_sm.gif
diff --git a/morphic.js b/morphic.js
index 9bbeaa02..e28ca663 100644
--- a/morphic.js
+++ b/morphic.js
@@ -5,12 +5,12 @@
a lively Web-GUI
inspired by Squeak
- written by Jens Mšnig
+ written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mšnig
+ 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 . 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() - was pressed on a single line of text
cancel() - was pressed on any text element
Note that "accept" only gets triggered by single-line texte elements,
as the 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
------------------------
@@ -1025,7 +1025,7 @@
Ian Reynolds contributed backspace key handling for Chrome.
Davide Della Casa contributed performance optimizations for Firefox.
- - Jens Mšnig
+ - Jens Mönig
*/
// Global settings /////////////////////////////////////////////////////
@@ -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
diff --git a/morphic.txt b/morphic.txt
index 5b475f5f..afa60967 100755
Binary files a/morphic.txt and b/morphic.txt differ
diff --git a/objects.js b/objects.js
index 7ebdccf3..71a945c3 100644
--- a/objects.js
+++ b/objects.js
@@ -6,12 +6,12 @@
based on morphic.js, blocks.js and threads.js
inspired by Scratch
- written by Jens Mšnig
+ written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mšnig
+ 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 () {
diff --git a/readme.txt b/readme.txt
index 1634cef6..0f11b5c5 100644
--- a/readme.txt
+++ b/readme.txt
@@ -21,4 +21,4 @@ SVG support limitations
OS/X: turn LCD font smoothing off
-Beware of third-party Chrome toolbars and iFrames
\ No newline at end of file
+Beware of third-party Chrome toolbars and iFrames
diff --git a/sha512.js b/sha512.js
index 03d1c4ef..f9cf3132 100644
--- a/sha512.js
+++ b/sha512.js
@@ -18,7 +18,7 @@
var hex_sha512 = (function (hex_sha512) {
- var hexcase = 0;
+ var hexcase = 0;
function hex_sha512(s)
{
diff --git a/snap.html b/snap.html
index a760a865..2a0a175a 100755
--- a/snap.html
+++ b/snap.html
@@ -17,7 +17,7 @@
- 1
data
mapmany1
data lists
1
1
110i
1
cont
catchtagcont
catchtag
\ No newline at end of file
+1
data
mapmany1
data lists
1
1
110i
1
cont
catchtagcont
catchtag
diff --git a/translating Snap.txt b/translating Snap.txt
index c63b8a68..f4b5ff60 100755
--- a/translating Snap.txt
+++ b/translating Snap.txt
@@ -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).
diff --git a/widgets.js b/widgets.js
index ea01fa63..dbeeefc0 100644
--- a/widgets.js
+++ b/widgets.js
@@ -4,12 +4,12 @@
additional GUI elements for morphic.js
- written by Jens Mšnig
+ written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mšnig
+ 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();
-};
\ No newline at end of file
+};
diff --git a/xml.js b/xml.js
index c8eaacb1..877fff7d 100644
--- a/xml.js
+++ b/xml.js
@@ -4,12 +4,12 @@
a simple XML DOM, encoder and parser for morphic.js
- written by Jens Mšnig
+ written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mšnig
+ 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;
}
}
-};
\ No newline at end of file
+};