smalruby-editor 0.2.1-x86-mingw32 → 0.2.2-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of smalruby-editor might be problematic. Click here for more details.

Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/LEGAL +4 -3
  3. data/app/assets/javascripts/blocks/character.js.coffee.erb +7 -3
  4. data/app/assets/javascripts/blocks/events.js.coffee.erb +7 -10
  5. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +119 -31
  6. data/app/assets/javascripts/blocks/motion.js.coffee.erb +16 -20
  7. data/app/assets/javascripts/blocks/operators.js.coffee.erb +1 -1
  8. data/app/assets/javascripts/blocks/pen.js.coffee.erb +2 -1
  9. data/app/assets/javascripts/blocks/ruby.js.coffee.erb +3 -3
  10. data/app/assets/javascripts/blocks/sensing.js.coffee.erb +8 -8
  11. data/app/assets/javascripts/blocks/sound.js.coffee.erb +3 -1
  12. data/app/assets/javascripts/fix_blockly.js.erb +105 -0
  13. data/app/assets/javascripts/generators/ruby.js.coffee.erb +3 -0
  14. data/app/assets/javascripts/msg/en_us.js +67 -17
  15. data/app/assets/javascripts/msg/ja.js +151 -95
  16. data/app/assets/javascripts/{smalruby.js.coffee → smalruby.js.coffee.erb} +35 -16
  17. data/app/assets/javascripts/views/character_selector_view.js.coffee +2 -2
  18. data/app/assets/javascripts/views/{load_modal_view.js.coffee → load_modal_view.js.coffee.erb} +8 -2
  19. data/app/assets/javascripts/views/main_menu_view.js.coffee.erb +33 -48
  20. data/app/assets/javascripts/views/signin_modal_view.js.coffee.erb +43 -0
  21. data/app/assets/stylesheets/application.css +3 -1
  22. data/app/assets/stylesheets/toolbox.css.scss.erb +2 -56
  23. data/app/assets/stylesheets/toolbox_default.css.scss.erb +34 -0
  24. data/app/assets/stylesheets/toolbox_smalrubot_s1.css.scss.erb +31 -0
  25. data/app/assets/stylesheets/toolbox_smalrubot_v3.css.scss.erb +32 -0
  26. data/app/controllers/application_controller.rb +5 -0
  27. data/app/controllers/source_codes_controller.rb +6 -3
  28. data/app/helpers/application_helper.rb +12 -0
  29. data/app/helpers/editor_helper.rb +25 -0
  30. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action.rb +13 -0
  31. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action_with_sec.rb +14 -0
  32. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_ir_photoreflector_value.rb +29 -0
  33. data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_led_turn_on_or_off.rb +22 -0
  34. data/app/views/editor/_block_tab.html.haml +7 -6
  35. data/app/views/editor/_reset_modal.html.haml +4 -4
  36. data/app/views/editor/_signin_modal.html.haml +8 -9
  37. data/app/views/editor/_toolbox_default.html.haml +504 -0
  38. data/app/views/editor/_toolbox_smalrubot_s1.html.haml +171 -0
  39. data/app/views/editor/_toolbox_smalrubot_v3.html.haml +177 -0
  40. data/app/views/editor/index.html.haml +12 -2
  41. data/app/views/layouts/application.html.erb +1 -0
  42. data/config/environments/production.rb +1 -0
  43. data/config/locales/en.yml +19 -16
  44. data/config/locales/ja.yml +28 -25
  45. data/demos/hardware_led.rb.xml +79 -79
  46. data/lib/smalruby_editor/config.rb +22 -0
  47. data/lib/smalruby_editor/version.rb +1 -1
  48. data/lib/smalruby_editor.rb +58 -0
  49. data/public/assets/application-71c4890fe0ea2e896fc0acff41cdb0ad.js +39 -0
  50. data/public/assets/application-71c4890fe0ea2e896fc0acff41cdb0ad.js.gz +0 -0
  51. data/public/assets/{application-d5358d75a2c4e570c749b333c59b55ab.css → application-c196e243630d74071981a16041bf391d.css} +1 -1
  52. data/public/assets/application-c196e243630d74071981a16041bf391d.css.gz +0 -0
  53. data/public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js +1 -0
  54. data/public/assets/blockly/msg/js/en_us-d5e1938b2d57c1df954f4411b9165d10.js.gz +0 -0
  55. data/public/assets/blockly/msg/js/ja-9f676d46458a2802b8f5a797c90ae8a4.js +1 -0
  56. data/public/assets/blockly/msg/js/ja-9f676d46458a2802b8f5a797c90ae8a4.js.gz +0 -0
  57. data/public/assets/manifest-f3d29c6d66b959abe4294a899733e4f0.json +1 -0
  58. data/public/assets/msg/en_us-213fb4a57884078038725a2991776f47.js +1 -0
  59. data/public/assets/msg/en_us-213fb4a57884078038725a2991776f47.js.gz +0 -0
  60. data/public/assets/msg/ja-aeface7456b479021e977a0387204036.js +1 -0
  61. data/public/assets/msg/ja-aeface7456b479021e977a0387204036.js.gz +0 -0
  62. data/public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css +1 -0
  63. data/public/assets/toolbox_default-e023d3f7a2cc7cc1f54a1224577b3c26.css.gz +0 -0
  64. data/public/assets/toolbox_smalrubot_s1-18d28dc4b99723b60a3f538b742027df.css +1 -0
  65. data/public/assets/toolbox_smalrubot_s1-18d28dc4b99723b60a3f538b742027df.css.gz +0 -0
  66. data/public/assets/toolbox_smalrubot_v3-9af26ff13d4496890c4a391f65f95bcd.css +1 -0
  67. data/public/assets/toolbox_smalrubot_v3-9af26ff13d4496890c4a391f65f95bcd.css.gz +0 -0
  68. data/public/blockly/media/anon.jpeg +0 -0
  69. data/public/blockly/media/handclosed.cur +0 -0
  70. data/public/blockly/media/handdelete.cur +0 -0
  71. data/public/blockly/media/progress.gif +0 -0
  72. data/public/blockly/media/sprites.png +0 -0
  73. data/smalruby-editor.gemspec +2 -1
  74. data/spec/acceptance/base.feature +3 -3
  75. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action.feature +107 -0
  76. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature +151 -0
  77. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_ir_photoreflector_value.feature +100 -0
  78. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature +73 -0
  79. data/spec/acceptance/ruby_mode/translate.feature +6 -6
  80. data/spec/acceptance/standalone/save.feature +3 -3
  81. data/spec/acceptance/standalone/signin.feature +1 -2
  82. data/spec/lib/smalruby_editor_spec.rb +21 -11
  83. data/spec/models/concerns/ruby_to_block/block/hardware__smalrubot_s1_spec.rb +279 -0
  84. data/vendor/assets/javascripts/blockly/blockly_compressed.js +995 -668
  85. data/vendor/assets/javascripts/blockly/blocks_compressed.js +138 -114
  86. data/vendor/assets/javascripts/blockly/msg/js/en_us.js +6 -6
  87. data/vendor/assets/javascripts/blockly/msg/js/ja.js +42 -28
  88. metadata +66 -25
  89. data/app/assets/javascripts/fix_blockly.js +0 -128
  90. data/app/assets/javascripts/views/signin_modal_view.js.coffee +0 -33
  91. data/app/views/editor/_toolbox.html.haml +0 -496
  92. data/public/assets/application-b305a6ea9e7c045a8e170bbf6fb09dd1.js +0 -35
  93. data/public/assets/application-b305a6ea9e7c045a8e170bbf6fb09dd1.js.gz +0 -0
  94. data/public/assets/application-d5358d75a2c4e570c749b333c59b55ab.css.gz +0 -0
  95. data/public/assets/blockly/msg/js/en_us-6f7333af29688596ef863fa36a22cb41.js +0 -1
  96. data/public/assets/blockly/msg/js/en_us-6f7333af29688596ef863fa36a22cb41.js.gz +0 -0
  97. data/public/assets/blockly/msg/js/ja-d2cbf808bda8180571bc5f39141a98fe.js +0 -1
  98. data/public/assets/blockly/msg/js/ja-d2cbf808bda8180571bc5f39141a98fe.js.gz +0 -0
  99. data/public/assets/manifest-b1b843b1334b3b973824ab66b1f7a077.json +0 -1
  100. data/public/assets/msg/en_us-c6f8f0084f38560bf933b742ede64a52.js +0 -1
  101. data/public/assets/msg/en_us-c6f8f0084f38560bf933b742ede64a52.js.gz +0 -0
  102. data/public/assets/msg/ja-3703e6ceebd04ae1f08b0e871800539d.js +0 -1
  103. data/public/assets/msg/ja-3703e6ceebd04ae1f08b0e871800539d.js.gz +0 -0
  104. data/public/blockly/media/trashbody.png +0 -0
  105. data/public/blockly/media/trashlid.png +0 -0
  106. data/public/blockly/media/tree.png +0 -0
