Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xMANIFEST354
-rwxr-xr-xNEWS4
-rwxr-xr-xTurtleArtActivity.py20
-rwxr-xr-xactivity/activity.info2
-rwxr-xr-ximages/en/flow/flowgroup.gif (renamed from flow/flowgroup.gif)bin24770 -> 24770 bytes
-rwxr-xr-ximages/en/flow/flowmask.gif (copied from flow/flowmask.gif)bin2373 -> 2373 bytes
-rwxr-xr-ximages/en/flow/forever.gif (renamed from flow/forever.gif)bin3418 -> 3418 bytes
-rwxr-xr-ximages/en/flow/hspace.gif (copied from flow/hspace.gif)bin3349 -> 3349 bytes
-rwxr-xr-ximages/en/flow/if.gif (renamed from flow/if.gif)bin7387 -> 7387 bytes
-rwxr-xr-ximages/en/flow/ifelse.gif (renamed from flow/ifelse.gif)bin8050 -> 8050 bytes
-rwxr-xr-ximages/en/flow/myblocksgroup.gif (copied from flow/myblocksgroup.gif)bin17103 -> 17103 bytes
-rwxr-xr-ximages/en/flow/repeat.gif (renamed from flow/repeat.gif)bin5882 -> 5882 bytes
-rwxr-xr-ximages/en/flow/stopstack.gif (renamed from flow/stopstack.gif)bin2890 -> 2890 bytes
-rwxr-xr-ximages/en/flow/vspace.gif (copied from flow/vspace.gif)bin3891 -> 3891 bytes
-rwxr-xr-ximages/en/flow/wait.gif (renamed from flow/wait.gif)bin2896 -> 2896 bytes
-rwxr-xr-ximages/en/masknumber.gif (copied from masknumber.gif)bin330 -> 330 bytes
-rwxr-xr-ximages/en/myblocks/box1.gif (renamed from myblocks/box1.gif)bin2113 -> 2113 bytes
-rwxr-xr-ximages/en/myblocks/box2.gif (renamed from myblocks/box2.gif)bin2130 -> 2130 bytes
-rwxr-xr-ximages/en/myblocks/hat1.gif (renamed from myblocks/hat1.gif)bin2833 -> 2833 bytes
-rwxr-xr-ximages/en/myblocks/hat2.gif (renamed from myblocks/hat2.gif)bin2836 -> 2836 bytes
-rwxr-xr-ximages/en/myblocks/myblocksgroup.gif (renamed from myblocks/myblocksgroup.gif)bin17063 -> 17063 bytes
-rwxr-xr-ximages/en/myblocks/myblocksmask.gif (copied from myblocks/myblocksmask.gif)bin1776 -> 1776 bytes
-rwxr-xr-ximages/en/myblocks/stack1.gif (renamed from myblocks/stack1.gif)bin2605 -> 2605 bytes
-rwxr-xr-ximages/en/myblocks/stack2.gif (renamed from myblocks/stack2.gif)bin2631 -> 2631 bytes
-rwxr-xr-ximages/en/myblocks/storeinbox1.gif (renamed from myblocks/storeinbox1.gif)bin3409 -> 3409 bytes
-rwxr-xr-ximages/en/myblocks/storeinbox2.gif (renamed from myblocks/storeinbox2.gif)bin3421 -> 3421 bytes
-rwxr-xr-ximages/en/noinput.gifbin0 -> 13923 bytes
-rwxr-xr-ximages/en/nostack.gifbin0 -> 13505 bytes
-rwxr-xr-ximages/en/numbers/and.gif (renamed from numbers/and.gif)bin2628 -> 2628 bytes
-rwxr-xr-ximages/en/numbers/division.gif (copied from numbers/division.gif)bin1800 -> 1800 bytes
-rwxr-xr-ximages/en/numbers/equal.gif (copied from numbers/equal.gif)bin3680 -> 3680 bytes
-rwxr-xr-ximages/en/numbers/greater.gif (copied from numbers/greater.gif)bin3728 -> 3728 bytes
-rwxr-xr-ximages/en/numbers/less.gif (copied from numbers/less.gif)bin3719 -> 3719 bytes
-rwxr-xr-ximages/en/numbers/minus.gif (copied from numbers/minus.gif)bin1772 -> 1772 bytes
-rwxr-xr-ximages/en/numbers/not.gif (renamed from numbers/not.gif)bin2625 -> 2625 bytes
-rwxr-xr-ximages/en/numbers/number.gif (copied from numbers/number.gif)bin2113 -> 2113 bytes
-rwxr-xr-ximages/en/numbers/numbersgroup.gif (renamed from numbers/numbersgroup.gif)bin24445 -> 24445 bytes
-rwxr-xr-ximages/en/numbers/numbersmask.gif (copied from numbers/numbersmask.gif)bin2821 -> 2821 bytes
-rwxr-xr-ximages/en/numbers/or.gif (renamed from numbers/or.gif)bin2593 -> 2593 bytes
-rwxr-xr-ximages/en/numbers/plus.gif (copied from numbers/plus.gif)bin1787 -> 1787 bytes
-rwxr-xr-ximages/en/numbers/print.gif (renamed from numbers/print.gif)bin2919 -> 2919 bytes
-rwxr-xr-ximages/en/numbers/product.gif (copied from numbers/product.gif)bin1843 -> 1843 bytes
-rwxr-xr-ximages/en/numbers/random.gif (renamed from numbers/random.gif)bin4328 -> 4328 bytes
-rwxr-xr-ximages/en/numbers/remainder.gif (copied from numbers/remainder.gif)bin2141 -> 2141 bytes
-rwxr-xr-ximages/en/palette/flowoff.gif (copied from palette/flowoff.gif)bin585 -> 585 bytes
-rwxr-xr-ximages/en/palette/flowon.gif (copied from palette/flowon.gif)bin573 -> 573 bytes
-rwxr-xr-ximages/en/palette/myblocksoff.gif (copied from palette/myblocksoff.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/en/palette/myblockson.gif (copied from palette/myblockson.gif)bin1718 -> 1718 bytes
-rwxr-xr-ximages/en/palette/numbersoff.gif (copied from palette/numbersoff.gif)bin1145 -> 1145 bytes
-rwxr-xr-ximages/en/palette/numberson.gif (copied from palette/numberson.gif)bin1169 -> 1169 bytes
-rwxr-xr-ximages/en/palette/penoff.gif (copied from palette/penoff.gif)bin1022 -> 1022 bytes
-rwxr-xr-ximages/en/palette/penon.gif (copied from palette/penon.gif)bin962 -> 962 bytes
-rwxr-xr-ximages/en/palette/turtleoff.gif (copied from palette/turtleoff.gif)bin1293 -> 1293 bytes
-rwxr-xr-ximages/en/palette/turtleon.gif (copied from palette/turtleon.gif)bin1717 -> 1717 bytes
-rwxr-xr-ximages/en/pen/color.gif (renamed from pen/color.gif)bin2163 -> 2163 bytes
-rwxr-xr-ximages/en/pen/fillscreen.gif (renamed from pen/fillscreen.gif)bin4309 -> 4309 bytes
-rwxr-xr-ximages/en/pen/pendown.gif (renamed from pen/pendown.gif)bin2529 -> 2529 bytes
-rwxr-xr-ximages/en/pen/pengroup.gif (renamed from pen/pengroup.gif)bin19522 -> 19522 bytes
-rwxr-xr-ximages/en/pen/penmask.gif (copied from pen/penmask.gif)bin1964 -> 1964 bytes
-rwxr-xr-ximages/en/pen/pensize.gif (renamed from pen/pensize.gif)bin2247 -> 2247 bytes
-rwxr-xr-ximages/en/pen/penup.gif (renamed from pen/penup.gif)bin2514 -> 2514 bytes
-rwxr-xr-ximages/en/pen/setbg.gif (copied from pen/setbg.gif)bin3042 -> 3042 bytes
-rwxr-xr-ximages/en/pen/setcolor.gif (renamed from pen/setcolor.gif)bin3110 -> 3110 bytes
-rwxr-xr-ximages/en/pen/setpensize.gif (renamed from pen/setpensize.gif)bin3213 -> 3213 bytes
-rwxr-xr-ximages/en/pen/setshade.gif (renamed from pen/setshade.gif)bin3165 -> 3165 bytes
-rwxr-xr-ximages/en/pen/shade.gif (renamed from pen/shade.gif)bin2174 -> 2174 bytes
-rwxr-xr-ximages/en/shapes/t0.gif (copied from shapes/t0.gif)bin1687 -> 1687 bytes
-rwxr-xr-ximages/en/shapes/t1.gif (copied from shapes/t1.gif)bin1704 -> 1704 bytes
-rwxr-xr-ximages/en/shapes/t10.gif (copied from shapes/t10.gif)bin1698 -> 1698 bytes
-rwxr-xr-ximages/en/shapes/t11.gif (copied from shapes/t11.gif)bin1703 -> 1703 bytes
-rwxr-xr-ximages/en/shapes/t12.gif (copied from shapes/t12.gif)bin1697 -> 1697 bytes
-rwxr-xr-ximages/en/shapes/t13.gif (copied from shapes/t13.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/en/shapes/t14.gif (copied from shapes/t14.gif)bin1689 -> 1689 bytes
-rwxr-xr-ximages/en/shapes/t15.gif (copied from shapes/t15.gif)bin1689 -> 1689 bytes
-rwxr-xr-ximages/en/shapes/t16.gif (copied from shapes/t16.gif)bin1688 -> 1688 bytes
-rwxr-xr-ximages/en/shapes/t17.gif (copied from shapes/t17.gif)bin1684 -> 1684 bytes
-rwxr-xr-ximages/en/shapes/t18.gif (copied from shapes/t18.gif)bin1684 -> 1684 bytes
-rwxr-xr-ximages/en/shapes/t19.gif (copied from shapes/t19.gif)bin1696 -> 1696 bytes
-rwxr-xr-ximages/en/shapes/t2.gif (copied from shapes/t2.gif)bin1707 -> 1707 bytes
-rwxr-xr-ximages/en/shapes/t20.gif (copied from shapes/t20.gif)bin1699 -> 1699 bytes
-rwxr-xr-ximages/en/shapes/t21.gif (copied from shapes/t21.gif)bin1694 -> 1694 bytes
-rwxr-xr-ximages/en/shapes/t22.gif (copied from shapes/t22.gif)bin1701 -> 1701 bytes
-rwxr-xr-ximages/en/shapes/t23.gif (copied from shapes/t23.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/en/shapes/t24.gif (copied from shapes/t24.gif)bin1704 -> 1704 bytes
-rwxr-xr-ximages/en/shapes/t25.gif (copied from shapes/t25.gif)bin1699 -> 1699 bytes
-rwxr-xr-ximages/en/shapes/t26.gif (copied from shapes/t26.gif)bin1696 -> 1696 bytes
-rwxr-xr-ximages/en/shapes/t27.gif (copied from shapes/t27.gif)bin1678 -> 1678 bytes
-rwxr-xr-ximages/en/shapes/t28.gif (copied from shapes/t28.gif)bin1711 -> 1711 bytes
-rwxr-xr-ximages/en/shapes/t29.gif (copied from shapes/t29.gif)bin1703 -> 1703 bytes
-rwxr-xr-ximages/en/shapes/t3.gif (copied from shapes/t3.gif)bin1708 -> 1708 bytes
-rwxr-xr-ximages/en/shapes/t30.gif (copied from shapes/t30.gif)bin1696 -> 1696 bytes
-rwxr-xr-ximages/en/shapes/t31.gif (copied from shapes/t31.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/en/shapes/t32.gif (copied from shapes/t32.gif)bin1686 -> 1686 bytes
-rwxr-xr-ximages/en/shapes/t33.gif (copied from shapes/t33.gif)bin1698 -> 1698 bytes
-rwxr-xr-ximages/en/shapes/t34.gif (copied from shapes/t34.gif)bin1691 -> 1691 bytes
-rwxr-xr-ximages/en/shapes/t35.gif (copied from shapes/t35.gif)bin1692 -> 1692 bytes
-rwxr-xr-ximages/en/shapes/t4.gif (copied from shapes/t4.gif)bin1708 -> 1708 bytes
-rwxr-xr-ximages/en/shapes/t5.gif (copied from shapes/t5.gif)bin1707 -> 1707 bytes
-rwxr-xr-ximages/en/shapes/t6.gif (copied from shapes/t6.gif)bin1706 -> 1706 bytes
-rwxr-xr-ximages/en/shapes/t7.gif (copied from shapes/t7.gif)bin1709 -> 1709 bytes
-rwxr-xr-ximages/en/shapes/t8.gif (copied from shapes/t8.gif)bin1694 -> 1694 bytes
-rwxr-xr-ximages/en/shapes/t9.gif (copied from shapes/t9.gif)bin1677 -> 1677 bytes
-rwxr-xr-ximages/en/status.gif (copied from status.gif)bin12776 -> 12776 bytes
-rwxr-xr-ximages/en/toolbar/blocks-.gif (renamed from toolbar/blocks-.gif)bin4277 -> 4277 bytes
-rwxr-xr-ximages/en/toolbar/eraseroff.gif (copied from toolbar/eraseroff.gif)bin936 -> 936 bytes
-rwxr-xr-ximages/en/toolbar/eraseron.gif (copied from toolbar/eraseron.gif)bin1525 -> 1525 bytes
-rwxr-xr-ximages/en/toolbar/hideshowoff.gif (copied from toolbar/hideshowoff.gif)bin228 -> 228 bytes
-rwxr-xr-ximages/en/toolbar/hideshowon.gif (copied from toolbar/hideshowon.gif)bin1756 -> 1756 bytes
-rwxr-xr-ximages/en/toolbar/stopitoff.gif (copied from toolbar/stopitoff.gif)bin790 -> 790 bytes
-rwxr-xr-ximages/en/toolbar/stopiton.gif (copied from toolbar/stopiton.gif)bin781 -> 781 bytes
-rwxr-xr-ximages/en/turtle/arc.gif (renamed from turtle/arc.gif)bin4467 -> 4467 bytes
-rwxr-xr-ximages/en/turtle/back.gif (renamed from turtle/back.gif)bin2857 -> 2857 bytes
-rwxr-xr-ximages/en/turtle/clean.gif (renamed from turtle/clean.gif)bin2731 -> 2731 bytes
-rwxr-xr-ximages/en/turtle/forward.gif (renamed from turtle/forward.gif)bin2903 -> 2903 bytes
-rwxr-xr-ximages/en/turtle/heading.gif (renamed from turtle/heading.gif)bin2299 -> 2299 bytes
-rwxr-xr-ximages/en/turtle/left.gif (renamed from turtle/left.gif)bin2819 -> 2819 bytes
-rwxr-xr-ximages/en/turtle/right.gif (renamed from turtle/right.gif)bin2853 -> 2853 bytes
-rwxr-xr-ximages/en/turtle/seth.gif (renamed from turtle/seth.gif)bin2818 -> 2818 bytes
-rwxr-xr-ximages/en/turtle/setxy.gif (renamed from turtle/setxy.gif)bin4401 -> 4401 bytes
-rwxr-xr-ximages/en/turtle/turtlegroup.gif (renamed from turtle/turtlegroup.gif)bin22658 -> 22658 bytes
-rwxr-xr-ximages/en/turtle/turtlemask.gif (copied from turtle/turtlemask.gif)bin2285 -> 2285 bytes
-rwxr-xr-ximages/en/turtle/xcor.gif (renamed from turtle/xcor.gif)bin2237 -> 2237 bytes
-rwxr-xr-ximages/en/turtle/ycor.gif (renamed from turtle/ycor.gif)bin2238 -> 2238 bytes
-rwxr-xr-ximages/es/flow/flowgroup.gifbin0 -> 24906 bytes
-rwxr-xr-ximages/es/flow/flowmask.gif (renamed from flow/flowmask.gif)bin2373 -> 2373 bytes
-rwxr-xr-ximages/es/flow/forever.gifbin0 -> 3467 bytes
-rwxr-xr-ximages/es/flow/hspace.gif (renamed from flow/hspace.gif)bin3349 -> 3349 bytes
-rwxr-xr-ximages/es/flow/if.gifbin0 -> 7781 bytes
-rwxr-xr-ximages/es/flow/ifelse.gifbin0 -> 8395 bytes
-rwxr-xr-ximages/es/flow/myblocksgroup.gif (renamed from flow/myblocksgroup.gif)bin17103 -> 17103 bytes
-rwxr-xr-ximages/es/flow/repeat.gifbin0 -> 5990 bytes
-rwxr-xr-ximages/es/flow/stopstack.gifbin0 -> 2958 bytes
-rwxr-xr-ximages/es/flow/vspace.gif (renamed from flow/vspace.gif)bin3891 -> 3891 bytes
-rwxr-xr-ximages/es/flow/wait.gifbin0 -> 2987 bytes
-rwxr-xr-ximages/es/masknumber.gif (renamed from masknumber.gif)bin330 -> 330 bytes
-rwxr-xr-ximages/es/myblocks/box1.gifbin0 -> 2074 bytes
-rwxr-xr-ximages/es/myblocks/box2.gifbin0 -> 2109 bytes
-rwxr-xr-ximages/es/myblocks/hat1.gifbin0 -> 2752 bytes
-rwxr-xr-ximages/es/myblocks/hat2.gifbin0 -> 2760 bytes
-rwxr-xr-ximages/es/myblocks/myblocksgroup.gifbin0 -> 16909 bytes
-rwxr-xr-ximages/es/myblocks/myblocksmask.gif (renamed from myblocks/myblocksmask.gif)bin1776 -> 1776 bytes
-rwxr-xr-ximages/es/myblocks/stack1.gifbin0 -> 2582 bytes
-rwxr-xr-ximages/es/myblocks/stack2.gifbin0 -> 2603 bytes
-rwxr-xr-ximages/es/myblocks/stackhat1.gifbin0 -> 2752 bytes
-rwxr-xr-ximages/es/myblocks/stackhat2.gifbin0 -> 2760 bytes
-rwxr-xr-ximages/es/myblocks/storeinbox1.gifbin0 -> 3446 bytes
-rwxr-xr-ximages/es/myblocks/storeinbox2.gifbin0 -> 3467 bytes
-rwxr-xr-ximages/es/noinput.gifbin0 -> 13923 bytes
-rwxr-xr-ximages/es/nostack.gifbin0 -> 13505 bytes
-rwxr-xr-ximages/es/numbers/and.gifbin0 -> 2589 bytes
-rwxr-xr-ximages/es/numbers/division.gif (renamed from numbers/division.gif)bin1800 -> 1800 bytes
-rwxr-xr-ximages/es/numbers/equal.gif (renamed from numbers/equal.gif)bin3680 -> 3680 bytes
-rwxr-xr-ximages/es/numbers/greater.gif (renamed from numbers/greater.gif)bin3728 -> 3728 bytes
-rwxr-xr-ximages/es/numbers/less.gif (renamed from numbers/less.gif)bin3719 -> 3719 bytes
-rwxr-xr-ximages/es/numbers/minus.gif (renamed from numbers/minus.gif)bin1772 -> 1772 bytes
-rwxr-xr-ximages/es/numbers/not.gifbin0 -> 2579 bytes
-rwxr-xr-ximages/es/numbers/number.gif (renamed from numbers/number.gif)bin2113 -> 2113 bytes
-rwxr-xr-ximages/es/numbers/numbersgroup.gifbin0 -> 24499 bytes
-rwxr-xr-ximages/es/numbers/numbersmask.gif (renamed from numbers/numbersmask.gif)bin2821 -> 2821 bytes
-rwxr-xr-ximages/es/numbers/or.gifbin0 -> 2586 bytes
-rwxr-xr-ximages/es/numbers/plus.gif (renamed from numbers/plus.gif)bin1787 -> 1787 bytes
-rwxr-xr-ximages/es/numbers/print.gifbin0 -> 2936 bytes
-rwxr-xr-ximages/es/numbers/product.gif (renamed from numbers/product.gif)bin1843 -> 1843 bytes
-rwxr-xr-ximages/es/numbers/random.gifbin0 -> 4201 bytes
-rwxr-xr-ximages/es/numbers/remainder.gif (renamed from numbers/remainder.gif)bin2141 -> 2141 bytes
-rwxr-xr-ximages/es/palette/flowoff.gif (renamed from palette/flowoff.gif)bin585 -> 585 bytes
-rwxr-xr-ximages/es/palette/flowon.gif (renamed from palette/flowon.gif)bin573 -> 573 bytes
-rwxr-xr-ximages/es/palette/myblocksoff.gif (renamed from palette/myblocksoff.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/es/palette/myblockson.gif (renamed from palette/myblockson.gif)bin1718 -> 1718 bytes
-rwxr-xr-ximages/es/palette/numbersoff.gif (renamed from palette/numbersoff.gif)bin1145 -> 1145 bytes
-rwxr-xr-ximages/es/palette/numberson.gif (renamed from palette/numberson.gif)bin1169 -> 1169 bytes
-rwxr-xr-ximages/es/palette/penoff.gif (renamed from palette/penoff.gif)bin1022 -> 1022 bytes
-rwxr-xr-ximages/es/palette/penon.gif (renamed from palette/penon.gif)bin962 -> 962 bytes
-rwxr-xr-ximages/es/palette/turtleoff.gif (renamed from palette/turtleoff.gif)bin1293 -> 1293 bytes
-rwxr-xr-ximages/es/palette/turtleon.gif (renamed from palette/turtleon.gif)bin1717 -> 1717 bytes
-rwxr-xr-ximages/es/pen/color.gifbin0 -> 2123 bytes
-rwxr-xr-ximages/es/pen/fillscreen.gifbin0 -> 4343 bytes
-rwxr-xr-ximages/es/pen/pendown.gifbin0 -> 2488 bytes
-rwxr-xr-ximages/es/pen/pengroup.gifbin0 -> 19188 bytes
-rwxr-xr-ximages/es/pen/penmask.gif (renamed from pen/penmask.gif)bin1964 -> 1964 bytes
-rwxr-xr-ximages/es/pen/pensize.gifbin0 -> 2241 bytes
-rwxr-xr-ximages/es/pen/penup.gifbin0 -> 2498 bytes
-rwxr-xr-ximages/es/pen/setbg.gif (renamed from pen/setbg.gif)bin3042 -> 3042 bytes
-rwxr-xr-ximages/es/pen/setcolor.gifbin0 -> 3183 bytes
-rwxr-xr-ximages/es/pen/setpensize.gifbin0 -> 3379 bytes
-rwxr-xr-ximages/es/pen/setshade.gifbin0 -> 3163 bytes
-rwxr-xr-ximages/es/pen/shade.gifbin0 -> 2112 bytes
-rwxr-xr-ximages/es/shapes/t0.gif (renamed from shapes/t0.gif)bin1687 -> 1687 bytes
-rwxr-xr-ximages/es/shapes/t1.gif (renamed from shapes/t1.gif)bin1704 -> 1704 bytes
-rwxr-xr-ximages/es/shapes/t10.gif (renamed from shapes/t10.gif)bin1698 -> 1698 bytes
-rwxr-xr-ximages/es/shapes/t11.gif (renamed from shapes/t11.gif)bin1703 -> 1703 bytes
-rwxr-xr-ximages/es/shapes/t12.gif (renamed from shapes/t12.gif)bin1697 -> 1697 bytes
-rwxr-xr-ximages/es/shapes/t13.gif (renamed from shapes/t13.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/es/shapes/t14.gif (renamed from shapes/t14.gif)bin1689 -> 1689 bytes
-rwxr-xr-ximages/es/shapes/t15.gif (renamed from shapes/t15.gif)bin1689 -> 1689 bytes
-rwxr-xr-ximages/es/shapes/t16.gif (renamed from shapes/t16.gif)bin1688 -> 1688 bytes
-rwxr-xr-ximages/es/shapes/t17.gif (renamed from shapes/t17.gif)bin1684 -> 1684 bytes
-rwxr-xr-ximages/es/shapes/t18.gif (renamed from shapes/t18.gif)bin1684 -> 1684 bytes
-rwxr-xr-ximages/es/shapes/t19.gif (renamed from shapes/t19.gif)bin1696 -> 1696 bytes
-rwxr-xr-ximages/es/shapes/t2.gif (renamed from shapes/t2.gif)bin1707 -> 1707 bytes
-rwxr-xr-ximages/es/shapes/t20.gif (renamed from shapes/t20.gif)bin1699 -> 1699 bytes
-rwxr-xr-ximages/es/shapes/t21.gif (renamed from shapes/t21.gif)bin1694 -> 1694 bytes
-rwxr-xr-ximages/es/shapes/t22.gif (renamed from shapes/t22.gif)bin1701 -> 1701 bytes
-rwxr-xr-ximages/es/shapes/t23.gif (renamed from shapes/t23.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/es/shapes/t24.gif (renamed from shapes/t24.gif)bin1704 -> 1704 bytes
-rwxr-xr-ximages/es/shapes/t25.gif (renamed from shapes/t25.gif)bin1699 -> 1699 bytes
-rwxr-xr-ximages/es/shapes/t26.gif (renamed from shapes/t26.gif)bin1696 -> 1696 bytes
-rwxr-xr-ximages/es/shapes/t27.gif (renamed from shapes/t27.gif)bin1678 -> 1678 bytes
-rwxr-xr-ximages/es/shapes/t28.gif (renamed from shapes/t28.gif)bin1711 -> 1711 bytes
-rwxr-xr-ximages/es/shapes/t29.gif (renamed from shapes/t29.gif)bin1703 -> 1703 bytes
-rwxr-xr-ximages/es/shapes/t3.gif (renamed from shapes/t3.gif)bin1708 -> 1708 bytes
-rwxr-xr-ximages/es/shapes/t30.gif (renamed from shapes/t30.gif)bin1696 -> 1696 bytes
-rwxr-xr-ximages/es/shapes/t31.gif (renamed from shapes/t31.gif)bin1702 -> 1702 bytes
-rwxr-xr-ximages/es/shapes/t32.gif (renamed from shapes/t32.gif)bin1686 -> 1686 bytes
-rwxr-xr-ximages/es/shapes/t33.gif (renamed from shapes/t33.gif)bin1698 -> 1698 bytes
-rwxr-xr-ximages/es/shapes/t34.gif (renamed from shapes/t34.gif)bin1691 -> 1691 bytes
-rwxr-xr-ximages/es/shapes/t35.gif (renamed from shapes/t35.gif)bin1692 -> 1692 bytes
-rwxr-xr-ximages/es/shapes/t4.gif (renamed from shapes/t4.gif)bin1708 -> 1708 bytes
-rwxr-xr-ximages/es/shapes/t5.gif (renamed from shapes/t5.gif)bin1707 -> 1707 bytes
-rwxr-xr-ximages/es/shapes/t6.gif (renamed from shapes/t6.gif)bin1706 -> 1706 bytes
-rwxr-xr-ximages/es/shapes/t7.gif (renamed from shapes/t7.gif)bin1709 -> 1709 bytes
-rwxr-xr-ximages/es/shapes/t8.gif (renamed from shapes/t8.gif)bin1694 -> 1694 bytes
-rwxr-xr-ximages/es/shapes/t9.gif (renamed from shapes/t9.gif)bin1677 -> 1677 bytes
-rwxr-xr-ximages/es/status.gif (renamed from status.gif)bin12776 -> 12776 bytes
-rwxr-xr-ximages/es/toolbar/blocks-.gifbin0 -> 4157 bytes
-rwxr-xr-ximages/es/toolbar/eraseroff.gif (renamed from toolbar/eraseroff.gif)bin936 -> 936 bytes
-rwxr-xr-ximages/es/toolbar/eraseron.gif (renamed from toolbar/eraseron.gif)bin1525 -> 1525 bytes
-rwxr-xr-ximages/es/toolbar/hideshowoff.gif (renamed from toolbar/hideshowoff.gif)bin228 -> 228 bytes
-rwxr-xr-ximages/es/toolbar/hideshowon.gif (renamed from toolbar/hideshowon.gif)bin1756 -> 1756 bytes
-rwxr-xr-ximages/es/toolbar/stopitoff.gif (renamed from toolbar/stopitoff.gif)bin790 -> 790 bytes
-rwxr-xr-ximages/es/toolbar/stopiton.gif (renamed from toolbar/stopiton.gif)bin781 -> 781 bytes
-rwxr-xr-ximages/es/turtle/arc.gifbin0 -> 4611 bytes
-rwxr-xr-ximages/es/turtle/back.gifbin0 -> 2919 bytes
-rwxr-xr-ximages/es/turtle/clean.gifbin0 -> 2789 bytes
-rwxr-xr-ximages/es/turtle/forward.gifbin0 -> 2978 bytes
-rwxr-xr-ximages/es/turtle/heading.gifbin0 -> 2252 bytes
-rwxr-xr-ximages/es/turtle/left.gifbin0 -> 2977 bytes
-rwxr-xr-ximages/es/turtle/right.gifbin0 -> 2977 bytes
-rwxr-xr-ximages/es/turtle/seth.gifbin0 -> 2945 bytes
-rwxr-xr-ximages/es/turtle/setxy.gifbin0 -> 4479 bytes
-rwxr-xr-ximages/es/turtle/turtlegroup.gifbin0 -> 22711 bytes
-rwxr-xr-ximages/es/turtle/turtlemask.gif (renamed from turtle/turtlemask.gif)bin2285 -> 2285 bytes
-rwxr-xr-ximages/es/turtle/xcor.gifbin0 -> 2259 bytes
-rwxr-xr-ximages/es/turtle/ycor.gifbin0 -> 2263 bytes
-rwxr-xr-xlocale/en/activity.linfo2
-rwxr-xr-xlocale/es/activity.linfo2
-rwxr-xr-xtalogo.py18
-rwxr-xr-xtalogo.pycbin20592 -> 19266 bytes
-rwxr-xr-xtaproject.py1
-rwxr-xr-xtaproject.pycbin6507 -> 6393 bytes
-rwxr-xr-xtasetup.py7
-rwxr-xr-xtasetup.pycbin7009 -> 6221 bytes
-rwxr-xr-xtasprites.py2
-rwxr-xr-xtasprites.pycbin5523 -> 5305 bytes
-rwxr-xr-xtaturtle.py1
-rwxr-xr-xtaturtle.pycbin9301 -> 8921 bytes
-rwxr-xr-xtawindow.py11
-rwxr-xr-xtawindow.pycbin13848 -> 13767 bytes
-rwxr-xr-xturtleart.py2
259 files changed, 291 insertions, 135 deletions
diff --git a/MANIFEST b/MANIFEST
index 1e3c821..4f40a9d 100755
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,5 +1,3 @@
-masknumber.gif
-status.gif
setup.py
talogo.py
taproject.py
@@ -9,120 +7,244 @@ taturtle.py
tawindow.py
TurtleArtActivity.py
icons/stock-open.svg
-flow/flowgroup.gif
-flow/flowmask.gif
-flow/forever.gif
-flow/hspace.gif
-flow/ifelse.gif
-flow/if.gif
-flow/repeat.gif
-flow/stopstack.gif
-flow/vspace.gif
-flow/wait.gif
-myblocks/box1.gif
-myblocks/box2.gif
-myblocks/hat1.gif
-myblocks/hat2.gif
-myblocks/stack1.gif
-myblocks/stack2.gif
-myblocks/myblocksgroup.gif
-myblocks/myblocksmask.gif
-myblocks/storeinbox1.gif
-myblocks/storeinbox2.gif
-numbers/and.gif
-numbers/division.gif
-numbers/equal.gif
-numbers/greater.gif
-numbers/less.gif
-numbers/minus.gif
-numbers/not.gif
-numbers/number.gif
-numbers/numbersgroup.gif
-numbers/numbersmask.gif
-numbers/or.gif
-numbers/plus.gif
-numbers/print.gif
-numbers/product.gif
-numbers/random.gif
-numbers/remainder.gif
-palette/flowoff.gif
-palette/flowon.gif
-palette/myblocksoff.gif
-palette/myblockson.gif
-palette/numbersoff.gif
-palette/numberson.gif
-palette/penoff.gif
-palette/penon.gif
-palette/turtleoff.gif
-palette/turtleon.gif
-pen/color.gif
-pen/fillscreen.gif
-pen/pendown.gif
-pen/pengroup.gif
-pen/penmask.gif
-pen/pensize.gif
-pen/penup.gif
-pen/setbg.gif
-pen/setcolor.gif
-pen/setpensize.gif
-pen/setshade.gif
-pen/shade.gif
-shapes/t0.gif
-shapes/t10.gif
-shapes/t11.gif
-shapes/t12.gif
-shapes/t13.gif
-shapes/t14.gif
-shapes/t15.gif
-shapes/t16.gif
-shapes/t17.gif
-shapes/t18.gif
-shapes/t19.gif
-shapes/t1.gif
-shapes/t20.gif
-shapes/t21.gif
-shapes/t22.gif
-shapes/t23.gif
-shapes/t24.gif
-shapes/t25.gif
-shapes/t26.gif
-shapes/t27.gif
-shapes/t28.gif
-shapes/t29.gif
-shapes/t2.gif
-shapes/t30.gif
-shapes/t31.gif
-shapes/t32.gif
-shapes/t33.gif
-shapes/t34.gif
-shapes/t35.gif
-shapes/t3.gif
-shapes/t4.gif
-shapes/t5.gif
-shapes/t6.gif
-shapes/t7.gif
-shapes/t8.gif
-shapes/t9.gif
-toolbar/blocks-.gif
-toolbar/eraseroff.gif
-toolbar/eraseron.gif
-toolbar/hideshowoff.gif
-toolbar/hideshowon.gif
-toolbar/stopitoff.gif
-toolbar/stopiton.gif
-turtle/arc.gif
-turtle/back.gif
-turtle/clean.gif
-turtle/forward.gif
-turtle/heading.gif
-turtle/left.gif
-turtle/right.gif
-turtle/seth.gif
-turtle/setxy.gif
-turtle/turtlegroup.gif
-turtle/turtlemask.gif
-turtle/xcor.gif
-turtle/ycor.gif
+locale/en/activity.linfo
+locale/es/activity.linfo
+images/en/masknumber.gif
+images/en/status.gif
+images/en/nostack.gif
+images/en/noinput.gif
+images/en/flow/flowgroup.gif
+images/en/flow/flowmask.gif
+images/en/flow/forever.gif
+images/en/flow/hspace.gif
+images/en/flow/ifelse.gif
+images/en/flow/if.gif
+images/en/flow/repeat.gif
+images/en/flow/stopstack.gif
+images/en/flow/vspace.gif
+images/en/flow/wait.gif
+images/en/myblocks/box1.gif
+images/en/myblocks/box2.gif
+images/en/myblocks/hat1.gif
+images/en/myblocks/hat2.gif
+images/en/myblocks/stack1.gif
+images/en/myblocks/stack2.gif
+images/en/myblocks/myblocksgroup.gif
+images/en/myblocks/myblocksmask.gif
+images/en/myblocks/storeinbox1.gif
+images/en/myblocks/storeinbox2.gif
+images/en/numbers/and.gif
+images/en/numbers/division.gif
+images/en/numbers/equal.gif
+images/en/numbers/greater.gif
+images/en/numbers/less.gif
+images/en/numbers/minus.gif
+images/en/numbers/not.gif
+images/en/numbers/number.gif
+images/en/numbers/numbersgroup.gif
+images/en/numbers/numbersmask.gif
+images/en/numbers/or.gif
+images/en/numbers/plus.gif
+images/en/numbers/print.gif
+images/en/numbers/product.gif
+images/en/numbers/random.gif
+images/en/numbers/remainder.gif
+images/en/palette/flowoff.gif
+images/en/palette/flowon.gif
+images/en/palette/myblocksoff.gif
+images/en/palette/myblockson.gif
+images/en/palette/numbersoff.gif
+images/en/palette/numberson.gif
+images/en/palette/penoff.gif
+images/en/palette/penon.gif
+images/en/palette/turtleoff.gif
+images/en/palette/turtleon.gif
+images/en/pen/color.gif
+images/en/pen/fillscreen.gif
+images/en/pen/pendown.gif
+images/en/pen/pengroup.gif
+images/en/pen/penmask.gif
+images/en/pen/pensize.gif
+images/en/pen/penup.gif
+images/en/pen/setbg.gif
+images/en/pen/setcolor.gif
+images/en/pen/setpensize.gif
+images/en/pen/setshade.gif
+images/en/pen/shade.gif
+images/en/shapes/t0.gif
+images/en/shapes/t10.gif
+images/en/shapes/t11.gif
+images/en/shapes/t12.gif
+images/en/shapes/t13.gif
+images/en/shapes/t14.gif
+images/en/shapes/t15.gif
+images/en/shapes/t16.gif
+images/en/shapes/t17.gif
+images/en/shapes/t18.gif
+images/en/shapes/t19.gif
+images/en/shapes/t1.gif
+images/en/shapes/t20.gif
+images/en/shapes/t21.gif
+images/en/shapes/t22.gif
+images/en/shapes/t23.gif
+images/en/shapes/t24.gif
+images/en/shapes/t25.gif
+images/en/shapes/t26.gif
+images/en/shapes/t27.gif
+images/en/shapes/t28.gif
+images/en/shapes/t29.gif
+images/en/shapes/t2.gif
+images/en/shapes/t30.gif
+images/en/shapes/t31.gif
+images/en/shapes/t32.gif
+images/en/shapes/t33.gif
+images/en/shapes/t34.gif
+images/en/shapes/t35.gif
+images/en/shapes/t3.gif
+images/en/shapes/t4.gif
+images/en/shapes/t5.gif
+images/en/shapes/t6.gif
+images/en/shapes/t7.gif
+images/en/shapes/t8.gif
+images/en/shapes/t9.gif
+images/en/toolbar/blocks-.gif
+images/en/toolbar/eraseroff.gif
+images/en/toolbar/eraseron.gif
+images/en/toolbar/hideshowoff.gif
+images/en/toolbar/hideshowon.gif
+images/en/toolbar/stopitoff.gif
+images/en/toolbar/stopiton.gif
+images/en/turtle/arc.gif
+images/en/turtle/back.gif
+images/en/turtle/clean.gif
+images/en/turtle/forward.gif
+images/en/turtle/heading.gif
+images/en/turtle/left.gif
+images/en/turtle/right.gif
+images/en/turtle/seth.gif
+images/en/turtle/setxy.gif
+images/en/turtle/turtlegroup.gif
+images/en/turtle/turtlemask.gif
+images/en/turtle/xcor.gif
+images/en/turtle/ycor.gif
+images/es/masknumber.gif
+images/es/status.gif
+images/es/nostack.gif
+images/es/noinput.gif
+images/es/flow/flowgroup.gif
+images/es/flow/flowmask.gif
+images/es/flow/forever.gif
+images/es/flow/hspace.gif
+images/es/flow/ifelse.gif
+images/es/flow/if.gif
+images/es/flow/repeat.gif
+images/es/flow/stopstack.gif
+images/es/flow/vspace.gif
+images/es/flow/wait.gif
+images/es/myblocks/box1.gif
+images/es/myblocks/box2.gif
+images/es/myblocks/hat1.gif
+images/es/myblocks/hat2.gif
+images/es/myblocks/stack1.gif
+images/es/myblocks/stack2.gif
+images/es/myblocks/myblocksgroup.gif
+images/es/myblocks/myblocksmask.gif
+images/es/myblocks/storeinbox1.gif
+images/es/myblocks/storeinbox2.gif
+images/es/numbers/and.gif
+images/es/numbers/division.gif
+images/es/numbers/equal.gif
+images/es/numbers/greater.gif
+images/es/numbers/less.gif
+images/es/numbers/minus.gif
+images/es/numbers/not.gif
+images/es/numbers/number.gif
+images/es/numbers/numbersgroup.gif
+images/es/numbers/numbersmask.gif
+images/es/numbers/or.gif
+images/es/numbers/plus.gif
+images/es/numbers/print.gif
+images/es/numbers/product.gif
+images/es/numbers/random.gif
+images/es/numbers/remainder.gif
+images/es/palette/flowoff.gif
+images/es/palette/flowon.gif
+images/es/palette/myblocksoff.gif
+images/es/palette/myblockson.gif
+images/es/palette/numbersoff.gif
+images/es/palette/numberson.gif
+images/es/palette/penoff.gif
+images/es/palette/penon.gif
+images/es/palette/turtleoff.gif
+images/es/palette/turtleon.gif
+images/es/pen/color.gif
+images/es/pen/fillscreen.gif
+images/es/pen/pendown.gif
+images/es/pen/pengroup.gif
+images/es/pen/penmask.gif
+images/es/pen/pensize.gif
+images/es/pen/penup.gif
+images/es/pen/setbg.gif
+images/es/pen/setcolor.gif
+images/es/pen/setpensize.gif
+images/es/pen/setshade.gif
+images/es/pen/shade.gif
+images/es/shapes/t0.gif
+images/es/shapes/t10.gif
+images/es/shapes/t11.gif
+images/es/shapes/t12.gif
+images/es/shapes/t13.gif
+images/es/shapes/t14.gif
+images/es/shapes/t15.gif
+images/es/shapes/t16.gif
+images/es/shapes/t17.gif
+images/es/shapes/t18.gif
+images/es/shapes/t19.gif
+images/es/shapes/t1.gif
+images/es/shapes/t20.gif
+images/es/shapes/t21.gif
+images/es/shapes/t22.gif
+images/es/shapes/t23.gif
+images/es/shapes/t24.gif
+images/es/shapes/t25.gif
+images/es/shapes/t26.gif
+images/es/shapes/t27.gif
+images/es/shapes/t28.gif
+images/es/shapes/t29.gif
+images/es/shapes/t2.gif
+images/es/shapes/t30.gif
+images/es/shapes/t31.gif
+images/es/shapes/t32.gif
+images/es/shapes/t33.gif
+images/es/shapes/t34.gif
+images/es/shapes/t35.gif
+images/es/shapes/t3.gif
+images/es/shapes/t4.gif
+images/es/shapes/t5.gif
+images/es/shapes/t6.gif
+images/es/shapes/t7.gif
+images/es/shapes/t8.gif
+images/es/shapes/t9.gif
+images/es/toolbar/blocks-.gif
+images/es/toolbar/eraseroff.gif
+images/es/toolbar/eraseron.gif
+images/es/toolbar/hideshowoff.gif
+images/es/toolbar/hideshowon.gif
+images/es/toolbar/stopitoff.gif
+images/es/toolbar/stopiton.gif
+images/es/turtle/arc.gif
+images/es/turtle/back.gif
+images/es/turtle/clean.gif
+images/es/turtle/forward.gif
+images/es/turtle/heading.gif
+images/es/turtle/left.gif
+images/es/turtle/right.gif
+images/es/turtle/seth.gif
+images/es/turtle/setxy.gif
+images/es/turtle/turtlegroup.gif
+images/es/turtle/turtlemask.gif
+images/es/turtle/xcor.gif
+images/es/turtle/ycor.gif
samples/birds.png
samples/birds.ta
samples/bubbles.png
diff --git a/NEWS b/NEWS
index c2b72f7..e8b1ebf 100755
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+7
+
+* simple i18n
+
6
* Graphics changes
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index a892795..b75d931 100755
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -30,13 +30,16 @@ from sugar.graphics.toolbutton import ToolButton
from sugar.datastore import datastore
from sugar import profile
from gettext import gettext as _
+import locale
+import os.path
+import os
class TurtleArtActivity(activity.Activity):
def __init__(self, handle):
super(TurtleArtActivity,self).__init__(handle)
self.gamename = 'turtleart'
- self.set_title("TurtleArt")
+# self.set_title("TurtleArt...")
toolbox = activity.ActivityToolbox(self)
self.set_toolbox(toolbox)
@@ -44,7 +47,7 @@ class TurtleArtActivity(activity.Activity):
toolbox.add_toolbar( ('Project'), self.projectToolbar )
toolbox.show()
- toolbox._activity_toolbar.keep.connect('clicked', self._keep_clicked_cb) # patch
+# toolbox._activity_toolbar.keep.connect('clicked', self._keep_clicked_cb) # patch
canvas = gtk.EventBox()
@@ -52,12 +55,19 @@ class TurtleArtActivity(activity.Activity):
toolbox._activity_toolbar.title.grab_focus()
toolbox._activity_toolbar.title.select_region(0,0)
- self.tw = tawindow.twNew(canvas, activity.get_bundle_path(),self)
+ lang = locale.getdefaultlocale()[0]
+ if not lang: lang = 'en'
+ lang = lang[0:2]
+ if not os.path.isdir(os.path.join(activity.get_bundle_path(),'images',lang)):
+ lang = 'en'
+
+ self.tw = tawindow.twNew(canvas, activity.get_bundle_path(),lang,self)
self.tw.activity = self
self.tw.window.grab_focus()
+ self.tw.save_folder = os.path.join(os.environ['SUGAR_ACTIVITY_ROOT'],'data')
- toolbox._activity_toolbar._update_title_sid = True
- toolbox._activity_toolbar.title.connect('focus-out-event', self.update_title_cb, toolbox) # patch
+# toolbox._activity_toolbar._update_title_sid = True
+# toolbox._activity_toolbar.title.connect('focus-out-event', self.update_title_cb, toolbox) # patch
if self._jobject and self._jobject.file_path:
self.read_file(self._jobject.file_path)
diff --git a/activity/activity.info b/activity/activity.info
index 637fd86..fa2219a 100755
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -3,5 +3,5 @@ name = TurtleArt
service_name = org.laptop.TurtleArtActivity
class = TurtleArtActivity.TurtleArtActivity
icon = activity-turtleart
-activity_version = 6
+activity_version = 7
show_launcher = yes
diff --git a/flow/flowgroup.gif b/images/en/flow/flowgroup.gif
index 516859a..516859a 100755
--- a/flow/flowgroup.gif
+++ b/images/en/flow/flowgroup.gif
Binary files differ
diff --git a/flow/flowmask.gif b/images/en/flow/flowmask.gif
index 3ae8e5f..3ae8e5f 100755
--- a/flow/flowmask.gif
+++ b/images/en/flow/flowmask.gif
Binary files differ
diff --git a/flow/forever.gif b/images/en/flow/forever.gif
index e722b52..e722b52 100755
--- a/flow/forever.gif
+++ b/images/en/flow/forever.gif
Binary files differ
diff --git a/flow/hspace.gif b/images/en/flow/hspace.gif
index f396a80..f396a80 100755
--- a/flow/hspace.gif
+++ b/images/en/flow/hspace.gif
Binary files differ
diff --git a/flow/if.gif b/images/en/flow/if.gif
index d12e66d..d12e66d 100755
--- a/flow/if.gif
+++ b/images/en/flow/if.gif
Binary files differ
diff --git a/flow/ifelse.gif b/images/en/flow/ifelse.gif
index 9fd70e6..9fd70e6 100755
--- a/flow/ifelse.gif
+++ b/images/en/flow/ifelse.gif
Binary files differ
diff --git a/flow/myblocksgroup.gif b/images/en/flow/myblocksgroup.gif
index e4ad8ca..e4ad8ca 100755
--- a/flow/myblocksgroup.gif
+++ b/images/en/flow/myblocksgroup.gif
Binary files differ
diff --git a/flow/repeat.gif b/images/en/flow/repeat.gif
index 469ccdd..469ccdd 100755
--- a/flow/repeat.gif
+++ b/images/en/flow/repeat.gif
Binary files differ
diff --git a/flow/stopstack.gif b/images/en/flow/stopstack.gif
index 2a6cdd8..2a6cdd8 100755
--- a/flow/stopstack.gif
+++ b/images/en/flow/stopstack.gif
Binary files differ
diff --git a/flow/vspace.gif b/images/en/flow/vspace.gif
index 6f63c80..6f63c80 100755
--- a/flow/vspace.gif
+++ b/images/en/flow/vspace.gif
Binary files differ
diff --git a/flow/wait.gif b/images/en/flow/wait.gif
index 0cf6ad6..0cf6ad6 100755
--- a/flow/wait.gif
+++ b/images/en/flow/wait.gif
Binary files differ
diff --git a/masknumber.gif b/images/en/masknumber.gif
index 1672ba0..1672ba0 100755
--- a/masknumber.gif
+++ b/images/en/masknumber.gif
Binary files differ
diff --git a/myblocks/box1.gif b/images/en/myblocks/box1.gif
index 1029ed3..1029ed3 100755
--- a/myblocks/box1.gif
+++ b/images/en/myblocks/box1.gif
Binary files differ
diff --git a/myblocks/box2.gif b/images/en/myblocks/box2.gif
index d96aa73..d96aa73 100755
--- a/myblocks/box2.gif
+++ b/images/en/myblocks/box2.gif
Binary files differ
diff --git a/myblocks/hat1.gif b/images/en/myblocks/hat1.gif
index fd9eb1e..fd9eb1e 100755
--- a/myblocks/hat1.gif
+++ b/images/en/myblocks/hat1.gif
Binary files differ
diff --git a/myblocks/hat2.gif b/images/en/myblocks/hat2.gif
index ad3caf8..ad3caf8 100755
--- a/myblocks/hat2.gif
+++ b/images/en/myblocks/hat2.gif
Binary files differ
diff --git a/myblocks/myblocksgroup.gif b/images/en/myblocks/myblocksgroup.gif
index 049ff85..049ff85 100755
--- a/myblocks/myblocksgroup.gif
+++ b/images/en/myblocks/myblocksgroup.gif
Binary files differ
diff --git a/myblocks/myblocksmask.gif b/images/en/myblocks/myblocksmask.gif
index c09da1c..c09da1c 100755
--- a/myblocks/myblocksmask.gif
+++ b/images/en/myblocks/myblocksmask.gif
Binary files differ
diff --git a/myblocks/stack1.gif b/images/en/myblocks/stack1.gif
index 57025ce..57025ce 100755
--- a/myblocks/stack1.gif
+++ b/images/en/myblocks/stack1.gif
Binary files differ
diff --git a/myblocks/stack2.gif b/images/en/myblocks/stack2.gif
index 1e9dcba..1e9dcba 100755
--- a/myblocks/stack2.gif
+++ b/images/en/myblocks/stack2.gif
Binary files differ
diff --git a/myblocks/storeinbox1.gif b/images/en/myblocks/storeinbox1.gif
index 95d8229..95d8229 100755
--- a/myblocks/storeinbox1.gif
+++ b/images/en/myblocks/storeinbox1.gif
Binary files differ
diff --git a/myblocks/storeinbox2.gif b/images/en/myblocks/storeinbox2.gif
index 7df4f9a..7df4f9a 100755
--- a/myblocks/storeinbox2.gif
+++ b/images/en/myblocks/storeinbox2.gif
Binary files differ
diff --git a/images/en/noinput.gif b/images/en/noinput.gif
new file mode 100755
index 0000000..8780fb1
--- /dev/null
+++ b/images/en/noinput.gif
Binary files differ
diff --git a/images/en/nostack.gif b/images/en/nostack.gif
new file mode 100755
index 0000000..120c4d0
--- /dev/null
+++ b/images/en/nostack.gif
Binary files differ
diff --git a/numbers/and.gif b/images/en/numbers/and.gif
index df94a8f..df94a8f 100755
--- a/numbers/and.gif
+++ b/images/en/numbers/and.gif
Binary files differ
diff --git a/numbers/division.gif b/images/en/numbers/division.gif
index 358e6a6..358e6a6 100755
--- a/numbers/division.gif
+++ b/images/en/numbers/division.gif
Binary files differ
diff --git a/numbers/equal.gif b/images/en/numbers/equal.gif
index 3152be1..3152be1 100755
--- a/numbers/equal.gif
+++ b/images/en/numbers/equal.gif
Binary files differ
diff --git a/numbers/greater.gif b/images/en/numbers/greater.gif
index 1e5e304..1e5e304 100755
--- a/numbers/greater.gif
+++ b/images/en/numbers/greater.gif
Binary files differ
diff --git a/numbers/less.gif b/images/en/numbers/less.gif
index 9ff0343..9ff0343 100755
--- a/numbers/less.gif
+++ b/images/en/numbers/less.gif
Binary files differ
diff --git a/numbers/minus.gif b/images/en/numbers/minus.gif
index 1630422..1630422 100755
--- a/numbers/minus.gif
+++ b/images/en/numbers/minus.gif
Binary files differ
diff --git a/numbers/not.gif b/images/en/numbers/not.gif
index 44f50eb..44f50eb 100755
--- a/numbers/not.gif
+++ b/images/en/numbers/not.gif
Binary files differ
diff --git a/numbers/number.gif b/images/en/numbers/number.gif
index edd558e..edd558e 100755
--- a/numbers/number.gif
+++ b/images/en/numbers/number.gif
Binary files differ
diff --git a/numbers/numbersgroup.gif b/images/en/numbers/numbersgroup.gif
index 3108073..3108073 100755
--- a/numbers/numbersgroup.gif
+++ b/images/en/numbers/numbersgroup.gif
Binary files differ
diff --git a/numbers/numbersmask.gif b/images/en/numbers/numbersmask.gif
index 9509618..9509618 100755
--- a/numbers/numbersmask.gif
+++ b/images/en/numbers/numbersmask.gif
Binary files differ
diff --git a/numbers/or.gif b/images/en/numbers/or.gif
index bc69e74..bc69e74 100755
--- a/numbers/or.gif
+++ b/images/en/numbers/or.gif
Binary files differ
diff --git a/numbers/plus.gif b/images/en/numbers/plus.gif
index 3e46aa2..3e46aa2 100755
--- a/numbers/plus.gif
+++ b/images/en/numbers/plus.gif
Binary files differ
diff --git a/numbers/print.gif b/images/en/numbers/print.gif
index 7f076cc..7f076cc 100755
--- a/numbers/print.gif
+++ b/images/en/numbers/print.gif
Binary files differ
diff --git a/numbers/product.gif b/images/en/numbers/product.gif
index b302763..b302763 100755
--- a/numbers/product.gif
+++ b/images/en/numbers/product.gif
Binary files differ
diff --git a/numbers/random.gif b/images/en/numbers/random.gif
index c24ece3..c24ece3 100755
--- a/numbers/random.gif
+++ b/images/en/numbers/random.gif
Binary files differ
diff --git a/numbers/remainder.gif b/images/en/numbers/remainder.gif
index 670dacd..670dacd 100755
--- a/numbers/remainder.gif
+++ b/images/en/numbers/remainder.gif
Binary files differ
diff --git a/palette/flowoff.gif b/images/en/palette/flowoff.gif
index c5c970d..c5c970d 100755
--- a/palette/flowoff.gif
+++ b/images/en/palette/flowoff.gif
Binary files differ
diff --git a/palette/flowon.gif b/images/en/palette/flowon.gif
index 7cc8228..7cc8228 100755
--- a/palette/flowon.gif
+++ b/images/en/palette/flowon.gif
Binary files differ
diff --git a/palette/myblocksoff.gif b/images/en/palette/myblocksoff.gif
index b2fc719..b2fc719 100755
--- a/palette/myblocksoff.gif
+++ b/images/en/palette/myblocksoff.gif
Binary files differ
diff --git a/palette/myblockson.gif b/images/en/palette/myblockson.gif
index a42ce92..a42ce92 100755
--- a/palette/myblockson.gif
+++ b/images/en/palette/myblockson.gif
Binary files differ
diff --git a/palette/numbersoff.gif b/images/en/palette/numbersoff.gif
index 1762ace..1762ace 100755
--- a/palette/numbersoff.gif
+++ b/images/en/palette/numbersoff.gif
Binary files differ
diff --git a/palette/numberson.gif b/images/en/palette/numberson.gif
index 08b278e..08b278e 100755
--- a/palette/numberson.gif
+++ b/images/en/palette/numberson.gif
Binary files differ
diff --git a/palette/penoff.gif b/images/en/palette/penoff.gif
index 12776c2..12776c2 100755
--- a/palette/penoff.gif
+++ b/images/en/palette/penoff.gif
Binary files differ
diff --git a/palette/penon.gif b/images/en/palette/penon.gif
index bab1b7e..bab1b7e 100755
--- a/palette/penon.gif
+++ b/images/en/palette/penon.gif
Binary files differ
diff --git a/palette/turtleoff.gif b/images/en/palette/turtleoff.gif
index 856a3a3..856a3a3 100755
--- a/palette/turtleoff.gif
+++ b/images/en/palette/turtleoff.gif
Binary files differ
diff --git a/palette/turtleon.gif b/images/en/palette/turtleon.gif
index 0656d62..0656d62 100755
--- a/palette/turtleon.gif
+++ b/images/en/palette/turtleon.gif
Binary files differ
diff --git a/pen/color.gif b/images/en/pen/color.gif
index e06f7be..e06f7be 100755
--- a/pen/color.gif
+++ b/images/en/pen/color.gif
Binary files differ
diff --git a/pen/fillscreen.gif b/images/en/pen/fillscreen.gif
index 9243702..9243702 100755
--- a/pen/fillscreen.gif
+++ b/images/en/pen/fillscreen.gif
Binary files differ
diff --git a/pen/pendown.gif b/images/en/pen/pendown.gif
index 68e875a..68e875a 100755
--- a/pen/pendown.gif
+++ b/images/en/pen/pendown.gif
Binary files differ
diff --git a/pen/pengroup.gif b/images/en/pen/pengroup.gif
index 662e67c..662e67c 100755
--- a/pen/pengroup.gif
+++ b/images/en/pen/pengroup.gif
Binary files differ
diff --git a/pen/penmask.gif b/images/en/pen/penmask.gif
index d35282d..d35282d 100755
--- a/pen/penmask.gif
+++ b/images/en/pen/penmask.gif
Binary files differ
diff --git a/pen/pensize.gif b/images/en/pen/pensize.gif
index 273a0dd..273a0dd 100755
--- a/pen/pensize.gif
+++ b/images/en/pen/pensize.gif
Binary files differ
diff --git a/pen/penup.gif b/images/en/pen/penup.gif
index b57c50f..b57c50f 100755
--- a/pen/penup.gif
+++ b/images/en/pen/penup.gif
Binary files differ
diff --git a/pen/setbg.gif b/images/en/pen/setbg.gif
index df64e7b..df64e7b 100755
--- a/pen/setbg.gif
+++ b/images/en/pen/setbg.gif
Binary files differ
diff --git a/pen/setcolor.gif b/images/en/pen/setcolor.gif
index 2f7c926..2f7c926 100755
--- a/pen/setcolor.gif
+++ b/images/en/pen/setcolor.gif
Binary files differ
diff --git a/pen/setpensize.gif b/images/en/pen/setpensize.gif
index 0f3877e..0f3877e 100755
--- a/pen/setpensize.gif
+++ b/images/en/pen/setpensize.gif
Binary files differ
diff --git a/pen/setshade.gif b/images/en/pen/setshade.gif
index de13ca8..de13ca8 100755
--- a/pen/setshade.gif
+++ b/images/en/pen/setshade.gif
Binary files differ
diff --git a/pen/shade.gif b/images/en/pen/shade.gif
index 68d7d1e..68d7d1e 100755
--- a/pen/shade.gif
+++ b/images/en/pen/shade.gif
Binary files differ
diff --git a/shapes/t0.gif b/images/en/shapes/t0.gif
index 7e934f5..7e934f5 100755
--- a/shapes/t0.gif
+++ b/images/en/shapes/t0.gif
Binary files differ
diff --git a/shapes/t1.gif b/images/en/shapes/t1.gif
index 8b9b24c..8b9b24c 100755
--- a/shapes/t1.gif
+++ b/images/en/shapes/t1.gif
Binary files differ
diff --git a/shapes/t10.gif b/images/en/shapes/t10.gif
index 5b1ff5a..5b1ff5a 100755
--- a/shapes/t10.gif
+++ b/images/en/shapes/t10.gif
Binary files differ
diff --git a/shapes/t11.gif b/images/en/shapes/t11.gif
index bebbf07..bebbf07 100755
--- a/shapes/t11.gif
+++ b/images/en/shapes/t11.gif
Binary files differ
diff --git a/shapes/t12.gif b/images/en/shapes/t12.gif
index 6e32168..6e32168 100755
--- a/shapes/t12.gif
+++ b/images/en/shapes/t12.gif
Binary files differ
diff --git a/shapes/t13.gif b/images/en/shapes/t13.gif
index 5b2b8a2..5b2b8a2 100755
--- a/shapes/t13.gif
+++ b/images/en/shapes/t13.gif
Binary files differ
diff --git a/shapes/t14.gif b/images/en/shapes/t14.gif
index 11b5e96..11b5e96 100755
--- a/shapes/t14.gif
+++ b/images/en/shapes/t14.gif
Binary files differ
diff --git a/shapes/t15.gif b/images/en/shapes/t15.gif
index 9093f91..9093f91 100755
--- a/shapes/t15.gif
+++ b/images/en/shapes/t15.gif
Binary files differ
diff --git a/shapes/t16.gif b/images/en/shapes/t16.gif
index 682748e..682748e 100755
--- a/shapes/t16.gif
+++ b/images/en/shapes/t16.gif
Binary files differ
diff --git a/shapes/t17.gif b/images/en/shapes/t17.gif
index a9e9897..a9e9897 100755
--- a/shapes/t17.gif
+++ b/images/en/shapes/t17.gif
Binary files differ
diff --git a/shapes/t18.gif b/images/en/shapes/t18.gif
index 52707a0..52707a0 100755
--- a/shapes/t18.gif
+++ b/images/en/shapes/t18.gif
Binary files differ
diff --git a/shapes/t19.gif b/images/en/shapes/t19.gif
index 0cd7398..0cd7398 100755
--- a/shapes/t19.gif
+++ b/images/en/shapes/t19.gif
Binary files differ
diff --git a/shapes/t2.gif b/images/en/shapes/t2.gif
index 2d74126..2d74126 100755
--- a/shapes/t2.gif
+++ b/images/en/shapes/t2.gif
Binary files differ
diff --git a/shapes/t20.gif b/images/en/shapes/t20.gif
index 0760f09..0760f09 100755
--- a/shapes/t20.gif
+++ b/images/en/shapes/t20.gif
Binary files differ
diff --git a/shapes/t21.gif b/images/en/shapes/t21.gif
index 5861197..5861197 100755
--- a/shapes/t21.gif
+++ b/images/en/shapes/t21.gif
Binary files differ
diff --git a/shapes/t22.gif b/images/en/shapes/t22.gif
index 271a3e4..271a3e4 100755
--- a/shapes/t22.gif
+++ b/images/en/shapes/t22.gif
Binary files differ
diff --git a/shapes/t23.gif b/images/en/shapes/t23.gif
index be44c53..be44c53 100755
--- a/shapes/t23.gif
+++ b/images/en/shapes/t23.gif
Binary files differ
diff --git a/shapes/t24.gif b/images/en/shapes/t24.gif
index a00417e..a00417e 100755
--- a/shapes/t24.gif
+++ b/images/en/shapes/t24.gif
Binary files differ
diff --git a/shapes/t25.gif b/images/en/shapes/t25.gif
index 8dda1ce..8dda1ce 100755
--- a/shapes/t25.gif
+++ b/images/en/shapes/t25.gif
Binary files differ
diff --git a/shapes/t26.gif b/images/en/shapes/t26.gif
index 24be0da..24be0da 100755
--- a/shapes/t26.gif
+++ b/images/en/shapes/t26.gif
Binary files differ
diff --git a/shapes/t27.gif b/images/en/shapes/t27.gif
index 24e9670..24e9670 100755
--- a/shapes/t27.gif
+++ b/images/en/shapes/t27.gif
Binary files differ
diff --git a/shapes/t28.gif b/images/en/shapes/t28.gif
index 9364fe3..9364fe3 100755
--- a/shapes/t28.gif
+++ b/images/en/shapes/t28.gif
Binary files differ
diff --git a/shapes/t29.gif b/images/en/shapes/t29.gif
index c75cba8..c75cba8 100755
--- a/shapes/t29.gif
+++ b/images/en/shapes/t29.gif
Binary files differ
diff --git a/shapes/t3.gif b/images/en/shapes/t3.gif
index f2fcece..f2fcece 100755
--- a/shapes/t3.gif
+++ b/images/en/shapes/t3.gif
Binary files differ
diff --git a/shapes/t30.gif b/images/en/shapes/t30.gif
index 4f51b9f..4f51b9f 100755
--- a/shapes/t30.gif
+++ b/images/en/shapes/t30.gif
Binary files differ
diff --git a/shapes/t31.gif b/images/en/shapes/t31.gif
index b081f2a..b081f2a 100755
--- a/shapes/t31.gif
+++ b/images/en/shapes/t31.gif
Binary files differ
diff --git a/shapes/t32.gif b/images/en/shapes/t32.gif
index 9c7c8a1..9c7c8a1 100755
--- a/shapes/t32.gif
+++ b/images/en/shapes/t32.gif
Binary files differ
diff --git a/shapes/t33.gif b/images/en/shapes/t33.gif
index dcfbe2e..dcfbe2e 100755
--- a/shapes/t33.gif
+++ b/images/en/shapes/t33.gif
Binary files differ
diff --git a/shapes/t34.gif b/images/en/shapes/t34.gif
index 3fe38ca..3fe38ca 100755
--- a/shapes/t34.gif
+++ b/images/en/shapes/t34.gif
Binary files differ
diff --git a/shapes/t35.gif b/images/en/shapes/t35.gif
index 94ad89c..94ad89c 100755
--- a/shapes/t35.gif
+++ b/images/en/shapes/t35.gif
Binary files differ
diff --git a/shapes/t4.gif b/images/en/shapes/t4.gif
index efb878a..efb878a 100755
--- a/shapes/t4.gif
+++ b/images/en/shapes/t4.gif
Binary files differ
diff --git a/shapes/t5.gif b/images/en/shapes/t5.gif
index f56e835..f56e835 100755
--- a/shapes/t5.gif
+++ b/images/en/shapes/t5.gif
Binary files differ
diff --git a/shapes/t6.gif b/images/en/shapes/t6.gif
index 35d038d..35d038d 100755
--- a/shapes/t6.gif
+++ b/images/en/shapes/t6.gif
Binary files differ
diff --git a/shapes/t7.gif b/images/en/shapes/t7.gif
index 907930b..907930b 100755
--- a/shapes/t7.gif
+++ b/images/en/shapes/t7.gif
Binary files differ
diff --git a/shapes/t8.gif b/images/en/shapes/t8.gif
index 95ed9a6..95ed9a6 100755
--- a/shapes/t8.gif
+++ b/images/en/shapes/t8.gif
Binary files differ
diff --git a/shapes/t9.gif b/images/en/shapes/t9.gif
index c6d7c19..c6d7c19 100755
--- a/shapes/t9.gif
+++ b/images/en/shapes/t9.gif
Binary files differ
diff --git a/status.gif b/images/en/status.gif
index 376a5a9..376a5a9 100755
--- a/status.gif
+++ b/images/en/status.gif
Binary files differ
diff --git a/toolbar/blocks-.gif b/images/en/toolbar/blocks-.gif
index 3d40f80..3d40f80 100755
--- a/toolbar/blocks-.gif
+++ b/images/en/toolbar/blocks-.gif
Binary files differ
diff --git a/toolbar/eraseroff.gif b/images/en/toolbar/eraseroff.gif
index 79a3706..79a3706 100755
--- a/toolbar/eraseroff.gif
+++ b/images/en/toolbar/eraseroff.gif
Binary files differ
diff --git a/toolbar/eraseron.gif b/images/en/toolbar/eraseron.gif
index 39a92d5..39a92d5 100755
--- a/toolbar/eraseron.gif
+++ b/images/en/toolbar/eraseron.gif
Binary files differ
diff --git a/toolbar/hideshowoff.gif b/images/en/toolbar/hideshowoff.gif
index 0fb409a..0fb409a 100755
--- a/toolbar/hideshowoff.gif
+++ b/images/en/toolbar/hideshowoff.gif
Binary files differ
diff --git a/toolbar/hideshowon.gif b/images/en/toolbar/hideshowon.gif
index 71d7e8b..71d7e8b 100755
--- a/toolbar/hideshowon.gif
+++ b/images/en/toolbar/hideshowon.gif
Binary files differ
diff --git a/toolbar/stopitoff.gif b/images/en/toolbar/stopitoff.gif
index 3fa040c..3fa040c 100755
--- a/toolbar/stopitoff.gif
+++ b/images/en/toolbar/stopitoff.gif
Binary files differ
diff --git a/toolbar/stopiton.gif b/images/en/toolbar/stopiton.gif
index ae0988d..ae0988d 100755
--- a/toolbar/stopiton.gif
+++ b/images/en/toolbar/stopiton.gif
Binary files differ
diff --git a/turtle/arc.gif b/images/en/turtle/arc.gif
index 66c9815..66c9815 100755
--- a/turtle/arc.gif
+++ b/images/en/turtle/arc.gif
Binary files differ
diff --git a/turtle/back.gif b/images/en/turtle/back.gif
index c77bb51..c77bb51 100755
--- a/turtle/back.gif
+++ b/images/en/turtle/back.gif
Binary files differ
diff --git a/turtle/clean.gif b/images/en/turtle/clean.gif
index 8355b8f..8355b8f 100755
--- a/turtle/clean.gif
+++ b/images/en/turtle/clean.gif
Binary files differ
diff --git a/turtle/forward.gif b/images/en/turtle/forward.gif
index fa2eee4..fa2eee4 100755
--- a/turtle/forward.gif
+++ b/images/en/turtle/forward.gif
Binary files differ
diff --git a/turtle/heading.gif b/images/en/turtle/heading.gif
index ed36dac..ed36dac 100755
--- a/turtle/heading.gif
+++ b/images/en/turtle/heading.gif
Binary files differ
diff --git a/turtle/left.gif b/images/en/turtle/left.gif
index 0274404..0274404 100755
--- a/turtle/left.gif
+++ b/images/en/turtle/left.gif
Binary files differ
diff --git a/turtle/right.gif b/images/en/turtle/right.gif
index be381c7..be381c7 100755
--- a/turtle/right.gif
+++ b/images/en/turtle/right.gif
Binary files differ
diff --git a/turtle/seth.gif b/images/en/turtle/seth.gif
index 2700f00..2700f00 100755
--- a/turtle/seth.gif
+++ b/images/en/turtle/seth.gif
Binary files differ
diff --git a/turtle/setxy.gif b/images/en/turtle/setxy.gif
index 2dfb9d8..2dfb9d8 100755
--- a/turtle/setxy.gif
+++ b/images/en/turtle/setxy.gif
Binary files differ
diff --git a/turtle/turtlegroup.gif b/images/en/turtle/turtlegroup.gif
index 5dbb7c9..5dbb7c9 100755
--- a/turtle/turtlegroup.gif
+++ b/images/en/turtle/turtlegroup.gif
Binary files differ
diff --git a/turtle/turtlemask.gif b/images/en/turtle/turtlemask.gif
index 9555175..9555175 100755
--- a/turtle/turtlemask.gif
+++ b/images/en/turtle/turtlemask.gif
Binary files differ
diff --git a/turtle/xcor.gif b/images/en/turtle/xcor.gif
index 5f6afef..5f6afef 100755
--- a/turtle/xcor.gif
+++ b/images/en/turtle/xcor.gif
Binary files differ
diff --git a/turtle/ycor.gif b/images/en/turtle/ycor.gif
index a2e5588..a2e5588 100755
--- a/turtle/ycor.gif
+++ b/images/en/turtle/ycor.gif
Binary files differ
diff --git a/images/es/flow/flowgroup.gif b/images/es/flow/flowgroup.gif
new file mode 100755
index 0000000..7334b0f
--- /dev/null
+++ b/images/es/flow/flowgroup.gif
Binary files differ
diff --git a/flow/flowmask.gif b/images/es/flow/flowmask.gif
index 3ae8e5f..3ae8e5f 100755
--- a/flow/flowmask.gif
+++ b/images/es/flow/flowmask.gif
Binary files differ
diff --git a/images/es/flow/forever.gif b/images/es/flow/forever.gif
new file mode 100755
index 0000000..bbcc8e8
--- /dev/null
+++ b/images/es/flow/forever.gif
Binary files differ
diff --git a/flow/hspace.gif b/images/es/flow/hspace.gif
index f396a80..f396a80 100755
--- a/flow/hspace.gif
+++ b/images/es/flow/hspace.gif
Binary files differ
diff --git a/images/es/flow/if.gif b/images/es/flow/if.gif
new file mode 100755
index 0000000..ebbd472
--- /dev/null
+++ b/images/es/flow/if.gif
Binary files differ
diff --git a/images/es/flow/ifelse.gif b/images/es/flow/ifelse.gif
new file mode 100755
index 0000000..6beb2a8
--- /dev/null
+++ b/images/es/flow/ifelse.gif
Binary files differ
diff --git a/flow/myblocksgroup.gif b/images/es/flow/myblocksgroup.gif
index e4ad8ca..e4ad8ca 100755
--- a/flow/myblocksgroup.gif
+++ b/images/es/flow/myblocksgroup.gif
Binary files differ
diff --git a/images/es/flow/repeat.gif b/images/es/flow/repeat.gif
new file mode 100755
index 0000000..5934094
--- /dev/null
+++ b/images/es/flow/repeat.gif
Binary files differ
diff --git a/images/es/flow/stopstack.gif b/images/es/flow/stopstack.gif
new file mode 100755
index 0000000..8ae02e2
--- /dev/null
+++ b/images/es/flow/stopstack.gif
Binary files differ
diff --git a/flow/vspace.gif b/images/es/flow/vspace.gif
index 6f63c80..6f63c80 100755
--- a/flow/vspace.gif
+++ b/images/es/flow/vspace.gif
Binary files differ
diff --git a/images/es/flow/wait.gif b/images/es/flow/wait.gif
new file mode 100755
index 0000000..2c29ebd
--- /dev/null
+++ b/images/es/flow/wait.gif
Binary files differ
diff --git a/masknumber.gif b/images/es/masknumber.gif
index 1672ba0..1672ba0 100755
--- a/masknumber.gif
+++ b/images/es/masknumber.gif
Binary files differ
diff --git a/images/es/myblocks/box1.gif b/images/es/myblocks/box1.gif
new file mode 100755
index 0000000..1599245
--- /dev/null
+++ b/images/es/myblocks/box1.gif
Binary files differ
diff --git a/images/es/myblocks/box2.gif b/images/es/myblocks/box2.gif
new file mode 100755
index 0000000..59c9aa6
--- /dev/null
+++ b/images/es/myblocks/box2.gif
Binary files differ
diff --git a/images/es/myblocks/hat1.gif b/images/es/myblocks/hat1.gif
new file mode 100755
index 0000000..5896b30
--- /dev/null
+++ b/images/es/myblocks/hat1.gif
Binary files differ
diff --git a/images/es/myblocks/hat2.gif b/images/es/myblocks/hat2.gif
new file mode 100755
index 0000000..871eef7
--- /dev/null
+++ b/images/es/myblocks/hat2.gif
Binary files differ
diff --git a/images/es/myblocks/myblocksgroup.gif b/images/es/myblocks/myblocksgroup.gif
new file mode 100755
index 0000000..9851c85
--- /dev/null
+++ b/images/es/myblocks/myblocksgroup.gif
Binary files differ
diff --git a/myblocks/myblocksmask.gif b/images/es/myblocks/myblocksmask.gif
index c09da1c..c09da1c 100755
--- a/myblocks/myblocksmask.gif
+++ b/images/es/myblocks/myblocksmask.gif
Binary files differ
diff --git a/images/es/myblocks/stack1.gif b/images/es/myblocks/stack1.gif
new file mode 100755
index 0000000..a20fe79
--- /dev/null
+++ b/images/es/myblocks/stack1.gif
Binary files differ
diff --git a/images/es/myblocks/stack2.gif b/images/es/myblocks/stack2.gif
new file mode 100755
index 0000000..db9827e
--- /dev/null
+++ b/images/es/myblocks/stack2.gif
Binary files differ
diff --git a/images/es/myblocks/stackhat1.gif b/images/es/myblocks/stackhat1.gif
new file mode 100755
index 0000000..5896b30
--- /dev/null
+++ b/images/es/myblocks/stackhat1.gif
Binary files differ
diff --git a/images/es/myblocks/stackhat2.gif b/images/es/myblocks/stackhat2.gif
new file mode 100755
index 0000000..871eef7
--- /dev/null
+++ b/images/es/myblocks/stackhat2.gif
Binary files differ
diff --git a/images/es/myblocks/storeinbox1.gif b/images/es/myblocks/storeinbox1.gif
new file mode 100755
index 0000000..485f542
--- /dev/null
+++ b/images/es/myblocks/storeinbox1.gif
Binary files differ
diff --git a/images/es/myblocks/storeinbox2.gif b/images/es/myblocks/storeinbox2.gif
new file mode 100755
index 0000000..a43394e
--- /dev/null
+++ b/images/es/myblocks/storeinbox2.gif
Binary files differ
diff --git a/images/es/noinput.gif b/images/es/noinput.gif
new file mode 100755
index 0000000..8780fb1
--- /dev/null
+++ b/images/es/noinput.gif
Binary files differ
diff --git a/images/es/nostack.gif b/images/es/nostack.gif
new file mode 100755
index 0000000..120c4d0
--- /dev/null
+++ b/images/es/nostack.gif
Binary files differ
diff --git a/images/es/numbers/and.gif b/images/es/numbers/and.gif
new file mode 100755
index 0000000..48b3029
--- /dev/null
+++ b/images/es/numbers/and.gif
Binary files differ
diff --git a/numbers/division.gif b/images/es/numbers/division.gif
index 358e6a6..358e6a6 100755
--- a/numbers/division.gif
+++ b/images/es/numbers/division.gif
Binary files differ
diff --git a/numbers/equal.gif b/images/es/numbers/equal.gif
index 3152be1..3152be1 100755
--- a/numbers/equal.gif
+++ b/images/es/numbers/equal.gif
Binary files differ
diff --git a/numbers/greater.gif b/images/es/numbers/greater.gif
index 1e5e304..1e5e304 100755
--- a/numbers/greater.gif
+++ b/images/es/numbers/greater.gif
Binary files differ
diff --git a/numbers/less.gif b/images/es/numbers/less.gif
index 9ff0343..9ff0343 100755
--- a/numbers/less.gif
+++ b/images/es/numbers/less.gif
Binary files differ
diff --git a/numbers/minus.gif b/images/es/numbers/minus.gif
index 1630422..1630422 100755
--- a/numbers/minus.gif
+++ b/images/es/numbers/minus.gif
Binary files differ
diff --git a/images/es/numbers/not.gif b/images/es/numbers/not.gif
new file mode 100755
index 0000000..4d73fa6
--- /dev/null
+++ b/images/es/numbers/not.gif
Binary files differ
diff --git a/numbers/number.gif b/images/es/numbers/number.gif
index edd558e..edd558e 100755
--- a/numbers/number.gif
+++ b/images/es/numbers/number.gif
Binary files differ
diff --git a/images/es/numbers/numbersgroup.gif b/images/es/numbers/numbersgroup.gif
new file mode 100755
index 0000000..2cc5f42
--- /dev/null
+++ b/images/es/numbers/numbersgroup.gif
Binary files differ
diff --git a/numbers/numbersmask.gif b/images/es/numbers/numbersmask.gif
index 9509618..9509618 100755
--- a/numbers/numbersmask.gif
+++ b/images/es/numbers/numbersmask.gif
Binary files differ
diff --git a/images/es/numbers/or.gif b/images/es/numbers/or.gif
new file mode 100755
index 0000000..016c9ca
--- /dev/null
+++ b/images/es/numbers/or.gif
Binary files differ
diff --git a/numbers/plus.gif b/images/es/numbers/plus.gif
index 3e46aa2..3e46aa2 100755
--- a/numbers/plus.gif
+++ b/images/es/numbers/plus.gif
Binary files differ
diff --git a/images/es/numbers/print.gif b/images/es/numbers/print.gif
new file mode 100755
index 0000000..18df034
--- /dev/null
+++ b/images/es/numbers/print.gif
Binary files differ
diff --git a/numbers/product.gif b/images/es/numbers/product.gif
index b302763..b302763 100755
--- a/numbers/product.gif
+++ b/images/es/numbers/product.gif
Binary files differ
diff --git a/images/es/numbers/random.gif b/images/es/numbers/random.gif
new file mode 100755
index 0000000..0b91cb8
--- /dev/null
+++ b/images/es/numbers/random.gif
Binary files differ
diff --git a/numbers/remainder.gif b/images/es/numbers/remainder.gif
index 670dacd..670dacd 100755
--- a/numbers/remainder.gif
+++ b/images/es/numbers/remainder.gif
Binary files differ
diff --git a/palette/flowoff.gif b/images/es/palette/flowoff.gif
index c5c970d..c5c970d 100755
--- a/palette/flowoff.gif
+++ b/images/es/palette/flowoff.gif
Binary files differ
diff --git a/palette/flowon.gif b/images/es/palette/flowon.gif
index 7cc8228..7cc8228 100755
--- a/palette/flowon.gif
+++ b/images/es/palette/flowon.gif
Binary files differ
diff --git a/palette/myblocksoff.gif b/images/es/palette/myblocksoff.gif
index b2fc719..b2fc719 100755
--- a/palette/myblocksoff.gif
+++ b/images/es/palette/myblocksoff.gif
Binary files differ
diff --git a/palette/myblockson.gif b/images/es/palette/myblockson.gif
index a42ce92..a42ce92 100755
--- a/palette/myblockson.gif
+++ b/images/es/palette/myblockson.gif
Binary files differ
diff --git a/palette/numbersoff.gif b/images/es/palette/numbersoff.gif
index 1762ace..1762ace 100755
--- a/palette/numbersoff.gif
+++ b/images/es/palette/numbersoff.gif
Binary files differ
diff --git a/palette/numberson.gif b/images/es/palette/numberson.gif
index 08b278e..08b278e 100755
--- a/palette/numberson.gif
+++ b/images/es/palette/numberson.gif
Binary files differ
diff --git a/palette/penoff.gif b/images/es/palette/penoff.gif
index 12776c2..12776c2 100755
--- a/palette/penoff.gif
+++ b/images/es/palette/penoff.gif
Binary files differ
diff --git a/palette/penon.gif b/images/es/palette/penon.gif
index bab1b7e..bab1b7e 100755
--- a/palette/penon.gif
+++ b/images/es/palette/penon.gif
Binary files differ
diff --git a/palette/turtleoff.gif b/images/es/palette/turtleoff.gif
index 856a3a3..856a3a3 100755
--- a/palette/turtleoff.gif
+++ b/images/es/palette/turtleoff.gif
Binary files differ
diff --git a/palette/turtleon.gif b/images/es/palette/turtleon.gif
index 0656d62..0656d62 100755
--- a/palette/turtleon.gif
+++ b/images/es/palette/turtleon.gif
Binary files differ
diff --git a/images/es/pen/color.gif b/images/es/pen/color.gif
new file mode 100755
index 0000000..ffc6148
--- /dev/null
+++ b/images/es/pen/color.gif
Binary files differ
diff --git a/images/es/pen/fillscreen.gif b/images/es/pen/fillscreen.gif
new file mode 100755
index 0000000..f213644
--- /dev/null
+++ b/images/es/pen/fillscreen.gif
Binary files differ
diff --git a/images/es/pen/pendown.gif b/images/es/pen/pendown.gif
new file mode 100755
index 0000000..e656246
--- /dev/null
+++ b/images/es/pen/pendown.gif
Binary files differ
diff --git a/images/es/pen/pengroup.gif b/images/es/pen/pengroup.gif
new file mode 100755
index 0000000..1730c41
--- /dev/null
+++ b/images/es/pen/pengroup.gif
Binary files differ
diff --git a/pen/penmask.gif b/images/es/pen/penmask.gif
index d35282d..d35282d 100755
--- a/pen/penmask.gif
+++ b/images/es/pen/penmask.gif
Binary files differ
diff --git a/images/es/pen/pensize.gif b/images/es/pen/pensize.gif
new file mode 100755
index 0000000..a67b232
--- /dev/null
+++ b/images/es/pen/pensize.gif
Binary files differ
diff --git a/images/es/pen/penup.gif b/images/es/pen/penup.gif
new file mode 100755
index 0000000..3b8c729
--- /dev/null
+++ b/images/es/pen/penup.gif
Binary files differ
diff --git a/pen/setbg.gif b/images/es/pen/setbg.gif
index df64e7b..df64e7b 100755
--- a/pen/setbg.gif
+++ b/images/es/pen/setbg.gif
Binary files differ
diff --git a/images/es/pen/setcolor.gif b/images/es/pen/setcolor.gif
new file mode 100755
index 0000000..8b5cf98
--- /dev/null
+++ b/images/es/pen/setcolor.gif
Binary files differ
diff --git a/images/es/pen/setpensize.gif b/images/es/pen/setpensize.gif
new file mode 100755
index 0000000..9d4a410
--- /dev/null
+++ b/images/es/pen/setpensize.gif
Binary files differ
diff --git a/images/es/pen/setshade.gif b/images/es/pen/setshade.gif
new file mode 100755
index 0000000..ed556ae
--- /dev/null
+++ b/images/es/pen/setshade.gif
Binary files differ
diff --git a/images/es/pen/shade.gif b/images/es/pen/shade.gif
new file mode 100755
index 0000000..73e9f43
--- /dev/null
+++ b/images/es/pen/shade.gif
Binary files differ
diff --git a/shapes/t0.gif b/images/es/shapes/t0.gif
index 7e934f5..7e934f5 100755
--- a/shapes/t0.gif
+++ b/images/es/shapes/t0.gif
Binary files differ
diff --git a/shapes/t1.gif b/images/es/shapes/t1.gif
index 8b9b24c..8b9b24c 100755
--- a/shapes/t1.gif
+++ b/images/es/shapes/t1.gif
Binary files differ
diff --git a/shapes/t10.gif b/images/es/shapes/t10.gif
index 5b1ff5a..5b1ff5a 100755
--- a/shapes/t10.gif
+++ b/images/es/shapes/t10.gif
Binary files differ
diff --git a/shapes/t11.gif b/images/es/shapes/t11.gif
index bebbf07..bebbf07 100755
--- a/shapes/t11.gif
+++ b/images/es/shapes/t11.gif
Binary files differ
diff --git a/shapes/t12.gif b/images/es/shapes/t12.gif
index 6e32168..6e32168 100755
--- a/shapes/t12.gif
+++ b/images/es/shapes/t12.gif
Binary files differ
diff --git a/shapes/t13.gif b/images/es/shapes/t13.gif
index 5b2b8a2..5b2b8a2 100755
--- a/shapes/t13.gif
+++ b/images/es/shapes/t13.gif
Binary files differ
diff --git a/shapes/t14.gif b/images/es/shapes/t14.gif
index 11b5e96..11b5e96 100755
--- a/shapes/t14.gif
+++ b/images/es/shapes/t14.gif
Binary files differ
diff --git a/shapes/t15.gif b/images/es/shapes/t15.gif
index 9093f91..9093f91 100755
--- a/shapes/t15.gif
+++ b/images/es/shapes/t15.gif
Binary files differ
diff --git a/shapes/t16.gif b/images/es/shapes/t16.gif
index 682748e..682748e 100755
--- a/shapes/t16.gif
+++ b/images/es/shapes/t16.gif
Binary files differ
diff --git a/shapes/t17.gif b/images/es/shapes/t17.gif
index a9e9897..a9e9897 100755
--- a/shapes/t17.gif
+++ b/images/es/shapes/t17.gif
Binary files differ
diff --git a/shapes/t18.gif b/images/es/shapes/t18.gif
index 52707a0..52707a0 100755
--- a/shapes/t18.gif
+++ b/images/es/shapes/t18.gif
Binary files differ
diff --git a/shapes/t19.gif b/images/es/shapes/t19.gif
index 0cd7398..0cd7398 100755
--- a/shapes/t19.gif
+++ b/images/es/shapes/t19.gif
Binary files differ
diff --git a/shapes/t2.gif b/images/es/shapes/t2.gif
index 2d74126..2d74126 100755
--- a/shapes/t2.gif
+++ b/images/es/shapes/t2.gif
Binary files differ
diff --git a/shapes/t20.gif b/images/es/shapes/t20.gif
index 0760f09..0760f09 100755
--- a/shapes/t20.gif
+++ b/images/es/shapes/t20.gif
Binary files differ
diff --git a/shapes/t21.gif b/images/es/shapes/t21.gif
index 5861197..5861197 100755
--- a/shapes/t21.gif
+++ b/images/es/shapes/t21.gif
Binary files differ
diff --git a/shapes/t22.gif b/images/es/shapes/t22.gif
index 271a3e4..271a3e4 100755
--- a/shapes/t22.gif
+++ b/images/es/shapes/t22.gif
Binary files differ
diff --git a/shapes/t23.gif b/images/es/shapes/t23.gif
index be44c53..be44c53 100755
--- a/shapes/t23.gif
+++ b/images/es/shapes/t23.gif
Binary files differ
diff --git a/shapes/t24.gif b/images/es/shapes/t24.gif
index a00417e..a00417e 100755
--- a/shapes/t24.gif
+++ b/images/es/shapes/t24.gif
Binary files differ
diff --git a/shapes/t25.gif b/images/es/shapes/t25.gif
index 8dda1ce..8dda1ce 100755
--- a/shapes/t25.gif
+++ b/images/es/shapes/t25.gif
Binary files differ
diff --git a/shapes/t26.gif b/images/es/shapes/t26.gif
index 24be0da..24be0da 100755
--- a/shapes/t26.gif
+++ b/images/es/shapes/t26.gif
Binary files differ
diff --git a/shapes/t27.gif b/images/es/shapes/t27.gif
index 24e9670..24e9670 100755
--- a/shapes/t27.gif
+++ b/images/es/shapes/t27.gif
Binary files differ
diff --git a/shapes/t28.gif b/images/es/shapes/t28.gif
index 9364fe3..9364fe3 100755
--- a/shapes/t28.gif
+++ b/images/es/shapes/t28.gif
Binary files differ
diff --git a/shapes/t29.gif b/images/es/shapes/t29.gif
index c75cba8..c75cba8 100755
--- a/shapes/t29.gif
+++ b/images/es/shapes/t29.gif
Binary files differ
diff --git a/shapes/t3.gif b/images/es/shapes/t3.gif
index f2fcece..f2fcece 100755
--- a/shapes/t3.gif
+++ b/images/es/shapes/t3.gif
Binary files differ
diff --git a/shapes/t30.gif b/images/es/shapes/t30.gif
index 4f51b9f..4f51b9f 100755
--- a/shapes/t30.gif
+++ b/images/es/shapes/t30.gif
Binary files differ
diff --git a/shapes/t31.gif b/images/es/shapes/t31.gif
index b081f2a..b081f2a 100755
--- a/shapes/t31.gif
+++ b/images/es/shapes/t31.gif
Binary files differ
diff --git a/shapes/t32.gif b/images/es/shapes/t32.gif
index 9c7c8a1..9c7c8a1 100755
--- a/shapes/t32.gif
+++ b/images/es/shapes/t32.gif
Binary files differ
diff --git a/shapes/t33.gif b/images/es/shapes/t33.gif
index dcfbe2e..dcfbe2e 100755
--- a/shapes/t33.gif
+++ b/images/es/shapes/t33.gif
Binary files differ
diff --git a/shapes/t34.gif b/images/es/shapes/t34.gif
index 3fe38ca..3fe38ca 100755
--- a/shapes/t34.gif
+++ b/images/es/shapes/t34.gif
Binary files differ
diff --git a/shapes/t35.gif b/images/es/shapes/t35.gif
index 94ad89c..94ad89c 100755
--- a/shapes/t35.gif
+++ b/images/es/shapes/t35.gif
Binary files differ
diff --git a/shapes/t4.gif b/images/es/shapes/t4.gif
index efb878a..efb878a 100755
--- a/shapes/t4.gif
+++ b/images/es/shapes/t4.gif
Binary files differ
diff --git a/shapes/t5.gif b/images/es/shapes/t5.gif
index f56e835..f56e835 100755
--- a/shapes/t5.gif
+++ b/images/es/shapes/t5.gif
Binary files differ
diff --git a/shapes/t6.gif b/images/es/shapes/t6.gif
index 35d038d..35d038d 100755
--- a/shapes/t6.gif
+++ b/images/es/shapes/t6.gif
Binary files differ
diff --git a/shapes/t7.gif b/images/es/shapes/t7.gif
index 907930b..907930b 100755
--- a/shapes/t7.gif
+++ b/images/es/shapes/t7.gif
Binary files differ
diff --git a/shapes/t8.gif b/images/es/shapes/t8.gif
index 95ed9a6..95ed9a6 100755
--- a/shapes/t8.gif
+++ b/images/es/shapes/t8.gif
Binary files differ
diff --git a/shapes/t9.gif b/images/es/shapes/t9.gif
index c6d7c19..c6d7c19 100755
--- a/shapes/t9.gif
+++ b/images/es/shapes/t9.gif
Binary files differ
diff --git a/status.gif b/images/es/status.gif
index 376a5a9..376a5a9 100755
--- a/status.gif
+++ b/images/es/status.gif
Binary files differ
diff --git a/images/es/toolbar/blocks-.gif b/images/es/toolbar/blocks-.gif
new file mode 100755
index 0000000..314a962
--- /dev/null
+++ b/images/es/toolbar/blocks-.gif
Binary files differ
diff --git a/toolbar/eraseroff.gif b/images/es/toolbar/eraseroff.gif
index 79a3706..79a3706 100755
--- a/toolbar/eraseroff.gif
+++ b/images/es/toolbar/eraseroff.gif
Binary files differ
diff --git a/toolbar/eraseron.gif b/images/es/toolbar/eraseron.gif
index 39a92d5..39a92d5 100755
--- a/toolbar/eraseron.gif
+++ b/images/es/toolbar/eraseron.gif
Binary files differ
diff --git a/toolbar/hideshowoff.gif b/images/es/toolbar/hideshowoff.gif
index 0fb409a..0fb409a 100755
--- a/toolbar/hideshowoff.gif
+++ b/images/es/toolbar/hideshowoff.gif
Binary files differ
diff --git a/toolbar/hideshowon.gif b/images/es/toolbar/hideshowon.gif
index 71d7e8b..71d7e8b 100755
--- a/toolbar/hideshowon.gif
+++ b/images/es/toolbar/hideshowon.gif
Binary files differ
diff --git a/toolbar/stopitoff.gif b/images/es/toolbar/stopitoff.gif
index 3fa040c..3fa040c 100755
--- a/toolbar/stopitoff.gif
+++ b/images/es/toolbar/stopitoff.gif
Binary files differ
diff --git a/toolbar/stopiton.gif b/images/es/toolbar/stopiton.gif
index ae0988d..ae0988d 100755
--- a/toolbar/stopiton.gif
+++ b/images/es/toolbar/stopiton.gif
Binary files differ
diff --git a/images/es/turtle/arc.gif b/images/es/turtle/arc.gif
new file mode 100755
index 0000000..fba3215
--- /dev/null
+++ b/images/es/turtle/arc.gif
Binary files differ
diff --git a/images/es/turtle/back.gif b/images/es/turtle/back.gif
new file mode 100755
index 0000000..7d38abb
--- /dev/null
+++ b/images/es/turtle/back.gif
Binary files differ
diff --git a/images/es/turtle/clean.gif b/images/es/turtle/clean.gif
new file mode 100755
index 0000000..feafa5f
--- /dev/null
+++ b/images/es/turtle/clean.gif
Binary files differ
diff --git a/images/es/turtle/forward.gif b/images/es/turtle/forward.gif
new file mode 100755
index 0000000..7764313
--- /dev/null
+++ b/images/es/turtle/forward.gif
Binary files differ
diff --git a/images/es/turtle/heading.gif b/images/es/turtle/heading.gif
new file mode 100755
index 0000000..a0ef1d5
--- /dev/null
+++ b/images/es/turtle/heading.gif
Binary files differ
diff --git a/images/es/turtle/left.gif b/images/es/turtle/left.gif
new file mode 100755
index 0000000..ee5a60d
--- /dev/null
+++ b/images/es/turtle/left.gif
Binary files differ
diff --git a/images/es/turtle/right.gif b/images/es/turtle/right.gif
new file mode 100755
index 0000000..70ad188
--- /dev/null
+++ b/images/es/turtle/right.gif
Binary files differ
diff --git a/images/es/turtle/seth.gif b/images/es/turtle/seth.gif
new file mode 100755
index 0000000..bf75a5b
--- /dev/null
+++ b/images/es/turtle/seth.gif
Binary files differ
diff --git a/images/es/turtle/setxy.gif b/images/es/turtle/setxy.gif
new file mode 100755
index 0000000..19337c6
--- /dev/null
+++ b/images/es/turtle/setxy.gif
Binary files differ
diff --git a/images/es/turtle/turtlegroup.gif b/images/es/turtle/turtlegroup.gif
new file mode 100755
index 0000000..44b3f81
--- /dev/null
+++ b/images/es/turtle/turtlegroup.gif
Binary files differ
diff --git a/turtle/turtlemask.gif b/images/es/turtle/turtlemask.gif
index 9555175..9555175 100755
--- a/turtle/turtlemask.gif
+++ b/images/es/turtle/turtlemask.gif
Binary files differ
diff --git a/images/es/turtle/xcor.gif b/images/es/turtle/xcor.gif
new file mode 100755
index 0000000..eb081d5
--- /dev/null
+++ b/images/es/turtle/xcor.gif
Binary files differ
diff --git a/images/es/turtle/ycor.gif b/images/es/turtle/ycor.gif
new file mode 100755
index 0000000..1ea6094
--- /dev/null
+++ b/images/es/turtle/ycor.gif
Binary files differ
diff --git a/locale/en/activity.linfo b/locale/en/activity.linfo
new file mode 100755
index 0000000..445c038
--- /dev/null
+++ b/locale/en/activity.linfo
@@ -0,0 +1,2 @@
+[Activity]
+name = TurteArt
diff --git a/locale/es/activity.linfo b/locale/es/activity.linfo
new file mode 100755
index 0000000..8788e08
--- /dev/null
+++ b/locale/es/activity.linfo
@@ -0,0 +1,2 @@
+[Activity]
+name = TortugArte
diff --git a/talogo.py b/talogo.py
index 3198608..c0ba9cc 100755
--- a/talogo.py
+++ b/talogo.py
@@ -96,7 +96,7 @@ def evline(lc, list):
icall(lc, eval); yield True
if lc.procstop: break
if lc.iresult==None: continue
- raise logoerror("You don't say what to do with %s" % token)
+ raise logoerror(str(lc.iresult))
lc.iline = oldiline
ireturn(lc); yield True
@@ -116,6 +116,7 @@ def evalsym(lc, token):
undefined_check(lc, token)
oldcfun, oldarglist = lc.cfun, lc.arglist
lc.cfun, lc.arglist = token, []
+ if token.nargs==None: raise logoerror("#noinput")
for i in range(token.nargs):
no_args_check(lc)
icall(lc, eval); yield True
@@ -153,7 +154,7 @@ def undefined_check(lc, token):
def no_args_check(lc):
if lc.iline and lc.iline[0]!=lc.symnothing : return
- raise logoerror("Not enough inputs to %s" % lc.cfun.name)
+ raise logoerror("#noinput")
def prim_wait(lc,time):
setlayer(lc.tw.turtle.spr,630)
@@ -194,13 +195,13 @@ def prim_define(name, body):
name.rprim = True
def prim_stack1(lc):
- if lc.stacks['stack1']==None: raise logoerror("stack1 undefined")
+ if lc.stacks['stack1']==None: raise logoerror("#nostack")
icall(lc, evline, lc.stacks['stack1'][:]); yield True
lc.procstop = False
ireturn(lc); yield True
def prim_stack2(lc):
- if lc.stacks['stack2']==None: raise logoerror("stack2 undefined")
+ if lc.stacks['stack2']==None: raise logoerror("#nostack")
icall(lc, evline, lc.stacks['stack2'][:]); yield True
lc.procstop = False
ireturn(lc); yield True
@@ -229,7 +230,7 @@ def lcNew(tw):
lc.tw = tw
lc.oblist = {}
- defprim(lc,'print', 1, lambda lc,x: showlabel(lc,int(float(x)*10)/10.))
+ defprim(lc,'print', 1, lambda lc,x: status_print(lc,x))
# defprim(lc,'print', 1, lambda lc,x: tyo(int(float(x)*10)/10.))
defprim(lc,'+', None, lambda lc,x,y:x+y)
@@ -321,7 +322,14 @@ def ireturn(lc, res=None):
def ijmp(lc, fcn, *args):
lc.step = fcn(lc,*(args))
+def status_print(lc,n):
+ showlabel(lc,int(float(n)*10)/10.)
+
def showlabel(lc,l):
+ if l=='#nostack': shp = 'nostack'; l=''
+ elif l=='#noinput': shp = 'noinput'; l=''
+ else:shp = 'status'
+ setshape(lc.tw.status_spr, lc.tw.status_shapes[shp])
setlabel(lc.tw.status_spr,l)
setlayer(lc.tw.status_spr,710);
diff --git a/talogo.pyc b/talogo.pyc
index ea2b369..9dcba00 100755
--- a/talogo.pyc
+++ b/talogo.pyc
Binary files differ
diff --git a/taproject.py b/taproject.py
index bd8d86c..384bae4 100755
--- a/taproject.py
+++ b/taproject.py
@@ -79,6 +79,7 @@ def load_pict(tw,fname):
tw.turtle.canvas.image.draw_pixbuf(tw.turtle.gc, pict, 0, 0, 0, 0)
def save_file(tw):
+ if tw.save_folder != None: tw.load_save_folder = tw.save_folder
fname = get_save_name(tw)
if fname==None: return
if fname[-3:]=='.ta': fname=fname[0:-3]
diff --git a/taproject.pyc b/taproject.pyc
index 8a4beb0..07cdac7 100755
--- a/taproject.pyc
+++ b/taproject.pyc
Binary files differ
diff --git a/tasetup.py b/tasetup.py
index 7939bfc..e9d7874 100755
--- a/tasetup.py
+++ b/tasetup.py
@@ -104,7 +104,12 @@ def setup_selectors(tw):
tw.select_mask = sprNew(tw,100,100,load_image(tw.path, '', 'masknumber'))
tw.select_mask.type = 'selectmask'
tw.hidden_palette_icon = load_image(tw.path, 'toolbar','blocks-')
- tw.status_spr = sprNew(tw,0,743,load_image(tw.path, '', 'status'),True)
+ tw.status_shapes = {}
+ tw.status_shapes['status'] = load_image(tw.path, '', 'status')
+ tw.status_shapes['nostack'] = load_image(tw.path, '', 'nostack')
+ tw.status_shapes['noinput'] = load_image(tw.path, '', 'noinput')
+ tw.status_spr = sprNew(tw,0,743,tw.status_shapes['status'],True)
+ # tw.status_spr = sprNew(tw,0,670,tw.status_shapes['status'],True)
tw.status_spr.type = 'status'
setlayer(tw.status_spr,400)
diff --git a/tasetup.pyc b/tasetup.pyc
index 5347093..d355e66 100755
--- a/tasetup.pyc
+++ b/tasetup.pyc
Binary files differ
diff --git a/tasprites.py b/tasprites.py
index a10612c..6524219 100755
--- a/tasprites.py
+++ b/tasprites.py
@@ -100,7 +100,7 @@ def draw_label2(spr, label):
sheight = pl.get_size()[1]/pango.SCALE
centery = spr.y+spr.height/2
spr.tw.gc.set_foreground(spr.tw.textcolor)
- spr.tw.area.draw_layout(spr.tw.gc,spr.x+50,centery-sheight/2,pl)
+ spr.tw.area.draw_layout(spr.tw.gc,spr.x+70,centery-sheight/2,pl)
def getpixel(image,x,y):
diff --git a/tasprites.pyc b/tasprites.pyc
index 745778f..3f2329f 100755
--- a/tasprites.pyc
+++ b/tasprites.pyc
Binary files differ
diff --git a/taturtle.py b/taturtle.py
index a74940a..ba59f29 100755
--- a/taturtle.py
+++ b/taturtle.py
@@ -104,6 +104,7 @@ def setxy(t,x,y):
move_turtle(t)
def setpensize(t,ps):
+ if ps<0: ps=0;
t.pensize = ps
t.gc.set_line_attributes(int(t.pensize),gtk.gdk.LINE_SOLID,gtk.gdk.CAP_ROUND,gtk.gdk.JOIN_MITER)
return None
diff --git a/taturtle.pyc b/taturtle.pyc
index 2c593b6..6a0f73d 100755
--- a/taturtle.pyc
+++ b/taturtle.pyc
Binary files differ
diff --git a/tawindow.py b/tawindow.py
index c30cc26..05822f9 100755
--- a/tawindow.py
+++ b/tawindow.py
@@ -22,10 +22,10 @@ from taproject import *
# Setup
#
-def twNew(win, path, parent=None):
+def twNew(win, path, lang, parent=None):
tw = taWindow()
tw.window = win
- tw.path=path
+ tw.path = os.path.join(path,'images',lang)
win.set_flags(gtk.CAN_FOCUS)
win.set_size_request(WIDTH, HEIGHT)
if parent is None: win.show_all()
@@ -53,6 +53,7 @@ def twNew(win, path, parent=None):
tw.turtle = tNew(tw,WIDTH,HEIGHT)
tw.lc = lcNew(tw)
tw.load_save_folder = os.path.join(path,'samples')
+ tw.save_folder = None
tw.save_file_name = None
return tw
@@ -112,7 +113,6 @@ def select_category(tw, spr):
setshape(tw.category_spr,spr.group)
def new_block_from_category(tw,proto,x,y):
- tw.block_operation = 'new'
if proto == None: return True
newspr = sprNew(tw,x-20,y-20,proto.image)
setlayer(newspr,2000)
@@ -134,6 +134,7 @@ def new_block_from_category(tw,proto,x,y):
argspr.connections = [newspr,None]
newspr.connections[i+1] = argspr
tw.draggroup = findgroup(newspr)
+ tw.block_operation = 'move'
def block_pressed(tw,event,x,y,spr):
if event.get_state()&gtk.gdk.CONTROL_MASK:
@@ -279,8 +280,8 @@ def expose_cb(win, event, tw):
def keypress_cb(area, event,tw):
keyname = gtk.gdk.keyval_name(event.keyval)
-# print keyname
- if (event.get_state()&gtk.gdk.CONTROL_MASK):
+# print keyname,event.get_state()
+ if (event.get_state()&gtk.gdk.MOD4_MASK):
if keyname=="n": new_project(tw)
if keyname=="o": load_file(tw)
if keyname=="s": save_file(tw)
diff --git a/tawindow.pyc b/tawindow.pyc
index 059d418..260b42f 100755
--- a/tawindow.pyc
+++ b/tawindow.pyc
Binary files differ
diff --git a/turtleart.py b/turtleart.py
index 3b698a6..32e7e63 100755
--- a/turtleart.py
+++ b/turtleart.py
@@ -9,7 +9,7 @@ from tawindow import *
def main():
win1 = gtk.Window(gtk.WINDOW_TOPLEVEL)
- twNew(win1, os.path.abspath('.'))
+ twNew(win1, os.path.abspath('.'),'es')
win1.connect("destroy", lambda w: gtk.main_quit())
# win2 = gtk.Window(gtk.WINDOW_TOPLEVEL)
# twNew(win2, os.path.abspath('.'))