smalruby-editor 0.1.22-x86-mingw32 → 0.1.23-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 (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.';