@@ -16,18 +16,25 @@ Blockly.Msg.COMMON_BACKWARD = 'backward';
16
16
  Blockly.Msg.COMMON_TURN_LEFT = 'turn left';
17
17
  Blockly.Msg.COMMON_TURN_RIGHT = 'turn right';
18
18
  Blockly.Msg.COMMON_STOP = 'stop';
19
+ Blockly.Msg.COMMON_ERROR = 'Error';
19
20
 
20
21
 
21
22
  // colour name
22
23
  Blockly.Msg.COLOUR_RED = 'red';
23
24
  Blockly.Msg.COLOUR_GREEN = 'green';
25
+ Blockly.Msg.COLOUR_BLUE = 'blue';
26
+ Blockly.Msg.COLOUR_WHITE = 'white';
27
+
28
+
29
+ // smalruby.js.coffee
30
+ Blockly.Msg.SMALRUBY_WILL_DISAPPER_YOUR_PROGRAM = 'Disappear your program!';
24
31
 
25
32
 
26
33
  // views/main_menu_view.js.coffee
27
34
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LINES = ' Lines';
28
35
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LETTERS = ' Letters';
29
36
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_COMMA = ', ';
30
-
37
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_CONFIRM_OVERWRITE = 'Are you sure to save?\nBecause you saved as {$filename}, so that will disappear, if you will save!';
31
38
 
32
39
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_TITLE = 'Converting Program';
33
40
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_MESSAGE = 'Converting your program to instruction blocks.';
@@ -41,6 +48,40 @@ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANCEL_TO_RUN = "Cancel to run your p
41
48
 
42
49
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_TITLE = 'Downloading';
43
50
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_MESSAGE = "Downloading your program.";
51
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_SUCCEEDED = 'Downloaded.<br>You can run with "ruby {$filename}" on windows or "rsdl {$filename}" on Mac OS X.';
52
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_ERROR = "Can't download";
53
+
54
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_LOAD_CONFIRM = "Your program will disappear, because you didn't save it! Are you sure to load?";
55
+
56
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_ERROR_NO_NAME = 'You must set program name before you save it!';
57
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_BLOCKUI_TITLE = 'Saving your program';
58
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_BLOCKUI_MESSAGE = 'Now, saving your program.';
59
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_BLOCKUI_NOTICE = 'Your program name is "{$filename}".<br>It will be saved at home directory.<br>';
60
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_ERROR_MESSAGE = "Can't save your program.";
61
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_CANCELED = 'Canceled to save.';
62
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_SUCCEEDED = 'Saved.';
63
+
64
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_BLOCKUI_TITLE = 'Checking your program';
65
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_BLOCKUI_MESSAGE = 'Now, checking syntax of your program.';
66
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_BLOCKUI_NOTICE = 'This is only checking syntax, so you will find error when you run it.';
67
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_SUCCEEDED = 'Checked.';
68
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_SUCCEEDED_NOTICE = 'Your program was checked only syntax, so you will find error when you run it.';
69
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_ERROR = "Can't check.";
70
+
71
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SIGNOUT_SUCCEEDED = 'Logouted.';
72
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SIGNOUT_ERROR = "Can't logout.";
73
+
74
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_LOAD_ERROR = '{$filename}{$error}';
75
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_LOAD_SUCCEEDED = 'Loaded.';
76
+
77
+
78
+ // views/load_modal_view.js.coffee
79
+ Blockly.Msg.VIEWS_LOAD_MODAL_VIEW_ERROR = "Can't load the program.";
80
+
81
+
82
+ // views/signin_modal_view.js.coffee
83
+ Blockly.Msg.VIEWS_SIGNIN_MODAL_VIEW_SIGNED_IN = 'Logged in.';
84
+ Blockly.Msg.VIEWS_SIGNIN_MODAL_VIEW_ERROR = "Can't login.";
44
85
 
45
86
 
46
87
  // blocks/motion.js.coffee.erb
@@ -49,13 +90,10 @@ Blockly.Msg.BLOCKS_MOTION_TURN_RIGHT_DEGREES = 'turn right %1 degrees';
49
90
  Blockly.Msg.BLOCKS_MOTION_TURN_LEFT_DEGREES = 'turn left %1 degrees';
50
91
  Blockly.Msg.BLOCKS_MOTION_POINT_IN_DIRECTION = 'point in direction %1';
51
92
  Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_MOUSE = 'point towards mouse-pointer';
52
- Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_CHARACTER = 'point towards';
53
- Blockly.Msg.BLOCKS_MOTION_SET_X_Y_X = 'go to x:';
54
- Blockly.Msg.BLOCKS_MOTION_SET_X_Y_Y = 'y:';
55
- Blockly.Msg.BLOCKS_MOTION_SET_X_Y_SUFFIX = '';
93
+ Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_CHARACTER = 'point towards %1';
94
+ Blockly.Msg.BLOCKS_MOTION_SET_X_Y = 'go to x: %1 y: %2';
56
95
  Blockly.Msg.BLOCKS_MOTION_GO_TO_MOUSE = 'go to mouse-pointer';
57
- Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_PREFIX = 'go to ';
58
- Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_SUFFIX = '';
96
+ Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER = 'go to %1';
59
97
  Blockly.Msg.BLOCKS_MOTION_CHANGE_X_BY = 'change x by %1';
60
98
  Blockly.Msg.BLOCKS_MOTION_SET_X = 'set x to %1';
61
99
  Blockly.Msg.BLOCKS_MOTION_CHANGE_Y_BY = 'change y by %1';
@@ -64,25 +102,22 @@ Blockly.Msg.BLOCKS_MOTION_TURN_IF_REACH_WALL = 'if reach wall, turn';
64
102
  Blockly.Msg.BLOCKS_MOTION_TURN = 'turn';
65
103
  Blockly.Msg.BLOCKS_MOTION_TURN_XY_X = '(x) horizontal';
66
104
  Blockly.Msg.BLOCKS_MOTION_TURN_XY_Y = '(y) vertical';
67
- Blockly.Msg.BLOCKS_MOTION_TURN_XY_PREFIX = 'turn to ';
68
- Blockly.Msg.BLOCKS_MOTION_TURN_XY_SUFFIX = '';
105
+ Blockly.Msg.BLOCKS_MOTION_TURN_XY = 'turn to %1';
106
+ Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE = 'set rotation style %1';
69
107
  Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_LEFT_RIGHT = 'left-right';
70
108
  Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_NONE = "don't rorate";
71
109
  Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_FREE = 'all around';
72
- Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_PREFIX = 'set rotation style ';
73
- Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_SUFFIX = '';
74
110
  Blockly.Msg.BLOCKS_MOTION_SELF_X = 'x position';
75
111
  Blockly.Msg.BLOCKS_MOTION_SELF_Y = 'y position';
76
112
  Blockly.Msg.BLOCKS_MOTION_SELF_ANGLE = 'direction';
77
113
 
114
+
78
115
  // blocks/events.js.coffee.erb
79
116
  Blockly.Msg.BLOCKS_EVENTS_ON_START = 'when Run clicked';
80
- Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_PREFIX = 'when ';
81
- Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_MIDDLE = ' key ';
82
- Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_SUFFIX = '';
117
+ Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN = 'when %1 key %2';
83
118
  Blockly.Msg.BLOCKS_EVENTS_ON_CLICK = 'when this sprite clicked';
84
- Blockly.Msg.BLOCKS_EVENTS_ON_HIT_PREFIX = 'when ';
85
- Blockly.Msg.BLOCKS_EVENTS_ON_HIT_SUFFIX = ' hit';
119
+ Blockly.Msg.BLOCKS_EVENTS_ON_HIT = 'when %1 hit';
120
+
86
121
 
87
122
  // blocks/sensing.js.coffee.erb
88
123
  Blockly.Msg.BLOCKS_SENSING_K_UP = 'up arrow';
@@ -118,7 +153,7 @@ Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME_INDEX = 'costume #';
118
153
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME = 'contume name';
119
154
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_SCALE = 'size';
120
155
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_VOLUME = 'volume';
121
- Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_MIDDLE = ' of ';
156
+ Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY = '%2 of %1';
122
157
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_YEAR = 'year';
123
158
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MONTH = 'month';
124
159
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_DAY = 'day';
@@ -127,6 +162,8 @@ Blockly.Msg.BLOCKS_SENSING_TIME_NOW_HOUR = 'hour';
127
162
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MIN = 'min';
128
163
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_SEC = 'sec';
129
164
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW = 'current ';
165
+ Blockly.Msg.BLOCKS_SENSING_DAYS_SINCE_2000 = 'days since 2000';
166
+
130
167
 
131
168
  // blocks/control.js.coffee.erb
132
169
  Blockly.Msg.BLOCKS_CONTROL_SLEEP = 'wait %1 secs';
@@ -143,15 +180,20 @@ Blockly.Msg.BLOCKS_CONTROL_AWAIT_UNTIL = 'wait until %1';
143
180
  Blockly.Msg.BLOCKS_CONTROL_UNTIL = 'repeat until %1';
144
181
  Blockly.Msg.BLOCKS_CONTROL_AWAIT = 'just wait a little';
145
182
 
183
+
146
184
  // blocks/ruby.js.coffee.erb
147
185
  Blockly.Msg.BLOCKS_RUBY_STATEMENT = 'statement ';
148
186
  Blockly.Msg.BLOCKS_RUBY_EXPRESSION = 'expression ';
149
187
  Blockly.Msg.BLOCKS_RUBY_COMMENT = 'comment ';
188
+ Blockly.Msg.BLOCKS_RUBY_P = 'p %1';
189
+
150
190
 
151
191
  // blocks/field_character.js.coffee.erb
152
192
  Blockly.Msg.BLOCKS_FIELD_CHARACTER_NO_CHARACTER = 'no character';
153
193
 
194
+
154
195
  // blocks/sound.js.coffee.erb
196
+ Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS = '%1';
155
197
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO = 'Middle C of piano';
156
198
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RE = 'D of piano';
157
199
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_MI = 'E of piano';
@@ -162,6 +204,7 @@ Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SI = 'B of piano';
162
204
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO_2 = 'High C of piano';
163
205
  Blockly.Msg.BLOCKS_SOUND_PLAY = 'play sound %1';
164
206
 
207
+
165
208
  // blocks/looks.js.coffee.erb
166
209
  Blockly.Msg.BLOCKS_LOOKS_SAY = 'say %1';
167
210
  Blockly.Msg.BLOCKS_LOOKS_THINK = 'think %1';
@@ -171,6 +214,7 @@ Blockly.Msg.BLOCKS_LOOKS_SHOW = 'show';
171
214
  Blockly.Msg.BLOCKS_LOOKS_HIDE = 'hide';
172
215
  Blockly.Msg.BLOCKS_LOOKS_VANISH = 'vanish';
173
216
 
217
+
174
218
  // blocks/hardware.js.coffee.erb
175
219
  Blockly.Msg.BLOCKS_HARDWARE_LED_TURN_ON = 'turn on LED %1';
176
220
  Blockly.Msg.BLOCKS_HARDWARE_LED_TURN_OFF = 'turn off LED %1';
@@ -186,6 +230,7 @@ Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_OFF = 'turn off 7 segment disp
186
230
  Blockly.Msg.BLOCKS_HARDWARE_LCD_PUTS = 'display %1 on the LCD';
187
231
  Blockly.Msg.BLOCKS_HARDWARE_LCD_CLEAR = 'clear LCD';
188
232
  Blockly.Msg.BLOCKS_HARDWARE_SERVO_SET_POSITION = 'servo motor %1 set %2 degree (5-180)';
233
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS = '%1';
189
234
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_FORWARD = 'forward 2WD car %1';
190
235
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_BACKWARD = 'backward 2WD car %1';
191
236
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_LEFT = 'turn left 2WD car %1';
@@ -214,6 +259,10 @@ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION = '%1 Smalrubot v3';
214
259
  Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION_WITH_SEC = '%1 Smalrubot v3 for %2 secs';
215
260
  Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_TOUCH_SENSOR_PRESSED_OR_RELEASED = 'Smalrubot v3 %1 touch sensor %2 ?';
216
261
  Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_LIGHT_SENSOR_VALUE = 'Smalrubot v3 light sensor value';
262
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_LED_TURN_ON_OR_OFF = '%2 Smalrubot s1 %1 LED';
263
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION = '%1 Smalrubot s1';
264
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION_WITH_SEC = '%1 Smalrubot s1 for %2 secs';
265
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_IR_PHOTOREFLECTOR_VALUE = 'Smalrubot s1 %1 IR Photoreflector';
217
266
 
218
267
 
219
268
  // blocks/operators.js.coffee.erb
@@ -252,6 +301,7 @@ Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_10_SQUARE = '10 ^';
252
301
  Blockly.Msg.BLOCKS_OPERATORS_TRUE = 'true';
253
302
  Blockly.Msg.BLOCKS_OPERATORS_FALSE = 'false';
254
303
 
304
+
255
305
  // blocks/pen.js.coffee.erb
256
306
  Blockly.Msg.BLOCKS_PEN_DOWN_PEN = 'pen down';
257
307
  Blockly.Msg.BLOCKS_PEN_UP_PEN = 'pen up';
@@ -16,17 +16,25 @@ Blockly.Msg.COMMON_BACKWARD = 'バックさせる';
16
16
  Blockly.Msg.COMMON_TURN_LEFT = '左に曲げる';
17
17
  Blockly.Msg.COMMON_TURN_RIGHT = '右に曲げる';
18
18
  Blockly.Msg.COMMON_STOP = '止める';
19
+ Blockly.Msg.COMMON_ERROR = 'エラー';
19
20
 
20
21
 
21
22
  // colour name
22
23
  Blockly.Msg.COLOUR_RED = '赤色';
23
24
  Blockly.Msg.COLOUR_GREEN = '緑色';
25
+ Blockly.Msg.COLOUR_BLUE = '青色';
26
+ Blockly.Msg.COLOUR_WHITE = '白色';
27
+
28
+
29
+ // smalruby.js.coffee
30
+ Blockly.Msg.SMALRUBY_WILL_DISAPPER_YOUR_PROGRAM = '作成中のプログラムが消えてしまうよ!';
24
31
 
25
32
 
26
33
  // views/main_menu_view.js.coffee
27
34
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LINES = '行';
28
35
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LETTERS = '文字';
29
36
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_COMMA = '、';
37
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_CONFIRM_OVERWRITE = '前に{$filename}という名前でセーブしているけど本当にセーブしますか?\nセーブすると前に作成したプログラムは消えてしまうよ!';
30
38
 
31
39
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_TITLE = 'プログラムの変換中';
32
40
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_MESSAGE = 'プログラムをブロックに変換しています。';
@@ -40,48 +48,76 @@ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANCEL_TO_RUN = 'プログラムの
40
48
 
41
49
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_TITLE = 'プログラムのダウンロード中';
42
50
  Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_MESSAGE = 'プログラムをダウンロードしています。';
51
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_SUCCEEDED = 'ダウンロードしました。<br>ダウンロードしたプログラムは、Windowsだと「ruby {$filename}」、Macだと「rsdl {$filename}」で実行できます。';
52
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_ERROR = 'ダウンロードできませんでした';
53
+
54
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_LOAD_CONFIRM = 'まだセーブしていないのでロードするとプログラムが消えてしまうよ!\nそれでもロードしますか?';
55
+
56
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_ERROR_NO_NAME = 'セーブする前にプログラムに名前をつけてね!';
57
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_BLOCKUI_TITLE = 'プログラムのセーブ中';
58
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_BLOCKUI_MESSAGE = 'プログラムをセーブしています。';
59
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_BLOCKUI_NOTICE = 'プログラムの名前は「{$filename}」です。<br>プログラムはホームディレクトリにセーブします。<br>';
60
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_ERROR_MESSAGE = 'セーブできませんでした';
61
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_CANCELED = 'セーブをキャンセルしました';
62
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SAVE_SUCCEEDED = 'セーブしました';
63
+
64
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_BLOCKUI_TITLE = 'プログラムのチェック中';
65
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_BLOCKUI_MESSAGE = 'プログラムの文法をチェックしています。';
66
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_BLOCKUI_NOTICE = 'このチェックは簡易的なものですので、<br>プログラムを動かすとエラーが見つかるかもしれません。';
67
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_SUCCEEDED = 'チェックしました';
68
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_SUCCEEDED_NOTICE = 'ただし、プログラムを動かすとエラーが見つかるかもしれません。';
69
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_CHECK_ERROR = 'チェックできませんでした';
70
+
71
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SIGNOUT_SUCCEEDED = 'ログアウトしました';
72
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_SIGNOUT_ERROR = 'ログアウトに失敗しました';
73
+
74
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_LOAD_ERROR = '{$filename}{$error}';
75
+ Blockly.Msg.VIEWS_MAIN_MENU_VIEW_LOAD_SUCCEEDED = 'ロードしました';
76
+
77
+
78
+ // views/load_modal_view.js.coffee
79
+ Blockly.Msg.VIEWS_LOAD_MODAL_VIEW_ERROR = 'ロードに失敗しました';
80
+
81
+
82
+ // views/signin_modal_view.js.coffee
83
+ Blockly.Msg.VIEWS_SIGNIN_MODAL_VIEW_SIGNED_IN = 'ログインしました';
84
+ Blockly.Msg.VIEWS_SIGNIN_MODAL_VIEW_ERROR = 'ログインに失敗しました';
43
85
 
44
86
 
45
87
  // blocks/motion.js.coffee.erb
46
- Blockly.Msg.BLOCKS_MOTION_MOVE = '%1歩動かす';
47
- Blockly.Msg.BLOCKS_MOTION_TURN_RIGHT_DEGREES = '時計回りに%1度回す';
48
- Blockly.Msg.BLOCKS_MOTION_TURN_LEFT_DEGREES = '反時計回りに%1度回す';
49
- Blockly.Msg.BLOCKS_MOTION_POINT_IN_DIRECTION = '%1度に向ける';
50
- Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_MOUSE = 'マウスポインターへ向ける';
51
- Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_CHARACTER = 'へ向ける';
52
- Blockly.Msg.BLOCKS_MOTION_SET_X_Y_X = 'x座標を';
53
- Blockly.Msg.BLOCKS_MOTION_SET_X_Y_Y = '、y座標を';
54
- Blockly.Msg.BLOCKS_MOTION_SET_X_Y_SUFFIX = 'にする';
55
- Blockly.Msg.BLOCKS_MOTION_GO_TO_MOUSE = 'マウスポインターへ行く';
56
- Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_PREFIX = '';
57
- Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_SUFFIX = 'へ行く';
58
- Blockly.Msg.BLOCKS_MOTION_CHANGE_X_BY = 'x座標を%1ずつ変える';
59
- Blockly.Msg.BLOCKS_MOTION_SET_X = 'x座標を%1にする';
60
- Blockly.Msg.BLOCKS_MOTION_CHANGE_Y_BY = 'y座標を%1ずつ変える';
61
- Blockly.Msg.BLOCKS_MOTION_SET_Y = 'y座標を%1にする';
62
- Blockly.Msg.BLOCKS_MOTION_TURN_IF_REACH_WALL = 'もし端に着いたら、跳ね返る';
63
- Blockly.Msg.BLOCKS_MOTION_TURN = '跳ね返る';
88
+ Blockly.Msg.BLOCKS_MOTION_MOVE = '■%1歩動かす';
89
+ Blockly.Msg.BLOCKS_MOTION_TURN_RIGHT_DEGREES = '■時計回りに%1度回す';
90
+ Blockly.Msg.BLOCKS_MOTION_TURN_LEFT_DEGREES = '■反時計回りに%1度回す';
91
+ Blockly.Msg.BLOCKS_MOTION_POINT_IN_DIRECTION = '■%1 度に向ける';
92
+ Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_MOUSE = '■マウスポインターへ向ける';
93
+ Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_CHARACTER = '■%1 へ向ける';
94
+ Blockly.Msg.BLOCKS_MOTION_SET_X_Y = 'x座標を %1 、y座標を %2 にする';
95
+ Blockly.Msg.BLOCKS_MOTION_GO_TO_MOUSE = '■マウスポインターへ行く';
96
+ Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER = '■%1 へ行く';
97
+ Blockly.Msg.BLOCKS_MOTION_CHANGE_X_BY = '■x座標を %1 ずつ変える';
98
+ Blockly.Msg.BLOCKS_MOTION_SET_X = '■x座標を %1 にする';
99
+ Blockly.Msg.BLOCKS_MOTION_CHANGE_Y_BY = '■y座標を %1 ずつ変える';
100
+ Blockly.Msg.BLOCKS_MOTION_SET_Y = '■y座標を %1 にする';
101
+ Blockly.Msg.BLOCKS_MOTION_TURN_IF_REACH_WALL = '■もし端に着いたら、跳ね返る';
102
+ Blockly.Msg.BLOCKS_MOTION_TURN = '■跳ね返る';
64
103
  Blockly.Msg.BLOCKS_MOTION_TURN_XY_X = '水平(x)';
65
104
  Blockly.Msg.BLOCKS_MOTION_TURN_XY_Y = '垂直(y)';
66
- Blockly.Msg.BLOCKS_MOTION_TURN_XY_PREFIX = '';
67
- Blockly.Msg.BLOCKS_MOTION_TURN_XY_SUFFIX = '方向に跳ね返る';
105
+ Blockly.Msg.BLOCKS_MOTION_TURN_XY = '■%1 方向に跳ね返る';
68
106
  Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_LEFT_RIGHT = '左右のみ';
69
107
  Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_NONE = '回転しない';
70
108
  Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_FREE = '自由に回転';
71
- Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_PREFIX = '回転方法を';
72
- Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_SUFFIX = 'にする';
73
- Blockly.Msg.BLOCKS_MOTION_SELF_X = 'x座標';
74
- Blockly.Msg.BLOCKS_MOTION_SELF_Y = 'y座標';
75
- Blockly.Msg.BLOCKS_MOTION_SELF_ANGLE = '向き';
109
+ Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE = '■回転方法を %1 にする';
110
+ Blockly.Msg.BLOCKS_MOTION_SELF_X = '■x座標';
111
+ Blockly.Msg.BLOCKS_MOTION_SELF_Y = '■y座標';
112
+ Blockly.Msg.BLOCKS_MOTION_SELF_ANGLE = '■向き';
113
+
76
114
 
77
115
  // blocks/events.js.coffee.erb
78
- Blockly.Msg.BLOCKS_EVENTS_ON_START = '実行ボタンがクリックされたとき';
79
- Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_PREFIX = 'キーボードの';
80
- Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_MIDDLE = '';
81
- Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_SUFFIX = 'とき';
82
- Blockly.Msg.BLOCKS_EVENTS_ON_CLICK = 'キャラクターがクリックされたとき';
83
- Blockly.Msg.BLOCKS_EVENTS_ON_HIT_PREFIX = '';
84
- Blockly.Msg.BLOCKS_EVENTS_ON_HIT_SUFFIX = 'にぶつかったとき';
116
+ Blockly.Msg.BLOCKS_EVENTS_ON_START = '♣実行ボタンがクリックされたとき';
117
+ Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN = '♣キーボードの %1 が %2 のとき';
118
+ Blockly.Msg.BLOCKS_EVENTS_ON_CLICK = '♣キャラクターがクリックされたとき';
119
+ Blockly.Msg.BLOCKS_EVENTS_ON_HIT = '♣%1 にぶつかったとき';
120
+
85
121
 
86
122
  // blocks/sensing.js.coffee.erb
87
123
  Blockly.Msg.BLOCKS_SENSING_K_UP = '↑';
@@ -99,16 +135,16 @@ Blockly.Msg.BLOCKS_SENSING_M_MBUTTON = '中ボタン';
99
135
  Blockly.Msg.BLOCKS_SENSING_M_RBUTTON = '右ボタン';
100
136
  Blockly.Msg.BLOCKS_SENSING_RELEASED = '離された';
101
137
  Blockly.Msg.BLOCKS_SENSING_UP = Blockly.Msg.BLOCKS_SENSING_RELEASED;
102
- Blockly.Msg.BLOCKS_SENSING_REACH_WALL = '端に触れた';
103
- Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_PREFIX = 'キーボードの';
138
+ Blockly.Msg.BLOCKS_SENSING_REACH_WALL = '◎端に触れた';
139
+ Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_PREFIX = '◎キーボードの';
104
140
  Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_MIDDLE = 'が';
105
141
  Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_SUFFIX = '';
106
- Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_PREFIX = 'マウスの';
142
+ Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_PREFIX = '◎マウスの';
107
143
  Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_MIDDLE = 'が';
108
144
  Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_SUFFIX = '';
109
- Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_X = 'マウスのx座標';
110
- Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_Y = 'マウスのy座標';
111
- Blockly.Msg.BLOCKS_SENSING_HIT_PREFIX = '';
145
+ Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_X = '◎マウスのx座標';
146
+ Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_Y = '◎マウスのy座標';
147
+ Blockly.Msg.BLOCKS_SENSING_HIT_PREFIX = '';
112
148
  Blockly.Msg.BLOCKS_SENSING_HIT_SUFFIX = 'に触れた';
113
149
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_X = 'x座標';
114
150
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_Y = 'y座標';
@@ -117,7 +153,7 @@ Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME_INDEX = 'コスチュー
117
153
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME = 'コスチューム名';
118
154
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_SCALE = '大きさ';
119
155
  Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_VOLUME = 'ボリューム';
120
- Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_MIDDLE = 'の';
156
+ Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY = '◎%1 %2';
121
157
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_YEAR = '年';
122
158
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MONTH = '月';
123
159
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_DAY = '日';
@@ -125,32 +161,39 @@ Blockly.Msg.BLOCKS_SENSING_TIME_NOW_WDAY = '曜日';
125
161
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_HOUR = '時';
126
162
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MIN = '分';
127
163
  Blockly.Msg.BLOCKS_SENSING_TIME_NOW_SEC = '秒';
128
- Blockly.Msg.BLOCKS_SENSING_TIME_NOW = '現在の';
164
+ Blockly.Msg.BLOCKS_SENSING_TIME_NOW = '◎現在の %1';
165
+ Blockly.Msg.BLOCKS_SENSING_DAYS_SINCE_2000 = '◎2000年からの日数';
166
+
129
167
 
130
168
  // blocks/control.js.coffee.erb
131
- Blockly.Msg.BLOCKS_CONTROL_SLEEP = '%1秒待つ';
132
- Blockly.Msg.BLOCKS_CONTROL_LOOP = 'ずっと';
169
+ Blockly.Msg.BLOCKS_CONTROL_SLEEP = '◆%1秒待つ';
170
+ Blockly.Msg.BLOCKS_CONTROL_LOOP = '◆ずっと';
133
171
  Blockly.Msg.BLOCKS_CONTROL_LOOP_END = 'を繰り返す';
134
- Blockly.Msg.BLOCKS_CONTROL_BREAK = '繰り返しから脱出する';
135
- Blockly.Msg.BLOCKS_CONTROL_NEXT = '次の繰り返しにジャンプする';
136
- Blockly.Msg.BLOCKS_CONTROL_REDO = '現在の繰り返しをやり直す';
137
- Blockly.Msg.BLOCKS_CONTROL_IF = 'もし';
172
+ Blockly.Msg.BLOCKS_CONTROL_BREAK = '◆繰り返しから脱出する';
173
+ Blockly.Msg.BLOCKS_CONTROL_NEXT = '◆以降の処理を飛ばして、次の回の処理を開始する';
174
+ Blockly.Msg.BLOCKS_CONTROL_REDO = '◆以降の処理を飛ばして、もう一度同じ処理をやり直す';
175
+ Blockly.Msg.BLOCKS_CONTROL_IF = '◆もし';
138
176
  Blockly.Msg.BLOCKS_CONTROL_THEN = 'ならば';
139
177
  Blockly.Msg.BLOCKS_CONTROL_ELSE = 'でなければ';
140
- Blockly.Msg.BLOCKS_CONTROL_TIMES = '%1回繰り返す';
141
- Blockly.Msg.BLOCKS_CONTROL_AWAIT_UNTIL = '%1まで待つ';
142
- Blockly.Msg.BLOCKS_CONTROL_UNTIL = '%1まで';
143
- Blockly.Msg.BLOCKS_CONTROL_AWAIT = 'ほんの少し待つ';
178
+ Blockly.Msg.BLOCKS_CONTROL_TIMES = '◆%1回繰り返す';
179
+ Blockly.Msg.BLOCKS_CONTROL_AWAIT_UNTIL = '◆%1まで待つ';
180
+ Blockly.Msg.BLOCKS_CONTROL_UNTIL = '◆%1まで';
181
+ Blockly.Msg.BLOCKS_CONTROL_AWAIT = '◆ほんの少し待つ';
182
+
144
183
 
