Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TurtleArtActivity.py14
-rw-r--r--po/vi.po2148
-rw-r--r--taexporthtml.py312
-rwxr-xr-xtasprite_factory.py5
-rw-r--r--tawindow.py4
-rwxr-xr-xturtleart.py16
6 files changed, 1436 insertions, 1063 deletions
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index 355c44c..3ce2359 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -109,7 +109,12 @@ class TurtleArtActivity(activity.Activity):
# save the html code to the instance directory
datapath = get_path(activity, 'instance')
- html_file = os.path.join(datapath, "portfolio.html")
+ save_type = '.html'
+ if len(self.tw.saved_pictures) > 0:
+ if self.tw.saved_pictures[0].endswith(('.svg')):
+ save_type = '.xml'
+
+ html_file = os.path.join(datapath, "portfolio" + save_type)
f = file(html_file, "w")
f.write(html)
f.close()
@@ -136,7 +141,10 @@ class TurtleArtActivity(activity.Activity):
_("presentation")
dsobject.metadata['icon-color'] = profile.get_color().to_string()
if embed_flag == True:
- dsobject.metadata['mime_type'] = 'text/html'
+ if save_type == '.xml':
+ dsobject.metadata['mime_type'] = 'text/xhtml'
+ else:
+ dsobject.metadata['mime_type'] = 'text/html'
dsobject.set_file_path(html_file)
else:
dsobject.metadata['mime_type'] = 'application/x-tar'
@@ -146,6 +154,8 @@ class TurtleArtActivity(activity.Activity):
datastore.write(dsobject)
dsobject.destroy()
gobject.timeout_add(250,self.save_as_html.set_icon, "htmloff")
+
+ self.tw.saved_pictures = []
return
def _do_save_as_logo_cb(self, button):
diff --git a/po/vi.po b/po/vi.po
index 81c1927..9cbe566 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-18 12:07+0000\n"
-"PO-Revision-Date: 2009-09-25 08:10-0400\n"
+"POT-Creation-Date: 2010-02-25 17:04+0000\n"
+"PO-Revision-Date: 2010-03-08 13:27+0200\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: vi\n"
@@ -15,1007 +15,1555 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Pootle 1.2.1\n"
+"X-Generator: Pootle 2.0.1\n"
# Tên: không nên dịch
#: activity/activity.info:2
-#: /home/walter/Desktop/turtleart-activity/taexporthtml.py:229
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:1300
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2552
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:76
+#: /home/walter/Desktop/ta-refactoring/taexporthtml.py:285
msgid "Turtle Art"
msgstr "Turtle Art"
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:55
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:65
-msgid "text"
-msgstr "văn bản"
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:507
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:508
+msgid "orientation"
+msgstr "hướng"
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:108
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:50
-#: /home/walter/Desktop/turtleart-activity/svg/setxy.py:41
-msgid "x"
-msgstr "x"
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:518
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:786
+msgid "next"
+msgstr "tiếp"
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:136
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:137
-msgid "action"
-msgstr "hành vi"
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:1565
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:328
+msgid "click to open"
+msgstr "nhấn để mở"
+
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2549
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2553
+#: /home/walter/Desktop/ta-refactoring/talogo.py:744
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:709
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1201
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:375
+msgid "xcor"
+msgstr "xcor"
+
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2549
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2553
+#: /home/walter/Desktop/ta-refactoring/talogo.py:745
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:709
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1201
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:376
+msgid "ycor"
+msgstr "ycor"
+
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2549
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2553
+#: /home/walter/Desktop/ta-refactoring/talogo.py:745
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:710
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1202
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:271
+msgid "heading"
+msgstr "tiêu đề"
+
+#: /home/walter/Desktop/ta-refactoring/tawindow.py:2612
+msgid "image"
+msgstr "ảnh"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:704
+msgid "did not output to"
+msgstr "đã không xuất tới"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:746
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:331
+msgid "scale"
+msgstr "co giãn"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:749
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:297
+msgid "pen down"
+msgstr "bút xuống"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:751
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:299
+msgid "pen up"
+msgstr "bút lên"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:753
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:255
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:262
+msgid "color"
+msgstr "màu"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:754
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:262
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:340
+msgid "shade"
+msgstr "sắc màu"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:755
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:298
+msgid "pen size"
+msgstr "kích cỡ bút"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:770
+msgid "I don't know how to"
+msgstr "Tôi chưa biết cách"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:919
+msgid "doesn't like"
+msgstr "không thích"
+
+#: /home/walter/Desktop/ta-refactoring/talogo.py:919
+msgid "as input"
+msgstr "làm đầu vào"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:136
+msgid "presentation"
+msgstr "trình diễn"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:189
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:895
+msgid "Project"
+msgstr "Dự án"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:274
+msgid "snapshot"
+msgstr "hiện trạng"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:292
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:317
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:334
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:343
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:142
+msgid "Show palette"
+msgstr "Hiện bảng chọn"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:299
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:312
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:321
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:337
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:349
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:773
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1386
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:146
+msgid "Hide palette"
+msgstr "Ẩn bảng chọn"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:327
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:341
+msgid "Show blocks"
+msgstr "Hiện khối"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:330
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:347
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:677
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1152
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:697
+msgid "Hide blocks"
+msgstr "Ẩn khối"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:430
+msgid "Rescale coordinates down"
+msgstr "Giảm toạ độ theo tỷ lệ"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:438
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:725
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1230
+msgid "Rescale coordinates up"
+msgstr "Tăng toạ độ theo tỷ lệ"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:620
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1476
+msgid "Save snapshot"
+msgstr "Lưu ảnh chụp"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:627
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1324
+msgid "Save as HTML"
+msgstr "Lưu dạng HTML"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:634
+msgid "Save as Logo"
+msgstr "Lưu dạng Biểu hình"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:641
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1342
+msgid "Save as image"
+msgstr "Lưu dạng ảnh"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:648
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1356
+msgid "Load my block"
+msgstr "Nạp khối của mình"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:656
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1366
+msgid "Import project from the Journal"
+msgstr "Nhập dự án từ Nhật ký"
+
+# Phím tắt này tương ứng với hành động nào?
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:680
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1157
+msgid "<Ctrl>b"
+msgstr "<Ctrl>b"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:685
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1165
+msgid "Fullscreen"
+msgstr "Toàn màn hình"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:692
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1178
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:96
+msgid "Cartesian coordinates"
+msgstr "Toạ độ thuyết Đê-các-tơ"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:698
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1187
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:100
+msgid "Polar coordinates"
+msgstr "Toạ độ cực"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:731
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1216
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:108
+msgid "Grow blocks"
+msgstr "Khối lớn hơn"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:738
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1223
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:112
+msgid "Shrink blocks"
+msgstr "Khối nhỏ hơn"
+
+# Phím tắt này tương ứng với hành động nào?
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:776
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1391
+msgid "<Ctrl>p"
+msgstr "<Ctrl>p"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:795
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1458
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:161
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:682
+msgid "Clean"
+msgstr "Làm sạch"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:798
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1463
+msgid "<Ctrl>e"
+msgstr "<Ctrl>s"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:804
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1404
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:165
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:747
+msgid "Run"
+msgstr "Chạy"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:807
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1408
+msgid "<Ctrl>r"
+msgstr "<Ctrl>y"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:813
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1416
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:169
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:748
+msgid "Step"
+msgstr "Bước"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:816
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1420
+msgid "<Ctrl>w"
+msgstr "<Ctrl>b"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:822
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1428
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:173
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:678
+msgid "Debug"
+msgstr "Gỡ lỗi"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:825
+msgid "<Alt>d"
+msgstr "<Alt>g"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:831
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1441
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:772
+msgid "Stop turtle"
+msgstr "Dừng rùa"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:834
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1445
+msgid "<Ctrl>s"
+msgstr "<Ctrl>d"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:846
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1494
+msgid "Samples"
+msgstr "Mẫu lấy"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:857
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1305
+msgid "Move the cursor over the orange palette for help."
+msgstr "Di chuyển con trỏ trên bảng chọn màu cam để thấy trợ giúp."
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:866
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:903
+msgid "Help"
+msgstr "Trợ giúp"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:897
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:121
+msgid "View"
+msgstr "Xem"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:899
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:136
+msgid "Edit"
+msgstr "Sửa"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:901
+msgid "Import/Export"
+msgstr "Nhập/Xuất"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1246
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:127
+msgid "Copy"
+msgstr "Chép"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1258
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:131
+msgid "Paste"
+msgstr "Dán"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1333
+msgid "Save Logo"
+msgstr "Lưu Biểu hình"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1433
+msgid "<Ctrl>d"
+msgstr "<Ctrl>b"
+
+#: /home/walter/Desktop/ta-refactoring/TurtleArtActivity.py:1499
+msgid "<Ctrl>o"
+msgstr "<Ctrl>m"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:81
+msgid "Open"
+msgstr "Mở"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:85
+msgid "Save"
+msgstr "Lưu"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:90
+msgid "File"
+msgstr "Tập tin"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:104
+msgid "Rescale coordinates"
+msgstr "Đặt lại tỷ lệ toạ độ"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:116
+msgid "Reset block size"
+msgstr "Đặt lại kích cỡ khối"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:150
+msgid "Show/hide blocks"
+msgstr "Hiện/ẩn khối"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:155
+msgid "Tools"
+msgstr "Công cụ"
+
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:177
+msgid "Stop"
+msgstr "Dừng"
+
+# Tên: không nên dịch
+#: /home/walter/Desktop/ta-refactoring/turtleart.py:182
+msgid "Turtle"
+msgstr "Rùa"
+
+# Tên: không nên dịch
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:241
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:365
+msgid "turtle"
+msgstr "rùa"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:242
+msgid "and"
+msgstr "và"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:243
+msgid "arc"
+msgstr "cung"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:243
+msgid "angle"
+msgstr "góc"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:243
+msgid "radius"
+msgstr "bán kính"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:245
+msgid "back"
+msgstr "lùi"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:246
+msgid "blue"
+msgstr "xanh"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:247
+msgid "bottom"
+msgstr "dưới"
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:142
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:143
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:146
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:248
+msgid "picture bottom"
+msgstr "dưới ảnh"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:249
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:350
msgid "box"
msgstr "hộp"
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:144
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:47
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:59
-msgid "name"
-msgstr "tên"
-
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:151
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:152
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:153
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:154
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:155
-#: /home/walter/Desktop/turtleart-activity/tasetup.py:156
-msgid "title"
-msgstr "tựa đề"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:26
-msgid "palette of turtle commands"
-msgstr "bảng chọn lệnh turtle"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:27
-msgid "palette of pen commands"
-msgstr "bảng chọn lệnh bút"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:28
-msgid "palette of numeric operators"
-msgstr "bảng chọn toán tử thuộc số"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:29
-msgid "palette of extra options"
-msgstr "bảng chọn tuỳ chọn bổ sung"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:30
-msgid "palette of flow operators"
-msgstr "bảng chọn toán tử luồng"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:31
-msgid "palette of variable blocks"
-msgstr "bảng chọn khối biến đổi"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:32
-msgid "palette of presentation templates"
-msgstr "bảng chọn mẫu trình diễn"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:33
-msgid "clear the screen and reset the turtle"
-msgstr "xoá màn hình và đặt lại turtle"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:34
-msgid "move turtle forward"
-msgstr "cho rùa đi tới"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:35
-msgid "move turtle backward"
-msgstr "cho rùa đi lùi"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:36
-msgid "turn turtle counterclockwise (angle in degrees)"
-msgstr "quay rùa theo ngược chiều kim đồng hồ (góc theo độ)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:250
+msgid "box 1"
+msgstr "hộp 1"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:37
-msgid "turn turtle clockwise (angle in degrees)"
-msgstr "quay rùa theo chiều kim đồng hồ (góc theo độ)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:251
+msgid "box 2"
+msgstr "hộp 2"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:38
-msgid "move turtle along an arc"
-msgstr "cho rùa theo một hình cung"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:252
+msgid "Cartesian"
+msgstr "thuyết Đê-các-tơ"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:39
-msgid ""
-"move turtle to position xcor, ycor; (0, 0) is in the center of the screen."
-msgstr "cho rùa đi tới vị trí xcor, ycor; (0, 0) là trung tâm của màn hình."
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:253
+msgid " clean "
+msgstr " làm sạch "
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:40
-msgid "set the heading of the turtle (0 is towards the top of the screen.)"
-msgstr "đặt sự hướng về của rùa (0 là hướng về đầu màn hình)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:254
+msgid "empty heap"
+msgstr "miền nhớ trống"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:41
-msgid "draw text or show media from the Journal"
-msgstr "vẽ văn bản hoặc hiển thị ảnh/nhạc từ Nhật ký"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:256
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:515
+msgid "comment"
+msgstr "ghi chú"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:42
-msgid "set the scale of media"
-msgstr "đặt tỷ lệ của ảnh/nhạc"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:257
+msgid "cyan"
+msgstr "lục lam"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:43
-msgid ""
-"holds current x-coordinate value of the turtle (can be used in place of a "
-"number block)"
-msgstr ""
-"giữ giá trị đồ hoạ X hiện thời của rùa (cũng có thể được sử dụng để thay thế "
-"một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:260
+msgid "empty trash"
+msgstr "đổ rác"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:44
-msgid ""
-"holds current y-coordinate value of the turtle (can be used in place of a "
-"number block)"
-msgstr ""
-"giữ giá trị đồ hoạ Y hiện thời của rùa (cũng có thể được sử dụng để thay thế "
-"một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:262
+msgid "fill screen"
+msgstr "đầy màn hình"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:45
-msgid ""
-"holds current heading value of the turtle (can be used in place of a number "
-"block)"
-msgstr ""
-"giữ hướng về hiện thời của rùa (cũng có thể được sử dụng để thay thế một "
-"khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:263
+msgid "forever"
+msgstr "hẳn"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:46
-msgid "holds current scale value (can be used in place of a number block)"
-msgstr ""
-"giữ giá trị tỷ lệ hiện thời của rùa (cũng có thể được sử dụng để thay thế "
-"một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:264
+msgid "forward"
+msgstr "tiếp"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:47
-msgid "turtle will not draw when moved"
-msgstr "cho rùa đi thì nó không vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:265
+msgid "full screen"
+msgstr "toàn màn hình"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:48
-msgid "turtle will draw when moved"
-msgstr "cho rùa đi thì nó vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:267
+msgid "green"
+msgstr "lục"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:49
-msgid "set size of the line drawn by the turtle"
-msgstr "đặt kích cỡ của đường được rùa vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:268
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:345
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:520
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:550
+msgid "action"
+msgstr "hành vi"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:50
-msgid "set color of the line drawn by the turtle"
-msgstr "đặt màu của đường được rùa vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:269
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:346
+msgid "action 1"
+msgstr "hành vi 1"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:51
-msgid "set shade of the line drawn by the turtle"
-msgstr "đặt sắc màu của đường được rùa vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:270
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:347
+msgid "action 2"
+msgstr "hành vi 2"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:52
-msgid "set color of text drawn by the turtle"
-msgstr "đặt màu của các chữ được rùa vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:272
+msgid "height"
+msgstr "độ cao"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:53
-msgid "set size of text drawn by turtle"
-msgstr "đặt kích cỡ của các chữ được rùa vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:273
+msgid "hide blocks"
+msgstr "ẩn khối"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:54
-msgid "fills the background with (color, shade)"
-msgstr "tô đầy nền bằng (màu, sắc)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:276
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:277
+msgid "if"
+msgstr "nếu"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:55
-msgid "holds current pen size (can be used in place of a number block)"
-msgstr ""
-"giữ kích cỡ bút hiện thời (cũng có thể dùng để thay thế một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:276
+msgid "then"
+msgstr "thì"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:56
-msgid "holds current pen color (can be used in place of a number block)"
-msgstr "giữ màu bút hiện thời (cũng có thể dùng để thay thế một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:277
+msgid "then else"
+msgstr "không thì"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:57
-msgid "holds current pen shade (can be used in place of a number block)"
-msgstr ""
-"giữ sắc màu bút hiện thời (cũng có thể dùng để thay thế một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:278
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:341
+msgid "show"
+msgstr "hiện"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:58
-msgid "holds current text size (can be used in place of a number block)"
-msgstr ""
-"giữ kích cỡ chữ hiện thời (cũng có thể dùng để thay thế một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:280
+msgid "query keyboard"
+msgstr "hỏi bàn phím"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:59
-msgid "holds current text color (can be used in place of a number block)"
-msgstr "giữ màu chữ hiện thời (cũng có thể dùng để thay thế một khối con số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:281
+msgid "keyboard"
+msgstr "bàn phím"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:60
-msgid "used as numeric input in mathematic operators"
-msgstr "dùng để nhập thuộc số trong toán tử toán học"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:282
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:283
+msgid "left"
+msgstr "trái"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:61
-msgid "adds two numeric inputs"
-msgstr "thêm hai đầu vào thuộc số"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:284
+msgid "picture left"
+msgstr "bên trái ảnh"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:62
-msgid "subtracts bottom numeric input from top numeric input"
-msgstr "trừ đầu vào thuộc số dưới từ đầu vào thuộc số trên"
+# Tên ngôn ngữ lập trình: đừng dịch
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:288
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:289
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:290
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:291
+msgid "Python"
+msgstr "Python"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:63
-msgid "multiplies two numeric inputs"
-msgstr "nhân lên nhau hai đầu vào thuộc số"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:293
+msgid "not"
+msgstr "không phải"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:64
-msgid ""
-"divides top numeric input (numerator) by bottom numeric input (denominator)"
-msgstr "chia đầu vào thuộc số trên (tử số) cho đầu vào thuộc số dưới (mẫu số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:295
+msgid "orange"
+msgstr "cam"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:65
-msgid "modular (remainder) operator"
-msgstr "toán tử đơn thể (phần dư)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:296
+msgid "or"
+msgstr "hoặc"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:66
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:67
-msgid "identity operator used for extending blocks"
-msgstr "toán tử nhận diện dùng để mở rộng khối"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:306
+msgid "pitch"
+msgstr "âm vực"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:68
-msgid "calculate square root"
-msgstr "tính căn bậc hai"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:308
+msgid "polar"
+msgstr "cực"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:69
-msgid "returns random number between minimum (left) and maximum (right) values"
-msgstr ""
-"trả lại một số ngẫu nhiên nằm giữa hai giá trị là tối thiểu (bên trái) và "
-"tối đa (bên phải)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:309
+msgid "pop"
+msgstr "pop"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:70
-msgid "logical equal-to operator"
-msgstr "toán tử bằng-với lôgic"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:310
+msgid "show heap"
+msgstr "hiện miền nhớ"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:71
-msgid "logical greater-than operator"
-msgstr "toán tử lớn-hơn lôgic"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:311
+msgid "print"
+msgstr "in"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:72
-msgid "logical less-than operator"
-msgstr "toán tử nhỏ hơn lôgic"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:313
+msgid "purple"
+msgstr "tím"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:73
-msgid "logical AND operator"
-msgstr "toán tử VÀ lôgic"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:314
+msgid "push"
+msgstr "đẩy"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:74
-msgid "logical OR operator"
-msgstr "toán tử HOẶC lôgic"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:315
+msgid "random"
+msgstr "ngẫu nhiên"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:75
-msgid "logical NOT operator"
-msgstr "toán tử KHÔNG_PHẢI lôgic"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:315
+msgid "min"
+msgstr "tiểu"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:76
-msgid "prints value in status block at bottom of the screen"
-msgstr "in ra giá trị trong khối trạng thái ở dưới màn hình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:315
+msgid "max"
+msgstr "đại"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:77
-msgid "query for keyboard input (results stored in keyboard block)"
-msgstr "yêu cầu đầu vào bàn phím (kết quả được lưu vào khối bàn phím)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:316
+msgid "red"
+msgstr "đỏ"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:78
-msgid "holds results of query-keyboard block"
-msgstr "giữ kết quả của khối yêu-cầu-bàn-phím"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:317
+msgid "mod"
+msgstr "sửa"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:79
-msgid "runs code found in the tamyblock.py module found in the Journal"
-msgstr "chạy mã nguồn được tìm trong mô-đun tamyblock.py có trong Nhật ký"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:318
+msgid "repeat"
+msgstr "lặp lại"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:80
-msgid ""
-"a programmable block: add your own math equation in the block, e.g., sin(x)"
-msgstr ""
-"một khối có thể lập trình: hãy thêm vào khối phương trình toán tử của mình, "
-"v.d. sin(x)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:319
+msgid "resistance"
+msgstr "điện trở"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:81
-msgid "the canvas width"
-msgstr "chiều rộng vùng vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:320
+msgid "restore last"
+msgstr "phục hồi cái cuối"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:82
-msgid "the canvas height"
-msgstr "chiều cao vùng vẽ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:321
+msgid "restore all"
+msgstr "phục hồi tất cả"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:83
-msgid "xcor of left of screen"
-msgstr "xcor bên trái màn hình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:322
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:323
+msgid "right"
+msgstr "phải"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:84
-msgid "ycor of top of screen"
-msgstr "ycor bên trên màn hình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:324
+msgid "picture right"
+msgstr "bên phải ảnh"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:85
-msgid "xcor of right of screen"
-msgstr "xcor bên phải màn hình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:325
+msgid "save picture"
+msgstr "lưu ảnh"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:326
+msgid "save SVG"
+msgstr "lưu SVG"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:329
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:330
+msgid "top of stack"
+msgstr "đầu đống"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:332
+msgid "set color"
+msgstr "đặt màu"
+
+#
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:333
+msgid "set heading"
+msgstr "đặt hướng về"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:334
+msgid "set pen size"
+msgstr "đặt kích cỡ bút"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:335
+msgid "set scale"
+msgstr "đặt tỷ lệ"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:336
+msgid "set shade"
+msgstr "đặt sắc màu"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:337
+msgid "set text color"
+msgstr "đặt màu chữ"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:338
+msgid "set text size"
+msgstr "đặt kích cỡ chữ"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:339
+msgid "set xy"
+msgstr "đặt xy"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:339
+msgid "x"
+msgstr "x"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:339
+msgid "y"
+msgstr "y"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:342
+msgid "show blocks"
+msgstr "hiện khối"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:343
+msgid "show aligned"
+msgstr "hiện sắp hàng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:348
+msgid "start"
+msgstr "đầu"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:349
+msgid "stop action"
+msgstr "dừng hành vi"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:350
+msgid "store in"
+msgstr "lưu vào"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:350
+msgid "value"
+msgstr "giá trị"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:351
+msgid "store in box 1"
+msgstr "lưu vào hộp 1"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:352
+msgid "store in box 2"
+msgstr "lưu vào hộp 2"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:353
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:548
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:549
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:554
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:562
+msgid "text"
+msgstr "văn bản"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:360
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:655
+msgid "text size"
+msgstr "kích cỡ chữ"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:361
+msgid "title x"
+msgstr "tiêu đề x"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:362
+msgid "title y"
+msgstr "tiêu đề y"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:363
+msgid "top"
+msgstr "trên"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:364
+msgid "picture top"
+msgstr "trên ảnh"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:366
+msgid "until"
+msgstr "đến khi"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:367
+msgid "voltage"
+msgstr "điện áp"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:368
+msgid "volume"
+msgstr "âm lượng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:370
+msgid "wait"
+msgstr "đợi"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:371
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:372
+msgid "while"
+msgstr "trong khi"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:373
+msgid "width"
+msgstr "rộng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:374
+msgid "write"
+msgstr "viết"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:377
+msgid "yellow"
+msgstr "vàng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:514
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:553
+msgid "my box"
+msgstr "hộp mình"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:536
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:537
+msgid "label"
+msgstr "nhãn"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:538
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:539
+msgid "picture name"
+msgstr "tên ảnh"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:555
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:556
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:557
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:558
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:559
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:560
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:861
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:876
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:892
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:923
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:954
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:985
+msgid "Title"
+msgstr "Tiêu đề"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:633
+msgid "audio"
+msgstr "âm thanh"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:634
+msgid "divide"
+msgstr "chia"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:635
+msgid "equal"
+msgstr "bằng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:636
+msgid "greater than"
+msgstr "lớn hơn"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:637
+msgid "horizontal space"
+msgstr "khoảng nằm ngang"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:638
+msgid "identity"
+msgstr "nhận dạng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:639
+msgid "if then"
+msgstr "nếu thì"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:640
+msgid "if then else"
+msgstr "nếu thì không thì"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:641
+msgid "journal"
+msgstr "nhật ký"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:642
+msgid "less than"
+msgstr "nhỏ hơn"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:643
+msgid "minus"
+msgstr "trừ"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:644
+msgid "Python code"
+msgstr "mã Python"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:645
+msgid "number"
+msgstr "số"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:646
+msgid "plus"
+msgstr "cộng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:647
+msgid "multiply"
+msgstr "nhân"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:648
+msgid "square root"
+msgstr "căn bậc hai"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:649
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:650
+msgid "presentation 1x1"
+msgstr "trình diễn 1×1"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:651
+msgid "presentation 1x2"
+msgstr "trình diễn 1×2"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:652
+msgid "presentation 2x1"
+msgstr "trình diễn 2×1"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:653
+msgid "presentation 2x2"
+msgstr "trình diễn 2×2"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:86
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:654
+msgid "presentation bulleted list"
+msgstr "trình diễn danh sách nút"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:656
+msgid "vertical space"
+msgstr "khoảng nằm dọc"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:662
+msgid "chooses which turtle to command"
+msgstr "chọn con rùa nào cần điều khiển"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:663
+msgid "logical AND operator"
+msgstr "toán tử VÀ lôgic"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:664
+msgid "moves turtle along an arc"
+msgstr "chuyển rùa theo một hình cung"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:665
+msgid "Sugar Journal audio object"
+msgstr "đối tượng âm thanh Nhật ký Sugar"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:666
+msgid "moves turtle backward"
+msgstr "chuyển rùa đi lùi"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:667
+msgid "Palette of variable blocks"
+msgstr "Bảng chọn khối biến đổi"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:668
msgid "ycor of bottom of screen"
msgstr "ycor bên dưới màn hình"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:87
-msgid "push value onto FILO (first-in last-out) heap"
-msgstr "đẩy giá trị vào miền nhớ FILO (vào trước thì ra sau)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:669
+msgid "Variable 1 (numeric value)"
+msgstr "Biến 1 (giá trị thuộc số)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:88
-msgid "pop value off FILO"
-msgstr "bỏ giá trị ra FILO"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:670
+msgid "Variable 2 (numeric value)"
+msgstr "Biến 2 (giá trị thuộc số)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:89
-msgid "show FILO in status block"
-msgstr "hiện FILO trong khối trạng thái"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:671
+msgid "named variable (numeric value)"
+msgstr "biến đặt tên (giá trị thuộc số)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:90
-msgid "empty FILO"
-msgstr "đổ FILO"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:672
+msgid "displays Cartesian coordinates"
+msgstr "hiển thị toạ độ thuyết Đê-các-tơ"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:91
-msgid "wait specified number of seconds"
-msgstr "đợi trong một số giây được ghi rõ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:673
+msgid "clears the screen and reset the turtle"
+msgstr "xoá màn hình và đặt lại rùa"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:92
-msgid "loop forever"
-msgstr "lặp lại vô hạn"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:674
+msgid "emptys FILO (first-in-last-out heap)"
+msgstr "đổ FILO (miền nhớ kiểu vào trước, ra sau)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:93
-msgid "loop specified number of times"
-msgstr "lặp lại một số lần được ghi rõ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:675
+msgid "holds current pen color (can be used in place of a number block)"
+msgstr "giữ màu bút hiện thời (cũng có thể dùng để thay thế một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:94
-msgid "if-then operator that uses boolean operators from Numbers palette"
-msgstr "toán tử nếu-thì mà sử dụng toán tử lôgic từ bảng chọn Số"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:676
+msgid "Palette of pen colors"
+msgstr "Bảng chọn màu sắc bút"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:95
-msgid "if-then-else operator that uses boolean operators from Numbers palette"
-msgstr "toán tử nếu-thì-không_thì mà sử dụng toán tử lôgic từ bảng chọn Số"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:677
+msgid "places a comment in your code"
+msgstr "đặt một ghi chú vào mã nguồn của bạn"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:96
-msgid "do not continue current action"
-msgstr "không tiếp tục hành vi đang làm"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:679
+msgid "Sugar Journal description field"
+msgstr "trường mô tả Nhật ký Sugar"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:97
-msgid "jog stack right"
-msgstr "đẩy nhẹ đống qua phải"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:680
+msgid ""
+"divides top numeric input (numerator) by bottom numeric input (denominator)"
+msgstr "chia đầu vào thuộc số trên (tử số) cho đầu vào thuộc số dưới (mẫu số)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:98
-msgid "jog stack down"
-msgstr "đẩy nhẹ đống xuống dưới"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:681
+msgid "permanently deletes items in trash"
+msgstr "xoá hẳn các mục trong sọt rác"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:99
-msgid "connects action to toolbar run buttons"
-msgstr "kết nối hành vi đến nút chạy thanh công cụ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:683
+msgid "logical equal-to operator"
+msgstr "toán tử bằng-với lôgic"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:684
+msgid "Palette of extra options"
+msgstr "Bảng chọn tuỳ chọn bổ sung"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:100
-msgid "top of action 1 stack"
-msgstr "đầu của đống hành vi 1"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:685
+msgid "fills the background with (color, shade)"
+msgstr "tô đầy nền bằng (màu, sắc)"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:686
+msgid "Palette of flow operators"
+msgstr "Bảng chọn toán tử luồng"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:687
+msgid "loops forever"
+msgstr "lặp lại vô hạn"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:688
+msgid "moves turtle forward"
+msgstr "chuyển rùa đi tới"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:101
-msgid "invoke action 1 stack"
-msgstr "gọi đống hành vi 1"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:689
+msgid "hides the Sugar toolbars"
+msgstr "ẩn các thanh công cụ Sugar"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:102
-msgid "top of action 2 stack"
-msgstr "đầu của đống hành vi 2"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:690
+msgid "logical greater-than operator"
+msgstr "toán tử lớn-hơn lôgic"
+
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:691
+msgid "top of Action 1 stack"
+msgstr "đầu của đống Hành vi 1"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:103
-msgid "invoke action 2 stack"
-msgstr "gọi đống hành vi 2"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:692
+msgid "top of Action 2 stack"
+msgstr "đầu của đống Hành vi 2"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:104
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:693
msgid "top of nameable action stack"
msgstr "đầu của đống hành vi có thể đặt tên"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:105
-msgid "invoke named action stack"
-msgstr "gọi đống hành vi đặt tên"
-
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:106
-msgid "store numeric value in variable 1"
-msgstr "cất giữ giá trị thuộc số trong biến 1"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:694
+msgid ""
+"holds current heading value of the turtle (can be used in place of a number "
+"block)"
+msgstr ""
+"giữ hướng về hiện thời của rùa (cũng có thể được sử dụng để thay thế một "
+"khối con số)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:107
-msgid "variable 1 (numeric value)"
-msgstr "biến 1 (giá trị thuộc số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:695
+msgid "the canvas height"
+msgstr "chiều cao vùng vẽ"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:108
-msgid "store numeric value in variable 2"
-msgstr "cất giữ giá trị thuộc số trong biến 2"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:696
+msgid "declutters canvas by hiding blocks"
+msgstr "làm sạch sẽ vùng vẽ bằng cách ẩn các khối"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:109
-msgid "variable 2 (numeric value)"
-msgstr "biến 2 (giá trị thuộc số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:698
+msgid "jogs stack right"
+msgstr "đẩy nhẹ đống qua phải"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:110
-msgid "store numeric value in named variable"
-msgstr "cất giữ giá trị thuộc số trong biến đặt tên"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:699
+msgid "identity operator used for extending blocks"
+msgstr "toán tử nhận diện dùng để mở rộng khối"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:111
-msgid "named variable (numeric value)"
-msgstr "biến đặt tên (giá trị thuộc số)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:700
+msgid "if-then-else operator that uses boolean operators from Numbers palette"
+msgstr "toán tử nếu-thì-không_thì mà sử dụng toán tử lôgic từ bảng chọn Số"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:112
-msgid "string value"
-msgstr "giá trị chuỗi"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:701
+msgid "if-then operator that uses boolean operators from Numbers palette"
+msgstr "toán tử nếu-thì mà sử dụng toán tử lôgic từ bảng chọn Số"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:113
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:702
msgid "Sugar Journal media object"
msgstr "đối tượng ảnh/nhạc Nhật ký Sugar"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:114
-msgid "Sugar Journal audio object"
-msgstr "đối tượng âm thanh Nhật ký Sugar"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:703
+msgid "query for keyboard input (results stored in keyboard block)"
+msgstr "yêu cầu đầu vào bàn phím (kết quả được lưu vào khối bàn phím)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:115
-msgid "Sugar Journal description field"
-msgstr "trường mô tả Nhật ký Sugar"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:704
+msgid "holds results of query-keyboard block"
+msgstr "giữ kết quả của khối yêu-cầu-bàn-phím"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:116
-msgid "presentation template: select Journal object (with description)"
-msgstr "mẫu trình diễn: chọn đối tượng Nhật ký (với mô tả)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:705
+msgid "xcor of left of screen"
+msgstr "xcor bên trái màn hình"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:117
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:118
-msgid "presentation template: select two Journal objects"
-msgstr "mẫu trình diễn: chọn 2 đối tượng Nhật ký"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:706
+msgid "turns turtle counterclockwise (angle in degrees)"
+msgstr "quay rùa theo ngược chiều kim đồng hồ (góc theo độ)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:119
-msgid "presentation template: select four Journal objects"
-msgstr "mẫu trình diễn: chọn 4 đối tượng Nhật ký"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:707
+msgid "logical less-than operator"
+msgstr "toán tử nhỏ hơn lôgic"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:120
-msgid "presentation template: select Journal object (no description)"
-msgstr "mẫu trình diễn: chọn đối tượng Nhật ký (không mô tả)"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:708
+msgid "subtracts bottom numeric input from top numeric input"
+msgstr "trừ đầu vào thuộc số dưới từ đầu vào thuộc số trên"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:121
-msgid "presentation template: seven bullets"
-msgstr "mẫu trình diễn: bảy chấm điểm"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:709
+msgid "a programmable block: used to add advanced math equations, e.g., sin(x)"
+msgstr ""
+"một khối có thể lập trình: dùng để thêm phương trình toán học cấp cao, v.d. "
+"sin(x)"
-#: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:122
-msgid "declutter canvas by hiding blocks"
-msgstr "làm sạch vùng vẽ bằng cách ẩn các khối"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:710
+msgid ""
+"a programmable block: used to add advanced single-valriable math equations, "
+"e.g., sin(x)"
+msgstr ""
+"một khối có thể lập trình: dùng để thêm phương trình toán học biến đơn cấp "
+"cao, v.d. sin (x)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:97
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1319
-msgid "Save snapshot"
-msgstr "Lưu ảnh chụp"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:711
+msgid ""
+"a programmable block: used to add advanced multi-variable math equations, e."
+"g., sqrt(x*x+y*y)"
+msgstr ""
+"một khối có thể lập trình: dùng để thêm phương trình toán học đa biến cấp "
+"cao, v.d. sqrt(x*x+y*y)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:108
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:999
-msgid "Save as HTML"
-msgstr "Lưu dạng HTML"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:712
+msgid ""
+"a programmable block: used to add advanced multi-varialble math equations, e."
+"g., sin(x+y+z)"
+msgstr ""
+"một khối có thể lập trình: dùng để thêm phương trình toán học đa biến cấp "
+"cao, v.d. sin(x+y+z)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:115
-msgid "Save as Logo"
-msgstr "Lưu dạng Biểu hình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:713
+msgid "displays next palette"
+msgstr "hiển thị bảng chọn kế tiếp"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:122
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1015
-msgid "Save as image"
-msgstr "Lưu dạng ảnh"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:714
+msgid "runs code found in the tamyblock.py module found in the Journal"
+msgstr "chạy mã nguồn được tìm trong mô-đun tamyblock.py có trong Nhật ký"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:129
-msgid "Load my block"
-msgstr "Nạp khối của mình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:715
+msgid "logical NOT operator"
+msgstr "toán tử KHÔNG_PHẢI lôgic"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:148
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1302
-msgid "Fullscreen"
-msgstr "Toàn màn hình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:716
+msgid "Palette of numeric operators"
+msgstr "Bảng chọn toán tử thuộc số"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:163
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:571
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:582
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:598
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:610
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1203
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1354
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1364
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1407
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1419
-msgid "Hide palette"
-msgstr "Ẩn bảng chọn"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:717
+msgid "used as numeric input in mathematic operators"
+msgstr "dùng để nhập thuộc số trong toán tử toán học"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:166
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1207
-msgid "<Alt>p"
-msgstr "<Alt>p"
-
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:172
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:591
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:608
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1215
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1400
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1417
-msgid "Hide blocks"
-msgstr "Ẩn khối"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:718
+msgid "logical OR operator"
+msgstr "toán tử HOẶC lôgic"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:175
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1219
-msgid "<Alt>b"
-msgstr "<Alt>b"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:719
+msgid "changes the orientation of the palette of blocks"
+msgstr "thay đổi hướng của bảng chọn khối"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:181
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1285
-msgid "Clean"
-msgstr "Sạch"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:720
+msgid "Turtle will draw when moved."
+msgstr "Con rùa sẽ vẽ khi được di chuyển."
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:184
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1289
-msgid "<Alt>e"
-msgstr "<Alt>e"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:721
+msgid "Palette of pen commands"
+msgstr "Bảng chọn lệnh bút"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:190
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1232
-msgid "Run"
-msgstr "Chạy"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:722
+msgid "holds current pen size (can be used in place of a number block)"
+msgstr ""
+"giữ kích cỡ bút hiện thời (cũng có thể dùng để thay thế một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:193
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1236
-msgid "<Alt>r"
-msgstr "<Alt>r"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:723
+msgid "Turtle will not draw when moved."
+msgstr "Con rùa sẽ không vẽ khi được di chuyển."
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:199
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1244
-msgid "Step"
-msgstr "Bước"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:724
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:778
+msgid "presentation template: select Journal object (with description)"
+msgstr "mẫu trình diễn: chọn đối tượng Nhật ký (với mô tả)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:202
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1248
-msgid "<Alt>w"
-msgstr "<Alt>w"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:725
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:779
+msgid "presentation template: select Journal object (no description)"
+msgstr "mẫu trình diễn: chọn đối tượng Nhật ký (không mô tả)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:208
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1256
-msgid "Debug"
-msgstr "Gỡ lỗi"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:726
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:727
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:780
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:781
+msgid "presentation template: select two Journal objects"
+msgstr "mẫu trình diễn: chọn 2 đối tượng Nhật ký"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:211
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1260
-msgid "<Alt>d"
-msgstr "<Alt>d"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:728
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:782
+msgid "presentation template: select four Journal objects"
+msgstr "mẫu trình diễn: chọn 4 đối tượng Nhật ký"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:217
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1268
-msgid "Stop turtle"
-msgstr "Dừng rùa"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:729
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:783
+msgid "presentation template: list of bullets"
+msgstr "mẫu trình diễn: danh sách chấm điểm"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:220
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1272
-msgid "<Alt>s"
-msgstr "<Alt>s"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:730
+msgid "microphone input pitch"
+msgstr "âm vực đầu vào máy vi âm"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:232
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1336
-msgid "Samples"
-msgstr "Mẫu lấy"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:731
+msgid "adds two alphanumeric inputs"
+msgstr "thêm hai đầu vào chữ số, chử cái"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:243
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:981
-msgid "Move the cursor over the orange palette for help."
-msgstr "Di chuyển con trỏ trên bảng chọn màu cam để thấy trợ giúp."
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:732
+msgid "displays polar coordinates"
+msgstr "hiển thị toạ độ cực"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:279
-msgid "Project"
-msgstr "Dự án"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:733
+msgid "pops value off FILO (first-in last-out heap)"
+msgstr "đẩy giá trị ra miền nhớ FILO (vào trước thì ra sau)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:281
-msgid "Edit"
-msgstr "Sửa"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:734
+msgid "Palette of presentation templates"
+msgstr "Bảng chọn mẫu trình diễn"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:283
-msgid "Import/Export"
-msgstr "Nhập/Xuất"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:735
+msgid "prints value in status block at bottom of the screen"
+msgstr "in ra giá trị trong khối trạng thái ở dưới màn hình"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:285
-msgid "Help"
-msgstr "Trợ giúp"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:736
+msgid "shows values in FILO (first-in last-out heap)"
+msgstr "hiển thị các giá trị trong miền nhớ FILO (vào trước thì ra sau)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:425
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1079
-msgid "presentation"
-msgstr "trình diễn"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:737
+msgid "multiplies two numeric inputs"
+msgstr "nhân lên nhau hai đầu vào thuộc số"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:567
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:577
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:595
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:604
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1350
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1359
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1404
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1413
-msgid "Show palette"
-msgstr "Hiện bảng chọn"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:738
+msgid "pushes value onto FILO (first-in last-out heap)"
+msgstr "đẩy giá trị vào miền nhớ FILO (vào trước thì ra sau)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:588
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:602
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1397
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1411
-msgid "Show blocks"
-msgstr "Hiện khối"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:739
+msgid "returns random number between minimum (top) and maximum (bottom) values"
+msgstr ""
+"trả lại một số ngẫu nhiên nằm giữa hai giá trị là tối thiểu (bên trên) và "
+"tối đa (bên dưới)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:930
-msgid "Copy"
-msgstr "Chép"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:740
+msgid "modular (remainder) operator"
+msgstr "toán tử đơn thể (phần dư)"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:942
-msgid "Paste"
-msgstr "Dán"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:741
+msgid "loops specified number of times"
+msgstr "lặp lại một số lần được ghi rõ"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1007
-msgid "Save Logo"
-msgstr "Lưu Biểu hình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:742
+msgid "sensor input resistance"
+msgstr "điện trở đầu vào máy nhạy"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1028
-msgid "load my block"
-msgstr "nạp khối của mình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:743
+msgid "restores most recent blocks from trash"
+msgstr "phục hồi từ sọt rác các khối vừa đặt"
-#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1340
-msgid "<Alt>o"
-msgstr "<Alt>o"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:744
+msgid "restore all blocks from trash"
+msgstr "phục hồi từ sọt rác tất cả các khối"
-#: /home/walter/Desktop/turtleart-activity/svg/hat2.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:42
-#: /home/walter/Desktop/turtleart-activity/svg/stack2.py:40
-msgid "stack 2"
-msgstr "đống 2"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:745
+msgid "xcor of right of screen"
+msgstr "xcor bên phải màn hình"
-#: /home/walter/Desktop/turtleart-activity/svg/stack1.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/hat1.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:41
-msgid "stack 1"
-msgstr "đống 1"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:746
+msgid "turns turtle clockwise (angle in degrees)"
+msgstr "quay rùa theo chiều kim đồng hồ (góc theo độ)"
-#: /home/walter/Desktop/turtleart-activity/svg/hideblocks.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/templatesgroup.py:41
-msgid "hide blocks"
-msgstr "ẩn khối"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:749
+msgid "bottom block in a collapsibe stack: click to collapse"
+msgstr "khối dưới trong một đống có thể thu gọn: nhấn để thu gọn"
-#: /home/walter/Desktop/turtleart-activity/svg/heading.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:55
-msgid "heading"
-msgstr "tiêu đề"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:750
+msgid "bottom block in a collapsed stack: click to open"
+msgstr "khối dưới trong một đống đã thu gọn: nhấn để mở lại"
-#: /home/walter/Desktop/turtleart-activity/svg/start.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:48
-msgid "start"
-msgstr "đầu"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:751
+msgid "top of a collapsible stack"
+msgstr "đầu của một đống có thể thu gọn"
-#: /home/walter/Desktop/turtleart-activity/svg/keyboard.py:40
-msgid "Keyboard"
-msgstr "Bàn phím"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:752
+msgid "top of a collapsed stack"
+msgstr "đầu của một đống đã thu gọn"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:40
-msgid "Flow"
-msgstr "Chảy"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:753
+msgid "saves a picture to the Sugar Journal"
+msgstr "lưu một ảnh vào Nhật ký Sugar"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:41
-#: /home/walter/Desktop/turtleart-activity/svg/wait.py:40
-msgid "wait"
-msgstr "đợi"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:754
+msgid "saves turtle graphics as an SVG file in the Sugar Journal"
+msgstr "lưu đồ họa rùa dưới dạng một tập tin SVG trong Nhật ký Sugar"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:42
-#: /home/walter/Desktop/turtleart-activity/svg/forever.py:40
-msgid "forever"
-msgstr "hẳn"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:755
+msgid "holds current scale value"
+msgstr "giữ giá trị tỷ lệ hiện thời"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:43
-#: /home/walter/Desktop/turtleart-activity/svg/repeat.py:40
-msgid "repeat"
-msgstr "lặp lại"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:756
+msgid "sets color of the line drawn by the turtle"
+msgstr "đặt màu của đường được rùa vẽ"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:44
-#: /home/walter/Desktop/turtleart-activity/svg/if.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/ifelse.py:40
-msgid "if"
-msgstr "nếu"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:757
+msgid "sets the heading of the turtle (0 is towards the top of the screen.)"
+msgstr "đặt sự hướng về của rùa (0 là hướng về đầu màn hình)"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:45
-#: /home/walter/Desktop/turtleart-activity/svg/if.py:41
-#: /home/walter/Desktop/turtleart-activity/svg/ifelse.py:41
-msgid "then"
-msgstr "thì"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:758
+msgid "sets size of the line drawn by the turtle"
+msgstr "đặt kích cỡ của đường được rùa vẽ"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:46
-#: /home/walter/Desktop/turtleart-activity/svg/ifelse.py:42
-msgid "else"
-msgstr "không thì"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:759
+msgid "sets the scale of media"
+msgstr "đặt tỷ lệ của ảnh/nhạc"
-#: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:47
-#: /home/walter/Desktop/turtleart-activity/svg/stopstack.py:40
-msgid "stop action"
-msgstr "dừng hành vi"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:760
+msgid "sets shade of the line drawn by the turtle"
+msgstr "đặt sắc màu của đường được rùa vẽ"
-#: /home/walter/Desktop/turtleart-activity/svg/print.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:45
-msgid "print"
-msgstr "in"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:761
+msgid "sets color of text drawn by the turtle"
+msgstr "đặt màu của các chữ được rùa vẽ"
-#: /home/walter/Desktop/turtleart-activity/svg/color.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/fillscreen.py:41
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:48
-msgid "color"
-msgstr "màu"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:762
+msgid "sets size of text drawn by turtle"
+msgstr "đặt kích cỡ của các chữ được rùa vẽ"
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:40
-msgid "My Blocks"
-msgstr "Khối của mình"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:763
+msgid ""
+"moves turtle to position xcor, ycor; (0, 0) is in the center of the screen."
+msgstr "di chuyển rùa tới vị trí xcor, ycor; (0, 0) là trung tâm của màn hình."
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:43
-#: /home/walter/Desktop/turtleart-activity/svg/storeinbox1.py:40
-msgid "store in box 1"
-msgstr "lưu vào hộp 1"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:764
+msgid "holds current pen shade"
+msgstr "giữ sắc màu bút hiện thời"
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:44
-#: /home/walter/Desktop/turtleart-activity/svg/box1.py:40
-msgid "box 1"
-msgstr "hộp 1"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:765
+msgid "draws text or show media from the Journal"
+msgstr "vẽ văn bản hoặc hiển thị ảnh/nhạc từ Nhật ký"
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:45
-#: /home/walter/Desktop/turtleart-activity/svg/storeinbox2.py:40
-msgid "store in box 2"
-msgstr "lưu vào hộp 2"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:766
+msgid "restores hidden blocks"
+msgstr "phục hồi các khối bị ẩn"
-#: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:46
-#: /home/walter/Desktop/turtleart-activity/svg/box2.py:40
-msgid "box 2"
-msgstr "hộp 2"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:767
+msgid "calculates square root"
+msgstr "tính căn bậc hai"
-#: /home/walter/Desktop/turtleart-activity/svg/printheap.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:46
-msgid "show heap"
-msgstr "hiện miền nhớ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:768
+msgid "invokes Action 1 stack"
+msgstr "gọi đống Hành vi 1"
-#: /home/walter/Desktop/turtleart-activity/svg/pendown.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:42
-msgid "pen down"
-msgstr "bút xuống"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:769
+msgid "invokes Action 2 stack"
+msgstr "gọi đống Hành vi 2"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:40
-msgid "Numbers"
-msgstr "Số"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:770
+msgid "invokes named action stack"
+msgstr "gọi đống hành vi đặt tên"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:41
-#: /home/walter/Desktop/turtleart-activity/svg/random.py:40
-msgid "random"
-msgstr "ngẫu nhiên"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:771
+msgid "connects action to toolbar run buttons"
+msgstr "kết nối hành vi đến nút chạy thanh công cụ"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:42
-#: /home/walter/Desktop/turtleart-activity/svg/and.py:41
-msgid "and"
-msgstr "và"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:773
+msgid "stops current action"
+msgstr "dừng hành vi đang làm"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:43
-#: /home/walter/Desktop/turtleart-activity/svg/or.py:40
-msgid "or"
-msgstr "hoặc"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:774
+msgid "stores numeric value in Variable 1"
+msgstr "cất giữ giá trị thuộc số trong Biến 1"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:44
-#: /home/walter/Desktop/turtleart-activity/svg/not.py:40
-msgid "not"
-msgstr "không phải"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:775
+msgid "stores numeric value in Variable 2"
+msgstr "cất giữ giá trị thuộc số trong Biến 2"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:46
-msgid "number"
-msgstr "số"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:776
+msgid "stores numeric value in named variable"
+msgstr "cất giữ giá trị thuộc số trong biến đặt tên"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:47
-msgid "min"
-msgstr "tiểu"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:777
+msgid "string value"
+msgstr "giá trị chuỗi"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:48
-msgid "max"
-msgstr "đại"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:784
+msgid "holds current text color (can be used in place of a number block)"
+msgstr "giữ màu chữ hiện thời (cũng có thể dùng để thay thế một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:49
-#: /home/walter/Desktop/turtleart-activity/svg/remainder2.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/remainder.py:40
-msgid "mod"
-msgstr "sửa"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:785
+msgid "holds current text size (can be used in place of a number block)"
+msgstr ""
+"giữ kích cỡ chữ hiện thời (cũng có thể dùng để thay thế một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/svg/ycor.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:54
-msgid "ycor"
-msgstr "ycor"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:786
+msgid "ycor of top of screen"
+msgstr "ycor bên trên màn hình"
-#: /home/walter/Desktop/turtleart-activity/svg/shade.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/fillscreen.py:42
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:49
-msgid "shade"
-msgstr "sắc màu"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:787
+msgid "Trashcan"
+msgstr "Sọt Rác"
-#: /home/walter/Desktop/turtleart-activity/svg/templatesgroup.py:40
-msgid "Templates"
-msgstr "Mẫu"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:788
+msgid "Palette of turtle commands"
+msgstr "Bảng chọn lệnh rùa"
-#: /home/walter/Desktop/turtleart-activity/svg/right.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:51
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:45
-#: /home/walter/Desktop/turtleart-activity/svg/rightpos.py:40
-msgid "right"
-msgstr "phải"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:789
+msgid "do-until-True operator that uses boolean operators from Numbers palette"
+msgstr "toán tử làm-đến-khi-Đúng mà sử dụng toán tử lôgic từ bảng chọn Số"
-#: /home/walter/Desktop/turtleart-activity/svg/storein.py:40
-msgid "store in"
-msgstr "lưu vào"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:790
+msgid "sensor voltage"
+msgstr "điện áp máy nhạy"
-#: /home/walter/Desktop/turtleart-activity/svg/textsize.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:53
-msgid "text size"
-msgstr "kích cỡ chữ"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:791
+msgid "microphone input volume"
+msgstr "âm lượng đầu vào máy vi âm"
-#: /home/walter/Desktop/turtleart-activity/svg/forward.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:42
-msgid "forward"
-msgstr "tiếp"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:792
+msgid "jogs stack down"
+msgstr "đẩy nhẹ đống xuống dưới"
-#: /home/walter/Desktop/turtleart-activity/svg/scale.py:40
-msgid "scale"
-msgstr "co giãn"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:793
+msgid "pauses program execution a specified number of seconds"
+msgstr "tạm dừng thực hiện chương trình trong một số giây đưa ra"
-#: /home/walter/Desktop/turtleart-activity/svg/leftpos.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:49
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:44
-#: /home/walter/Desktop/turtleart-activity/svg/left.py:40
-msgid "left"
-msgstr "trái"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:794
+msgid "do-while-True operator that uses boolean operators from Numbers palette"
+msgstr "toán tử làm_trong_khi_Đúng mà sử dụng toán tử lôgic từ bảng chọn Số"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:40
-msgid "Extras"
-msgstr "Bổ sung"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:795
+msgid "the canvas width"
+msgstr "chiều rộng vùng vẽ"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:41
-#: /home/walter/Desktop/turtleart-activity/svg/kbinput.py:40
-msgid "read key"
-msgstr "đọc phím"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:796
+msgid ""
+"holds current x-coordinate value of the turtle (can be used in place of a "
+"number block)"
+msgstr ""
+"giữ giá trị đồ hoạ X hiện thời của rùa (cũng có thể được sử dụng để thay thế "
+"một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:42
-msgid "keyboard"
-msgstr "bàn phím"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:797
+msgid ""
+"holds current y-coordinate value of the turtle (can be used in place of a "
+"number block)"
+msgstr ""
+"giữ giá trị đồ hoạ Y hiện thời của rùa (cũng có thể được sử dụng để thay thế "
+"một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:43
-#: /home/walter/Desktop/turtleart-activity/svg/hres.py:40
-msgid "width"
-msgstr "rộng"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:856
+msgid "bulleted list"
+msgstr "danh sách nút"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:44
-#: /home/walter/Desktop/turtleart-activity/svg/vres.py:40
-msgid "height"
-msgstr "cao"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:871
+msgid "picture"
+msgstr "ảnh"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:45
-#: /home/walter/Desktop/turtleart-activity/svg/pop.py:40
-msgid "pop"
-msgstr "pop"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:887
+msgid "2×2 pictures"
+msgstr "ảnh 2×2"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:47
-#: /home/walter/Desktop/turtleart-activity/svg/clearheap.py:40
-msgid "empty heap"
-msgstr "miền nhớ trống"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:918
+msgid "2×1 pictures"
+msgstr "ảnh 2×1"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:48
-#: /home/walter/Desktop/turtleart-activity/svg/push.py:40
-msgid "push"
-msgstr "đẩy"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:949
+msgid "1×2 pictures"
+msgstr "ảnh 1×2"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:50
-#: /home/walter/Desktop/turtleart-activity/svg/toppos.py:40
-msgid "top"
-msgstr "trên"
+#: /home/walter/Desktop/ta-refactoring/taconstants.py:980
+msgid "1×1 picture"
+msgstr "ảnh 1×1"
-#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:52
-#: /home/walter/Desktop/turtleart-activity/svg/bottompos.py:40
-msgid "bottom"
-msgstr "dưới"
+#~ msgid "name"
+#~ msgstr "tên"
-#: /home/walter/Desktop/turtleart-activity/svg/clean.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:41
-msgid "clean"
-msgstr "gột"
+#~ msgid "holds current scale value (can be used in place of a number block)"
+#~ msgstr ""
+#~ "giữ giá trị tỷ lệ hiện thời của rùa (cũng có thể được sử dụng để thay thế "
+#~ "một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:43
-#: /home/walter/Desktop/turtleart-activity/svg/back.py:40
-msgid "back"
-msgstr "lùi"
+#~ msgid "holds current pen shade (can be used in place of a number block)"
+#~ msgstr ""
+#~ "giữ sắc màu bút hiện thời (cũng có thể dùng để thay thế một khối con số)"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:46
-#: /home/walter/Desktop/turtleart-activity/svg/arc.py:40
-msgid "arc"
-msgstr "cung"
+#~ msgid ""
+#~ "a programmable block: add your own math equation in the block, e.g., sin(x)"
+#~ msgstr ""
+#~ "một khối có thể lập trình: hãy thêm vào khối phương trình toán tử của mình, "
+#~ "v.d. sin(x)"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:47
-#: /home/walter/Desktop/turtleart-activity/svg/arc.py:41
-msgid "angle"
-msgstr "góc"
+#~ msgid "pop value off FILO"
+#~ msgstr "bỏ giá trị ra FILO"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:48
-#: /home/walter/Desktop/turtleart-activity/svg/arc.py:42
-msgid "radius"
-msgstr "bán kính"
+#~ msgid "show FILO in status block"
+#~ msgstr "hiện FILO trong khối trạng thái"
-# Cần dịch hay không?
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:49
-msgid "setyx"
-msgstr "setyx"
+#~ msgid "empty FILO"
+#~ msgstr "đổ FILO"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:51
-#: /home/walter/Desktop/turtleart-activity/svg/setxy.py:42
-msgid "y"
-msgstr "y"
+#~ msgid "wait specified number of seconds"
+#~ msgstr "đợi trong một số giây được ghi rõ"
-#
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:52
-#: /home/walter/Desktop/turtleart-activity/svg/seth.py:40
-msgid "set heading"
-msgstr "đặt hướng về"
+#~ msgid "do not continue current action"
+#~ msgstr "không tiếp tục hành vi đang làm"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:53
-#: /home/walter/Desktop/turtleart-activity/svg/xcor.py:40
-msgid "xcor"
-msgstr "xcor"
+#~ msgid "<Alt>p"
+#~ msgstr "<Alt>p"
-# Tên: không nên dịch
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:56
-msgid "Turtle"
-msgstr "Rùa"
+#~ msgid "<Alt>b"
+#~ msgstr "<Alt>b"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:57
-#: /home/walter/Desktop/turtleart-activity/svg/show.py:40
-msgid "show"
-msgstr "hiện"
+#~ msgid "<Alt>e"
+#~ msgstr "<Alt>e"
-#: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:58
-#: /home/walter/Desktop/turtleart-activity/svg/setscale.py:40
-msgid "set scale"
-msgstr "đặt tỷ lệ"
+#~ msgid "<Alt>r"
+#~ msgstr "<Alt>r"
-#: /home/walter/Desktop/turtleart-activity/svg/sound.py:40
-msgid "sound"
-msgstr "âm thanh"
+#~ msgid "<Alt>w"
+#~ msgstr "<Alt>w"
-#: /home/walter/Desktop/turtleart-activity/svg/textcolor.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:52
-msgid "text color"
-msgstr "màu chữ"
+#~ msgid "<Alt>s"
+#~ msgstr "<Alt>s"
-#: /home/walter/Desktop/turtleart-activity/svg/fillscreen.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:46
-msgid "fill screen"
-msgstr "toàn màn hình"
+#~ msgid "load my block"
+#~ msgstr "nạp khối của mình"
-#: /home/walter/Desktop/turtleart-activity/svg/settextsize.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:50
-msgid "set text size"
-msgstr "đặt kích cỡ chữ"
+#~ msgid "<Alt>o"
+#~ msgstr "<Alt>o"
-#: /home/walter/Desktop/turtleart-activity/svg/settextcolor.py:40
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:51
-msgid "set text color"
-msgstr "đặt màu chữ"
+#~ msgid "stack 2"
+#~ msgstr "đống 2"
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:40
-msgid "Pen"
-msgstr "Bút"
+#~ msgid "stack 1"
+#~ msgstr "đống 1"
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:41
-#: /home/walter/Desktop/turtleart-activity/svg/penup.py:40
-msgid "pen up"
-msgstr "bút lên"
+#~ msgid "Keyboard"
+#~ msgstr "Bàn phím"
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:43
-#: /home/walter/Desktop/turtleart-activity/svg/setpensize.py:40
-msgid "set pen size"
-msgstr "đặt kích cỡ bút"
+#~ msgid "Flow"
+#~ msgstr "Chảy"
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:44
-#: /home/walter/Desktop/turtleart-activity/svg/setcolor.py:40
-msgid "set color"
-msgstr "đặt màu"
+#~ msgid "else"
+#~ msgstr "không thì"
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:45
-#: /home/walter/Desktop/turtleart-activity/svg/setshade.py:40
-msgid "set shade"
-msgstr "đặt sắc màu"
+#~ msgid "My Blocks"
+#~ msgstr "Khối của mình"
-#: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:47
-#: /home/walter/Desktop/turtleart-activity/svg/pensize.py:40
-msgid "pen size"
-msgstr "kích cỡ bút"
+#~ msgid "Numbers"
+#~ msgstr "Số"
-#: /home/walter/Desktop/turtleart-activity/svg/setxy.py:40
-msgid "set xy"
-msgstr "đặt xy"
+#~ msgid "Templates"
+#~ msgstr "Mẫu"
+
+#~ msgid "Extras"
+#~ msgstr "Bổ sung"
+
+#~ msgid "read key"
+#~ msgstr "đọc phím"
+
+#~ msgid "clean"
+#~ msgstr "gột"
+
+# Cần dịch hay không?
+#~ msgid "setyx"
+#~ msgstr "setyx"
+
+#~ msgid "sound"
+#~ msgstr "âm thanh"
+
+#~ msgid "text color"
+#~ msgstr "màu chữ"
+
+#~ msgid "Pen"
+#~ msgstr "Bút"
#~ msgid "hide palette"
#~ msgstr "ẩn bảng chọn"
@@ -1041,18 +1589,6 @@ msgstr "đặt xy"
#~ msgid "Sensors"
#~ msgstr "Máy nhạy"
-#~ msgid "volume"
-#~ msgstr "âm lượng"
-
-#~ msgid "pitch"
-#~ msgstr "âm vực"
-
-#~ msgid "voltage"
-#~ msgstr "điện áp"
-
-#~ msgid "resistance"
-#~ msgstr "điện trở"
-
#~ msgid "hres"
#~ msgstr "hres"
diff --git a/taexporthtml.py b/taexporthtml.py
index 10fcb1f..6589b03 100644
--- a/taexporthtml.py
+++ b/taexporthtml.py
@@ -18,6 +18,9 @@
#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
#THE SOFTWARE.
+import pygtk
+pygtk.require('2.0')
+import gtk
try:
from sugar.activity import activity
from sugar.datastore import datastore
@@ -37,11 +40,14 @@ def save_html(self, tw, embed_flag=True):
'doctype': "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 "+\
"Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n",
'html': ("<html>\n", "</html>\n"),
+ 'html_svg': ("<html xmlns=\"http://www.w3.org/1999/xhtml\">\n",
+ "</html>\n"),
'head': ("<head>\n<!-- Created by Turtle Art -->\n", "</head>\n"),
'meta': "<meta http-equiv=\"content-type\" content=\"text/html; "+\
- "charset=UTF-8\">\n",
+ "charset=UTF-8\"/>\n",
'title': ("<title>", "</title>\n"),
'style': ("<style type=\"text/css\">\n<!--\n", "-->\n</style>\n"),
+ 'style_svg': ("<style type=\"text/css\">\n<!--\n", "-->\n</style>\n"),
'body': ("<body>\n", "\n</body>\n"),
'div': ("<div>\n", "</div>\n"),
'slide': ("\n<a name=\"slide", "\"></a>\n"),
@@ -53,6 +59,7 @@ def save_html(self, tw, embed_flag=True):
'img': ("<img width=\"400\" height=\"300\" alt=\"Image\" "+\
"src=\"file://", ".png\" />\n"),
'img2': ("<img alt=\"Image\" src=\"image", ".png\" />\n"),
+ 'img3': ("<img alt=\"Image\" src=\"file://", "\" />\n"),
'ul': ("<table>\n", "</table>\n"),
'li': ("<tr><td>", "</td></tr>\n") }
@@ -64,202 +71,42 @@ def save_html(self, tw, embed_flag=True):
"base64,\n", " \"/>\n")
"""
- Transalate 'show' and 'template' blocks into HTML, ignoring most
- turtle graphics. Saving as SVG will capture all of the graphical elements
- of a page.
+ If there are saved_pictures, put them into a .html; otherwise, save a
+ screendump and the turtle project code.
"""
- bs = tw.just_blocks()
code = ""
- self.imagecount = 0
- slidecount = 0
- for b in bs:
- this_stack = ""
- data = walk_stack(self, tw, b)
- show = 0
- tp1, tp2, tp3, tp8, tp6, tp7 = 0,0,0,0,0,0
- for d in data:
- if type(d) == type((1,2)):
- (d,b) = d
- if type(d) is float or type(d) is int:
- d = str(d)
- if d == "show" or d == "showaligned":
- show = 1
- elif show > 0: # Process the argument to show or container,
- if show == 1: # which could be media or a string
- if d[0:8] == '#smedia_':
- this_stack += add_image(self, tw, d)
- elif d[0:8] == '#sdescr_':
- this_stack += add_description(self, tw, d)
- elif d[0:2] == '#s':
- this_stack += d[2:]
- show = 0
- else:
- this_stack += d
- show = 0
-
- """
- The following mess is in order to process 'template' blocks,
- a depreciated block type.
- """
- elif d == "t1x1":
- tp1 = 1
- elif d == "t2x1":
- tp2 = 1
- elif d == "list":
- tp3 = 8
- elif d == 't1x1a':
- tp8 = 1
- elif d == "t1x2":
- tp6 = 1
- elif d == "t2x2":
- tp7 = 1
- elif tp3 > 0: # Bullets
- if tp3 == 8: # The title comes first...
- tmp = self.html_glue['slide'][0] + \
- str(slidecount) + \
- self.html_glue['slide'][1] + \
- self.html_glue['div'][0] + \
- self.html_glue['h1'][0] + \
- d[2:] + \
- self.html_glue['h1'][1] + \
- self.html_glue['ul'][0]
- bullets = 6
- slidecount += 1
- elif d[2:] != "": # then the bullets
- tmp = self.html_glue['li'][0] + d[2:] + \
- self.html_glue['li'][1]
- this_stack += tmp
- tmp = ""
- bullets -= 1
- if bullets == 0:
- this_stack += (self.html_glue['ul'][1] + \
- self.html_glue['div'][1])
- elif tp1 == 1 or tp2 == 1 or tp8 == 1 or\
- tp6 == 1 or tp7 == 1:
- # The first time through, process the title
- this_stack += (self.html_glue['slide'][0] + \
- str(slidecount) + \
- self.html_glue['slide'][1] + \
- self.html_glue['div'][0] + \
- self.html_glue['h1'][0] + d[2:] + \
- self.html_glue['h1'][1] + \
- self.html_glue['table'][0])
- if tp1 > 0: tp1 += 1
- elif tp2 > 0: tp2 += 1
- elif tp8 > 0: tp8 += 1
- elif tp6 > 0: tp6 += 1
- elif tp7 > 0: tp7 += 1
- slidecount += 1
- elif tp1 > 1 or tp6 > 1:
- tmp = self.html_glue['tr'][0] + \
- self.html_glue['td'][0]
- if d[0:8] == '#smedia_':
- tmp += (add_image(self, tw, d) + \
- self.html_glue['td'][1] + \
- self.html_glue['td'][0] + \
- add_description(self, tw, d) + \
- self.html_glue['td'][1] + \
- self.html_glue['tr'][1])
- elif d[0:8] == '#sdescr_':
- tmp += (add_description(self, tw, d) + \
- self.html_glue['td'][1] + \
- self.html_glue['tr'][1])
- if tp1 > 1 or tp6 > 2:
- this_stack += (tmp + self.html_glue['table'][1] + \
- self.html_glue['div'][1])
- tp1 = 0
- tp6 = 0
- else:
- this_stack += tmp
- tp6 += 1
- elif tp8 > 1:
- tmp = self.html_glue['tr'][0] + \
- self.html_glue['td'][0]
- if d[0:8] == '#smedia_':
- tmp += (add_image(self, tw, d) + \
- self.html_glue['td'][1] + \
- self.html_glue['tr'][1])
- elif d[0:8] == '#sdescr_':
- tmp += (add_description(self, tw, d) + \
- self.html_glue['td'][1] + \
- self.html_glue['tr'][1])
- this_stack += (tmp + self.html_glue['table'][1] + \
- self.html_glue['div'][1])
- tp8 = 0
- elif tp2 > 1 or tp7 > 1:
- if tp2 == 2 or tp7 == 2:
- tmp = self.html_glue['tr'][0] + \
- self.html_glue['td'][0]
- else:
- tmp += self.html_glue['td'][0]
- if tp2 == 2:
- saved_description = add_description(self, tw, d)
- if tp2 == 2 or tp7 == 2:
- if d[0:8] == '#smedia_':
- tmp += (add_image(self,d) + \
- self.html_glue['td'][1])
- elif d[0:8] == '#sdescr_':
- tmp += (add_description(self, tw, d) + \
- self.html_glue['td'][1])
- if tp2 > 1: tp2 += 1
- elif tp7 > 1: tp7 += 1
- elif tp2 == 3:
- if d[0:8] == '#smedia_':
- tmp += add_image(self, tw, d)
- elif d[0:8] == '#sdescr_':
- tmp += add_description(self, tw, d)
- tmp += (self.html_glue['td'][1] + \
- self.html_glue['tr'][1] + \
- self.html_glue['tr'][0] + \
- self.html_glue['td'][0])
- tmp += saved_description
- saved_desciption = ""
- tmp += (self.html_glue['td'][1] + \
- self.html_glue['td'][0])
- tmp += (add_description(self,d) + \
- self.html_glue['td'][1] + \
- self.html_glue['tr'][1])
- this_stack += (tmp + self.html_glue['table'][1] + \
- self.html_glue['div'][1])
- tp2 = 0
- elif tp7 == 3:
- if d[0:8] == '#smedia_':
- tmp += add_image(self, tw, d)
- elif d[0:8] == '#sdescr_':
- tmp += add_description(self, tw, d)
- tmp += (self.html_glue['td'][1] + \
- self.html_glue['tr'][1] + \
- self.html_glue['tr'][0])
- tp7 += 1
- elif tp7 == 4:
- if d[0:8] == '#smedia_':
- tmp += add_image(self, tw, d)
- elif d[0:8] == '#sdescr_':
- tmp += add_description(self, tw, d)
- tmp += (self.html_glue['td'][1])
- tp7 += 1
- elif tp7 == 5:
- if d[0:8] == '#smedia_':
- tmp += add_image(self, tw, d)
- elif d[0:8] == '#sdescr_':
- tmp += add_description(self, tw, d)
- tmp += (self.html_glue['td'][1] + \
- self.html_glue['tr'][1])
- this_stack += (tmp + self.html_glue['table'][1] + \
- self.html_glue['div'][1])
- tp7 = 0
- """
- End of depreciated-block section
- """
-
- if len(data) > 0:
- code += this_stack
-
- """
- If no show or template blocks were present then we've got nothing,
- so save a screen dump and project code instead.
- """
- if slidecount == 0:
+ if len(tw.saved_pictures) > 0:
+ for i, p in enumerate(tw.saved_pictures):
+ code += self.html_glue['slide'][0] + str(i)
+ code += self.html_glue['slide'][1] +\
+ self.html_glue['div'][0] +\
+ self.html_glue['h1'][0]
+ if self.embed_images == True:
+ f = open(p, "r")
+ imgdata = f.read()
+ f.close()
+ if p.endswith(('.svg')):
+ tmp = imgdata
+ else:
+ pixbuf = gtk.gdk.pixbuf_new_from_file(p)
+ imgdata = image_to_base64(pixbuf, tw.activity)
+ tmp = self.html_glue['img2'][0]
+ tmp += imgdata
+ tmp += self.html_glue['img2'][1]
+ else:
+ if p.endswith(('.svg')):
+ f = open(p, "r")
+ imgdata = f.read()
+ f.close()
+ tmp = imgdata
+ else:
+ tmp = self.html_glue['img3'][0]
+ tmp += p
+ tmp += self.html_glue['img3'][1]
+ code += tmp +\
+ self.html_glue['h1'][1] +\
+ self.html_glue['div'][1]
+ else:
if self.embed_images == True:
imgdata = image_to_base64(save_picture(self.tw.canvas), tw.activity)
else:
@@ -270,63 +117,30 @@ def save_html(self, tw, embed_flag=True):
code += self.html_glue['div'][0]
code += data_to_string(tw.assemble_data_to_save(False, True))
code += self.html_glue['div'][1]
+
if tw.running_sugar:
title = _("Turtle Art") + " " + tw.activity.metadata['title']
else:
title = _("Turtle Art")
- code = self.html_glue['doctype'] + \
- self.html_glue['html'][0] + \
- self.html_glue['head'][0] + \
- self.html_glue['meta'] + \
- self.html_glue['title'][0] + \
- title + \
- self.html_glue['title'][1] + \
- self.html_glue['style'][0] + \
- self.html_glue['style'][1] + \
- self.html_glue['head'][1] + \
- self.html_glue['body'][0] + \
- code + \
- self.html_glue['body'][1] + \
+
+ header = self.html_glue['doctype'] +\
+ self.html_glue['html'][0]
+
+ if len(tw.saved_pictures) > 0:
+ if tw.saved_pictures[0].endswith(('.svg')):
+ header = self.html_glue['html_svg'][0]
+
+ code = header +\
+ self.html_glue['head'][0] +\
+ self.html_glue['meta'] +\
+ self.html_glue['title'][0] +\
+ title +\
+ self.html_glue['title'][1] +\
+ self.html_glue['style'][0] +\
+ self.html_glue['style'][1] +\
+ self.html_glue['head'][1] +\
+ self.html_glue['body'][0] +\
+ code +\
+ self.html_glue['body'][1] +\
self.html_glue['html'][1]
return code
-
-def walk_stack(self, tw, blk):
- top = tw.find_top_block(blk)
- if blk == top:
- return tw.lc.run_blocks(top, tw.block_list.list, False)
- else:
- return []
-
-def add_image(self, tw, d):
- if d[8:] != "None":
- if self.embed_images == True:
- try:
- dsobject = datastore.get(d[8:])
- pixbuf = get_pixbuf_from_journal(dsobject,400,300)
- imgdata = image_to_base64(pixbuf, tw.activity)
- except:
- imgdata = ""
- elif tw.running_sugar:
- try:
- dsobject = datastore.get(d[8:])
- imgdata = dsobject.file_path
- except:
- imgdata = ""
- else:
- imgdata = d[8:]
-
- tmp = self.html_glue['img2'][0]
- tmp += imgdata
- tmp += self.html_glue['img2'][1]
- self.imagecount += 1
- return tmp
- return ""
-
-def add_description(self, tw, d):
- if d[8:] != "None":
- try:
- dsobject = datastore.get(d[8:])
- return dsobject.metadata['description']
- except:
- return ""
- return ""
diff --git a/tasprite_factory.py b/tasprite_factory.py
index 3f621fd..073f9f5 100755
--- a/tasprite_factory.py
+++ b/tasprite_factory.py
@@ -592,11 +592,8 @@ class SVG:
#
# SVG helper methods
#
-
def header(self, center=False):
- return "%s%s%s%s%s%s%s%s%.1f%s%s%.1f%s%s%s" % (
- "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
- "<!-- Created with Python -->\n",
+ return "%s%s%s%s%s%s%.1f%s%s%.1f%s%s%s" % (
"<svg\n",
" xmlns:svg=\"http://www.w3.org/2000/svg\"\n",
" xmlns=\"http://www.w3.org/2000/svg\"\n",
diff --git a/tawindow.py b/tawindow.py
index 781b144..5f9b69b 100644
--- a/tawindow.py
+++ b/tawindow.py
@@ -182,6 +182,7 @@ class TurtleArtWindow():
self.topy = (self.canvas.height*(TITLEXY[1]-0.125))/(self.coord_scale*2)
self.bottomy = 0
self.lc = LogoCode(self)
+ self.saved_pictures = []
"""
Register the events we listen to.
@@ -2650,6 +2651,9 @@ class TurtleArtWindow():
else:
save_picture(self.canvas, file_path)
+ # keep a log of the saved pictures for export to HTML
+ self.saved_pictures.append(file_path)
+
if self.running_sugar:
dsobject = datastore.create()
if len(name) == 0:
diff --git a/turtleart.py b/turtleart.py
index 80a8494..80e4c58 100755
--- a/turtleart.py
+++ b/turtleart.py
@@ -212,7 +212,14 @@ class TurtleMain():
menu_bar.append(turtle_menu)
win.show_all()
- self.tw = TurtleArtWindow(canvas, os.path.abspath('.'), lang)
+
+ if os.path.exists('/usr/share/turtleart'):
+ self.tw = TurtleArtWindow(canvas, '/usr/share/turtleart', lang)
+ elif os.path.exists('/usr/local/share/turtleart'):
+ self.tw = TurtleArtWindow(canvas, '/usr/local/share/turtleart',
+ lang)
+ else:
+ self.tw = TurtleArtWindow(canvas, os.path.abspath('.'), lang)
self.tw.win = win
self.tw.load_start()
@@ -229,11 +236,16 @@ class TurtleMain():
html = save_html(self, self.tw, False)
if len(html) == 0:
return
- filename, self.tw.load_save_folder = get_save_name('.html',
+ save_type = '.html'
+ if len(self.tw.saved_pictures) > 0:
+ if self.tw.saved_pictures[0].endswith(('.svg')):
+ save_type = '.xml'
+ filename, self.tw.load_save_folder = get_save_name(save_type,
self.tw.load_save_folder, 'portfolio')
f = file(filename, "w")
f.write(html)
f.close()
+ self.tw.saved_pictures = []
def _do_resize_cb(self, widget, factor):
if factor == -1: