smalruby-editor 0.1.22-x86-mingw32 → 0.1.23-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (396) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rspec +0 -0
  4. data/.rubocop.yml +0 -0
  5. data/.ruby-version +1 -1
  6. data/.simplecov +0 -0
  7. data/.travis.yml +1 -1
  8. data/LEGAL +0 -0
  9. data/LICENSE +0 -0
  10. data/Procfile +0 -0
  11. data/README.rdoc +1 -0
  12. data/Rakefile +0 -0
  13. data/app/assets/images/.keep +0 -0
  14. data/app/assets/images/favicon.ico +0 -0
  15. data/app/assets/javascripts/application.js +0 -1
  16. data/app/assets/javascripts/blocks/blockly.js.coffee.erb +0 -0
  17. data/app/assets/javascripts/blocks/character.js.coffee.erb +0 -0
  18. data/app/assets/javascripts/blocks/control.js.coffee.erb +16 -19
  19. data/app/assets/javascripts/blocks/data.js.coffee.erb +0 -0
  20. data/app/assets/javascripts/blocks/etc.js.coffee.erb +0 -0
  21. data/app/assets/javascripts/blocks/events.js.coffee.erb +8 -6
  22. data/app/assets/javascripts/blocks/field_character.js.coffee.erb +6 -1
  23. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +117 -167
  24. data/app/assets/javascripts/blocks/looks.js.coffee.erb +14 -16
  25. data/app/assets/javascripts/blocks/motion.js.coffee.erb +46 -47
  26. data/app/assets/javascripts/blocks/operators.js.coffee.erb +54 -57
  27. data/app/assets/javascripts/blocks/pen.js.coffee.erb +5 -9
  28. data/app/assets/javascripts/blocks/ruby.js.coffee.erb +4 -3
  29. data/app/assets/javascripts/blocks/sensing.js.coffee.erb +53 -48
  30. data/app/assets/javascripts/blocks/sound.js.coffee.erb +12 -10
  31. data/app/assets/javascripts/collections/.keep +0 -0
  32. data/app/assets/javascripts/collections/character_set.js.coffee +0 -0
  33. data/app/assets/javascripts/fix_blockly.js +74 -0
  34. data/app/assets/javascripts/generators/ruby.js.coffee.erb +0 -0
  35. data/app/assets/javascripts/models/.keep +0 -0
  36. data/app/assets/javascripts/models/character.js.coffee +0 -0
  37. data/app/assets/javascripts/models/scene.js.coffee +0 -0
  38. data/app/assets/javascripts/models/source_code.js.coffee +0 -0
  39. data/app/assets/javascripts/msg/en_us.js +236 -0
  40. data/app/assets/javascripts/msg/ja.js +237 -0
  41. data/app/assets/javascripts/routers/.keep +0 -0
  42. data/app/assets/javascripts/smalruby.js.coffee +8 -0
  43. data/app/assets/javascripts/views/.keep +0 -0
  44. data/app/assets/javascripts/views/character_modal_view.js.coffee +0 -0
  45. data/app/assets/javascripts/views/character_selector_view.js.coffee +0 -0
  46. data/app/assets/javascripts/views/load_modal_view.js.coffee +0 -0
  47. data/app/assets/javascripts/views/{main_menu_view.js.coffee → main_menu_view.js.coffee.erb} +19 -18
  48. data/app/assets/javascripts/views/reset_modal_view.js.coffee +0 -0
  49. data/app/assets/javascripts/views/signin_modal_view.js.coffee +0 -0
  50. data/app/assets/stylesheets/application.css +0 -0
  51. data/app/assets/stylesheets/editor.css.scss +4 -0
  52. data/app/assets/stylesheets/flatstrap-custom.css.scss +0 -0
  53. data/app/assets/stylesheets/load-modal.css.scss +0 -0
  54. data/app/assets/stylesheets/toolbox.css.scss.erb +0 -0
  55. data/app/assets/templates/.keep +0 -0
  56. data/app/controllers/application_controller.rb +16 -0
  57. data/app/controllers/concerns/.keep +0 -0
  58. data/app/controllers/editor_controller.rb +0 -0
  59. data/app/controllers/sessions_controller.rb +0 -0
  60. data/app/controllers/source_codes_controller.rb +0 -0
  61. data/app/helpers/application_helper.rb +11 -0
  62. data/app/helpers/editor_helper.rb +0 -0
  63. data/app/helpers/sessions_helper.rb +0 -0
  64. data/app/mailers/.keep +0 -0
  65. data/app/models/.keep +0 -0
  66. data/app/models/concerns/.keep +0 -0
  67. data/app/models/concerns/ruby_to_block.rb +0 -0
  68. data/app/models/concerns/ruby_to_block/block.rb +0 -0
  69. data/app/models/concerns/ruby_to_block/block/base.rb +0 -0
  70. data/app/models/concerns/ruby_to_block/block/character.rb +0 -0
  71. data/app/models/concerns/ruby_to_block/block/character_event.rb +0 -0
  72. data/app/models/concerns/ruby_to_block/block/character_method_call.rb +0 -0
  73. data/app/models/concerns/ruby_to_block/block/character_new.rb +0 -0
  74. data/app/models/concerns/ruby_to_block/block/character_operation.rb +0 -0
  75. data/app/models/concerns/ruby_to_block/block/control_beark.rb +0 -0
  76. data/app/models/concerns/ruby_to_block/block/control_if.rb +0 -0
  77. data/app/models/concerns/ruby_to_block/block/control_loop.rb +0 -0
  78. data/app/models/concerns/ruby_to_block/block/control_sleep.rb +0 -0
  79. data/app/models/concerns/ruby_to_block/block/do.rb +0 -0
  80. data/app/models/concerns/ruby_to_block/block/else.rb +0 -0
  81. data/app/models/concerns/ruby_to_block/block/end.rb +0 -0
  82. data/app/models/concerns/ruby_to_block/block/events_on_click.rb +0 -0
  83. data/app/models/concerns/ruby_to_block/block/events_on_key_push_or_down.rb +0 -0
  84. data/app/models/concerns/ruby_to_block/block/events_on_start.rb +0 -0
  85. data/app/models/concerns/ruby_to_block/block/hardware_button_down_or_up.rb +0 -0
  86. data/app/models/concerns/ruby_to_block/block/hardware_button_not_use_pullup.rb +0 -0
  87. data/app/models/concerns/ruby_to_block/block/hardware_init_hardware.rb +0 -0
  88. data/app/models/concerns/ruby_to_block/block/hardware_led_off.rb +0 -0
  89. data/app/models/concerns/ruby_to_block/block/hardware_led_on.rb +0 -0
  90. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver.rb +0 -0
  91. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_set_speed.rb +0 -0
  92. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_speed.rb +0 -0
  93. data/app/models/concerns/ruby_to_block/block/hardware_on_button_down_or_up.rb +0 -0
  94. data/app/models/concerns/ruby_to_block/block/hardware_on_sensor_change.rb +0 -0
  95. data/app/models/concerns/ruby_to_block/block/hardware_operation.rb +0 -0
  96. data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_off.rb +0 -0
  97. data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_on.rb +0 -0
  98. data/app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb +0 -0
  99. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb +0 -0
  100. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb +0 -0
  101. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_run.rb +0 -0
  102. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_set_speed.rb +0 -0
  103. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_speed.rb +0 -0
  104. data/app/models/concerns/ruby_to_block/block/looks_hide.rb +0 -0
  105. data/app/models/concerns/ruby_to_block/block/looks_say.rb +0 -0
  106. data/app/models/concerns/ruby_to_block/block/looks_show.rb +0 -0
  107. data/app/models/concerns/ruby_to_block/block/looks_vanish.rb +0 -0
  108. data/app/models/concerns/ruby_to_block/block/math_number.rb +0 -0
  109. data/app/models/concerns/ruby_to_block/block/motion_change_x_by.rb +0 -0
  110. data/app/models/concerns/ruby_to_block/block/motion_change_y_by.rb +0 -0
  111. data/app/models/concerns/ruby_to_block/block/motion_go_to_character.rb +0 -0
  112. data/app/models/concerns/ruby_to_block/block/motion_go_to_mouse.rb +0 -0
  113. data/app/models/concerns/ruby_to_block/block/motion_move.rb +0 -0
  114. data/app/models/concerns/ruby_to_block/block/motion_point_towards_character.rb +0 -0
  115. data/app/models/concerns/ruby_to_block/block/motion_point_towards_mouse.rb +0 -0
  116. data/app/models/concerns/ruby_to_block/block/motion_rotate_left.rb +0 -0
  117. data/app/models/concerns/ruby_to_block/block/motion_rotate_right.rb +0 -0
  118. data/app/models/concerns/ruby_to_block/block/motion_self_angle.rb +0 -0
  119. data/app/models/concerns/ruby_to_block/block/motion_self_x.rb +0 -0
  120. data/app/models/concerns/ruby_to_block/block/motion_self_y.rb +0 -0
  121. data/app/models/concerns/ruby_to_block/block/motion_set_angle.rb +0 -0
  122. data/app/models/concerns/ruby_to_block/block/motion_set_rotation_style.rb +17 -0
  123. data/app/models/concerns/ruby_to_block/block/motion_set_x.rb +0 -0
  124. data/app/models/concerns/ruby_to_block/block/motion_set_x_y.rb +0 -0
  125. data/app/models/concerns/ruby_to_block/block/motion_set_y.rb +0 -0
  126. data/app/models/concerns/ruby_to_block/block/motion_turn.rb +0 -0
  127. data/app/models/concerns/ruby_to_block/block/motion_turn_if_reach_wall.rb +0 -0
  128. data/app/models/concerns/ruby_to_block/block/motion_turn_xy.rb +0 -0
  129. data/app/models/concerns/ruby_to_block/block/null.rb +0 -0
  130. data/app/models/concerns/ruby_to_block/block/operators_compare.rb +0 -0
  131. data/app/models/concerns/ruby_to_block/block/operators_false.rb +0 -0
  132. data/app/models/concerns/ruby_to_block/block/operators_true.rb +0 -0
  133. data/app/models/concerns/ruby_to_block/block/require_smalruby.rb +0 -0
  134. data/app/models/concerns/ruby_to_block/block/ruby_comment.rb +0 -0
  135. data/app/models/concerns/ruby_to_block/block/ruby_expression.rb +0 -0
  136. data/app/models/concerns/ruby_to_block/block/ruby_p.rb +0 -0
  137. data/app/models/concerns/ruby_to_block/block/ruby_statement.rb +0 -0
  138. data/app/models/concerns/ruby_to_block/block/sensing_hit.rb +0 -0
  139. data/app/models/concerns/ruby_to_block/block/sensing_reach_wall.rb +0 -0
  140. data/app/models/concerns/ruby_to_block/block/sound_play.rb +0 -0
  141. data/app/models/concerns/ruby_to_block/block/sound_preset_sounds.rb +0 -0
  142. data/app/models/concerns/ruby_to_block/block/text.rb +0 -0
  143. data/app/models/concerns/ruby_to_block/block/value.rb +0 -0
  144. data/app/models/concerns/ruby_to_block/context.rb +0 -0
  145. data/app/models/concerns/ruby_to_block/formatter.rb +0 -0
  146. data/app/models/source_code.rb +0 -0
  147. data/app/views/editor/_block_tab.html.haml +4 -4
  148. data/app/views/editor/_character_modal.html.haml +7 -7
  149. data/app/views/editor/_load_modal.html.haml +6 -6
  150. data/app/views/editor/_reset_modal.html.haml +0 -0
  151. data/app/views/editor/_signin_modal.html.haml +0 -0
  152. data/app/views/editor/_toolbox.html.haml +39 -39
  153. data/app/views/editor/demo.html.erb +0 -0
  154. data/app/views/editor/index.html.haml +18 -18
  155. data/app/views/layouts/application.html.erb +2 -0
  156. data/bin/bundle +0 -0
  157. data/bin/rails +0 -0
  158. data/bin/rake +0 -0
  159. data/bin/smalruby-editor +0 -0
  160. data/config.ru +0 -0
  161. data/config/application.rb +1 -1
  162. data/config/boot.rb +0 -0
  163. data/config/database.yml.mysql2 +0 -0
  164. data/config/database.yml.sqlite3 +0 -0
  165. data/config/database.yml.travis +0 -0
  166. data/config/environment.rb +0 -0
  167. data/config/environments/development.rb +0 -0
  168. data/config/environments/production.rb +4 -1
  169. data/config/environments/standalone.rb +0 -0
  170. data/config/environments/test.rb +0 -0
  171. data/config/initializers/backtrace_silencers.rb +0 -0
  172. data/config/initializers/filter_parameter_logging.rb +0 -0
  173. data/config/initializers/inflections.rb +0 -0
  174. data/config/initializers/mime_types.rb +0 -0
  175. data/config/initializers/secret_token.rb +0 -0
  176. data/config/initializers/session_store.rb +0 -0
  177. data/config/initializers/teaspoon.rb +0 -0
  178. data/config/initializers/wrap_parameters.rb +0 -0
  179. data/config/locales/en.yml +64 -22
  180. data/config/locales/ja.yml +65 -0
  181. data/config/routes.rb +3 -1
  182. data/config/unicorn.rb +0 -0
  183. data/db/migrate/20131216121603_create_source_codes.rb +0 -0
  184. data/db/migrate/20131219045113_add_filename_to_source_code.rb +0 -0
  185. data/db/schema.rb +0 -0
  186. data/db/seeds.rb +0 -0
  187. data/demos/adjust_2wd_car.rb.xml +0 -0
  188. data/demos/car_chase.rb.xml +0 -0
  189. data/demos/hardware_led.rb.xml +0 -0
  190. data/demos/pong.rb.xml +0 -0
  191. data/demos/star.rb.xml +0 -0
  192. data/lib/assets/.keep +0 -0
  193. data/lib/smalruby_editor.rb +0 -0
  194. data/lib/smalruby_editor/blockly_message_helper.rb +20 -0
  195. data/lib/smalruby_editor/version.rb +1 -1
  196. data/lib/tasks/.keep +0 -0
  197. data/lib/tasks/gem.rake +1 -3
  198. data/lib/tasks/release.rake +0 -0
  199. data/lib/tasks/rspec.rake +0 -0
  200. data/lib/tasks/rubocop.rake +0 -0
  201. data/log/.keep +0 -0
  202. data/public/404.html +0 -0
  203. data/public/422.html +0 -0
  204. data/public/500.html +0 -0
  205. data/public/apple-touch-icon.png +0 -0
  206. data/public/blockly/media/1x1.gif +0 -0
  207. data/public/blockly/media/click.mp3 +0 -0
  208. data/public/blockly/media/click.ogg +0 -0
  209. data/public/blockly/media/click.wav +0 -0
  210. data/public/blockly/media/delete.mp3 +0 -0
  211. data/public/blockly/media/delete.ogg +0 -0
  212. data/public/blockly/media/delete.wav +0 -0
  213. data/public/blockly/media/handclosed.cur +0 -0
  214. data/public/blockly/media/handopen.cur +0 -0
  215. data/public/blockly/media/quote0.png +0 -0
  216. data/public/blockly/media/quote1.png +0 -0
  217. data/public/blockly/media/trashbody.png +0 -0
  218. data/public/blockly/media/trashlid.png +0 -0
  219. data/public/blockly/media/tree.png +0 -0
  220. data/public/browserconfig.xml +0 -0
  221. data/public/fonts/FontAwesome.otf +0 -0
  222. data/public/fonts/fontawesome-webfont.eot +0 -0
  223. data/public/fonts/fontawesome-webfont.ttf +0 -0
  224. data/public/fonts/fontawesome-webfont.woff +0 -0
  225. data/public/large.png +0 -0
  226. data/public/robots.txt +0 -0
  227. data/public/smalruby/assets/ball1.png +0 -0
  228. data/public/smalruby/assets/ball2.png +0 -0
  229. data/public/smalruby/assets/ball3.png +0 -0
  230. data/public/smalruby/assets/ball4.png +0 -0
  231. data/public/smalruby/assets/ball5.png +0 -0
  232. data/public/smalruby/assets/ball6.png +0 -0
  233. data/public/smalruby/assets/car1.png +0 -0
  234. data/public/smalruby/assets/car2.png +0 -0
  235. data/public/smalruby/assets/car3.png +0 -0
  236. data/public/smalruby/assets/car4.png +0 -0
  237. data/public/smalruby/assets/cat1.png +0 -0
  238. data/public/smalruby/assets/cat2.png +0 -0
  239. data/public/smalruby/assets/cat3.png +0 -0
  240. data/public/smalruby/assets/frog1.png +0 -0
  241. data/public/smalruby/assets/piano_do.wav +0 -0
  242. data/public/smalruby/assets/piano_do_2.wav +0 -0
  243. data/public/smalruby/assets/piano_fa.wav +0 -0
  244. data/public/smalruby/assets/piano_mi.wav +0 -0
  245. data/public/smalruby/assets/piano_ra.wav +0 -0
  246. data/public/smalruby/assets/piano_re.wav +0 -0
  247. data/public/smalruby/assets/piano_si.wav +0 -0
  248. data/public/smalruby/assets/piano_so.wav +0 -0
  249. data/public/smalruby/assets/ryu1.png +0 -0
  250. data/public/smalruby/assets/ryu2.png +0 -0
  251. data/public/smalruby/assets/taichi1.png +0 -0
  252. data/public/smalruby/assets/taichi2.png +0 -0
  253. data/public/square.png +0 -0
  254. data/public/tiny.png +0 -0
  255. data/public/wide.png +0 -0
  256. data/smalruby-editor.gemspec +1 -1
  257. data/spec/acceptance/base.feature +0 -0
  258. data/spec/acceptance/block_mode/blocks/character/new.feature +0 -0
  259. data/spec/acceptance/block_mode/blocks/control/await.feature +0 -0
  260. data/spec/acceptance/block_mode/blocks/control/await_until.feature +0 -0
  261. data/spec/acceptance/block_mode/blocks/control/break.feature +0 -0
  262. data/spec/acceptance/block_mode/blocks/control/if.feature +0 -0
  263. data/spec/acceptance/block_mode/blocks/control/if_else.feature +0 -0
  264. data/spec/acceptance/block_mode/blocks/control/loop.feature +0 -0
  265. data/spec/acceptance/block_mode/blocks/control/next.feature +0 -0
  266. data/spec/acceptance/block_mode/blocks/control/redo.feature +0 -0
  267. data/spec/acceptance/block_mode/blocks/control/sleep.feature +0 -0
  268. data/spec/acceptance/block_mode/blocks/control/times.feature +0 -0
  269. data/spec/acceptance/block_mode/blocks/control/until.feature +0 -0
  270. data/spec/acceptance/block_mode/blocks/events/on_click.feature +0 -0
  271. data/spec/acceptance/block_mode/blocks/events/on_hit.feature +0 -0
  272. data/spec/acceptance/block_mode/blocks/events/on_key_push_or_down.feature +0 -0
  273. data/spec/acceptance/block_mode/blocks/events/on_start.feature +0 -0
  274. data/spec/acceptance/block_mode/blocks/hardware/button_down_or_up.feature +0 -0
  275. data/spec/acceptance/block_mode/blocks/hardware/button_not_use_pullup.feature +0 -0
  276. data/spec/acceptance/block_mode/blocks/hardware/init_hardware.feature +0 -0
  277. data/spec/acceptance/block_mode/blocks/hardware/led_off.feature +0 -0
  278. data/spec/acceptance/block_mode/blocks/hardware/led_on.feature +0 -0
  279. data/spec/acceptance/block_mode/blocks/hardware/motor_driver.feature +0 -0
  280. data/spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature +0 -0
  281. data/spec/acceptance/block_mode/blocks/hardware/on_button_down_or_up.feature +0 -0
  282. data/spec/acceptance/block_mode/blocks/hardware/on_sensor_change.feature +0 -0
  283. data/spec/acceptance/block_mode/blocks/hardware/rgb_led_off.feature +0 -0
  284. data/spec/acceptance/block_mode/blocks/hardware/rgb_led_on.feature +0 -0
  285. data/spec/acceptance/block_mode/blocks/hardware/sensor_value.feature +0 -0
  286. data/spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature +0 -0
  287. data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature +0 -0
  288. data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature +0 -0
  289. data/spec/acceptance/block_mode/blocks/looks/hide.feature +0 -0
  290. data/spec/acceptance/block_mode/blocks/looks/say.feature +0 -0
  291. data/spec/acceptance/block_mode/blocks/looks/show.feature +0 -0
  292. data/spec/acceptance/block_mode/blocks/looks/vanish.feature +0 -0
  293. data/spec/acceptance/block_mode/blocks/motion/change_x_by.feature +0 -0
  294. data/spec/acceptance/block_mode/blocks/motion/change_y_by.feature +0 -0
  295. data/spec/acceptance/block_mode/blocks/motion/move.feature +0 -0
  296. data/spec/acceptance/block_mode/blocks/motion/reach_wall.feature +0 -0
  297. data/spec/acceptance/block_mode/blocks/motion/rotate_left.feature +0 -0
  298. data/spec/acceptance/block_mode/blocks/motion/rotate_right.feature +0 -0
  299. data/spec/acceptance/block_mode/blocks/motion/self_angle.feature +0 -0
  300. data/spec/acceptance/block_mode/blocks/motion/self_x.feature +0 -0
  301. data/spec/acceptance/block_mode/blocks/motion/self_y.feature +0 -0
  302. data/spec/acceptance/block_mode/blocks/motion/set_angle.feature +0 -0
  303. data/spec/acceptance/block_mode/blocks/motion/set_x.feature +0 -0
  304. data/spec/acceptance/block_mode/blocks/motion/set_x_y.feature +0 -0
  305. data/spec/acceptance/block_mode/blocks/motion/set_y.feature +0 -0
  306. data/spec/acceptance/block_mode/blocks/motion/turn.feature +0 -0
  307. data/spec/acceptance/block_mode/blocks/motion/turn_if_reach_wall.feature +0 -0
  308. data/spec/acceptance/block_mode/blocks/operators/and_or.feature +0 -0
  309. data/spec/acceptance/block_mode/blocks/operators/four_arithmetic_and_compares.feature +0 -0
  310. data/spec/acceptance/block_mode/blocks/operators/index_of.feature +0 -0
  311. data/spec/acceptance/block_mode/blocks/operators/length.feature +0 -0
  312. data/spec/acceptance/block_mode/blocks/operators/math_method.feature +0 -0
  313. data/spec/acceptance/block_mode/blocks/operators/negate.feature +0 -0
  314. data/spec/acceptance/block_mode/blocks/operators/rand.feature +0 -0
  315. data/spec/acceptance/block_mode/blocks/operators/round.feature +0 -0
  316. data/spec/acceptance/block_mode/blocks/operators/text.feature +0 -0
  317. data/spec/acceptance/block_mode/blocks/operators/true_false.feature +0 -0
  318. data/spec/acceptance/block_mode/blocks/ruby/expression.feature +0 -0
  319. data/spec/acceptance/block_mode/blocks/ruby/p.feature +0 -0
  320. data/spec/acceptance/block_mode/blocks/ruby/statement_comment.feature +0 -0
  321. data/spec/acceptance/block_mode/blocks/sensing/character_property.feature +0 -0
  322. data/spec/acceptance/block_mode/blocks/sensing/hit.feature +0 -0
  323. data/spec/acceptance/block_mode/blocks/sensing/input_key_push_or_down.feature +0 -0
  324. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_x.feature +0 -0
  325. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_y.feature +0 -0
  326. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_push_or_down.feature +0 -0
  327. data/spec/acceptance/block_mode/blocks/sensing/reach_wall.feature +0 -0
  328. data/spec/acceptance/block_mode/blocks/sensing/time_now.feature +0 -0
  329. data/spec/acceptance/block_mode/blocks/sound/play.feature +0 -0
  330. data/spec/acceptance/block_mode/demo.feature +0 -0
  331. data/spec/acceptance/block_mode/translate.feature +0 -0
  332. data/spec/acceptance/readme.md +0 -0
  333. data/spec/acceptance/ruby_mode/check.feature +0 -0
  334. data/spec/acceptance/ruby_mode/download.feature +0 -0
  335. data/spec/acceptance/ruby_mode/load.feature +0 -0
  336. data/spec/acceptance/ruby_mode/translate.feature +0 -0
  337. data/spec/acceptance/standalone/run.feature +0 -0
  338. data/spec/acceptance/standalone/save.feature +0 -0
  339. data/spec/acceptance/standalone/signin.feature +0 -0
  340. data/spec/controllers/editor_controller_spec.rb +0 -0
  341. data/spec/controllers/sessions_controller_spec.rb +0 -0
  342. data/spec/controllers/source_codes_controller_spec.rb +0 -0
  343. data/spec/fixtures/files/01.rb +0 -0
  344. data/spec/fixtures/files/01.rb.xml +0 -0
  345. data/spec/fixtures/files/01_remix.rb +0 -0
  346. data/spec/fixtures/files/01_remix02.rb +0 -0
  347. data/spec/fixtures/files/01_remix10.rb.xml +0 -0
  348. data/spec/fixtures/files/favicon.ico +0 -0
  349. data/spec/helpers/editor_helper_spec.rb +0 -0
  350. data/spec/helpers/sessions_helper_spec.rb +0 -0
  351. data/spec/javascripts/collections/character_set_spec.coffee +0 -0
  352. data/spec/javascripts/models/character_spec.coffee +0 -0
  353. data/spec/javascripts/models/scene_spec.coffee +0 -0
  354. data/spec/javascripts/models/source_code_spec.coffee +0 -0
  355. data/spec/javascripts/spec_helper.js +0 -0
  356. data/spec/lib/smalruby_editor_spec.rb +0 -0
  357. data/spec/models/concerns/ruby_to_block/block/character_method_call_spec.rb +0 -0
  358. data/spec/models/concerns/ruby_to_block/block/control_if_spec.rb +0 -0
  359. data/spec/models/concerns/ruby_to_block/block/control_loop_spec.rb +0 -0
  360. data/spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb +0 -0
  361. data/spec/models/concerns/ruby_to_block/block/hardware_spec.rb +0 -0
  362. data/spec/models/concerns/ruby_to_block/block/looks_say_spec.rb +0 -0
  363. data/spec/models/concerns/ruby_to_block/block/looks_spec.rb +0 -0
  364. data/spec/models/concerns/ruby_to_block/block/motion_move_spec.rb +0 -0
  365. data/spec/models/concerns/ruby_to_block/block/motion_spec.rb +0 -0
  366. data/spec/models/concerns/ruby_to_block/block/motion_turn_spec.rb +0 -0
  367. data/spec/models/concerns/ruby_to_block/block/motion_turn_xy_spec.rb +0 -0
  368. data/spec/models/concerns/ruby_to_block/block/require_smalruby_spec.rb +0 -0
  369. data/spec/models/concerns/ruby_to_block/block/ruby_comment_spec.rb +0 -0
  370. data/spec/models/concerns/ruby_to_block/block/ruby_statement_spec.rb +0 -0
  371. data/spec/models/concerns/ruby_to_block/block/sensing_reach_wall_spec.rb +0 -0
  372. data/spec/models/concerns/ruby_to_block/block/shared/block_examples.rb +0 -0
  373. data/spec/models/concerns/ruby_to_block/block/sound_spec.rb +0 -0
  374. data/spec/models/concerns/ruby_to_block/block/text_spec.rb +0 -0
  375. data/spec/models/concerns/ruby_to_block/block_spec.rb +0 -0
  376. data/spec/models/concerns/ruby_to_block_spec.rb +0 -0
  377. data/spec/models/source_code_spec.rb +0 -0
  378. data/spec/spec_helper.rb +0 -0
  379. data/spec/steps/base_steps.rb +1 -0
  380. data/spec/steps/block_mode_steps.rb +0 -0
  381. data/spec/steps/fix_turnip.rb +0 -0
  382. data/spec/steps/global_variable.rb +0 -0
  383. data/spec/steps/text_editor_steps.rb +0 -0
  384. data/spec/support/capybara.rb +0 -0
  385. data/spec/support/env.rb +0 -0
  386. data/spec/support/ruby_to_block.rb +0 -0
  387. data/spec/teaspoon_env.rb +0 -0
  388. data/spec/turnip_helper.rb +0 -0
  389. data/vendor/assets/javascripts/.keep +0 -0
  390. data/vendor/assets/javascripts/blockly/blockly_compressed.js +0 -0
  391. data/vendor/assets/javascripts/blockly/blocks_compressed.js +0 -0
  392. data/vendor/assets/javascripts/blockly/msg/js/en_us.js +507 -0
  393. data/vendor/assets/javascripts/blockly/msg/js/ja.js +0 -0
  394. data/vendor/assets/javascripts/jquery.blockUI.js +0 -0
  395. data/vendor/assets/stylesheets/.keep +0 -0
  396. metadata +80 -66