145
184
  // blocks/ruby.js.coffee.erb
146
- Blockly.Msg.BLOCKS_RUBY_STATEMENT = '';
147
- Blockly.Msg.BLOCKS_RUBY_EXPRESSION = '';
148
- Blockly.Msg.BLOCKS_RUBY_COMMENT = 'コメント';
185
+ Blockly.Msg.BLOCKS_RUBY_STATEMENT = '♠文';
186
+ Blockly.Msg.BLOCKS_RUBY_EXPRESSION = '♠式';
187
+ Blockly.Msg.BLOCKS_RUBY_COMMENT = '♠コメント';
188
+ Blockly.Msg.BLOCKS_RUBY_P = '♠p %1';
189
+
149
190
 
150
191
  // blocks/field_character.js.coffee.erb
151
192
  Blockly.Msg.BLOCKS_FIELD_CHARACTER_NO_CHARACTER = 'キャラクターなし';
152
193
 
194
+
153
195
  // blocks/sound.js.coffee.erb
196
+ Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS = '♪%1';
154
197
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO = 'ピアノのド';
155
198
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RE = 'ピアノのレ';
156
199
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_MI = 'ピアノのミ';
@@ -159,60 +202,67 @@ Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SO = 'ピアノのソ';
159
202
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RA = 'ピアノのラ';
160
203
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SI = 'ピアノのシ';
161
204
  Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO_2 = 'ピアノの高いド';
162
- Blockly.Msg.BLOCKS_SOUND_PLAY = '%1の音を鳴らす';
205
+ Blockly.Msg.BLOCKS_SOUND_PLAY = '♪%1 の音を鳴らす';
206
+
163
207
 
164
208
  // blocks/looks.js.coffee.erb
165
- Blockly.Msg.BLOCKS_LOOKS_SAY = '%1と言う';
166
- Blockly.Msg.BLOCKS_LOOKS_THINK = '%1と考える';
167
- Blockly.Msg.BLOCKS_LOOKS_SAY_WITH_SECOND = '%1と%2秒と言う';
168
- Blockly.Msg.BLOCKS_LOOKS_THINK_WITH_SECOND = '%1と%2秒と考える';
169
- Blockly.Msg.BLOCKS_LOOKS_SHOW = '表示する';
170
- Blockly.Msg.BLOCKS_LOOKS_HIDE = '隠す';
171
- Blockly.Msg.BLOCKS_LOOKS_VANISH = '消滅する';
209
+ Blockly.Msg.BLOCKS_LOOKS_SAY = '★%1 と言う';
210
+ Blockly.Msg.BLOCKS_LOOKS_THINK = '★%1 と考える';
211
+ Blockly.Msg.BLOCKS_LOOKS_SAY_WITH_SECOND = '★%1 と %2 秒と言う';
212
+ Blockly.Msg.BLOCKS_LOOKS_THINK_WITH_SECOND = '★%1 と %2 秒と考える';
213
+ Blockly.Msg.BLOCKS_LOOKS_SHOW = '★表示する';
214
+ Blockly.Msg.BLOCKS_LOOKS_HIDE = '★隠す';
215
+ Blockly.Msg.BLOCKS_LOOKS_VANISH = '★消滅する';
216
+
172
217
 
173
218
  // blocks/hardware.js.coffee.erb
174
- Blockly.Msg.BLOCKS_HARDWARE_LED_TURN_ON = 'LED%1をオンにする';
175
- Blockly.Msg.BLOCKS_HARDWARE_LED_TURN_OFF = 'LED%1をオフにする';
219
+ Blockly.Msg.BLOCKS_HARDWARE_LED_TURN_ON = 'LED %1 をオンにする';
220
+ Blockly.Msg.BLOCKS_HARDWARE_LED_TURN_OFF = 'LED %1 をオフにする';
176
221
  Blockly.Msg.BLOCKS_HARDWARE_ANODE = 'アノード';
177
222
  Blockly.Msg.BLOCKS_HARDWARE_CATHODE = 'カソード';
178
223
  Blockly.Msg.BLOCKS_HARDWARE_LEFT = ' 左';
179
224
  Blockly.Msg.BLOCKS_HARDWARE_RIGHT = '右';
180
- Blockly.Msg.BLOCKS_HARDWARE_INIT_HARDWARE = 'ハードウェアを準備する';
181
- Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_SET_COLOR = 'RGB LED%1コモン%2を%3にする';
182
- Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_TURN_OFF = 'RGB LED%1コモン%2をオフにする';
183
- Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_SHOW = '7セグディスプレイに%1を表示する';
184
- Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_OFF = '7セグディスプレイをオフにする';
185
- Blockly.Msg.BLOCKS_HARDWARE_LCD_PUTS = 'LCDに%1を表示する';
186
- Blockly.Msg.BLOCKS_HARDWARE_LCD_CLEAR = 'LCDをクリアする';
187
- Blockly.Msg.BLOCKS_HARDWARE_SERVO_SET_POSITION = 'サーボ%1を%2度(5~180)にする';
188
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_FORWARD = '2WD車%1を進める';
189
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_BACKWARD = '2WD車%1をバックさせる';
190
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_LEFT = '2WD車%1を左に曲げる';
191
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_RIGHT = '2WD車%1を右に曲げる';
192
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_STOP = '2WD車%1を止める';
193
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_RUN = '2WD車%2を%3秒%1';
225
+ Blockly.Msg.BLOCKS_HARDWARE_INIT_HARDWARE = '♠ハードウェアを準備する';
226
+ Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_SET_COLOR = 'RGB LED %1 コモン %2 を %3 にする';
227
+ Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_TURN_OFF = 'RGB LED %1 コモン %2 をオフにする';
228
+ Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_SHOW = '7セグディスプレイに %1 を表示する';
229
+ Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_OFF = '7セグディスプレイをオフにする';
230
+ Blockly.Msg.BLOCKS_HARDWARE_LCD_PUTS = 'LCDに %1 を表示する';
231
+ Blockly.Msg.BLOCKS_HARDWARE_LCD_CLEAR = 'LCDをクリアする';
232
+ Blockly.Msg.BLOCKS_HARDWARE_SERVO_SET_POSITION = '■サーボ %1 を %2 度(5~180)にする';
233
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_FORWARD = '2WD車 %1 を進める';
234
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_BACKWARD = '2WD車 %1 をバックさせる';
235
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_LEFT = '2WD車 %1 を左に曲げる';
236
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_RIGHT = '2WD車 %1 を右に曲げる';
237
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_STOP = '2WD車 %1 を止める';
238
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_RUN = '2WD車 %2 を %3 秒 %1';
239
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS = '■%1';
194
240
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_FORWARD = '進める';
195
241
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_BACKWARD = 'バックさせる';
196
242
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_LEFT = '左に曲げる';
197
243
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_RIGHT = '右に曲げる';
198
244
  Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_STOP = '止める';
199
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SET_SPEED = '2WD車%1の%2の速度(%)を%3にする';
200
- Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SPEED = '2WD車%1の%2の速度(%)';
245
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SET_SPEED = '2WD車 %1 の %2 の速度(%)を %3 にする';
246
+ Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SPEED = '2WD車 %1 の %2 の速度(%)';
201
247
  Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_FORWARD = '正転させる';
202
248
  Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_BACKWARD = '逆転させる';
203
249
  Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_STOP = '止める';
204
- Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER = '(モータードライバ%1で)モーターを%2';
205
- Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SET_SPEED = '(モータードライバ%1の)モーターの速度を%2にする';
206
- Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SPEED = '(モータードライバ%1の)モーターの速度(%)';
207
- Blockly.Msg.BLOCKS_HARDWARE_BUTTON_PRESSED_OR_RELEASED = 'ボタン %1 が %2 ?';
208
- Blockly.Msg.BLOCKS_HARDWARE_SENSOR_VALUE = 'センサー %1';
209
- Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_LED_TURN_ON_OR_OFF = 'スモウルボットV3の %1 LEDを %2';
210
- Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SPEED = 'スモウルボットV3の %1 モーターの速度(%)';
211
- Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SET_SPEED = 'スモウルボットV3の %1 モーターの速度を %2 (%) にする';
212
- Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION = 'スモウルボットV3を %1';
213
- Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION_WITH_SEC = 'スモウルボットV3を %2 秒 %1';
214
- Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_TOUCH_SENSOR_PRESSED_OR_RELEASED = 'スモウルボットV3の %1 のタッチセンサーが %2 ?';
215
- Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_LIGHT_SENSOR_VALUE = 'スモウルボットV3の光センサー';
250
+ Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER = '(モータードライバ %1 で)モーターを %2';
251
+ Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SET_SPEED = '(モータードライバ %1 の)モーターの速度を %2 にする';
252
+ Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SPEED = '(モータードライバ %1 の)モーターの速度(%)';
253
+ Blockly.Msg.BLOCKS_HARDWARE_BUTTON_PRESSED_OR_RELEASED = '◎ボタン %1 が %2 ?';
254
+ Blockly.Msg.BLOCKS_HARDWARE_SENSOR_VALUE = '◎センサー %1';
255
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_LED_TURN_ON_OR_OFF = '★スモウルボットV3の %1 LEDを %2';
256
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SPEED = '◎スモウルボットV3の %1 モーターの速度(%)';
257
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SET_SPEED = '■スモウルボットV3の %1 モーターの速度を %2 (%) にする';
258
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION = '■スモウルボットV3を %1';
259
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION_WITH_SEC = '■スモウルボットV3を %2 秒 %1';
260
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_TOUCH_SENSOR_PRESSED_OR_RELEASED = '◎スモウルボットV3の %1 のタッチセンサーが %2 ?';
261
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_LIGHT_SENSOR_VALUE = '◎スモウルボットV3の光センサー';
262
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_LED_TURN_ON_OR_OFF = '★スモウルボットS1の %1 LEDを %2';
263
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION = '■スモウルボットS1を %1';
264
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION_WITH_SEC = '■スモウルボットS1を %2 秒 %1';
265
+ Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_IR_PHOTOREFLECTOR_VALUE = '◎スモウルボットS1の %1 のセンサー';
216
266
 
217
267
 
218
268
  // blocks/operators.js.coffee.erb
@@ -232,7 +282,7 @@ Blockly.Msg.BLOCKS_OPERATORS_NOT = '%1ではない';
232
282
  Blockly.Msg.BLOCKS_OPERATORS_INDEX_OF = '%1の%2番目';
233
283
  Blockly.Msg.BLOCKS_OPERATORS_LENGTH = '%1の長さ';
234
284
  Blockly.Msg.BLOCKS_OPERATORS_MODULO = '%1を%2で割った余り';
235
- Blockly.Msg.BLOCKS_OPERATORS_ROUND = '%1を丸める';
285
+ Blockly.Msg.BLOCKS_OPERATORS_ROUND = '%1を四捨五入';
236
286
  Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD = '%1の%2';
237
287
  Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ABS = '絶対値';
238
288
  Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_FLOOR = '切り上げ';
@@ -251,7 +301,13 @@ Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_10_SQUARE = '10 ^';
251
301
  Blockly.Msg.BLOCKS_OPERATORS_TRUE = '真';
252
302
  Blockly.Msg.BLOCKS_OPERATORS_FALSE = '偽';
253
303
 
304
+
254
305
  // blocks/pen.js.coffee.erb
255
- Blockly.Msg.BLOCKS_PEN_DOWN_PEN = 'ペンを下ろす';
256
- Blockly.Msg.BLOCKS_PEN_UP_PEN = 'ペンを上げる';
257
- Blockly.Msg.BLOCKS_PEN_SET_PEN_COLOR = 'ペンの色を%1にする';
306
+ Blockly.Msg.BLOCKS_PEN_DOWN_PEN = '●ペンを下ろす';
307
+ Blockly.Msg.BLOCKS_PEN_UP_PEN = '●ペンを上げる';
308
+ Blockly.Msg.BLOCKS_PEN_SET_PEN_COLOR = '●ペンの色を%1にする';
309
+
310
+
311
+ // override blockly's messages
312
+ Blockly.Msg.VARIABLES_SET_TITLE = '☼セット';
313
+ Blockly.Msg.VARIABLES_GET_TITLE = '☼';