File without changes
File without changes
File without changes
data/spec/spec_helper.rb CHANGED
File without changes
@@ -5,6 +5,7 @@ step 'セッションをクリアする' do
5
5
  end
6
6
 
7
7
  step ':name にアクセスする' do |name|
8
+ page.driver.headers = { 'Accept-Language' => 'ja' }
8
9
  visit NAME_INFO[name][:path]
9
10
 
10
11
  if poltergeist?
File without changes
File without changes
File without changes
File without changes
File without changes
data/spec/support/env.rb CHANGED
File without changes
File without changes
data/spec/teaspoon_env.rb CHANGED
File without changes
File without changes
File without changes
@@ -0,0 +1,507 @@
1
+ /**
2
+ * Visual Blocks Language
3
+ *
4
+ * Copyright 2012 Google Inc.
5
+ * http://blockly.googlecode.com/
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+
20
+ /**
21
+ * @fileoverview English strings.
22
+ * @author fraser@google.com (Neil Fraser)
23
+ */
24
+ 'use strict';
25
+
26
+ goog.provide('Blockly.Msg.en_us');
27
+
28
+ goog.require('Blockly.Msg');
29
+
30
+
31
+ /**
32
+ * Due to the frequency of long strings, the 80-column wrap rule need not apply
33
+ * to message files.
34
+ */
35
+
36
+ // Context menus.
37
+ Blockly.Msg.DUPLICATE_BLOCK = 'Duplicate';
38
+ Blockly.Msg.REMOVE_COMMENT = 'Remove Comment';
39
+ Blockly.Msg.ADD_COMMENT = 'Add Comment';
40
+ Blockly.Msg.EXTERNAL_INPUTS = 'External Inputs';
41
+ Blockly.Msg.INLINE_INPUTS = 'Inline Inputs';
42
+ Blockly.Msg.DELETE_BLOCK = 'Delete Block';
43
+ Blockly.Msg.DELETE_X_BLOCKS = 'Delete %1 Blocks';
44
+ Blockly.Msg.COLLAPSE_BLOCK = 'Collapse Block';
45
+ Blockly.Msg.EXPAND_BLOCK = 'Expand Block';
46
+ Blockly.Msg.DISABLE_BLOCK = 'Disable Block';
47
+ Blockly.Msg.ENABLE_BLOCK = 'Enable Block';
48
+ Blockly.Msg.HELP = 'Help';
49
+ Blockly.Msg.COLLAPSE_ALL = 'Collapse Blocks';
50
+ Blockly.Msg.EXPAND_ALL = 'Expand Blocks';
51
+
52
+ // Variable renaming.
53
+ Blockly.Msg.CHANGE_VALUE_TITLE = 'Change value:';
54
+ Blockly.Msg.NEW_VARIABLE = 'New variable...';
55
+ Blockly.Msg.NEW_VARIABLE_TITLE = 'New variable name:';
56
+ Blockly.Msg.RENAME_VARIABLE = 'Rename variable...';
57
+ Blockly.Msg.RENAME_VARIABLE_TITLE = 'Rename all "%1" variables to:';
58
+
59
+ // Colour Blocks.
60
+ Blockly.Msg.COLOUR_PICKER_HELPURL = 'http://en.wikipedia.org/wiki/Color';
61
+ Blockly.Msg.COLOUR_PICKER_TOOLTIP = 'Choose a color from the palette.';
62
+
63
+ Blockly.Msg.COLOUR_RANDOM_HELPURL = 'http://randomcolour.com';
64
+ Blockly.Msg.COLOUR_RANDOM_TITLE = 'random color';
65
+ Blockly.Msg.COLOUR_RANDOM_TOOLTIP = 'Choose a color at random.';
66
+
67
+ Blockly.Msg.COLOUR_RGB_HELPURL = 'http://www.december.com/html/spec/colorper.html';
68
+ Blockly.Msg.COLOUR_RGB_TITLE = 'color with';
69
+ Blockly.Msg.COLOUR_RGB_RED = 'red';
70
+ Blockly.Msg.COLOUR_RGB_GREEN = 'green';
71
+ Blockly.Msg.COLOUR_RGB_BLUE = 'blue';
72
+ Blockly.Msg.COLOUR_RGB_TOOLTIP = 'Create a color with the specified amount of red, green,\n' +
73
+ 'and blue. All values must be between 0 and 100.';
74
+
75
+ Blockly.Msg.COLOUR_BLEND_HELPURL = 'http://meyerweb.com/eric/tools/color-blend/';
76
+ Blockly.Msg.COLOUR_BLEND_TITLE = 'blend';
77
+ Blockly.Msg.COLOUR_BLEND_COLOUR1 = 'color 1';
78
+ Blockly.Msg.COLOUR_BLEND_COLOUR2 = 'color 2';
79
+ Blockly.Msg.COLOUR_BLEND_RATIO = 'ratio';
80
+ Blockly.Msg.COLOUR_BLEND_TOOLTIP = 'Blends two colors together with a given ratio (0.0 - 1.0).';
81
+
82
+ // Loop Blocks.
83
+ Blockly.Msg.CONTROLS_REPEAT_HELPURL = 'http://en.wikipedia.org/wiki/For_loop';
84
+ Blockly.Msg.CONTROLS_REPEAT_TITLE_REPEAT = 'repeat';
85
+ Blockly.Msg.CONTROLS_REPEAT_TITLE_TIMES = 'times';
86
+ Blockly.Msg.CONTROLS_REPEAT_INPUT_DO = 'do';
87
+ Blockly.Msg.CONTROLS_REPEAT_TOOLTIP = 'Do some statements several times.';
88
+
89
+ Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = 'http://code.google.com/p/blockly/wiki/Repeat';
90
+ Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = 'do';
91
+ Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = 'repeat while';
92
+ Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = 'repeat until';
93
+ Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = 'While a value is true, then do some statements.';
94
+ Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = 'While a value is false, then do some statements.';
95
+
96
+ Blockly.Msg.CONTROLS_FOR_HELPURL = 'http://en.wikipedia.org/wiki/For_loop';
97
+ Blockly.Msg.CONTROLS_FOR_INPUT_WITH = 'count with';
98
+ Blockly.Msg.CONTROLS_FOR_INPUT_VAR = 'x';
99
+ Blockly.Msg.CONTROLS_FOR_INPUT_FROM_TO_BY = 'from %1 to %2 y %3';
100
+ Blockly.Msg.CONTROLS_FOR_INPUT_DO = 'do';
101
+ Blockly.Msg.CONTROLS_FOR_TAIL = '';
102
+ Blockly.Msg.CONTROLS_FOR_TOOLTIP = 'Count from a start number to an end number by the specified interval.\n' +
103
+ 'For each count, set the current count number to\n' +
104
+ 'variable "%1", and then do some statements.';
105
+
106
+ Blockly.Msg.CONTROLS_FOREACH_HELPURL = 'http://en.wikipedia.org/wiki/For_loop';
107
+ Blockly.Msg.CONTROLS_FOREACH_INPUT_ITEM = 'for each item';
108
+ Blockly.Msg.CONTROLS_FOREACH_INPUT_VAR = 'x';
109
+ Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST = 'in list';
110
+ Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST_TAIL = '';
111
+ Blockly.Msg.CONTROLS_FOREACH_INPUT_DO = 'do';
112
+ Blockly.Msg.CONTROLS_FOREACH_TOOLTIP = 'For each item in a list, set the item to\n' +
113
+ 'variable "%1", and then do some statements.';
114
+
115
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = 'http://en.wikipedia.org/wiki/Control_flow';
116
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = 'break out of loop';
117
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = 'continue with next iteration of loop';
118
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = 'Break out of the containing loop.';
119
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = 'Skip the rest of this loop, and\n' +
120
+ 'continue with the next iteration.';
121
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = 'Warning:\n' +
122
+ 'This block may only\n' +
123
+ 'be used within a loop.';
124
+
125
+ // Logic Blocks.
126
+ Blockly.Msg.CONTROLS_IF_HELPURL = 'http://code.google.com/p/blockly/wiki/If_Then';
127
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_1 = 'If a value is true, then do some statements.';
128
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_2 = 'If a value is true, then do the first block of statements.\n' +
129
+ 'Otherwise, do the second block of statements.';
130
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_3 = 'If the first value is true, then do the first block of statements.\n' +
131
+ 'Otherwise, if the second value is true, do the second block of statements.';
132
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_4 = 'If the first value is true, then do the first block of statements.\n' +
133
+ 'Otherwise, if the second value is true, do the second block of statements.\n' +
134
+ 'If none of the values are true, do the last block of statements.';
135
+ Blockly.Msg.CONTROLS_IF_MSG_IF = 'if';
136
+ Blockly.Msg.CONTROLS_IF_MSG_ELSEIF = 'else if';
137
+ Blockly.Msg.CONTROLS_IF_MSG_ELSE = 'else';
138
+ Blockly.Msg.CONTROLS_IF_MSG_THEN = 'do';
139
+ Blockly.Msg.CONTROLS_IF_IF_TITLE_IF = 'if';
140
+ Blockly.Msg.CONTROLS_IF_IF_TOOLTIP = 'Add, remove, or reorder sections\n' +
141
+ 'to reconfigure this if block.';
142
+ Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = 'else if';
143
+ Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = 'Add a condition to the if block.';
144
+ Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = 'else';
145
+ Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = 'Add a final, catch-all condition to the if block.';
146
+
147
+ Blockly.Msg.LOGIC_COMPARE_HELPURL = 'http://en.wikipedia.org/wiki/Inequality_(mathematics)';
148
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = 'Return true if both inputs equal each other.';
149
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = 'Return true if both inputs are not equal to each other.';
150
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = 'Return true if the first input is smaller\n' +
151
+ 'than the second input.';
152
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = 'Return true if the first input is smaller\n' +
153
+ 'than or equal to the second input.';
154
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = 'Return true if the first input is greater\n' +
155
+ 'than the second input.';
156
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = 'Return true if the first input is greater\n' +
157
+ 'than or equal to the second input.';
158
+
159
+ Blockly.Msg.LOGIC_OPERATION_HELPURL = 'http://code.google.com/p/blockly/wiki/And_Or';
160
+ Blockly.Msg.LOGIC_OPERATION_AND = 'and';
161
+ Blockly.Msg.LOGIC_OPERATION_OR = 'or';
162
+ Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = 'Return true if both inputs are true.';
163
+ Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = 'Return true if either inputs are true.';
164
+
165
+ Blockly.Msg.LOGIC_NEGATE_HELPURL = 'http://code.google.com/p/blockly/wiki/Not';
166
+ Blockly.Msg.LOGIC_NEGATE_INPUT_NOT = 'not';
167
+ Blockly.Msg.LOGIC_NEGATE_TOOLTIP = 'Returns true if the input is false.\n' +
168
+ 'Returns false if the input is true.';
169
+
170
+ Blockly.Msg.LOGIC_BOOLEAN_HELPURL = 'http://code.google.com/p/blockly/wiki/True_False';
171
+ Blockly.Msg.LOGIC_BOOLEAN_TRUE = 'true';
172
+ Blockly.Msg.LOGIC_BOOLEAN_FALSE = 'false';
173
+ Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP = 'Returns either true or false.';
174
+
175
+ Blockly.Msg.LOGIC_NULL_HELPURL = 'http://en.wikipedia.org/wiki/Nullable_type';
176
+ Blockly.Msg.LOGIC_NULL = 'null';
177
+ Blockly.Msg.LOGIC_NULL_TOOLTIP = 'Returns null.';
178
+
179
+ Blockly.Msg.LOGIC_TERNARY_HELPURL = 'http://en.wikipedia.org/wiki/%3F:';
180
+ Blockly.Msg.LOGIC_TERNARY_CONDITION = 'test';
181
+ Blockly.Msg.LOGIC_TERNARY_IF_TRUE = 'if true';
182
+ Blockly.Msg.LOGIC_TERNARY_IF_FALSE = 'if false';
183
+ Blockly.Msg.LOGIC_TERNARY_TOOLTIP = 'Check the condition in "test". If the condition is true\n' +
184
+ 'returns the "if true" value, otherwise returns the "if false" value.';
185
+
186
+ // Math Blocks.
187
+ Blockly.Msg.MATH_NUMBER_HELPURL = 'http://en.wikipedia.org/wiki/Number';
188
+ Blockly.Msg.MATH_NUMBER_TOOLTIP = 'A number.';
189
+
190
+ Blockly.Msg.MATH_ARITHMETIC_HELPURL = 'http://en.wikipedia.org/wiki/Arithmetic';
191
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = 'Return the sum of the two numbers.';
192
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = 'Return the difference of the two numbers.';
193
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = 'Return the product of the two numbers.';
194
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = 'Return the quotient of the two numbers.';
195
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = 'Return the first number raised to\n' +
196
+ 'the power of the second number.';
197
+
198
+ Blockly.Msg.MATH_SINGLE_HELPURL = 'http://en.wikipedia.org/wiki/Square_root';
199
+ Blockly.Msg.MATH_SINGLE_OP_ROOT = 'square root';
200
+ Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE = 'absolute';
201
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = 'Return the square root of a number.';
202
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS = 'Return the absolute value of a number.';
203
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG = 'Return the negation of a number.';
204
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_LN = 'Return the natural logarithm of a number.';
205
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = 'Return the base 10 logarithm of a number.';
206
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP = 'Return e to the power of a number.';
207
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = 'Return 10 to the power of a number.';
208
+
209
+ Blockly.Msg.MATH_TRIG_HELPURL = 'http://en.wikipedia.org/wiki/Trigonometric_functions';
210
+ Blockly.Msg.MATH_TRIG_TOOLTIP_SIN = 'Return the sine of a degree (not radian).';
211
+ Blockly.Msg.MATH_TRIG_TOOLTIP_COS = 'Return the cosine of a degree (not radian).';
212
+ Blockly.Msg.MATH_TRIG_TOOLTIP_TAN = 'Return the tangent of a degree (not radian).';
213
+ Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN = 'Return the arcsine of a number.';
214
+ Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS = 'Return the arccosine of a number.';
215
+ Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN = 'Return the arctangent of a number.';
216
+
217
+ Blockly.Msg.MATH_CONSTANT_HELPURL = 'http://en.wikipedia.org/wiki/Mathematical_constant';
218
+ Blockly.Msg.MATH_CONSTANT_TOOLTIP = 'Return one of the common constants: \u03c0 (3.141\u2026), e (2.718\u2026), \u03c6 (1.618\u2026),\n' +
219
+ 'sqrt(2) (1.414\u2026), sqrt(\u00bd) (0.707\u2026), or \u221e (infinity).';
220
+
221
+ Blockly.Msg.MATH_IS_EVEN = 'is even';
222
+ Blockly.Msg.MATH_IS_ODD = 'is odd';
223
+ Blockly.Msg.MATH_IS_PRIME = 'is prime';
224
+ Blockly.Msg.MATH_IS_WHOLE = 'is whole';
225
+ Blockly.Msg.MATH_IS_POSITIVE = 'is positive';
226
+ Blockly.Msg.MATH_IS_NEGATIVE = 'is negative';
227
+ Blockly.Msg.MATH_IS_DIVISIBLE_BY = 'is divisible by';
228
+ Blockly.Msg.MATH_IS_TOOLTIP = 'Check if a number is an even, odd, prime, whole, positive, negative,\n' +
229
+ 'or if it is divisible by certain number. Returns true or false.';
230
+
231
+ Blockly.Msg.MATH_CHANGE_HELPURL = 'http://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter';
232
+ Blockly.Msg.MATH_CHANGE_TITLE_CHANGE = 'change';
233
+ Blockly.Msg.MATH_CHANGE_TITLE_ITEM = 'item';
234
+ Blockly.Msg.MATH_CHANGE_INPUT_BY = 'by';
235
+ Blockly.Msg.MATH_CHANGE_TOOLTIP = 'Add a number to variable "%1".';
236
+
237
+ Blockly.Msg.MATH_ROUND_HELPURL = 'http://en.wikipedia.org/wiki/Rounding';
238
+ Blockly.Msg.MATH_ROUND_TOOLTIP = 'Round a number up or down.';
239
+ Blockly.Msg.MATH_ROUND_OPERATOR_ROUND = 'round';
240
+ Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP = 'round up';
241
+ Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = 'round down';
242
+
243
+ Blockly.Msg.MATH_ONLIST_HELPURL = '';
244
+ Blockly.Msg.MATH_ONLIST_OPERATOR_SUM = 'sum of list';
245
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MIN = 'min of list';
246
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MAX = 'max of list';
247
+ Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE = 'average of list';
248
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN = 'median of list';
249
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MODE = 'modes of list';
250
+ Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = 'standard deviation of list';
251
+ Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = 'random item of list';
252
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM = 'Return the sum of all the numbers in the list.';
253
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN = 'Return the smallest number in the list.';
254
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX = 'Return the largest number in the list.';
255
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = 'Return the arithmetic mean of the list.';
256
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = 'Return the median number in the list.';
257
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE = 'Return a list of the most common item(s) in the list.';
258
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = 'Return the standard deviation of the list.';
259
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = 'Return a random element from the list.';
260
+
261
+ Blockly.Msg.MATH_MODULO_HELPURL = 'http://en.wikipedia.org/wiki/Modulo_operation';
262
+ Blockly.Msg.MATH_MODULO_INPUT_DIVIDEND = 'remainder of';
263
+ Blockly.Msg.MATH_MODULO_TOOLTIP = 'Return the remainder from dividing the two numbers.';
264
+
265
+ Blockly.Msg.MATH_CONSTRAIN_HELPURL = 'http://en.wikipedia.org/wiki/Clamping_%28graphics%29';
266
+ Blockly.Msg.MATH_CONSTRAIN_INPUT_CONSTRAIN = 'constrain';
267
+ Blockly.Msg.MATH_CONSTRAIN_INPUT_LOW = 'low';
268
+ Blockly.Msg.MATH_CONSTRAIN_INPUT_HIGH = 'high';
269
+ Blockly.Msg.MATH_CONSTRAIN_TOOLTIP = 'Constrain a number to be between the specified limits (inclusive).';
270
+
271
+ Blockly.Msg.MATH_RANDOM_INT_HELPURL = 'http://en.wikipedia.org/wiki/Random_number_generation';
272
+ Blockly.Msg.MATH_RANDOM_INT_TITLE = 'random integer from %1 to %2';
273
+ Blockly.Msg.MATH_RANDOM_INT_TOOLTIP = 'Return a random integer between the two\n' +
274
+ 'specified limits, inclusive.';
275
+
276
+ Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL = 'http://en.wikipedia.org/wiki/Random_number_generation';
277
+ Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = 'random fraction';
278
+ Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = 'Return a random fraction between\n' +
279
+ '0.0 (inclusive) and 1.0 (exclusive).';
280
+
281
+ // Text Blocks.
282
+ Blockly.Msg.TEXT_TEXT_HELPURL = 'http://en.wikipedia.org/wiki/String_(computer_science)';
283
+ Blockly.Msg.TEXT_TEXT_TOOLTIP = 'A letter, word, or line of text.';
284
+
285
+ Blockly.Msg.TEXT_JOIN_HELPURL = '';
286
+ Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = 'create text with';
287
+ Blockly.Msg.TEXT_JOIN_TOOLTIP = 'Create a piece of text by joining\n' +
288
+ 'together any number of items.';
289
+
290
+ Blockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = 'join';
291
+ Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this text block.';
292
+
293
+ Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = 'item';
294
+ Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = 'Add an item to the text.';
295
+
296
+ Blockly.Msg.TEXT_APPEND_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
297
+ Blockly.Msg.TEXT_APPEND_TO = 'to';
298
+ Blockly.Msg.TEXT_APPEND_APPENDTEXT = 'append text';
299
+ Blockly.Msg.TEXT_APPEND_VARIABLE = 'item';
300
+ Blockly.Msg.TEXT_APPEND_TOOLTIP = 'Append some text to variable "%1".';
301
+
302
+ Blockly.Msg.TEXT_LENGTH_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
303
+ Blockly.Msg.TEXT_LENGTH_INPUT_LENGTH = 'length of';
304
+ Blockly.Msg.TEXT_LENGTH_TOOLTIP = 'Returns number of letters (including spaces)\n' +
305
+ 'in the provided text.';
306
+
307
+ Blockly.Msg.TEXT_ISEMPTY_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
308
+ Blockly.Msg.TEXT_ISEMPTY_INPUT_ISEMPTY = 'is empty';
309
+ Blockly.Msg.TEXT_ISEMPTY_TOOLTIP = 'Returns true if the provided text is empty.';
310
+
311
+ Blockly.Msg.TEXT_INDEXOF_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
312
+ Blockly.Msg.TEXT_INDEXOF_INPUT_INTEXT = 'in text';
313
+ Blockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = 'find first occurrence of text';
314
+ Blockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = 'find last occurrence of text';
315
+ Blockly.Msg.TEXT_INDEXOF_TOOLTIP = 'Returns the index of the first/last occurrence\n' +
316
+ 'of first text in the second text.\n' +
317
+ 'Returns 0 if text is not found.';
318
+
319
+ Blockly.Msg.TEXT_CHARAT_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
320
+ Blockly.Msg.TEXT_CHARAT_INPUT_INTEXT = 'in text';
321
+ Blockly.Msg.TEXT_CHARAT_FROM_START = 'get letter #';
322
+ Blockly.Msg.TEXT_CHARAT_FROM_END = 'get letter # from end';
323
+ Blockly.Msg.TEXT_CHARAT_FIRST = 'get first letter';
324
+ Blockly.Msg.TEXT_CHARAT_LAST = 'get last letter';
325
+ Blockly.Msg.TEXT_CHARAT_RANDOM = 'get random letter';
326
+ Blockly.Msg.TEXT_CHARAT_TOOLTIP = 'Returns the letter at the specified position.';
327
+
328
+ Blockly.Msg.TEXT_SUBSTRING_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
329
+ Blockly.Msg.TEXT_SUBSTRING_INPUT_IN_TEXT = 'in text';
330
+ Blockly.Msg.TEXT_SUBSTRING_INPUT_AT1 = 'get substring from';
331
+ Blockly.Msg.TEXT_SUBSTRING_INPUT_AT2 = 'to';
332
+ Blockly.Msg.TEXT_SUBSTRING_FROM_START = 'letter #';
333
+ Blockly.Msg.TEXT_SUBSTRING_FROM_END = 'letter # from end';
334
+ Blockly.Msg.TEXT_SUBSTRING_FIRST = 'first letter';
335
+ Blockly.Msg.TEXT_SUBSTRING_LAST = 'last letter';
336
+ Blockly.Msg.TEXT_SUBSTRING_TOOLTIP = 'Returns a specified portion of the text.';
337
+
338
+ Blockly.Msg.TEXT_CHANGECASE_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
339
+ Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = 'to UPPER CASE';
340
+ Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = 'to lower case';
341
+ Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = 'to Title Case';
342
+ Blockly.Msg.TEXT_CHANGECASE_TOOLTIP = 'Return a copy of the text in a different case.';
343
+
344
+ Blockly.Msg.TEXT_TRIM_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
345
+ Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH = 'trim spaces from both sides';
346
+ Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT = 'trim spaces from left side';
347
+ Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = 'trim spaces from right side';
348
+ Blockly.Msg.TEXT_TRIM_TOOLTIP = 'Return a copy of the text with spaces\n' +
349
+ 'removed from one or both ends.';
350
+
351
+ Blockly.Msg.TEXT_PRINT_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
352
+ Blockly.Msg.TEXT_PRINT_TITLE_PRINT = 'print';
353
+ Blockly.Msg.TEXT_PRINT_TOOLTIP = 'Print the specified text, number or other value.';
354
+
355
+ Blockly.Msg.TEXT_PROMPT_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode92.html';
356
+ Blockly.Msg.TEXT_PROMPT_TYPE_TEXT = 'prompt for text with message';
357
+ Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER = 'prompt for number with message';
358
+ Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = 'Prompt for user for a number.';
359
+ Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = 'Prompt for user for some text.';
360
+
361
+ // Lists Blocks.
362
+ Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL = 'http://en.wikipedia.org/wiki/Linked_list#Empty_lists';
363
+ Blockly.Msg.LISTS_CREATE_EMPTY_TITLE = 'create empty list';
364
+ Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = 'Returns a list, of length 0, containing no data records';
365
+
366
+ Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = 'create list with';
367
+ Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP = 'Create a list with any number of items.';
368
+
369
+ Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = 'list';
370
+ Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this list block.';
371
+
372
+ Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = 'item';
373
+ Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = 'Add an item to the list.';
374
+
375
+ Blockly.Msg.LISTS_REPEAT_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
376
+ Blockly.Msg.LISTS_REPEAT_INPUT_WITH = 'create list with item';
377
+ Blockly.Msg.LISTS_REPEAT_INPUT_REPEATED = 'repeated';
378
+ Blockly.Msg.LISTS_REPEAT_INPUT_TIMES = 'times';
379
+ Blockly.Msg.LISTS_REPEAT_TOOLTIP = 'Creates a list consisting of the given value\n' +
380
+ 'repeated the specified number of times.';
381
+
382
+ Blockly.Msg.LISTS_LENGTH_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
383
+ Blockly.Msg.LISTS_LENGTH_INPUT_LENGTH = 'length of';
384
+ Blockly.Msg.LISTS_LENGTH_TOOLTIP = 'Returns the length of a list.';
385
+
386
+ Blockly.Msg.LISTS_IS_EMPTY_HELPURL = 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html';
387
+ Blockly.Msg.LISTS_INPUT_IS_EMPTY = 'is empty';
388
+ Blockly.Msg.LISTS_TOOLTIP = 'Returns true if the list is empty.';
389
+
390
+ Blockly.Msg.LISTS_INDEX_OF_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
391
+ Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = 'in list';
392
+ Blockly.Msg.LISTS_INDEX_OF_FIRST = 'find first occurrence of item';
393
+ Blockly.Msg.LISTS_INDEX_OF_LAST = 'find last occurrence of item';
394
+ Blockly.Msg.LISTS_INDEX_OF_TOOLTIP = 'Returns the index of the first/last occurrence\n' +
395
+ 'of the item in the list.\n' +
396
+ 'Returns 0 if text is not found.';
397
+
398
+ Blockly.Msg.LISTS_GET_INDEX_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
399
+ Blockly.Msg.LISTS_GET_INDEX_GET = 'get';
400
+ Blockly.Msg.LISTS_GET_INDEX_GET_REMOVE = 'get and remove';
401
+ Blockly.Msg.LISTS_GET_INDEX_REMOVE = 'remove';
402
+ Blockly.Msg.LISTS_GET_INDEX_FROM_START = '#';
403
+ Blockly.Msg.LISTS_GET_INDEX_FROM_END = '# from end';
404
+ Blockly.Msg.LISTS_GET_INDEX_FIRST = 'first';
405
+ Blockly.Msg.LISTS_GET_INDEX_LAST = 'last';
406
+ Blockly.Msg.LISTS_GET_INDEX_RANDOM = 'random';
407
+ Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = 'in list';
408
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_START = 'Returns the item at the specified position in a list.\n' +
409
+ '#1 is the first item.';
410
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_END = 'Returns the item at the specified position in a list.\n' +
411
+ '#1 is the last item.';
412
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = 'Returns the first item in a list.';
413
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = 'Returns the last item in a list.';
414
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = 'Returns a random item in a list.';
415
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START = 'Removes and returns the item at the specified position\n' +
416
+ ' in a list. #1 is the first item.';
417
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END = 'Removes and returns the item at the specified position\n' +
418
+ ' in a list. #1 is the last item.';
419
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = 'Removes and returns the first item in a list.';
420
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = 'Removes and returns the last item in a list.';
421
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = 'Removes and returns a random item in a list.';
422
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START = 'Removes the item at the specified position\n' +
423
+ ' in a list. #1 is the first item.';
424
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END = 'Removes the item at the specified position\n' +
425
+ ' in a list. #1 is the last item.';
426
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = 'Removes the first item in a list.';
427
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = 'Removes the last item in a list.';
428
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = 'Removes a random item in a list.';
429
+
430
+ Blockly.Msg.LISTS_SET_INDEX_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
431
+ Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = 'in list';
432
+ Blockly.Msg.LISTS_SET_INDEX_SET = 'set';
433
+ Blockly.Msg.LISTS_SET_INDEX_INSERT = 'insert at';
434
+ Blockly.Msg.LISTS_SET_INDEX_INPUT_TO = 'as';
435
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_START = 'Sets the item at the specified position in a list.\n' +
436
+ '#1 is the first item.';
437
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_END = 'Sets the item at the specified position in a list.\n' +
438
+ '#1 is the last item.';
439
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = 'Sets the first item in a list.';
440
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = 'Sets the last item in a list.';
441
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = 'Sets a random item in a list.';
442
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START = 'Inserts the item at the specified position in a list.\n' +
443
+ '#1 is the first item.';
444
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END = 'Inserts the item at the specified position in a list.\n' +
445
+ '#1 is the last item.';
446
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = 'Inserts the item at the start of a list.';
447
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = 'Append the item to the end of a list.';
448
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = 'Inserts the item randomly in a list.';
449
+
450
+ Blockly.Msg.LISTS_GET_SUBLIST_HELPURL = 'http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm';
451
+ Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = 'in list';
452
+ Blockly.Msg.LISTS_GET_SUBLIST_INPUT_AT1 = 'get sub-list from';
453
+ Blockly.Msg.LISTS_GET_SUBLIST_INPUT_AT2 = 'to';
454
+ Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = 'Creates a copy of the specified portion of a list.';
455
+
456
+ // Variables Blocks.
457
+ Blockly.Msg.VARIABLES_GET_HELPURL = 'http://en.wikipedia.org/wiki/Variable_(computer_science)';
458
+ Blockly.Msg.VARIABLES_GET_TITLE = '';
459
+ Blockly.Msg.VARIABLES_GET_ITEM = 'item';
460
+ Blockly.Msg.VARIABLES_GET_TAIL = '';
461
+ Blockly.Msg.VARIABLES_GET_TOOLTIP = 'Returns the value of this variable.';
462
+ Blockly.Msg.VARIABLES_GET_CREATE_SET = 'Create "set %1"';
463
+
464
+ Blockly.Msg.VARIABLES_SET_HELPURL = 'http://en.wikipedia.org/wiki/Variable_(computer_science)';
465
+ Blockly.Msg.VARIABLES_SET_TITLE = 'set';
466
+ Blockly.Msg.VARIABLES_SET_ITEM = 'item';
467
+ Blockly.Msg.VARIABLES_SET_TAIL = 'to';
468
+ Blockly.Msg.VARIABLES_SET_TOOLTIP = 'Sets this variable to be equal to the input.';
469
+ Blockly.Msg.VARIABLES_SET_CREATE_GET = 'Create "get %1"';
470
+
471
+ // Procedures Blocks.
472
+ Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = 'http://en.wikipedia.org/wiki/Procedure_%28computer_science%29';
473
+ Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE = 'to';
474
+ Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = 'do something';
475
+ Blockly.Msg.PROCEDURES_BEFORE_PARAMS = 'with:';
476
+ Blockly.Msg.PROCEDURES_DEFNORETURN_DO = '';
477
+ Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = 'Creates a function with no output.';
478
+
479
+ Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL = 'http://en.wikipedia.org/wiki/Procedure_%28computer_science%29';
480
+ Blockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
481
+ Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
482
+ Blockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;
483
+ Blockly.Msg.PROCEDURES_DEFRETURN_RETURN = 'return';
484
+ Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = 'Creates a function with an output.';
485
+
486
+ Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = 'Warning:\n' +
487
+ 'This function has\n' +
488
+ 'duplicate parameters.';
489
+
490
+ Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = 'http://en.wikipedia.org/wiki/Procedure_%28computer_science%29';
491
+ Blockly.Msg.PROCEDURES_CALLNORETURN_CALL = '';
492
+ Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = 'Run the user-defined function "%1".';
493
+
494
+ Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL = 'http://en.wikipedia.org/wiki/Procedure_%28computer_science%29';
495
+ Blockly.Msg.PROCEDURES_CALLRETURN_CALL = Blockly.Msg.PROCEDURES_CALLNORETURN_CALL;
496
+ Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = 'Run the user-defined function "%1" and use its output.';
497
+
498
+ Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = 'inputs';
499
+ Blockly.Msg.PROCEDURES_MUTATORARG_TITLE = 'input name:';
500
+
501
+ Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF = 'Highlight procedure definition';
502
+ Blockly.Msg.PROCEDURES_CREATE_DO = 'Create "%1"';
503
+
504
+ Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = 'If a value is true, then return a value.';
505
+ Blockly.Msg.PROCEDURES_IFRETURN_WARNING = 'Warning:\n' +
506
+ 'This block may only be\n' +
507
+ 'used within a function definition.';