From 7f83c5a121e004494ff03aed61fbb504863c2eb0 Mon Sep 17 00:00:00 2001 From: "Aman Chadha(IVIXMMI)" <79802170+ac-mmi@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:12:41 +0530 Subject: [PATCH 1/6] Added Chinese Po file --- po/zh_CN.po | 26184 +++++++++++++++++++++++++------------------------- 1 file changed, 13092 insertions(+), 13092 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index a5e2a422af..f9b11ba79a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,13092 +1,13092 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-05-17 00:31-0400\n" -"PO-Revision-Date: 2012-03-21 19:17+0200\n" -"Last-Translator: Emily Ong Hui Qi \n" -"Language-Team: LANGUAGE \n" -"Language: zhCN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: ini-to-pot script\n" - -#: js/block.js:1436 -#: js/block.js:7910 -#: js/block.js:7931 -#: js/block.js:7948 -#: js/activity.js:2693 -#: js/palette.js:932 -#: js/palette.js:941 -#: js/palette.js:950 -#: js/palette.js:959 -#: js/palette.js:2511 -#: js/palette.js:2522 -#: js/palette.js:2533 -#: js/palette.js:2544 -#: js/palette.js:2563 -#: js/turtledefs.js:76 -#: js/rubrics.js:497 -#: js/macros.js:153 -#: js/macros.js:249 -#: js/macros.js:250 -#: js/macros.js:259 -#: js/macros.js:801 -#: js/blocks.js:1120 -#: js/blocks.js:3549 -#: js/blocks.js:3550 -#: js/blocks.js:3786 -#: js/blocks.js:4168 -#: js/blocks.js:4363 -#: js/blocks.js:5526 -#: js/blocks.js:6776 -#: js/ActionBlocks.js:99 -#: js/ActionBlocks.js:147 -#: js/ActionBlocks.js:350 -#: js/ActionBlocks.js:415 -#: js/ActionBlocks.js:569 -#: js/ActionBlocks.js:629 -#: js/ActionBlocks.js:765 -#: js/ActionBlocks.js:768 -#: js/ActionBlocks.js:773 -#: js/ActionBlocks.js:805 -#: js/MeterBlocks.js:412 -#: js/MeterBlocks.js:479 -#: js/MeterBlocks.js:568 -#: js/MeterBlocks.js:669 -#: js/musickeyboard.js:2360 -#: js/pitchtimematrix.js:4708 -#: js/rhythmruler.js:1602 -#: js/rhythmruler.js:1610 -#: js/rhythmruler.js:1911 -#: js/rhythmruler.js:1919 -#: js/block.js:1436 -#: js/block.js:8089 -#: js/block.js:8110 -#: js/block.js:8127 -#: js/activity.js:2968 -#: js/palette.js:503 -#: js/palette.js:512 -#: js/palette.js:521 -#: js/palette.js:530 -#: js/palette.js:1122 -#: js/palette.js:1133 -#: js/palette.js:1144 -#: js/palette.js:1155 -#: js/palette.js:1174 -#: js/turtledefs.js:76 -#: js/rubrics.js:497 -#: js/macros.js:153 -#: js/macros.js:249 -#: js/macros.js:250 -#: js/macros.js:259 -#: js/macros.js:801 -#: js/blocks.js:1120 -#: js/blocks.js:3572 -#: js/blocks.js:3573 -#: js/blocks.js:3809 -#: js/blocks.js:4191 -#: js/blocks.js:4382 -#: js/blocks.js:5545 -#: js/blocks.js:6795 -#: js/ActionBlocks.js:99 -#: js/ActionBlocks.js:147 -#: js/ActionBlocks.js:343 -#: js/ActionBlocks.js:408 -#: js/ActionBlocks.js:562 -#: js/ActionBlocks.js:622 -#: js/ActionBlocks.js:749 -#: js/ActionBlocks.js:752 -#: js/ActionBlocks.js:757 -#: js/ActionBlocks.js:789 -#: js/MeterBlocks.js:390 -#: js/MeterBlocks.js:419 -#: js/MeterBlocks.js:455 -#: js/MeterBlocks.js:494 -#: js/musickeyboard.js:2421 -#: js/pitchtimematrix.js:4706 -#: js/rhythmruler.js:1602 -#: js/rhythmruler.js:1610 -#: js/rhythmruler.js:1911 -#: js/rhythmruler.js:1919 -#: js/block.js:1436 -#: js/block.js:8073 -#: js/block.js:8094 -#: js/block.js:8111 -#: js/activity.js:2984 -#: js/palette.js:503 -#: js/palette.js:512 -#: js/palette.js:521 -#: js/palette.js:530 -#: js/palette.js:1122 -#: js/palette.js:1133 -#: js/palette.js:1144 -#: js/palette.js:1155 -#: js/palette.js:1174 -#: js/turtledefs.js:78 -#: js/rubrics.js:501 -#: js/macros.js:153 -#: js/macros.js:249 -#: js/macros.js:250 -#: js/macros.js:259 -#: js/macros.js:801 -#: js/blocks.js:1112 -#: js/blocks.js:3545 -#: js/blocks.js:3546 -#: js/blocks.js:3779 -#: js/blocks.js:4160 -#: js/blocks.js:4346 -#: js/blocks.js:5496 -#: js/blocks.js:6721 -#: js/ActionBlocks.js:99 -#: js/ActionBlocks.js:147 -#: js/ActionBlocks.js:343 -#: js/ActionBlocks.js:408 -#: js/ActionBlocks.js:562 -#: js/ActionBlocks.js:622 -#: js/ActionBlocks.js:750 -#: js/ActionBlocks.js:753 -#: js/ActionBlocks.js:758 -#: js/ActionBlocks.js:790 -#: js/MeterBlocks.js:396 -#: js/MeterBlocks.js:425 -#: js/MeterBlocks.js:461 -#: js/MeterBlocks.js:500 -#: js/musickeyboard.js:2495 -#: js/pitchtimematrix.js:4718 -#: js/rhythmruler.js:1602 -#: js/rhythmruler.js:1610 -#: js/rhythmruler.js:1911 -#: js/rhythmruler.js:1919 -#: js/block.js:1436 -#: js/block.js:8073 -#: js/block.js:8094 -#: js/block.js:8111 -#: js/activity.js:2984 -#: js/palette.js:503 -#: js/palette.js:512 -#: js/palette.js:521 -#: js/palette.js:530 -#: js/palette.js:1122 -#: js/palette.js:1133 -#: js/palette.js:1144 -#: js/palette.js:1155 -#: js/palette.js:1174 -#: js/turtledefs.js:78 -#: js/rubrics.js:501 -#: js/macros.js:153 -#: js/macros.js:249 -#: js/macros.js:250 -#: js/macros.js:259 -#: js/macros.js:801 -#: js/blocks.js:1112 -#: js/blocks.js:3545 -#: js/blocks.js:3546 -#: js/blocks.js:3779 -#: js/blocks.js:4160 -#: js/blocks.js:4346 -#: js/blocks.js:5496 -#: js/blocks.js:6721 -#: js/ActionBlocks.js:99 -#: js/ActionBlocks.js:147 -#: js/ActionBlocks.js:343 -#: js/ActionBlocks.js:408 -#: js/ActionBlocks.js:562 -#: js/ActionBlocks.js:622 -#: js/ActionBlocks.js:750 -#: js/ActionBlocks.js:753 -#: js/ActionBlocks.js:758 -#: js/ActionBlocks.js:790 -#: js/MeterBlocks.js:396 -#: js/MeterBlocks.js:425 -#: js/MeterBlocks.js:461 -#: js/MeterBlocks.js:500 -#: js/musickeyboard.js:2495 -#: js/pitchtimematrix.js:4718 -#: js/rhythmruler.js:1602 -#: js/rhythmruler.js:1610 -#: js/rhythmruler.js:1911 -#: js/rhythmruler.js:1919 -#: js/block.js:1436 -#: js/block.js:8073 -#: js/block.js:8094 -#: js/block.js:8111 -#: js/activity.js:2984 -#: js/palette.js:506 -#: js/palette.js:515 -#: js/palette.js:524 -#: js/palette.js:533 -#: js/palette.js:1128 -#: js/palette.js:1139 -#: js/palette.js:1150 -#: js/palette.js:1161 -#: js/palette.js:1180 -#: js/turtledefs.js:78 -#: js/rubrics.js:501 -#: js/macros.js:153 -#: js/macros.js:249 -#: js/macros.js:250 -#: js/macros.js:259 -#: js/macros.js:801 -#: js/blocks.js:1112 -#: js/blocks.js:3545 -#: js/blocks.js:3546 -#: js/blocks.js:3779 -#: js/blocks.js:4160 -#: js/blocks.js:4346 -#: js/blocks.js:5496 -#: js/blocks.js:6721 -#: js/ActionBlocks.js:99 -#: js/ActionBlocks.js:147 -#: js/ActionBlocks.js:343 -#: js/ActionBlocks.js:408 -#: js/ActionBlocks.js:562 -#: js/ActionBlocks.js:622 -#: js/ActionBlocks.js:750 -#: js/ActionBlocks.js:753 -#: js/ActionBlocks.js:758 -#: js/ActionBlocks.js:790 -#: js/MeterBlocks.js:396 -#: js/MeterBlocks.js:425 -#: js/MeterBlocks.js:461 -#: js/MeterBlocks.js:500 -#: js/musickeyboard.js:2495 -#: js/pitchtimematrix.js:4718 -#: js/rhythmruler.js:1602 -#: js/rhythmruler.js:1610 -#: js/rhythmruler.js:1911 -#: js/rhythmruler.js:1919 -#: js/block.js:1414 -#: js/block.js:4018 -#: js/block.js:4036 -#: js/block.js:4047 -#: js/activity.js:2899 -#: js/palette.js:486 -#: js/palette.js:495 -#: js/palette.js:504 -#: js/palette.js:513 -#: js/palette.js:1089 -#: js/palette.js:1100 -#: js/palette.js:1111 -#: js/palette.js:1122 -#: js/palette.js:1141 -#: js/turtledefs.js:78 -#: js/rubrics.js:501 -#: js/macros.js:170 -#: js/macros.js:266 -#: js/macros.js:267 -#: js/macros.js:276 -#: js/macros.js:828 -#: js/blocks.js:1071 -#: js/blocks.js:3210 -#: js/blocks.js:3211 -#: js/blocks.js:3428 -#: js/blocks.js:3752 -#: js/blocks.js:3932 -#: js/blocks.js:4976 -#: js/blocks.js:5845 -#: js/ActionBlocks.js:99 -#: js/ActionBlocks.js:147 -#: js/ActionBlocks.js:343 -#: js/ActionBlocks.js:408 -#: js/ActionBlocks.js:562 -#: js/ActionBlocks.js:622 -#: js/ActionBlocks.js:750 -#: js/ActionBlocks.js:753 -#: js/ActionBlocks.js:758 -#: js/ActionBlocks.js:790 -#: js/MeterBlocks.js:396 -#: js/MeterBlocks.js:426 -#: js/MeterBlocks.js:462 -#: js/MeterBlocks.js:501 -#: js/musickeyboard.js:2495 -#: js/rhythmruler.js:1874 -#: js/rhythmruler.js:1881 -#: js/rhythmruler.js:2065 -#: js/rhythmruler.js:2072 -#: js/phrasemaker.js:4226 -#: js/block.js:1414 -#: js/block.js:4020 -#: js/block.js:4038 -#: js/block.js:4049 -#: js/activity.js:2899 -#: js/palette.js:486 -#: js/palette.js:495 -#: js/palette.js:504 -#: js/palette.js:513 -#: js/palette.js:1089 -#: js/palette.js:1100 -#: js/palette.js:1111 -#: js/palette.js:1122 -#: js/palette.js:1141 -#: js/turtledefs.js:78 -#: js/rubrics.js:501 -#: js/macros.js:170 -#: js/macros.js:266 -#: js/macros.js:267 -#: js/macros.js:276 -#: js/macros.js:828 -#: js/blocks.js:1071 -#: js/blocks.js:3210 -#: js/blocks.js:3211 -#: js/blocks.js:3428 -#: js/blocks.js:3752 -#: js/blocks.js:3932 -#: js/blocks.js:4976 -#: js/blocks.js:5845 -#: js/ActionBlocks.js:99 -#: js/ActionBlocks.js:147 -#: js/ActionBlocks.js:343 -#: js/ActionBlocks.js:408 -#: js/ActionBlocks.js:562 -#: js/ActionBlocks.js:622 -#: js/ActionBlocks.js:750 -#: js/ActionBlocks.js:753 -#: js/ActionBlocks.js:758 -#: js/ActionBlocks.js:790 -#: js/MeterBlocks.js:396 -#: js/MeterBlocks.js:426 -#: js/MeterBlocks.js:462 -#: js/MeterBlocks.js:501 -#: js/musickeyboard.js:2495 -#: js/rhythmruler.js:1874 -#: js/rhythmruler.js:1881 -#: js/rhythmruler.js:2065 -#: js/rhythmruler.js:2072 -#: js/phrasemaker.js:4226 -#: js/block.js:1439 -#: js/block.js:4063 -#: js/block.js:4081 -#: js/block.js:4092 -#: js/palette.js:505 -#: js/palette.js:514 -#: js/palette.js:523 -#: js/palette.js:532 -#: js/palette.js:1125 -#: js/palette.js:1136 -#: js/palette.js:1147 -#: js/palette.js:1158 -#: js/palette.js:1177 -#: js/turtledefs.js:101 -#: js/rubrics.js:522 -#: js/macros.js:168 -#: js/macros.js:264 -#: js/macros.js:265 -#: js/macros.js:274 -#: js/macros.js:826 -#: js/blocks.js:1001 -#: js/blocks.js:3394 -#: js/blocks.js:3395 -#: js/blocks.js:3620 -#: js/blocks.js:3981 -#: js/blocks.js:4172 -#: js/blocks.js:5305 -#: js/blocks.js:6432 -#: js/ActionBlocks.js:119 -#: js/ActionBlocks.js:167 -#: js/ActionBlocks.js:364 -#: js/ActionBlocks.js:429 -#: js/ActionBlocks.js:582 -#: js/ActionBlocks.js:643 -#: js/ActionBlocks.js:772 -#: js/ActionBlocks.js:775 -#: js/ActionBlocks.js:780 -#: js/ActionBlocks.js:813 -#: js/MeterBlocks.js:416 -#: js/MeterBlocks.js:446 -#: js/MeterBlocks.js:482 -#: js/MeterBlocks.js:521 -#: js/musickeyboard.js:2564 -#: js/rhythmruler.js:1925 -#: js/rhythmruler.js:1932 -#: js/rhythmruler.js:2116 -#: js/rhythmruler.js:2123 -#: js/phrasemaker.js:4402 -#: js/planetInterface.js:101 -#: js/planetInterface.js:101 -#: js/planetInterface.js:101 -#: js/planetInterface.js:101 -#: js/planetInterface.js:102 -#: js/planetInterface.js:104 -#: js/planetInterface.js:104 -#: js/planetInterface.js:104 -#: js/SaveInterface.js:59 -#: js/SaveInterface.js:61 -#: js/SaveInterface.js:93 -#: js/SaveInterface.js:59 -#: js/SaveInterface.js:61 -#: js/SaveInterface.js:93 -#: js/SaveInterface.js:59 -#: js/SaveInterface.js:61 -#: js/SaveInterface.js:93 -#: js/SaveInterface.js:59 -#: js/SaveInterface.js:61 -#: js/SaveInterface.js:93 -#: js/SaveInterface.js:59 -#: js/SaveInterface.js:61 -#: js/SaveInterface.js:93 -#: js/SaveInterface.js:59 -#: js/SaveInterface.js:61 -#: js/SaveInterface.js:93 -#: js/languagebox.js:208 -msgid "Refresh your browser to change your language preference." -msgstr "刷新你的浏览器以更改语言偏好。" - -#: js/languagebox.js:229 -msgid "Music Blocks is already set to this language." -msgstr "Music Blocks 已经设置为此语言" - -#: js/planetInterface.js:131 -msgid "project undefined" -msgstr "项目未定义" - -#: js/macros.js:170 -#: js/macros.js:266 -#: js/macros.js:267 -#: js/macros.js:276 -#: js/macros.js:828 -#: js/block.js:1569 -#: js/block.js:4500 -#: js/block.js:4518 -#: js/block.js:4529 -#: js/blocks.js:1018 -#: js/blocks.js:3491 -#: js/blocks.js:3492 -#: js/blocks.js:3717 -#: js/blocks.js:4076 -#: js/blocks.js:4269 -#: js/blocks.js:5432 -#: js/blocks.js:6563 -#: js/rubrics.js:530 -#: js/turtledefs.js:131 -#: js/turtledefs.js:232 -#: js/palette.js:610 -#: js/palette.js:619 -#: js/palette.js:628 -#: js/palette.js:637 -#: js/palette.js:1215 -#: js/palette.js:1226 -#: js/palette.js:1237 -#: js/palette.js:1248 -#: js/palette.js:1267 -#: js/blocks/MeterBlocks.js:716 -#: js/blocks/MeterBlocks.js:769 -#: js/blocks/MeterBlocks.js:832 -#: js/blocks/MeterBlocks.js:893 -#: js/blocks/ActionBlocks.js:254 -#: js/blocks/ActionBlocks.js:307 -#: js/blocks/ActionBlocks.js:617 -#: js/blocks/ActionBlocks.js:716 -#: js/blocks/ActionBlocks.js:961 -#: js/blocks/ActionBlocks.js:1049 -#: js/blocks/ActionBlocks.js:1322 -#: js/blocks/ActionBlocks.js:1325 -#: js/blocks/ActionBlocks.js:1337 -#: js/blocks/ActionBlocks.js:1404 -#: js/widgets/musickeyboard.js:3006 -#: js/widgets/rhythmruler.js:2309 -#: js/widgets/rhythmruler.js:2316 -#: js/widgets/rhythmruler.js:2501 -#: js/widgets/rhythmruler.js:2508 -#: js/widgets/phrasemaker.js:4996 -msgid "action" -msgstr "動作" - -#: js/macros.js:711 -#: js/utils/musicutils.js:1157 -#: js/utils/synthutils.js:204 -#. TRANS: animal sound effect -msgid "duck" -msgstr " 鸭子" - -#: js/themebox.js:66 -msgid "Music Blocks is already set to this theme." -msgstr "Music Blocks 已经设置为此主题。" - -#: js/SaveInterface.js:59 -#: js/SaveInterface.js:61 -#: js/SaveInterface.js:93 -msgid "Music Blocks Project" -msgstr "Music Blocks 项目" - -#: js/SaveInterface.js:63 -msgid "This project was created in Music Blocks" -msgstr "此项目是在 Music Blocks 中创建的" - -#: js/SaveInterface.js:67 -msgid "Music Blocks is a Free/Libre Software application." -msgstr " Music Blocks 是一个自由/开源软件应用程序。" - -#: js/SaveInterface.js:69 -msgid "The source code can be accessed at" -msgstr "源代码可在以下位置访问" - -#: js/SaveInterface.js:72 -msgid "For more information, please consult the" -msgstr "如需更多信息,请查阅" - -#: js/SaveInterface.js:76 -#: js/turtledefs.js:489 -msgid "Music Blocks Guide" -msgstr "Music Blocks 指南" - -#: js/SaveInterface.js:83 -msgid "Alternatively, open the file in Music Blocks using the Load project button." -msgstr "或者,使用“加载项目”按钮在 Music Blocks 中打开该文件" - -#: js/SaveInterface.js:85 -msgid "Project Code" -msgstr "项目代码" - -#: js/SaveInterface.js:87 -msgid "This code stores data about the blocks in a project." -msgstr "此代码用于存储项目中模块的数据" - -#: js/SaveInterface.js:89 -#: js/blocks.js:5091 -#: js/blocks/MediaBlocks.js:888 -msgid "Show" -msgstr "显示" - -#: js/SaveInterface.js:91 -msgid "Hide" -msgstr "隐藏" - -#: js/SaveInterface.js:131 -#: js/SaveInterface.js:204 -#: js/SaveInterface.js:262 -#: js/SaveInterface.js:403 -#: js/SaveInterface.js:431 -#: js/activity.js:5401 -#: planet/js/GlobalPlanet.js:467 -#: planet/js/GlobalPlanet.js:469 -#: planet/js/GlobalPlanet.js:495 -#: planet/js/ProjectStorage.js:27 -#. TRANS: default project title when saving as Lilypond -msgid "My Project" -msgstr "我的项目" - -#: js/SaveInterface.js:197 -#: planet/js/SaveInterface.js:58 -msgid "No description provided" -msgstr "未提供描述" - -#: js/SaveInterface.js:346 -msgid "Your recording is in progress." -msgstr "您的录音正在进行中" - -#: js/SaveInterface.js:415 -#. TRANS: File name prompt for save as Lilypond -msgid "File name" -msgstr "文件名" - -#: js/SaveInterface.js:417 -#: planet/js/StringHelper.js:39 -#. TRANS: Project title prompt for save as Lilypond -msgid "Project title" -msgstr "项目标题" - -#: js/SaveInterface.js:419 -#. TRANS: Project title prompt for save as Lilypond -msgid "Project author" -msgstr "项目作者" - -#: js/SaveInterface.js:421 -#. TRANS: MIDI prompt for save as Lilypond -msgid "Include MIDI output?" -msgstr "包含 MIDI 输出?" - -#: js/SaveInterface.js:423 -#. TRANS: Guitar prompt for save as Lilypond -msgid "Include guitar tablature output?" -msgstr "包含吉他六线谱输出?" - -#: js/SaveInterface.js:425 -#. TRANS: Lilypond is a scripting language for generating sheet music -msgid "Save as Lilypond" -msgstr "另存为 Lilypond 文件" - -#: js/SaveInterface.js:440 -#: js/blocks/EnsembleBlocks.js:94 -#: js/blocks/EnsembleBlocks.js:156 -#: js/blocks/EnsembleBlocks.js:218 -#: js/blocks/EnsembleBlocks.js:304 -#: js/blocks/EnsembleBlocks.js:350 -#: js/blocks/EnsembleBlocks.js:391 -#: js/blocks/EnsembleBlocks.js:443 -#: js/blocks/EnsembleBlocks.js:492 -#: js/blocks/EnsembleBlocks.js:538 -#: js/blocks/EnsembleBlocks.js:585 -#: js/blocks/EnsembleBlocks.js:639 -#: js/blocks/EnsembleBlocks.js:755 -#: js/blocks/EnsembleBlocks.js:842 -#: js/blocks/EnsembleBlocks.js:901 -#: js/blocks/EnsembleBlocks.js:944 -#: js/blocks/EnsembleBlocks.js:1215 -#: js/blocks/EnsembleBlocks.js:1283 -#. TRANS: default project author when saving as Lilypond -msgid "Mr. Mouse" -msgstr "先生.Mouse" - -#: js/SaveInterface.js:589 -msgid "The Lilypond code is copied to clipboard. You can paste it here: " -msgstr "Lilypond 代码已复制到剪贴板。你可以将其粘贴到此处:" - -#: js/activity.js:411 -#: js/activity.js:416 -msgid "Search for blocks" -msgstr "搜索模块" - -#: js/activity.js:1358 -msgid "Are you sure you want to clear the workspace?" -msgstr "您确定要清空工作区吗?" - -#: js/activity.js:1577 -msgid "Enter file name" -msgstr "输入文件名" - -#: js/activity.js:1579 -msgid "File save canceled" -msgstr "文件保存已取消" - -#: js/activity.js:1598 -msgid "Click on stop saving" -msgstr "点击“停止保存”" - -#: js/activity.js:1882 -msgid "Catching mice" -msgstr " 捉老鼠" - -#: js/activity.js:1883 -msgid "Cleaning the instruments" -msgstr "清洁乐器" - -#: js/activity.js:1884 -msgid "Testing key pieces" -msgstr "测试关键部件" - -#: js/activity.js:1885 -msgid "Sight-reading" -msgstr "视奏" - -#: js/activity.js:1886 -msgid "Combining math and music" -msgstr "将数学与音乐相结合" - -#: js/activity.js:1887 -msgid "Generating more blocks" -msgstr "生成更多模块" - -#: js/activity.js:1888 -msgid "Do Re Mi Fa Sol La Ti Do" -msgstr "哆 来 米 发 唆 拉 西 哆" - -#: js/activity.js:1889 -msgid "Tuning string instruments" -msgstr "调音弦乐器" - -#: js/activity.js:1890 -msgid "Pressing random keys" -msgstr "随机按键" - -#: js/activity.js:2072 -msgid "plugins will be removed upon restart." -msgstr "插件将在重启后被移除" - -#: js/activity.js:2081 -msgid "show Cartesian" -msgstr "显示笛卡尔坐标系" - -#: js/activity.js:2603 -#: js/palette.js:672 -#: js/blocks/RhythmBlocks.js:923 -#: js/blocks/PitchBlocks.js:442 -#: js/blocks/PitchBlocks.js:1786 -#. TRANS: a numeric mapping of the notes in an octave based on the musical mode -msgid "scale degree" -msgstr "音级" - -#: js/activity.js:2606 -#: js/palette.js:681 -msgid "voice name" -msgstr "声部名称" - -#: js/activity.js:2609 -#: js/palette.js:678 -msgid "invert mode" -msgstr "反转模式" - -#: js/activity.js:2612 -msgid "output tools" -msgstr "输出工具" - -#: js/activity.js:2615 -msgid "custom note" -msgstr "自定义音符" - -#: js/activity.js:2618 -msgid "accidental name" -msgstr "升降音符名称" - -#: js/activity.js:2621 -#: js/blocks/PitchBlocks.js:855 -msgid "east indian solfege" -msgstr "东印度首调系统" - -#: js/activity.js:2624 -#: js/blocks/PitchBlocks.js:869 -msgid "note name" -msgstr "音符名称" - -#: js/activity.js:2627 -#: js/blocks/IntervalsBlocks.js:94 -msgid "temperament name" -msgstr "音律名称" - -#: js/activity.js:2630 -#: js/palette.js:675 -msgid "mode name" -msgstr "调式名称" - -#: js/activity.js:2633 -msgid "chord name" -msgstr "和弦名称" - -#: js/activity.js:2636 -#: js/palette.js:698 -msgid "interval name" -msgstr "音程名称" - -#: js/activity.js:2639 -msgid "filter type" -msgstr "滤波器类型" - -#: js/activity.js:2642 -msgid "oscillator type" -msgstr "振荡器类型" - -#: js/activity.js:2645 -#: js/blocks.js:2479 -#: js/blocks.js:2487 -msgid "audio file" -msgstr "音频文件" - -#: js/activity.js:2648 -#: js/blocks/DrumBlocks.js:32 -msgid "noise name" -msgstr "噪声名称" - -#: js/activity.js:2651 -#: js/blocks/DrumBlocks.js:75 -msgid "drum name" -msgstr "鼓名称" - -#: js/activity.js:2654 -#: js/blocks/DrumBlocks.js:119 -msgid "effects name" -msgstr "效果名称" - -#: js/activity.js:2657 -msgid "wrap mode" -msgstr "包装模式" - -#: js/activity.js:2660 -msgid "load file" -msgstr "加载文件" - -#: js/activity.js:2830 -#: js/activity.js:6368 -msgid "This block is deprecated." -msgstr "此模块已弃用" - -#: js/activity.js:2832 -#: js/activity.js:6370 -msgid "Block cannot be found." -msgstr "无法找到模块" - -#: js/activity.js:3041 -msgid "Saving block artwork" -msgstr "保存模块艺术作品" - -#: js/activity.js:3045 -#: js/turtledefs.js:708 -#: planet/js/LocalCard.js:31 -msgid "Copy" -msgstr "复制" - -#: js/activity.js:3052 -msgid "Erase" -msgstr "擦除" - -#: js/activity.js:3056 -#: js/activity.js:3072 -#: js/activity.js:3303 -#: js/toolbar.js:49 -#: js/toolbar.js:115 -#: js/toolbar.js:186 -#: js/toolbar.js:247 -#: js/turtledefs.js:447 -#: js/turtledefs.js:492 -#: js/widgets/aiwidget.js:646 -#: js/widgets/aiwidget.js:654 -#: js/widgets/aiwidget.js:655 -#: js/widgets/arpeggio.js:90 -#: js/widgets/arpeggio.js:544 -#: js/widgets/arpeggio.js:545 -#: js/widgets/arpeggio.js:639 -#: js/widgets/arpeggio.js:640 -#: js/widgets/meterwidget.js:185 -#: js/widgets/modewidget.js:77 -#: js/widgets/musickeyboard.js:694 -#: js/widgets/musickeyboard.js:894 -#: js/widgets/musickeyboard.js:895 -#: js/widgets/musickeyboard.js:982 -#: js/widgets/musickeyboard.js:983 -#: js/widgets/pitchdrummatrix.js:147 -#: js/widgets/pitchdrummatrix.js:679 -#: js/widgets/pitchdrummatrix.js:680 -#: js/widgets/pitchdrummatrix.js:731 -#: js/widgets/pitchdrummatrix.js:732 -#: js/widgets/pitchdrummatrix.js:746 -#: js/widgets/pitchdrummatrix.js:747 -#: js/widgets/pitchdrummatrix.js:775 -#: js/widgets/pitchdrummatrix.js:776 -#: js/widgets/pitchstaircase.js:119 -#: js/widgets/rhythmruler.js:638 -#: js/widgets/rhythmruler.js:639 -#: js/widgets/rhythmruler.js:652 -#: js/widgets/rhythmruler.js:653 -#: js/widgets/sampler.js:163 -#: js/widgets/sampler.js:164 -#: js/widgets/sampler.js:361 -#: js/widgets/temperament.js:582 -#: js/widgets/temperament.js:585 -#: js/widgets/temperament.js:646 -#: js/widgets/temperament.js:647 -#: js/widgets/temperament.js:1947 -#: js/widgets/temperament.js:1948 -#: js/widgets/tempo.js:85 -#: js/widgets/tempo.js:86 -#: js/widgets/timbre.js:429 -#: js/widgets/timbre.js:430 -#: js/widgets/timbre.js:460 -#: js/widgets/timbre.js:461 -#: js/widgets/timbre.js:740 -#: js/widgets/phrasemaker.js:526 -#: js/widgets/phrasemaker.js:537 -#: js/widgets/phrasemaker.js:538 -#: js/widgets/phrasemaker.js:4373 -#: js/widgets/phrasemaker.js:4601 -#: js/widgets/phrasemaker.js:4607 -#: js/widgets/phrasemaker.js:4608 -#: js/widgets/phrasemaker.js:4722 -#: plugins/rodi.rtp:191 -msgid "Play" -msgstr "播放" - -#: js/activity.js:3080 -#: js/toolbar.js:50 -#: js/toolbar.js:116 -#: js/toolbar.js:187 -#: js/toolbar.js:248 -#: js/turtledefs.js:453 -#: js/turtledefs.js:498 -#: js/blocks/FlowBlocks.js:604 -#: js/widgets/arpeggio.js:533 -#: js/widgets/arpeggio.js:534 -#: js/widgets/meterwidget.js:206 -#: js/widgets/meterwidget.js:207 -#: js/widgets/modewidget.js:99 -#: js/widgets/modewidget.js:100 -#: js/widgets/musickeyboard.js:837 -#: js/widgets/musickeyboard.js:839 -#: js/widgets/pitchdrummatrix.js:668 -#: js/widgets/pitchdrummatrix.js:669 -#: js/widgets/temperament.js:1934 -#: js/widgets/temperament.js:1935 -#: js/widgets/timbre.js:415 -#: js/widgets/timbre.js:417 -#: js/widgets/phrasemaker.js:547 -#: js/widgets/phrasemaker.js:548 -#: js/widgets/phrasemaker.js:4271 -#: plugins/rodi.rtp:29 -#: plugins/rodi.rtp:73 -#: plugins/rodi.rtp:413 -msgid "Stop" -msgstr "停止" - -#: js/activity.js:3084 -#: js/activity.js:3106 -msgid "Paste" -msgstr "貼上" - -#: js/activity.js:3088 -msgid "Save block help" -msgstr "保存模块帮助" - -#: js/activity.js:3119 -#: js/activity.js:3170 -#: js/block.js:2474 -#: js/block.js:3433 -#: js/block.js:3450 -#: js/utils/musicutils.js:4005 -#: js/utils/musicutils.js:5517 -#. TRANS: the note names must be separated by single spaces -#. TRANS: the note names must be separated by single spaces -msgid "ti la sol fa mi re do" -msgstr "" - -#: js/activity.js:3173 -msgid "Jumping to the bottom of the page." -msgstr "跳转到页面底部" - -#: js/activity.js:3179 -msgid "Scrolling up." -msgstr "向上滚动" - -#: js/activity.js:3184 -msgid "Scrolling down." -msgstr "向下滚动" - -#: js/activity.js:3189 -msgid "Extracting block" -msgstr "提取模块" - -#: js/activity.js:3197 -msgid "Moving block up." -msgstr "将模块向上移动" - -#: js/activity.js:3218 -msgid "Moving block down." -msgstr "将模块向下移动" - -#: js/activity.js:3239 -msgid "Moving block left." -msgstr "将模块向左移动" - -#: js/activity.js:3256 -msgid "Moving block right." -msgstr "将模块向右移动" - -#: js/activity.js:3271 -msgid "Jump to home position." -msgstr "跳转到首页位置" - -#: js/activity.js:3298 -#: js/blocks/ExtrasBlocks.js:274 -msgid "Hide blocks" -msgstr "隐藏模块" - -#: js/activity.js:3657 -#: js/activity.js:3672 -msgid "Trash can is empty." -msgstr "垃圾桶是空的" - -#: js/activity.js:3679 -#: js/activity.js:3760 -msgid "Item restored from the trash." -msgstr "项目从垃圾桶中恢复" - -#: js/activity.js:3818 -msgid "Restore last item" -msgstr "恢复最后一个项目" - -#: js/activity.js:3819 -msgid "Restore all items" -msgstr "恢复所有项目" - -#: js/activity.js:5016 -msgid "Click the run button to run the project." -msgstr "点击运行按钮以运行项目" - -#: js/activity.js:6201 -#: js/turtledefs.js:756 -msgid "Home" -msgstr "主页" - -#: js/activity.js:6209 -#: js/turtledefs.js:762 -msgid "Show/hide blocks" -msgstr "顯示/隱藏區塊" - -#: js/activity.js:6215 -#: js/turtledefs.js:768 -msgid "Expand/collapse blocks" -msgstr "展开/折叠模块" - -#: js/activity.js:6221 -#: js/turtledefs.js:776 -msgid "Decrease block size" -msgstr "减小模块大小" - -#: js/activity.js:6227 -#: js/turtledefs.js:782 -msgid "Increase block size" -msgstr "增加模块大小" - -#: js/activity.js:6493 -msgid "Could not parse JSON input." -msgstr "无法解析 JSON 输入" - -#: js/activity.js:6624 -msgid "Select is enabled." -msgstr "选择已启用" - -#: js/activity.js:6624 -msgid "Select is disabled." -msgstr "选择已禁用" - -#: js/activity.js:7005 -#: js/activity.js:7111 -#: js/activity.js:7162 -msgid "Cannot load project from the file. Please check the file type." -msgstr "无法从文件加载项目。请检查文件类型。" - -#: js/activity.js:7448 -msgid "Invalid parameters" -msgstr "参数无效" - -#: js/activity.js:7599 -msgid "Error regenerating palettes. Please refresh the page." -msgstr "重新生成调色板时出错。请刷新页面" - -#: js/block.js:1576 -#: js/block.js:1695 -#: js/palette.js:688 -#: js/blocks/IntervalsBlocks.js:63 -#: js/blocks/WidgetBlocks.js:259 -msgid "temperament" -msgstr "音律" - -#: js/block.js:1583 -#: js/lilypond.js:749 -#: js/lilypond.js:913 -#: js/lilypond.js:951 -#: js/turtle-painter.js:1192 -#: js/turtle-painter.js:1193 -#: js/logo.js:1176 -#: js/turtles.js:119 -#: js/blocks/ProgramBlocks.js:1267 -#: js/blocks/ActionBlocks.js:1223 -msgid "start" -msgstr "开始" - -#: js/block.js:1590 -msgid "matrix" -msgstr " 矩阵" - -#: js/block.js:1597 -#: js/blocks/WidgetBlocks.js:1510 -#: plugins/rodi.rtp:324 -msgid "status" -msgstr "状态" - -#: js/block.js:1604 -msgid "drum mapper" -msgstr "鼓映射器" - -#: js/block.js:1611 -msgid "ruler" -msgstr "尺子" - -#: js/block.js:1618 -#: js/blocks/WidgetBlocks.js:397 -#. TRANS: timbre is the character or quality of a musical sound -msgid "timbre" -msgstr "音色" - -#: js/block.js:1625 -msgid "stair" -msgstr "楼梯" - -#: js/block.js:1632 -#: js/blocks/WidgetBlocks.js:707 -#. TRANS: the speed at music is should be played. -msgid "tempo" -msgstr "速度" - -#: js/block.js:1639 -#: js/block.js:1702 -#: js/blocks/IntervalsBlocks.js:1464 -#. TRANS: mode, e.g., Major in C Major -msgid "mode" -msgstr "调式" - -#: js/block.js:1646 -msgid "slider" -msgstr "滑块" - -#: js/block.js:1653 -#: js/blocks/SensorsBlocks.js:1002 -msgid "keyboard" -msgstr "查询键盘" - -#: js/block.js:1660 -#: js/block.js:2552 -#: js/lilypond.js:732 -#: js/lilypond.js:897 -#: js/lilypond.js:941 -#: js/turtledefs.js:129 -#: js/turtledefs.js:230 -#: js/palette.js:660 -#: js/blocks/DrumBlocks.js:477 -#: js/blocks/RhythmBlocks.js:766 -#: js/blocks/VolumeBlocks.js:502 -#: js/widgets/phrasemaker.js:1124 -msgid "drum" -msgstr "鼓" - -#: js/block.js:1667 -#: js/blocks/WidgetBlocks.js:1190 -#: js/blocks/WidgetBlocks.js:1228 -#. TRANS: widget for subdividing a measure into distinct rhythmic elements -msgid "rhythm maker" -msgstr "节奏制作器" - -#: js/block.js:1674 -#: js/block.js:2383 -#: js/block.js:2440 -#: js/blocks/OrnamentBlocks.js:220 -#: js/blocks/OrnamentBlocks.js:312 -#: js/blocks/RhythmBlocks.js:33 -#: js/blocks/RhythmBlocks.js:356 -#: js/blocks/RhythmBlocks.js:766 -#: js/blocks/RhythmBlocks.js:806 -#: js/blocks/RhythmBlockPaletteBlocks.js:70 -#: js/blocks/RhythmBlockPaletteBlocks.js:252 -#: js/blocks/RhythmBlockPaletteBlocks.js:517 -#: js/blocks/RhythmBlockPaletteBlocks.js:586 -#: js/blocks/RhythmBlockPaletteBlocks.js:637 -#: js/blocks/RhythmBlockPaletteBlocks.js:907 -#: js/blocks/MeterBlocks.js:1368 -#: js/turtleactions/DictActions.js:85 -#: js/widgets/phrasemaker.js:1028 -#: js/widgets/phrasemaker.js:2734 -#: js/widgets/phrasemaker.js:2777 -#: js/widgets/phrasemaker.js:2882 -#. TRANS: the value (e.g., 1/4 note) of the note being played. -msgid "note value" -msgstr "音符时值" - -#: js/block.js:1681 -#: js/block.js:2308 -#: js/block.js:2331 -#: js/blocks/IntervalsBlocks.js:1071 -#: js/blocks/OrnamentBlocks.js:312 -#. TRANS: calculate a relative step between notes based on semi-tones -msgid "scalar interval" -msgstr "音阶音程" - -#: js/block.js:1688 -#: js/blocks/RhythmBlocks.js:148 -msgid "milliseconds" -msgstr "毫秒" - -#: js/block.js:2381 -#: js/block.js:2385 -#: js/block.js:2438 -#: js/block.js:2554 -#: js/blocks/ProgramBlocks.js:1273 -#: js/blocks/RhythmBlocks.js:712 -#: js/widgets/rhythmruler.js:1177 -#: js/widgets/rhythmruler.js:1323 -msgid "silence" -msgstr "沉默" - -#: js/block.js:2542 -#. TRANS: scalar step -msgid "down" -msgstr "向下" - -#: js/block.js:2543 -msgid "up" -msgstr "向上" - -#: js/block.js:2548 -#: js/rubrics.js:524 -#: js/turtledefs.js:124 -#: js/turtledefs.js:225 -#: js/blocks/IntervalsBlocks.js:63 -#: js/blocks/PitchBlocks.js:1839 -#: js/blocks/PitchBlocks.js:1853 -#: js/blocks/SensorsBlocks.js:178 -#: js/widgets/musickeyboard.js:1961 -#: js/widgets/phrasemaker.js:1122 -#. TRANS: pitch number -#. TRANS: we specify pitch in terms of a name and an octave. The name can be CDEFGAB or Do Re Mi Fa Sol La Ti. Octave is a number between 1 and 8. -msgid "pitch" -msgstr "音高" - -#: js/block.js:2963 -msgid "Silence block cannot be removed." -msgstr "无法移除静音模块" - -#: js/block.js:3135 -#: js/piemenus.js:3457 -msgid "You can restore deleted blocks from the trash with the Restore From Trash button." -msgstr "您可以通过“从垃圾桶恢复”按钮恢复已删除的模块" - -#: js/block.js:3765 -#: js/blocks.js:2607 -#: js/blocks.js:3218 -#: js/palette.js:701 -#: js/blocks/BooleanBlocks.js:77 -#: js/blocks/BooleanBlocks.js:167 -#: js/blocks/BooleanBlocks.js:251 -#: js/blocks/BooleanBlocks.js:335 -#: js/blocks/BooleanBlocks.js:433 -#: js/blocks/BooleanBlocks.js:539 -#: js/blocks/BooleanBlocks.js:640 -#: js/blocks/BooleanBlocks.js:741 -#: js/blocks/BooleanBlocks.js:847 -#: js/blocks/BooleanBlocks.js:948 -#: js/blocks/BooleanBlocks.js:1033 -#: js/blocks/SensorsBlocks.js:911 -msgid "true" -msgstr "真" - -#: js/block.js:3765 -#: js/blocks.js:2609 -#: js/blocks.js:3220 -#: js/blocks/BooleanBlocks.js:79 -#: js/blocks/BooleanBlocks.js:169 -#: js/blocks/BooleanBlocks.js:253 -#: js/blocks/BooleanBlocks.js:337 -#: js/blocks/BooleanBlocks.js:435 -#: js/blocks/BooleanBlocks.js:541 -#: js/blocks/BooleanBlocks.js:642 -#: js/blocks/BooleanBlocks.js:743 -#: js/blocks/BooleanBlocks.js:849 -#: js/blocks/BooleanBlocks.js:950 -#: js/blocks/SensorsBlocks.js:913 -msgid "false" -msgstr "假" - -#: js/block.js:3776 -#: js/block.js:3789 -#: js/blocks/ExtrasBlocks.js:618 -msgid "Cartesian" -msgstr "笛卡爾" - -#: js/block.js:3777 -#: js/block.js:3790 -#: js/blocks/ExtrasBlocks.js:622 -msgid "polar" -msgstr "极坐标" - -#: js/block.js:3778 -#: js/block.js:3791 -#: js/blocks/ExtrasBlocks.js:626 -msgid "Cartesian/Polar" -msgstr "笛卡尔/极坐标" - -#: js/block.js:3779 -#: js/block.js:3798 -#: js/blocks/ExtrasBlocks.js:655 -msgid "none" -msgstr "无" - -#: js/block.js:3792 -#: js/blocks/ExtrasBlocks.js:631 -msgid "treble" -msgstr "高音" - -#: js/block.js:3793 -#: js/blocks/ExtrasBlocks.js:635 -msgid "grand staff" -msgstr "大五线谱" - -#: js/block.js:3794 -#: js/blocks/ExtrasBlocks.js:639 -msgid "mezzo-soprano" -msgstr "中高音" - -#: js/block.js:3795 -#: js/blocks/ExtrasBlocks.js:643 -msgid "alto" -msgstr " 女低音" - -#: js/block.js:3796 -#: js/blocks/ExtrasBlocks.js:647 -msgid "tenor" -msgstr "男高音" - -#: js/block.js:3797 -#: js/utils/musicutils.js:1109 -#: js/utils/synthutils.js:80 -#: js/blocks/ExtrasBlocks.js:651 -#. TRANS: musical instrument -msgid "bass" -msgstr "低音" - -#: js/block.js:3842 -#: js/blocks.js:2600 -#: js/blocks.js:3211 -msgid "on2" -msgstr "开" - -#: js/block.js:3844 -#: js/blocks.js:2602 -#: js/blocks.js:3213 -msgid "off" -msgstr "关闭" - -#: js/block.js:4411 -msgid "Not a number" -msgstr "不是数字" - -#: js/block.js:4418 -msgid "Octave value must be between 1 and 8." -msgstr "八度值必须在1到8之间" - -#: js/block.js:4426 -msgid "Numbers can have at most 10 digits." -msgstr "数字最多只能有10位" - -#: js/blocks.js:1212 -#: js/blocks.js:3444 -#: js/blocks.js:3834 -#: js/blocks.js:3865 -#: js/blocks.js:3914 -#: js/blocks.js:3949 -#: js/blocks.js:6586 -#: js/palette.js:592 -#: js/palette.js:721 -#: js/palette.js:1191 -#: js/blocks/BoxesBlocks.js:282 -#: js/blocks/BoxesBlocks.js:285 -#: js/blocks/BoxesBlocks.js:405 -#: js/blocks/BoxesBlocks.js:594 -msgid "box" -msgstr "盒子" - -#: js/blocks.js:1713 -msgid "Consider breaking this stack into parts." -msgstr "考虑将这个堆栈拆分成几个部分" - -#: js/blocks.js:2472 -#: js/palette.js:736 -#: js/blocks/MediaBlocks.js:602 -msgid "open file" -msgstr "打开文件." - -#: js/blocks.js:3247 -#: js/palette.js:657 -#: js/blocks/MediaBlocks.js:892 -#: js/blocks/MediaBlocks.js:963 -msgid "text" -msgstr "文本." - -#: js/blocks.js:3443 -#: js/palette.js:724 -#: js/palette.js:725 -#: js/blocks/BoxesBlocks.js:514 -msgid "store in box" -msgstr " 存储在盒子里" - -#: js/blocks.js:3448 -#: js/blocks.js:3888 -#: js/blocks.js:3923 -#: js/blocks.js:3958 -#: js/blocks.js:5862 -#: js/blocks.js:5883 -#: js/blocks/BoxesBlocks.js:772 -msgid "box1" -msgstr "盒子1" - -#: js/blocks.js:3450 -#: js/blocks.js:3890 -#: js/blocks.js:3925 -#: js/blocks.js:3960 -#: js/blocks.js:5864 -#: js/blocks.js:5885 -#: js/blocks/BoxesBlocks.js:663 -msgid "box2" -msgstr "盒子2" - -#: js/blocks.js:4122 -#: js/palette.js:722 -#: js/palette.js:727 -#: js/palette.js:1127 -#: js/blocks/BoxesBlocks.js:591 -msgid "store in" -msgstr "放入" - -#: js/blocks.js:4122 -#: js/blocks/BoxesBlocks.js:595 -#: js/blocks/DictBlocks.js:215 -#: js/blocks/DictBlocks.js:289 -#: js/blocks/ProgramBlocks.js:390 -#: js/blocks/ProgramBlocks.js:495 -#: js/blocks/ProgramBlocks.js:658 -#: js/blocks/PitchBlocks.js:656 -#: js/blocks/PitchBlocks.js:934 -#: js/blocks/PitchBlocks.js:1866 -#: js/blocks/ToneBlocks.js:1025 -#: js/blocks/EnsembleBlocks.js:393 -#: js/blocks/EnsembleBlocks.js:404 -#: js/blocks/MediaBlocks.js:746 -msgid "name" -msgstr "名称" - -#: js/blocks.js:4122 -#: js/blocks/BoxesBlocks.js:75 -#: js/blocks/BoxesBlocks.js:595 -#: js/blocks/DictBlocks.js:289 -#: js/blocks/DictBlocks.js:430 -#: js/blocks/HeapBlocks.js:544 -#: js/blocks/RhythmBlocks.js:1130 -msgid "value" -msgstr "值" - -#: js/blocks.js:4465 -msgid "Forever loop detected inside a note value block. Unexpected things may happen." -msgstr "在音符时值模块中检测到永久循环。可能会发生意外情况" - -#: js/blocks.js:4988 -msgid "There is no block selected." -msgstr "没有选择任何模块" - -#: js/blocks.js:5094 -#: js/blocks/MediaBlocks.js:803 -#. TRANS: Avatar is the image used to determine the appearance of the mouse. -msgid "avatar" -msgstr "头像" - -#: js/blocks.js:5097 -#: js/blocks/ToneBlocks.js:1010 -#: js/widgets/sampler.js:929 -#. TRANS: The sound sample that the user uploads. -msgid "sample" -msgstr "样本" - -#: js/lilypond.js:605 -#: js/lilypond.js:904 -#: js/lilypond.js:910 -#: js/lilypond.js:948 -#: js/rubrics.js:526 -msgid "mouse" -msgstr "鼠标" - -#: js/lilypond.js:606 -msgid "brown rat" -msgstr "棕色老鼠" - -#: js/lilypond.js:607 -msgid "mole" -msgstr " 鼹鼠" - -#: js/lilypond.js:608 -msgid "chipmunk" -msgstr "花栗鼠" - -#: js/lilypond.js:609 -msgid "red squirrel" -msgstr "红松鼠" - -#: js/lilypond.js:610 -msgid "guinea pig" -msgstr "豚鼠" - -#: js/lilypond.js:611 -msgid "capybara" -msgstr "水豚" - -#: js/lilypond.js:612 -msgid "coypu" -msgstr " 豪猪" - -#: js/lilypond.js:613 -msgid "black rat" -msgstr "黑色老鼠" - -#: js/lilypond.js:614 -msgid "grey squirrel" -msgstr "灰松鼠" - -#: js/lilypond.js:615 -msgid "flying squirrel" -msgstr "飞鼠" - -#: js/lilypond.js:616 -msgid "bat" -msgstr "蝙蝠" - -#: js/lilypond.js:749 -#: js/lilypond.js:913 -#: js/lilypond.js:951 -#: js/blocks/ActionBlocks.js:1256 -#: js/blocks/ExtrasBlocks.js:559 -msgid "start drum" -msgstr "开始鼓声" - -#: js/rubrics.js:523 -#: js/turtledefs.js:122 -#: js/turtledefs.js:223 -#: js/blocks/ProgramBlocks.js:745 -#: js/blocks/RhythmBlockPaletteBlocks.js:52 -#: js/blocks/RhythmBlockPaletteBlocks.js:234 -#: js/widgets/rhythmruler.js:2047 -#: js/widgets/rhythmruler.js:2054 -#: js/widgets/rhythmruler.js:2123 -#: js/widgets/rhythmruler.js:2130 -#: js/widgets/rhythmruler.js:2209 -#. TRANS: an arrangement of notes based on duration -msgid "rhythm" -msgstr "节奏" - -#: js/rubrics.js:525 -#: js/turtledefs.js:126 -#: js/turtledefs.js:227 -msgid "tone" -msgstr "音调" - -#: js/rubrics.js:527 -#: js/turtledefs.js:135 -#: js/turtledefs.js:236 -#: js/widgets/phrasemaker.js:1126 -msgid "pen" -msgstr "钢笔" - -#: js/rubrics.js:528 -#: js/turtledefs.js:136 -#: js/turtledefs.js:237 -#: js/blocks/NumberBlocks.js:981 -#: js/blocks/PitchBlocks.js:1717 -#: js/blocks/PitchBlocks.js:1758 -msgid "number" -msgstr "數字" - -#: js/rubrics.js:529 -#: js/turtledefs.js:130 -#: js/turtledefs.js:231 -msgid "flow" -msgstr "流动" - -#: js/rubrics.js:531 -#: js/turtledefs.js:139 -#: js/turtledefs.js:240 -#: planet/js/GlobalTag.js:48 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Sensors" -msgstr "传感器" - -#: js/rubrics.js:532 -#: js/turtledefs.js:138 -#: js/turtledefs.js:239 -#: js/blocks/MediaBlocks.js:930 -#: planet/js/GlobalTag.js:46 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Media" -msgstr "" - -#: js/rubrics.js:533 -msgid "mice" -msgstr "" - -#: js/toolbar.js:48 -#: js/toolbar.js:114 -msgid "About Music Blocks" -msgstr "关于音乐模块" - -#: js/toolbar.js:51 -#: js/toolbar.js:117 -#: js/toolbar.js:188 -#: js/toolbar.js:249 -#: js/turtledefs.js:509 -msgid "Record" -msgstr "录音" - -#: js/toolbar.js:52 -#: js/toolbar.js:53 -#: js/toolbar.js:118 -#: js/toolbar.js:119 -#: js/toolbar.js:189 -#: js/toolbar.js:190 -#: js/toolbar.js:250 -#: js/toolbar.js:251 -msgid "Full screen" -msgstr "全屏" - -#: js/toolbar.js:54 -#: js/toolbar.js:120 -#: js/toolbar.js:191 -#: js/toolbar.js:252 -#: js/turtledefs.js:516 -msgid "Toggle Fullscreen" -msgstr "切换全屏" - -#: js/toolbar.js:55 -#: js/toolbar.js:121 -#: js/toolbar.js:192 -#: js/toolbar.js:253 -#: js/toolbar.js:1118 -#: js/turtledefs.js:522 -#: planet/js/StringHelper.js:33 -msgid "New project" -msgstr "新项目" - -#: js/toolbar.js:56 -#: js/toolbar.js:122 -#: js/toolbar.js:193 -#: js/toolbar.js:254 -#: js/turtledefs.js:528 -msgid "Load project from file" -msgstr "从文件加载项目" - -#: js/toolbar.js:57 -#: js/toolbar.js:123 -#: js/toolbar.js:124 -#: js/toolbar.js:194 -#: js/toolbar.js:255 -#: js/turtledefs.js:535 -#: js/turtledefs.js:546 -#: js/turtledefs.js:566 -msgid "Save project" -msgstr "保存项目" - -#: js/toolbar.js:58 -#: js/toolbar.js:80 -#: js/toolbar.js:82 -#: js/toolbar.js:146 -#: js/toolbar.js:156 -#: js/toolbar.js:158 -#: js/toolbar.js:195 -#: js/toolbar.js:216 -#: js/toolbar.js:218 -#: js/toolbar.js:256 -#: js/toolbar.js:277 -#: js/toolbar.js:279 -#: js/turtledefs.js:536 -#: js/turtledefs.js:567 -msgid "Save project as HTML" -msgstr "将项目保存为HTML" - -#: js/toolbar.js:59 -#: js/toolbar.js:125 -#: js/toolbar.js:196 -#: js/toolbar.js:257 -msgid "Find and share projects" -msgstr "查找并分享项目" - -#: js/toolbar.js:60 -#: js/toolbar.js:126 -#: js/toolbar.js:197 -#: js/toolbar.js:258 -msgid "Offline. Sharing is unavailable" -msgstr " 离线。共享不可用" - -#: js/toolbar.js:61 -#: js/toolbar.js:127 -#: js/toolbar.js:198 -#: js/toolbar.js:259 -msgid "Auxiliary menu" -msgstr "辅助菜单" - -#: js/toolbar.js:62 -#: js/toolbar.js:128 -#: js/toolbar.js:199 -#: js/toolbar.js:260 -#: js/piemenus.js:3386 -#: js/turtledefs.js:592 -msgid "Help" -msgstr "幫助" - -#: js/toolbar.js:63 -#: js/toolbar.js:129 -#: js/toolbar.js:200 -#: js/toolbar.js:261 -#: js/turtledefs.js:598 -msgid "Run slowly" -msgstr "慢速运行" - -#: js/toolbar.js:64 -#: js/toolbar.js:130 -#: js/toolbar.js:201 -#: js/toolbar.js:262 -#: js/turtledefs.js:604 -msgid "Run step by step" -msgstr "逐步运行" - -#: js/toolbar.js:65 -#: js/toolbar.js:131 -#: js/toolbar.js:202 -#: js/toolbar.js:263 -#: js/turtledefs.js:611 -msgid "Display statistics" -msgstr "显示统计信息" - -#: js/toolbar.js:66 -#: js/toolbar.js:132 -#: js/toolbar.js:203 -#: js/toolbar.js:264 -#: js/turtledefs.js:617 -msgid "Load plugin" -msgstr "加载插件" - -#: js/toolbar.js:67 -#: js/toolbar.js:133 -#: js/toolbar.js:204 -#: js/toolbar.js:265 -#: js/turtledefs.js:625 -msgid "Delete plugin" -msgstr "删除插件" - -#: js/toolbar.js:68 -#: js/toolbar.js:134 -#: js/toolbar.js:205 -#: js/toolbar.js:266 -msgid "Enable horizontal scrolling" -msgstr "启用横向滚动" - -#: js/toolbar.js:69 -#: js/toolbar.js:135 -#: js/toolbar.js:206 -#: js/toolbar.js:267 -msgid "Disable horizontal scrolling" -msgstr "禁用横向滚动" - -#: js/toolbar.js:70 -#: js/toolbar.js:136 -#: js/toolbar.js:207 -#: js/toolbar.js:268 -#: js/turtledefs.js:642 -msgid "Change theme" -msgstr "更改主题" - -#: js/toolbar.js:71 -#: js/toolbar.js:137 -#: js/toolbar.js:208 -#: js/toolbar.js:269 -msgid "Light Mode" -msgstr "浅色模式" - -#: js/toolbar.js:72 -#: js/toolbar.js:138 -#: js/toolbar.js:209 -#: js/toolbar.js:270 -msgid "Dark Mode" -msgstr "深色模式" - -#: js/toolbar.js:73 -#: js/toolbar.js:139 -#: js/toolbar.js:210 -#: js/toolbar.js:271 -#: js/turtledefs.js:648 -#: planet/js/LocalCard.js:54 -#: planet/js/StringHelper.js:71 -msgid "Merge with current project" -msgstr "与当前项目合并" - -#: js/toolbar.js:74 -#: js/toolbar.js:140 -#: js/turtledefs.js:662 -msgid "Set Pitch Preview" -msgstr "设置音高预览" - -#: js/toolbar.js:75 -#: js/toolbar.js:141 -#: js/toolbar.js:211 -#: js/toolbar.js:272 -#: js/turtledefs.js:669 -msgid "JavaScript Editor" -msgstr "JavaScript 编辑器" - -#: js/toolbar.js:76 -#: js/toolbar.js:142 -#: js/toolbar.js:212 -#: js/toolbar.js:273 -#: js/turtledefs.js:676 -msgid "Restore" -msgstr "恢复" - -#: js/toolbar.js:77 -#: js/toolbar.js:143 -#: js/toolbar.js:213 -#: js/toolbar.js:274 -msgid "Switch to beginner mode" -msgstr "切换到初学者模式" - -#: js/toolbar.js:78 -#: js/toolbar.js:144 -#: js/toolbar.js:214 -#: js/toolbar.js:275 -msgid "Switch to advanced mode" -msgstr "切换到高级模式" - -#: js/toolbar.js:79 -#: js/toolbar.js:145 -#: js/toolbar.js:155 -#: js/toolbar.js:215 -#: js/toolbar.js:276 -#: js/turtledefs.js:690 -msgid "Select language" -msgstr "选择语言" - -#: js/toolbar.js:81 -#: js/toolbar.js:84 -#: js/toolbar.js:148 -#: js/turtledefs.js:538 -msgid "Save mouse artwork as PNG" -msgstr "将鼠标图像保存为PNG" - -#: js/toolbar.js:83 -#: js/toolbar.js:147 -msgid "Save mouse artwork as SVG" -msgstr "将鼠标图像保存为SVG" - -#: js/toolbar.js:85 -#: js/toolbar.js:149 -#: js/turtledefs.js:569 -msgid "Save music as WAV" -msgstr "将音乐保存为WAV" - -#: js/toolbar.js:86 -#: js/toolbar.js:150 -msgid "Save sheet music as ABC" -msgstr "将乐谱保存为ABC" - -#: js/toolbar.js:87 -#: js/toolbar.js:151 -msgid "Save sheet music as Lilypond" -msgstr "将乐谱保存为LilyPond" - -#: js/toolbar.js:88 -msgid "Save sheet music as MusicXML" -msgstr "将乐谱保存为MusicXML" - -#: js/toolbar.js:89 -#: js/toolbar.js:152 -#: js/toolbar.js:161 -#: js/toolbar.js:221 -#: js/toolbar.js:282 -#: js/turtledefs.js:558 -msgid "Save block artwork as SVG" -msgstr "将块图形保存为SVG" - -#: js/toolbar.js:90 -#: js/toolbar.js:153 -#: js/toolbar.js:162 -#: js/toolbar.js:222 -#: js/toolbar.js:283 -msgid "Save block artwork as PNG" -msgstr "将块图形保存为PNG" - -#: js/toolbar.js:91 -#: js/toolbar.js:154 -#: js/toolbar.js:163 -#: js/toolbar.js:223 -#: js/toolbar.js:284 -#: js/toolbar.js:1134 -msgid "Confirm" -msgstr "确认" - -#: js/toolbar.js:92 -#: js/toolbar.js:164 -#: js/toolbar.js:224 -#: js/toolbar.js:285 -msgid "English (United States)" -msgstr "English (United States)" - -#: js/toolbar.js:93 -#: js/toolbar.js:165 -#: js/toolbar.js:225 -#: js/toolbar.js:286 -msgid "English (United Kingdom)" -msgstr "English (United Kingdom)" - -#: js/toolbar.js:94 -#: js/toolbar.js:166 -#: js/toolbar.js:226 -#: js/toolbar.js:287 -msgid "日本語" -msgstr "" - -#: js/toolbar.js:95 -msgid "한국어" -msgstr "" - -#: js/toolbar.js:96 -#: js/toolbar.js:168 -#: js/toolbar.js:228 -#: js/toolbar.js:289 -msgid "español" -msgstr "" - -#: js/toolbar.js:97 -#: js/toolbar.js:169 -#: js/toolbar.js:229 -#: js/toolbar.js:290 -msgid "português" -msgstr "" - -#: js/toolbar.js:98 -#: js/toolbar.js:170 -#: js/toolbar.js:230 -#: js/toolbar.js:291 -msgid "にほんご" -msgstr "" - -#: js/toolbar.js:99 -#: js/toolbar.js:171 -#: js/toolbar.js:231 -#: js/toolbar.js:292 -msgid "中文" -msgstr "" - -#: js/toolbar.js:100 -#: js/toolbar.js:172 -#: js/toolbar.js:232 -#: js/toolbar.js:293 -msgid "ภาษาไทย" -msgstr "" - -#: js/toolbar.js:101 -#: js/toolbar.js:173 -#: js/toolbar.js:233 -#: js/toolbar.js:294 -msgid "aymara" -msgstr "" - -#: js/toolbar.js:102 -#: js/toolbar.js:174 -#: js/toolbar.js:234 -#: js/toolbar.js:295 -msgid "quechua" -msgstr "" - -#: js/toolbar.js:103 -#: js/toolbar.js:175 -#: js/toolbar.js:235 -#: js/toolbar.js:296 -msgid "guarani" -msgstr "" - -#: js/toolbar.js:104 -#: js/toolbar.js:176 -#: js/toolbar.js:236 -#: js/toolbar.js:297 -msgid "हिंदी" -msgstr "" - -#: js/toolbar.js:105 -#: js/toolbar.js:178 -#: js/toolbar.js:237 -#: js/toolbar.js:299 -msgid "igbo" -msgstr "" - -#: js/toolbar.js:106 -#: js/toolbar.js:179 -#: js/toolbar.js:238 -#: js/toolbar.js:300 -msgid "عربى" -msgstr "" - -#: js/toolbar.js:107 -#: js/toolbar.js:177 -#: js/toolbar.js:239 -#: js/toolbar.js:298 -msgid "తెలుగు" -msgstr "" - -#: js/toolbar.js:108 -#: js/toolbar.js:180 -#: js/toolbar.js:240 -#: js/toolbar.js:301 -msgid "עִברִית" -msgstr "" - -#: js/toolbar.js:109 -#: js/toolbar.js:181 -#: js/toolbar.js:241 -#: js/toolbar.js:302 -msgid "اردو" -msgstr "" - -#: js/toolbar.js:157 -#: js/toolbar.js:160 -#: js/toolbar.js:217 -#: js/toolbar.js:220 -#: js/toolbar.js:278 -#: js/toolbar.js:281 -#: js/turtledefs.js:554 -msgid "Save turtle artwork as PNG" -msgstr "将海龟图形保存为PNG" - -#: js/toolbar.js:159 -#: js/toolbar.js:219 -#: js/toolbar.js:280 -#: js/turtledefs.js:550 -msgid "Save turtle artwork as SVG" -msgstr "将海龟图形保存为SVG" - -#: js/toolbar.js:167 -#: js/toolbar.js:227 -#: js/toolbar.js:288 -msgid "한국인" -msgstr "" - -#: js/toolbar.js:185 -#: js/toolbar.js:246 -msgid "About Turtle Blocks" -msgstr "关于海龟图形块" - -#: js/toolbar.js:494 -#: js/toolbar.js:505 -#: js/toolbar.js:545 -msgid "Turtle Wrap Off" -msgstr "关闭海龟包装" - -#: js/toolbar.js:514 -#: js/toolbar.js:554 -msgid "Turtle Wrap On" -msgstr "开启海龟包装" - -#: js/toolbar.js:1121 -msgid "Are you sure you want to create a new project?" -msgstr "您确定要创建一个新项目吗?" - -#: js/logo.js:61 -msgid "Not a valid pitch name" -msgstr "无效的音高名称" - -#: js/logo.js:507 -#: js/blocks/ProgramBlocks.js:258 -#: js/blocks/ProgramBlocks.js:427 -msgid "You must select a file." -msgstr "你必须选择一个文件" - -#: js/logo.js:1688 -msgid "Playback is ready." -msgstr "播放准备好了。" - -#: js/piemenus.js:200 -#: js/utils/musicutils.js:1182 -#: js/utils/musicutils.js:1202 -#: js/widgets/musickeyboard.js:2375 -#: js/widgets/sampler.js:764 -#: js/widgets/phrasemaker.js:1991 -#. TRANS: double sharp is a music term related to pitch -msgid "double sharp" -msgstr "双升音符" - -#: js/piemenus.js:201 -#: js/utils/musicutils.js:1180 -#: js/utils/musicutils.js:1203 -#: js/blocks/PitchBlocks.js:1539 -#: js/turtleactions/PitchActions.js:323 -#: js/widgets/musickeyboard.js:2376 -#: js/widgets/sampler.js:765 -#: js/widgets/phrasemaker.js:1992 -#. TRANS: sharp is a music term related to pitch -#. TRANS: sharp is a half-step up in pitch -msgid "sharp" -msgstr "升号" - -#: js/piemenus.js:202 -#: js/utils/musicutils.js:1178 -#: js/utils/musicutils.js:1204 -#: js/widgets/musickeyboard.js:2377 -#: js/widgets/sampler.js:766 -#: js/widgets/phrasemaker.js:1993 -#. TRANS: natural is a music term related to pitch -msgid "natural" -msgstr "还原音符" - -#: js/piemenus.js:203 -#: js/utils/musicutils.js:1176 -#: js/utils/musicutils.js:1205 -#: js/blocks/PitchBlocks.js:1498 -#: js/turtleactions/PitchActions.js:326 -#: js/widgets/musickeyboard.js:2378 -#: js/widgets/sampler.js:767 -#: js/widgets/phrasemaker.js:1994 -#. TRANS: flat is a music term related to pitch -#. TRANS: flat is a half-step down in pitch -msgid "flat" -msgstr "降号" - -#: js/piemenus.js:204 -#: js/utils/musicutils.js:1174 -#: js/utils/musicutils.js:1206 -#: js/widgets/musickeyboard.js:2379 -#: js/widgets/sampler.js:768 -#: js/widgets/phrasemaker.js:1995 -#. TRANS: double flat is a music term related to pitch -msgid "double flat" -msgstr "双降音符" - -#: js/piemenus.js:2827 -#: js/utils/musicutils.js:1000 -#: js/blocks/PitchBlocks.js:1385 -#. TRANS: unison is a music term related to intervals -#. TRANS: unison means the note is the same as the current note -msgid "unison" -msgstr "同音" - -#: js/piemenus.js:2981 -#: js/piemenus.js:3054 -#: js/utils/musicutils.js:1008 -#: js/utils/musicutils.js:1184 -#: js/utils/musicutils.js:1369 -#. TRANS: major is a music term related to intervals and mode -msgid "major" -msgstr "大调音阶" - -#: js/piemenus.js:2981 -#: js/piemenus.js:3054 -#: js/utils/musicutils.js:1026 -#. TRANS: modal scale for music -msgid "ionian" -msgstr "艾奥尼安调式" - -#: js/piemenus.js:2983 -#: js/piemenus.js:3058 -#: js/utils/musicutils.js:1006 -#: js/utils/musicutils.js:1185 -#: js/utils/musicutils.js:1366 -#. TRANS: minor is a music term related to intervals and mode -msgid "minor" -msgstr "小调音阶" - -#: js/piemenus.js:2983 -#: js/piemenus.js:3058 -#: js/utils/musicutils.js:1036 -#. TRANS: modal scale for music -msgid "aeolian" -msgstr "伊奥利安调式" - -#: js/piemenus.js:3373 -#: js/blocks/FlowBlocks.js:136 -msgid "Duplicate" -msgstr "复制" - -#: js/piemenus.js:3374 -#: js/turtledefs.js:714 -msgid "Extract" -msgstr "提取" - -#: js/piemenus.js:3375 -msgid "Move to trash" -msgstr "移到垃圾桶" - -#: js/piemenus.js:3376 -#: js/widgets/temperament.js:454 -#: js/widgets/temperament.js:456 -#: js/widgets/temperament.js:1439 -#: js/widgets/temperament.js:1441 -#: js/widgets/timbre.js:962 -#: planet/js/StringHelper.js:69 -msgid "Close" -msgstr "关闭" - -#: js/piemenus.js:3382 -msgid "Save stack" -msgstr "保存堆栈" - -#: js/piemenus.js:3412 -msgid "In order to copy a sample, you must reload the widget, import the sample again, and export it." -msgstr "为了复制样本,您必须重新加载小部件,重新导入样本,然后再导出。" - -#: js/piemenus.js:3801 -msgid "You have chosen key for your pitch preview." -msgstr "您已选择音调预览的音调。" - -#: js/turtle-singer.js:1364 -#. TRANS: partials are weighted components in a harmonic series -msgid "You must have at least one Partial block inside of a Weighted-partial block" -msgstr "您必须在加权部分块内至少包含一个部分块" - -#: js/turtle-singer.js:2078 -msgid "synth cannot play chords." -msgstr "合成器无法播放和弦" - -#: js/turtledefs.js:43 -#. TRANS: put the URL to the guide here, e.g., https://github.com/sugarlabs/turtleblocksjs/tree/master/guide/README.md -msgid "guide url" -msgstr "指南网址" - -#: js/turtledefs.js:88 -msgid "Turtle Blocks" -msgstr "海龟图形块" - -#: js/turtledefs.js:121 -#: js/turtledefs.js:222 -msgid "search" -msgstr "搜索" - -#: js/turtledefs.js:123 -#: js/turtledefs.js:224 -#: js/blocks/MeterBlocks.js:1344 -#: js/blocks/WidgetBlocks.js:522 -#. TRANS: musical meter (time signature), e.g., 4:4 -msgid "meter" -msgstr "节拍" - -#: js/turtledefs.js:125 -#: js/turtledefs.js:226 -msgid "intervals" -msgstr "音程" - -#: js/turtledefs.js:127 -#: js/turtledefs.js:228 -msgid "ornament" -msgstr "装饰音" - -#: js/turtledefs.js:128 -#: js/turtledefs.js:229 -#: js/blocks/VolumeBlocks.js:362 -#: js/blocks/VolumeBlocks.js:502 -#: js/blocks/VolumeBlocks.js:545 -msgid "volume" -msgstr "音量" - -#: js/turtledefs.js:132 -#: js/turtledefs.js:233 -msgid "boxes" -msgstr "框框" - -#: js/turtledefs.js:133 -#: js/turtledefs.js:234 -msgid "widgets" -msgstr "小部件" - -#: js/turtledefs.js:134 -#: js/turtledefs.js:235 -#: js/widgets/phrasemaker.js:1125 -msgid "graphics" -msgstr "图像" - -#: js/turtledefs.js:137 -#: js/turtledefs.js:238 -msgid "boolean" -msgstr "布尔值" - -#: js/turtledefs.js:140 -#: js/turtledefs.js:241 -#: js/blocks/HeapBlocks.js:59 -#: js/widgets/status.js:143 -msgid "heap" -msgstr "堆积" - -#: js/turtledefs.js:141 -#: js/turtledefs.js:242 -#: js/blocks/DictBlocks.js:142 -#: js/blocks/ProgramBlocks.js:495 -msgid "dictionary" -msgstr "字典" - -#: js/turtledefs.js:142 -#: js/turtledefs.js:243 -msgid "ensemble" -msgstr "乐团 " - -#: js/turtledefs.js:143 -#: js/turtledefs.js:244 -msgid "extras" -msgstr "额外内容" - -#: js/turtledefs.js:145 -#: js/turtledefs.js:246 -#. TRANS: program as in computer program -#. TRANS: program as in computer program -msgid "program" -msgstr "程序" - -#: js/turtledefs.js:146 -#: js/turtledefs.js:247 -msgid "my blocks" -msgstr "我的块" - -#: js/turtledefs.js:188 -#: js/turtledefs.js:283 -msgid "artwork" -msgstr "艺术作品" - -#: js/turtledefs.js:188 -#: js/turtledefs.js:283 -msgid "logic" -msgstr "逻辑" - -#: js/turtledefs.js:188 -#: js/turtledefs.js:283 -#: planet/js/GlobalTag.js:34 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Music" -msgstr "音乐" - -#: js/turtledefs.js:190 -msgid "Music Blocks" -msgstr "音乐块" - -#: js/turtledefs.js:438 -msgid "Welcome to Turtle Blocks" -msgstr "欢迎来到海龟图形块" - -#: js/turtledefs.js:439 -msgid "Turtle Blocks is a Logo-inspired turtle that draws colorful pictures with snap-together visual-programming blocks." -msgstr "海龟图形块是一个受Logo启发的海龟,它通过拼接的可视编程块绘制色彩斑斓的图画。" - -#: js/turtledefs.js:440 -#: js/turtledefs.js:467 -#: js/turtledefs.js:822 -#: js/turtledefs.js:845 -msgid "The current version is" -msgstr "当前版本是" - -#: js/turtledefs.js:448 -#: js/turtledefs.js:493 -msgid "Click the run button to run the project in fast mode." -msgstr "点击运行按钮以在快速模式下运行项目" - -#: js/turtledefs.js:454 -msgid "Stop the turtle." -msgstr "停止海龟" - -#: js/turtledefs.js:456 -#: js/turtledefs.js:501 -msgid "You can also type Alt-S to stop." -msgstr "您也可以按 Alt-S 停止。" - -#: js/turtledefs.js:464 -#: js/widgets/help.js:335 -msgid "Welcome to Music Blocks" -msgstr "欢迎来到音乐块" - -#: js/turtledefs.js:465 -msgid "Music Blocks is a collection of tools for exploring fundamental musical concepts in a fun way." -msgstr "音乐块是一个工具集,用于以有趣的方式探索基本的音乐概念。" - -#: js/turtledefs.js:474 -#: js/widgets/help.js:336 -msgid "Meet Mr. Mouse!" -msgstr "会面 Mr. Mouse!" - -#: js/turtledefs.js:475 -msgid "Mr Mouse is our Music Blocks conductor." -msgstr "Mr Mouse 是我们的音乐块指挥。" - -#: js/turtledefs.js:477 -msgid "Mr Mouse encourages you to explore Music Blocks." -msgstr "Mr Mouse 鼓励您探索音乐块。" - -#: js/turtledefs.js:479 -msgid "Let us start our tour!" -msgstr "让我们开始我们的旅程!" - -#: js/turtledefs.js:484 -#: js/turtledefs.js:807 -#: js/widgets/help.js:337 -msgid "Guide" -msgstr "指南" - -#: js/turtledefs.js:485 -msgid "A detailed guide to Music Blocks is available." -msgstr "提供了详细的音乐块指南。" - -#: js/turtledefs.js:499 -msgid "Stop the music (and the mice)." -msgstr "停止音乐 (and the mice)" - -#: js/turtledefs.js:510 -msgid "Record your project as video." -msgstr "将您的项目录制为视频" - -#: js/turtledefs.js:517 -msgid "Toggle Fullscreen mode." -msgstr "切换全屏模式" - -#: js/turtledefs.js:523 -msgid "Initialize a new project." -msgstr "初始化一个新项目" - -#: js/turtledefs.js:529 -msgid "You can also load projects from the file system." -msgstr "您也可以从文件系统加载项目" - -#: js/turtledefs.js:545 -#: js/widgets/arpeggio.js:103 -#: js/widgets/meterwidget.js:227 -#: js/widgets/modewidget.js:113 -#: js/widgets/musickeyboard.js:706 -#: js/widgets/pitchdrummatrix.js:166 -#: js/widgets/pitchslider.js:125 -#: js/widgets/pitchstaircase.js:639 -#: js/widgets/temperament.js:2173 -#: js/widgets/timbre.js:750 -#: js/widgets/phrasemaker.js:561 -msgid "Save" -msgstr "" - -#: js/turtledefs.js:548 -msgid "Save your project to a file." -msgstr "将您的项目保存到文件" - -#: js/turtledefs.js:552 -msgid "Save graphics from your project to as SVG." -msgstr "将项目中的图形保存为SVG" - -#: js/turtledefs.js:556 -msgid "Save graphics from your project as PNG." -msgstr "将项目中的图形保存为PNG" - -#: js/turtledefs.js:560 -msgid "Save block artwork as an SVG file." -msgstr "将块图形保存为SVG文件" - -#: js/turtledefs.js:571 -msgid "Save sheet music as ABC, Lilypond or MusicXML" -msgstr "将乐谱保存为ABC、LilyPond或MusicXML格式" - -#: js/turtledefs.js:573 -msgid "Save block artwork as SVG or PNG" -msgstr "将块图形保存为SVG或PNG" - -#: js/turtledefs.js:580 -msgid "Load samples from server" -msgstr "从服务器加载样本" - -#: js/turtledefs.js:581 -msgid "This button opens a viewer for loading example projects." -msgstr "此按钮打开一个查看器,用于加载示例项目" - -#: js/turtledefs.js:586 -msgid "Expand/collapse option toolbar" -msgstr "展开/收起选项工具栏" - -#: js/turtledefs.js:587 -msgid "Click this button to expand or collapse the auxillary toolbar." -msgstr "点击此按钮以展开或收起辅助工具栏" - -#: js/turtledefs.js:593 -msgid "Displays help messages for the main and auxiliary toolbar, right-click contextual menu for blocks and canvas, and palettes." -msgstr "显示主工具栏和辅助工具栏的帮助信息,块和画布的右键上下文菜单,以及调色板的帮助信息" - -#: js/turtledefs.js:599 -msgid "Click to run the project in slow mode." -msgstr "点击以在慢速模式下运行项目" - -#: js/turtledefs.js:605 -msgid "Click to run the project step by step." -msgstr "点击按步骤运行项目" - -#: js/turtledefs.js:612 -msgid "Display statistics about your Music project." -msgstr "显示有关您音乐项目的统计信息" - -#: js/turtledefs.js:618 -msgid "Load a selected plugin." -msgstr "加载选定的插件" - -#: js/turtledefs.js:626 -msgid "Delete a selected plugin." -msgstr "删除选定的插件" - -#: js/turtledefs.js:633 -msgid "Enable scrolling" -msgstr "启用滚动" - -#: js/turtledefs.js:634 -msgid "You can scroll the blocks on the canvas." -msgstr "您可以在画布上滚动这些块" - -#: js/turtledefs.js:643 -msgid "Switch between dark and light mode." -msgstr "在暗模式和亮模式之间切换" - -#: js/turtledefs.js:649 -msgid "Click to add another project into the current one." -msgstr "点击将另一个项目添加到当前项目中" - -#: js/turtledefs.js:654 -msgid "Wrap Turtle" -msgstr "包裹海龟" - -#: js/turtledefs.js:655 -msgid "Turn Turtle wrapping On or Off." -msgstr "开启或关闭海龟包裹" - -#: js/turtledefs.js:663 -msgid "Click to set the current pitch." -msgstr "点击设置当前音高" - -#: js/turtledefs.js:670 -msgid "Converts Music Block programs to JavaScript." -msgstr "将音乐块程序转换为JavaScript" - -#: js/turtledefs.js:677 -msgid "Restore blocks from the trash." -msgstr "从垃圾桶恢复块" - -#: js/turtledefs.js:684 -msgid "Switch mode" -msgstr "切换模式" - -#: js/turtledefs.js:685 -msgid "Switch between beginner and advance modes." -msgstr "在初学者模式和高级模式之间切换" - -#: js/turtledefs.js:691 -msgid "Select your language preference." -msgstr "选择您的语言偏好" - -#: js/turtledefs.js:696 -msgid "Contextual Menu for Blocks" -msgstr "块的上下文菜单" - -#: js/turtledefs.js:697 -msgid "Right-click on a block to access common actions." -msgstr "右键点击一个块以访问常见操作" - -#: js/turtledefs.js:702 -#: planet/js/StringHelper.js:46 -msgid "Delete" -msgstr "删除" - -#: js/turtledefs.js:703 -msgid "To delete a block, right-click on it. You will see the delete option." -msgstr "要删除一个模块,请右键点击它。你会看到“删除”选项。" - -#: js/turtledefs.js:709 -msgid "To copy a block, right-click on it. You will see the copy option." -msgstr "要复制一个模块,请右键点击它。你会看到“复制”选项。" - -#: js/turtledefs.js:715 -msgid "To extract a block, right-click on it. You will see the extract option." -msgstr "要提取一个模块,请右键点击它。你会看到“提取”选项。" - -#: js/turtledefs.js:721 -msgid "Keyboard shortcuts" -msgstr "键盘快捷键" - -#: js/turtledefs.js:722 -msgid "You can type d to create a do block and r to create a re block etc." -msgstr "你可以输入 d 来创建一个 do 模块,输入 r 来创建一个 re 模块,等等。" - -#: js/turtledefs.js:729 -msgid "Contextual Menu for Canvas" -msgstr "画布的上下文菜单" - -#: js/turtledefs.js:730 -msgid "Right-click on the canvas to perform additional canvas-related tasks." -msgstr "右键点击画布以执行更多与画布相关的操作。" - -#: js/turtledefs.js:736 -#: js/turtles.js:940 -#: js/palette.js:654 -msgid "Grid" -msgstr "网格" - -#: js/turtledefs.js:737 -msgid "Turn on/off lines for cartesian or polar grids." -msgstr "打开或关闭笛卡尔网格或极坐标网格的线条。" - -#: js/turtledefs.js:739 -msgid "Turn on/off music staffs." -msgstr "打开或关闭五线谱。" - -#: js/turtledefs.js:744 -#: js/turtles.js:959 -#: js/blocks/GraphicsBlocks.js:364 -#: js/widgets/arpeggio.js:118 -#: js/widgets/modewidget.js:119 -#: js/widgets/musickeyboard.js:714 -#: js/widgets/pitchdrummatrix.js:181 -#: js/widgets/pitchstaircase.js:684 -#: js/widgets/rhythmruler.js:601 -#: js/widgets/temperament.js:317 -#: js/widgets/temperament.js:345 -#: js/widgets/phrasemaker.js:578 -#. TRANS: clear all subdivisions from the ruler. -msgid "Clear" -msgstr "清除" - -#: js/turtledefs.js:745 -msgid "Clear the screen and return the mice to their initial positions." -msgstr "清除屏幕并将鼠标返回到初始位置。" - -#: js/turtledefs.js:750 -#: js/turtles.js:980 -msgid "Collapse" -msgstr "折叠" - -#: js/turtledefs.js:751 -msgid "Collapse the graphics window." -msgstr "折叠图形窗口。" - -#: js/turtledefs.js:757 -msgid "Return all blocks to the center of the screen." -msgstr "将所有模块返回到屏幕中心。" - -#: js/turtledefs.js:763 -msgid "Hide or show the blocks and the palettes." -msgstr "隐藏或显示模块和调色板。" - -#: js/turtledefs.js:769 -msgid "Expand or collapse start and action stacks." -msgstr "展开或折叠开始和动作堆栈。" - -#: js/turtledefs.js:777 -msgid "Decrease the size of the blocks." -msgstr "减小模块的大小。" - -#: js/turtledefs.js:783 -msgid "Increase the size of the blocks." -msgstr "增大模块的大小。" - -#: js/turtledefs.js:789 -msgid "Select" -msgstr "选择" - -#: js/turtledefs.js:790 -msgid "Left-click and drag on workspace to select multiple blocks." -msgstr "左键点击并拖动工作区以选择多个模块。" - -#: js/turtledefs.js:797 -msgid "Palette buttons" -msgstr "调色板按钮" - -#: js/turtledefs.js:798 -msgid "This toolbar contains the palette buttons including Rhythm Pitch Tone Action and more." -msgstr "此工具栏包含调色板按钮,包括节奏、音高、音调、动作等。" - -#: js/turtledefs.js:800 -msgid "Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them." -msgstr "点击显示模块调色板,将模块从调色板拖到画布上使用。" - -#: js/turtledefs.js:808 -msgid "A detailed guide to Turtle Blocks is available." -msgstr "提供了 Turtle Blocks 的详细指南。" - -#: js/turtledefs.js:812 -msgid "Turtle Blocks Guide" -msgstr "Turtle Blocks 指南" - -#: js/turtledefs.js:815 -#: js/turtledefs.js:838 -#: js/widgets/help.js:338 -msgid "About" -msgstr "关于" - -#: js/turtledefs.js:816 -msgid "Turtle Blocks is an open source collection of tools for exploring musical concepts." -msgstr "Turtle Blocks 是一个开源工具集,用于探索音乐概念。" - -#: js/turtledefs.js:818 -msgid "A full list of contributors can be found in the Turtle Blocks GitHub repository." -msgstr "完整的贡献者列表可以在 Turtle Blocks 的 GitHub 仓库中找到。" - -#: js/turtledefs.js:820 -msgid "Turtle Blocks is licensed under the AGPL." -msgstr "Turtle Blocks 授权使用 AGPL 许可协议。" - -#: js/turtledefs.js:828 -msgid "Turtle Blocks GitHub repository" -msgstr "Turtle Blocks GitHub 仓库" - -#: js/turtledefs.js:831 -#: js/widgets/help.js:339 -#: js/widgets/help.js:361 -msgid "Congratulations." -msgstr "恭喜" - -#: js/turtledefs.js:832 -msgid "You have finished the tour. Please enjoy Turtle Blocks!" -msgstr "您已完成导览。请尽情享受 Turtle Blocks!" - -#: js/turtledefs.js:839 -msgid "Music Blocks is an open source collection of tools for exploring musical concepts." -msgstr "Music Blocks 是一个开源工具集,用于探索音乐概念。" - -#: js/turtledefs.js:841 -msgid "A full list of contributors can be found in the Music Blocks GitHub repository." -msgstr "完整的贡献者列表可以在 Music Blocks 的 GitHub 仓库中找到。" - -#: js/turtledefs.js:843 -msgid "Music Blocks is licensed under the AGPL." -msgstr "Music Blocks 授权使用 AGPL 许可协议。" - -#: js/turtledefs.js:851 -msgid "Music Blocks GitHub repository" -msgstr "Music Blocks GitHub 仓库" - -#: js/turtledefs.js:854 -msgid "Congratulations!" -msgstr "恭喜" - -#: js/turtledefs.js:855 -msgid "You have finished the tour. Please enjoy Music Blocks!" -msgstr "您已完成导览。请尽情享受 Music Blocks!" - -#: js/turtles.js:1052 -msgid "Expand" -msgstr "展开" - -#: js/palette.js:663 -msgid "effect" -msgstr "效果" - -#: js/palette.js:669 -msgid "sargam" -msgstr "萨尔甘" - -#: js/palette.js:684 -#: js/blocks/PitchBlocks.js:1209 -msgid "custom pitch" -msgstr "自定义音高" - -#: js/palette.js:692 -msgid "accidental" -msgstr "意外音符" - -#: js/palette.js:716 -#: js/blocks/PitchBlocks.js:405 -msgid "pitch converter" -msgstr "音高转换器" - -#: js/utils/musicutils.js:504 -#: js/utils/musicutils.js:644 -#: js/widgets/musickeyboard.js:2906 -#: js/widgets/pitchdrummatrix.js:228 -msgid "rest" -msgstr "休止符" - -#: js/utils/musicutils.js:687 -msgid "Perfect unison" -msgstr "完全同音" - -#: js/utils/musicutils.js:687 -msgid "Diminished second" -msgstr "减二度" - -#: js/utils/musicutils.js:688 -msgid "Minor second" -msgstr "小二度" - -#: js/utils/musicutils.js:688 -msgid "Augmented unison" -msgstr "增同音" - -#: js/utils/musicutils.js:689 -msgid "Major second" -msgstr "大二度" - -#: js/utils/musicutils.js:689 -msgid "Diminished third" -msgstr "减三度" - -#: js/utils/musicutils.js:690 -msgid "Minor third" -msgstr "小三度" - -#: js/utils/musicutils.js:690 -msgid "Augmented second" -msgstr "增二度" - -#: js/utils/musicutils.js:691 -msgid "Major third" -msgstr "大三度" - -#: js/utils/musicutils.js:691 -msgid "Diminished fourth" -msgstr "减四度" - -#: js/utils/musicutils.js:692 -msgid "Perfect fourth" -msgstr "完全四度" - -#: js/utils/musicutils.js:692 -msgid "Augmented third" -msgstr "增三度" - -#: js/utils/musicutils.js:693 -msgid "Diminished fifth" -msgstr "减五度" - -#: js/utils/musicutils.js:693 -msgid "Augmented fourth" -msgstr "增四度" - -#: js/utils/musicutils.js:694 -msgid "Perfect fifth" -msgstr "完全五度" - -#: js/utils/musicutils.js:694 -msgid "Diminished sixth" -msgstr "减六度" - -#: js/utils/musicutils.js:695 -msgid "Minor sixth" -msgstr "小六度" - -#: js/utils/musicutils.js:695 -msgid "Augmented fifth" -msgstr "增五度" - -#: js/utils/musicutils.js:696 -msgid "Major sixth" -msgstr "大六度" - -#: js/utils/musicutils.js:696 -msgid "Diminished seventh" -msgstr "减七度" - -#: js/utils/musicutils.js:697 -msgid "Minor seventh" -msgstr "小七度" - -#: js/utils/musicutils.js:697 -msgid "Augmented sixth" -msgstr "增六度" - -#: js/utils/musicutils.js:698 -msgid "Major seventh" -msgstr "大七度" - -#: js/utils/musicutils.js:698 -msgid "Diminished octave" -msgstr "减八度" - -#: js/utils/musicutils.js:699 -msgid "Perfect octave" -msgstr "完全八度" - -#: js/utils/musicutils.js:699 -msgid " perfect octave" -msgstr "完全八度" - -#: js/utils/musicutils.js:700 -msgid "完全八度" -msgstr "" - -#: js/utils/musicutils.js:700 -msgid "Augmented octave" -msgstr "" - -#: js/utils/musicutils.js:701 -msgid "Major ninth" -msgstr "" - -#: js/utils/musicutils.js:701 -msgid "Diminished tenth" -msgstr "" - -#: js/utils/musicutils.js:702 -msgid "Minor tenth" -msgstr "" - -#: js/utils/musicutils.js:702 -msgid "Augmented ninth" -msgstr "" - -#: js/utils/musicutils.js:703 -msgid "Major tenth" -msgstr "" - -#: js/utils/musicutils.js:703 -msgid "Diminished eleventh" -msgstr "" - -#: js/utils/musicutils.js:704 -msgid "Perfect eleventh" -msgstr "" - -#: js/utils/musicutils.js:704 -msgid "Augmented tenth" -msgstr "" - -#: js/utils/musicutils.js:705 -msgid "Diminished twelfth" -msgstr "" - -#: js/utils/musicutils.js:705 -msgid "Augmented eleventh" -msgstr "" - -#: js/utils/musicutils.js:706 -msgid "Perfect twelfth" -msgstr "" - -#: js/utils/musicutils.js:706 -msgid "Diminished thirteenth" -msgstr "" - -#: js/utils/musicutils.js:707 -msgid "Minor thirteenth" -msgstr "" - -#: js/utils/musicutils.js:707 -msgid "Augmented fifth, plus an octave" -msgstr "" - -#: js/utils/musicutils.js:708 -msgid "Major thirteenth" -msgstr "" - -#: js/utils/musicutils.js:708 -msgid "Diminished seventh, plus an octave" -msgstr "" - -#: js/utils/musicutils.js:836 -#. TRANS: ordinal number. Please keep exactly one space between each number. -msgid "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th" -msgstr "" - -#: js/utils/musicutils.js:1002 -#: js/utils/musicutils.js:1186 -#: js/utils/musicutils.js:1368 -#. TRANS: augmented is a music term related to intervals -msgid "augmented" -msgstr "" - -#: js/utils/musicutils.js:1004 -#: js/utils/musicutils.js:1187 -#: js/utils/musicutils.js:1367 -#. TRANS: diminished is a music term related to intervals and mode -msgid "diminished" -msgstr "" - -#: js/utils/musicutils.js:1010 -#: js/utils/musicutils.js:1365 -#: js/blocks/IntervalsBlocks.js:649 -#: js/turtleactions/IntervalsActions.js:120 -#: js/turtleactions/IntervalsActions.js:124 -#. TRANS: perfect is a music term related to intervals -msgid "perfect" -msgstr "" - -#: js/utils/musicutils.js:1012 -#. TRANS: twelve semi-tone scale for music -msgid "chromatic" -msgstr "" - -#: js/utils/musicutils.js:1013 -msgid "algerian" -msgstr "" - -#: js/utils/musicutils.js:1014 -msgid "spanish" -msgstr "" - -#: js/utils/musicutils.js:1016 -#. TRANS: modal scale in music -msgid "octatonic" -msgstr "" - -#: js/utils/musicutils.js:1018 -#. TRANS: harmonic major scale in music -msgid "harmonic major" -msgstr "" - -#: js/utils/musicutils.js:1020 -#. TRANS: natural minor scales in music -msgid "natural minor" -msgstr "" - -#: js/utils/musicutils.js:1022 -#. TRANS: harmonic minor scale in music -msgid "harmonic minor" -msgstr "" - -#: js/utils/musicutils.js:1024 -#. TRANS: melodic minor scale in music -msgid "melodic minor" -msgstr "" - -#: js/utils/musicutils.js:1028 -#. TRANS: modal scale for music -msgid "dorian" -msgstr "" - -#: js/utils/musicutils.js:1030 -#. TRANS: modal scale for music -msgid "phrygian" -msgstr "" - -#: js/utils/musicutils.js:1032 -#. TRANS: modal scale for music -msgid "lydian" -msgstr "" - -#: js/utils/musicutils.js:1034 -#. TRANS: modal scale for music -msgid "mixolydian" -msgstr "" - -#: js/utils/musicutils.js:1038 -#. TRANS: modal scale for music -msgid "locrian" -msgstr "" - -#: js/utils/musicutils.js:1040 -#. TRANS: minor jazz scale for music -msgid "jazz minor" -msgstr "" - -#: js/utils/musicutils.js:1042 -#. TRANS: bebop scale for music -msgid "bebop" -msgstr "" - -#: js/utils/musicutils.js:1043 -msgid "arabic" -msgstr "" - -#: js/utils/musicutils.js:1044 -msgid "byzantine" -msgstr "" - -#: js/utils/musicutils.js:1046 -#. TRANS: musical scale for music by Verdi -msgid "enigmatic" -msgstr "" - -#: js/utils/musicutils.js:1047 -msgid "ethiopian" -msgstr "" - -#: js/utils/musicutils.js:1049 -#. TRANS: Ethiopic scale for music -msgid "geez" -msgstr "" - -#: js/utils/musicutils.js:1050 -msgid "hindu" -msgstr "" - -#: js/utils/musicutils.js:1051 -msgid "hungarian" -msgstr "" - -#: js/utils/musicutils.js:1053 -#. TRANS: minor Romanian scale for music -msgid "romanian minor" -msgstr "" - -#: js/utils/musicutils.js:1054 -msgid "spanish gypsy" -msgstr "" - -#: js/utils/musicutils.js:1056 -#. TRANS: musical scale for Mid-Eastern music -msgid "maqam" -msgstr "" - -#: js/utils/musicutils.js:1058 -#. TRANS: minor blues scale for music -msgid "minor blues" -msgstr "" - -#: js/utils/musicutils.js:1060 -#. TRANS: major blues scale for music -msgid "major blues" -msgstr "" - -#: js/utils/musicutils.js:1061 -msgid "whole tone" -msgstr "" - -#: js/utils/musicutils.js:1063 -#. TRANS: pentatonic is a general term that means "five note scale". This scale is typically known as "minor pentatonic" -msgid "minor pentatonic" -msgstr "" - -#: js/utils/musicutils.js:1065 -#. TRANS: pentatonic is a general term that means "five note scale". This scale is typically known as "major pentatonic" -msgid "major pentatonic" -msgstr "" - -#: js/utils/musicutils.js:1066 -msgid "chinese" -msgstr "" - -#: js/utils/musicutils.js:1067 -msgid "egyptian" -msgstr "" - -#: js/utils/musicutils.js:1069 -#. TRANS: https://en.wikipedia.org/wiki/Hirajoshi_scale NOTE: There are three different versions of this scale -msgid "hirajoshi" -msgstr "" - -#: js/utils/musicutils.js:1070 -msgid "Japan" -msgstr "" - -#: js/utils/musicutils.js:1072 -#. TRANS: https://en.wikipedia.org/wiki/In_scale and https://en.wikipedia.org/wiki/Sakura_Sakura -msgid "in" -msgstr "" - -#: js/utils/musicutils.js:1074 -#. TRANS: https://en.wikipedia.org/wiki/Miny%C5%8D_scale -msgid "minyo" -msgstr "" - -#: js/utils/musicutils.js:1076 -#. TRANS: Italian mathematician -msgid "fibonacci" -msgstr "" - -#: js/utils/musicutils.js:1077 -#: js/utils/musicutils.js:1129 -#: js/utils/musicutils.js:1172 -#: js/utils/musicutils.js:1194 -#: js/utils/musicutils.js:1625 -#: js/utils/synthutils.js:136 -#: js/blocks/IntervalsBlocks.js:1124 -#: js/blocks/ToneBlocks.js:946 -#: js/blocks/WidgetBlocks.js:399 -#: js/blocks/WidgetBlocks.js:404 -#: js/blocks/VolumeBlocks.js:411 -#: js/turtleactions/VolumeActions.js:224 -#: js/widgets/modewidget.js:913 -#. TRANS: customize voice -msgid "custom" -msgstr "" - -#: js/utils/musicutils.js:1079 -#: js/utils/musicutils.js:1574 -#: js/blocks/WidgetBlocks.js:176 -#. TRANS: highpass filter -msgid "highpass" -msgstr "" - -#: js/utils/musicutils.js:1081 -#: js/utils/musicutils.js:1575 -#. TRANS: lowpass filter -msgid "lowpass" -msgstr "" - -#: js/utils/musicutils.js:1083 -#: js/utils/musicutils.js:1576 -#. TRANS: bandpass filter -msgid "bandpass" -msgstr "" - -#: js/utils/musicutils.js:1085 -#: js/utils/musicutils.js:1577 -#. TRANS: high-shelf filter -msgid "highshelf" -msgstr "" - -#: js/utils/musicutils.js:1087 -#: js/utils/musicutils.js:1578 -#. TRANS: low-shelf filter -msgid "lowshelf" -msgstr "" - -#: js/utils/musicutils.js:1089 -#: js/utils/musicutils.js:1579 -#. TRANS: notch-shelf filter -msgid "notch" -msgstr "" - -#: js/utils/musicutils.js:1091 -#: js/utils/musicutils.js:1580 -#. TRANS: all-pass filter -msgid "allpass" -msgstr "" - -#: js/utils/musicutils.js:1093 -#: js/utils/musicutils.js:1581 -#. TRANS: peaking filter -msgid "peaking" -msgstr "" - -#: js/utils/musicutils.js:1094 -#: js/utils/musicutils.js:1589 -#: js/utils/synthutils.js:128 -#: js/blocks/PitchBlocks.js:85 -#. TRANS: sine wave -msgid "sine" -msgstr "" - -#: js/utils/musicutils.js:1095 -#: js/utils/musicutils.js:1590 -#: js/utils/synthutils.js:130 -#: js/blocks/PitchBlocks.js:39 -#. TRANS: square wave -msgid "square" -msgstr "" - -#: js/utils/musicutils.js:1096 -#: js/utils/musicutils.js:1591 -#: js/utils/synthutils.js:134 -#: js/blocks/PitchBlocks.js:62 -#: js/blocks/ToneBlocks.js:39 -#. TRANS: triangle wave -msgid "triangle" -msgstr "" - -#: js/utils/musicutils.js:1097 -#: js/utils/musicutils.js:1592 -#: js/utils/synthutils.js:132 -#: js/blocks/PitchBlocks.js:108 -#. TRANS: sawtooth wave -msgid "sawtooth" -msgstr "" - -#: js/utils/musicutils.js:1099 -#: js/utils/musicutils.js:1355 -#: js/blocks/PitchBlocks.js:931 -#: js/blocks/PitchBlocks.js:937 -#: js/turtleactions/PitchActions.js:469 -#. TRANS: even numbers -#. TRANS: invert based on even or odd number or musical scale -msgid "even" -msgstr "" - -#: js/utils/musicutils.js:1101 -#: js/utils/musicutils.js:1356 -#: js/blocks/PitchBlocks.js:937 -#: js/turtleactions/PitchActions.js:471 -#. TRANS: odd numbers -msgid "odd" -msgstr "" - -#: js/utils/musicutils.js:1102 -#: js/utils/musicutils.js:1357 -#: js/blocks/PitchBlocks.js:937 -#: js/turtleactions/PitchActions.js:473 -msgid "scalar" -msgstr "" - -#: js/utils/musicutils.js:1103 -#: js/utils/synthutils.js:72 -#: js/blocks/VolumeBlocks.js:47 -#. TRANS: musical instrument -msgid "piano" -msgstr "" - -#: js/utils/musicutils.js:1104 -#: js/utils/synthutils.js:74 -#. TRANS: musical instrument -msgid "violin" -msgstr "" - -#: js/utils/musicutils.js:1105 -#: js/utils/synthutils.js:76 -#. TRANS: viola musical instrument -msgid "viola" -msgstr "" - -#: js/utils/musicutils.js:1106 -#: js/utils/synthutils.js:116 -#. TRANS: xylophone musical instrument -msgid "xylophone" -msgstr "" - -#: js/utils/musicutils.js:1107 -#: js/utils/synthutils.js:138 -#. TRANS: vibraphone musical instrument -msgid "vibraphone" -msgstr "" - -#: js/utils/musicutils.js:1108 -#: js/utils/synthutils.js:78 -#. TRANS: musical instrument -msgid "cello" -msgstr "" - -#: js/utils/musicutils.js:1110 -#: js/utils/synthutils.js:82 -#. TRANS: viola musical instrument -msgid "double bass" -msgstr "" - -#: js/utils/musicutils.js:1111 -#: js/utils/synthutils.js:86 -#: js/widgets/rhythmruler.js:2501 -#. TRANS: musical instrument -msgid "guitar" -msgstr "" - -#: js/utils/musicutils.js:1112 -#: js/utils/synthutils.js:84 -#. TRANS: sitar musical instrument -msgid "sitar" -msgstr "" - -#: js/utils/musicutils.js:1113 -#: js/utils/synthutils.js:88 -#. TRANS: musical instrument -msgid "acoustic guitar" -msgstr "" - -#: js/utils/musicutils.js:1114 -#: js/utils/synthutils.js:90 -#. TRANS: musical instrument -msgid "flute" -msgstr "" - -#: js/utils/musicutils.js:1115 -#: js/utils/synthutils.js:92 -#. TRANS: musical instrument -msgid "clarinet" -msgstr "" - -#: js/utils/musicutils.js:1116 -#: js/utils/synthutils.js:94 -#. TRANS: musical instrument -msgid "saxophone" -msgstr "" - -#: js/utils/musicutils.js:1117 -#: js/utils/synthutils.js:96 -#. TRANS: musical instrument -msgid "tuba" -msgstr "" - -#: js/utils/musicutils.js:1118 -#: js/utils/synthutils.js:98 -#. TRANS: musical instrument -msgid "trumpet" -msgstr "" - -#: js/utils/musicutils.js:1119 -#: js/utils/synthutils.js:100 -#. TRANS: musical instrument -msgid "oboe" -msgstr "" - -#: js/utils/musicutils.js:1120 -#: js/utils/synthutils.js:102 -#. TRANS: musical instrument -msgid "trombone" -msgstr "" - -#: js/utils/musicutils.js:1121 -#: js/utils/synthutils.js:118 -#. TRANS: polytone synthesizer -msgid "electronic synth" -msgstr "" - -#: js/utils/musicutils.js:1122 -#: js/utils/synthutils.js:120 -#. TRANS: simple monotone synthesizer -msgid "simple 1" -msgstr "" - -#: js/utils/musicutils.js:1123 -msgid "simple 2" -msgstr "" - -#: js/utils/musicutils.js:1124 -msgid "simple 3" -msgstr "" - -#: js/utils/musicutils.js:1125 -msgid "simple 4" -msgstr "" - -#: js/utils/musicutils.js:1126 -#: js/utils/synthutils.js:58 -#: js/blocks/DrumBlocks.js:191 -#. TRANS: white noise synthesizer -msgid "white noise" -msgstr "" - -#: js/utils/musicutils.js:1127 -#: js/utils/synthutils.js:60 -#. TRANS: brown noise synthesizer -msgid "brown noise" -msgstr "" - -#: js/utils/musicutils.js:1128 -#: js/utils/synthutils.js:62 -#. TRANS: pink noise synthesizer -msgid "pink noise" -msgstr "" - -#: js/utils/musicutils.js:1130 -#: js/utils/synthutils.js:150 -#: js/widgets/rhythmruler.js:2047 -#: js/widgets/rhythmruler.js:2309 -#. TRANS: musical instrument -msgid "snare drum" -msgstr "" - -#: js/utils/musicutils.js:1131 -#: js/utils/synthutils.js:152 -#. TRANS: musical instrument -msgid "kick drum" -msgstr "" - -#: js/utils/musicutils.js:1132 -#: js/utils/synthutils.js:154 -#. TRANS: musical instrument -msgid "tom tom" -msgstr "" - -#: js/utils/musicutils.js:1133 -#: js/utils/synthutils.js:156 -#. TRANS: musical instrument -msgid "floor tom" -msgstr "" - -#: js/utils/musicutils.js:1134 -#: js/utils/synthutils.js:158 -#. TRANS: musical instrument -msgid "bass drum" -msgstr "" - -#: js/utils/musicutils.js:1135 -#: js/utils/synthutils.js:160 -#. TRANS: a drum made from an inverted cup -msgid "cup drum" -msgstr "" - -#: js/utils/musicutils.js:1136 -#: js/utils/synthutils.js:162 -#. TRANS: musical instrument -msgid "darbuka drum" -msgstr "" - -#: js/utils/musicutils.js:1137 -#: js/utils/synthutils.js:166 -#. TRANS: musical instrument -msgid "hi hat" -msgstr "" - -#: js/utils/musicutils.js:1138 -#: js/utils/synthutils.js:168 -#. TRANS: a small metal bell -msgid "ride bell" -msgstr "" - -#: js/utils/musicutils.js:1139 -#: js/utils/synthutils.js:170 -#. TRANS: musical instrument -msgid "cow bell" -msgstr "" - -#: js/utils/musicutils.js:1140 -msgid "japanese drum" -msgstr "" - -#: js/utils/musicutils.js:1141 -#: js/utils/synthutils.js:176 -#. TRANS: musical instrument -msgid "japanese bell" -msgstr "" - -#: js/utils/musicutils.js:1142 -#: js/utils/synthutils.js:172 -#. TRANS: musical instrument -msgid "triangle bell" -msgstr "" - -#: js/utils/musicutils.js:1143 -#: js/utils/synthutils.js:174 -#. TRANS: musical instrument -msgid "finger cymbals" -msgstr "" - -#: js/utils/musicutils.js:1144 -#: js/utils/synthutils.js:178 -#. TRANS: a musically tuned set of bells -msgid "chime" -msgstr "" - -#: js/utils/musicutils.js:1145 -#: js/utils/synthutils.js:180 -#. TRANS: a musical instrument -msgid "gong" -msgstr "" - -#: js/utils/musicutils.js:1146 -#: js/utils/synthutils.js:182 -#. TRANS: sound effect -msgid "clang" -msgstr "" - -#: js/utils/musicutils.js:1147 -#: js/utils/synthutils.js:184 -#. TRANS: sound effect -msgid "crash" -msgstr "" - -#: js/utils/musicutils.js:1148 -#: js/utils/synthutils.js:186 -#. TRANS: sound effect -msgid "bottle" -msgstr "" - -#: js/utils/musicutils.js:1149 -#: js/utils/synthutils.js:188 -#. TRANS: sound effect -msgid "clap" -msgstr "" - -#: js/utils/musicutils.js:1150 -#: js/utils/synthutils.js:190 -#. TRANS: sound effect -msgid "slap" -msgstr "" - -#: js/utils/musicutils.js:1151 -#: js/utils/synthutils.js:192 -#. TRANS: sound effect -msgid "splash" -msgstr "" - -#: js/utils/musicutils.js:1152 -#: js/utils/synthutils.js:194 -#. TRANS: sound effect -msgid "bubbles" -msgstr "" - -#: js/utils/musicutils.js:1153 -#: js/utils/synthutils.js:196 -#. TRANS: sound effect -msgid "raindrop" -msgstr "" - -#: js/utils/musicutils.js:1154 -#: js/utils/synthutils.js:198 -#. TRANS: animal sound effect -msgid "cat" -msgstr "" - -#: js/utils/musicutils.js:1155 -#: js/utils/synthutils.js:200 -#. TRANS: animal sound effect -msgid "cricket" -msgstr "" - -#: js/utils/musicutils.js:1156 -#: js/utils/synthutils.js:202 -#. TRANS: animal sound effect -msgid "dog" -msgstr "" - -#: js/utils/musicutils.js:1158 -#: js/utils/synthutils.js:104 -#. TRANS: musical instrument -msgid "banjo" -msgstr "" - -#: js/utils/musicutils.js:1159 -#: js/utils/synthutils.js:106 -#. TRANS: musical instrument -msgid "koto" -msgstr "" - -#: js/utils/musicutils.js:1160 -#: js/utils/synthutils.js:108 -#. TRANS: musical instrument -msgid "dulcimer" -msgstr "" - -#: js/utils/musicutils.js:1161 -#: js/utils/synthutils.js:110 -#. TRANS: musical instrument -msgid "electric guitar" -msgstr "" - -#: js/utils/musicutils.js:1162 -#: js/utils/synthutils.js:112 -#. TRANS: musical instrument -msgid "bassoon" -msgstr "" - -#: js/utils/musicutils.js:1163 -#: js/utils/synthutils.js:114 -#. TRANS: musical instrument -msgid "celeste" -msgstr "" - -#: js/utils/musicutils.js:1165 -#: js/widgets/temperament.js:757 -#. TRANS: musical temperament -msgid "equal" -msgstr "" - -#: js/utils/musicutils.js:1167 -#. TRANS: musical temperament -msgid "Pythagorean" -msgstr "" - -#: js/utils/musicutils.js:1169 -#. TRANS: musical temperament -msgid "just intonation" -msgstr "" - -#: js/utils/musicutils.js:1171 -#: js/utils/musicutils.js:1607 -#: js/utils/musicutils.js:1608 -#: js/utils/musicutils.js:1623 -#: js/utils/musicutils.js:1624 -#. TRANS: musical temperament -msgid "Meantone" -msgstr "" - -#: js/utils/musicutils.js:1188 -msgid "major 7th" -msgstr "" - -#: js/utils/musicutils.js:1189 -msgid "minor 7th" -msgstr "" - -#: js/utils/musicutils.js:1190 -msgid "dominant 7th" -msgstr "" - -#: js/utils/musicutils.js:1191 -msgid "minor-major 7th" -msgstr "" - -#: js/utils/musicutils.js:1192 -msgid "fully-diminished 7th" -msgstr "" - -#: js/utils/musicutils.js:1193 -msgid "half-diminished 7th" -msgstr "" - -#: js/utils/musicutils.js:1600 -#: js/utils/musicutils.js:1616 -msgid "Equal (12EDO)" -msgstr "" - -#: js/utils/musicutils.js:1601 -#: js/utils/musicutils.js:1617 -msgid "Equal (5EDO)" -msgstr "" - -#: js/utils/musicutils.js:1602 -#: js/utils/musicutils.js:1618 -msgid "Equal (7EDO)" -msgstr "" - -#: js/utils/musicutils.js:1603 -#: js/utils/musicutils.js:1619 -msgid "Equal (19EDO)" -msgstr "" - -#: js/utils/musicutils.js:1604 -#: js/utils/musicutils.js:1620 -msgid "Equal (31EDO)" -msgstr "" - -#: js/utils/musicutils.js:1605 -#: js/utils/musicutils.js:1621 -msgid "5-limit Just Intonation" -msgstr "" - -#: js/utils/musicutils.js:1606 -#: js/utils/musicutils.js:1622 -msgid "Pythagorean (3-limit JI)" -msgstr "" - -#: js/utils/musicutils.js:5631 -#: js/utils/musicutils.js:5674 -msgid "current" -msgstr "" - -#: js/utils/musicutils.js:5634 -#: js/utils/musicutils.js:5665 -msgid "next" -msgstr "" - -#: js/utils/musicutils.js:5637 -#: js/utils/musicutils.js:5670 -msgid "previous" -msgstr "" - -#: js/utils/synthutils.js:122 -#. TRANS: simple monotone synthesizer -msgid "simple-2" -msgstr "" - -#: js/utils/synthutils.js:124 -#. TRANS: simple monotone synthesizer -msgid "simple-3" -msgstr "" - -#: js/utils/synthutils.js:126 -#. TRANS: simple monotone synthesizer -msgid "simple-4" -msgstr "" - -#: js/utils/synthutils.js:164 -#. TRANS: musical instrument -msgid "taiko" -msgstr "" - -#: js/blocks/BooleanBlocks.js:44 -msgid "The Not block is the logical not operator." -msgstr "" - -#: js/blocks/BooleanBlocks.js:62 -msgid "not" -msgstr "否" - -#: js/blocks/BooleanBlocks.js:134 -msgid "The And block is the logical and operator." -msgstr "" - -#: js/blocks/BooleanBlocks.js:152 -msgid "and" -msgstr "且" - -#: js/blocks/BooleanBlocks.js:218 -msgid "The Or block is the logical or operator." -msgstr "" - -#: js/blocks/BooleanBlocks.js:236 -msgid "or" -msgstr "或" - -#: js/blocks/BooleanBlocks.js:302 -msgid "The XOR block is the logical XOR operator." -msgstr "" - -#: js/blocks/BooleanBlocks.js:320 -msgid "xor" -msgstr "" - -#: js/blocks/BooleanBlocks.js:808 -msgid "The Equal block returns True if the two numbers are equal." -msgstr "" - -#: js/blocks/BooleanBlocks.js:909 -msgid "The Not-equal-to block returns True if the two numbers are not equal to each other." -msgstr "" - -#: js/blocks/BooleanBlocks.js:1008 -msgid "The Boolean block is used to specify true or false." -msgstr "" - -#: js/blocks/BoxesBlocks.js:53 -#: js/blocks/BoxesBlocks.js:59 -msgid "The Add-to block is used to add to the value stored in a box." -msgstr "" - -#: js/blocks/BoxesBlocks.js:61 -msgid "It can also be used with other blocks such as Color and Pen size." -msgstr "" - -#: js/blocks/BoxesBlocks.js:73 -msgid "add" -msgstr "" - -#: js/blocks/BoxesBlocks.js:75 -#: js/widgets/temperament.js:825 -msgid "to" -msgstr "" - -#: js/blocks/BoxesBlocks.js:75 -#: js/blocks/BoxesBlocks.js:595 -#: js/blocks/HeapBlocks.js:544 -msgid "value1" -msgstr "" - -#: js/blocks/BoxesBlocks.js:118 -msgid "Block does not support incrementing." -msgstr "" - -#: js/blocks/BoxesBlocks.js:152 -msgid "The Add-1-to block adds one to the value stored in a box." -msgstr "" - -#: js/blocks/BoxesBlocks.js:163 -msgid "add 1 to" -msgstr "" - -#: js/blocks/BoxesBlocks.js:211 -msgid "The Subtract-1-from block subtracts one from the value stored in a box." -msgstr "" - -#: js/blocks/BoxesBlocks.js:222 -msgid "subtract 1 from" -msgstr "" - -#: js/blocks/BoxesBlocks.js:270 -#: js/blocks/BoxesBlocks.js:387 -msgid "The Box block returns the value stored in a box." -msgstr "" - -#: js/blocks/BoxesBlocks.js:500 -#: js/blocks/BoxesBlocks.js:576 -msgid "The Store in block will store a value in a box." -msgstr "" - -#: js/blocks/BoxesBlocks.js:595 -#: js/blocks/EnsembleBlocks.js:393 -#: js/blocks/EnsembleBlocks.js:404 -msgid "name1" -msgstr "" - -#: js/blocks/BoxesBlocks.js:652 -msgid "The Box2 block returns the value stored in Box2." -msgstr "" - -#: js/blocks/BoxesBlocks.js:703 -msgid "The Store in Box2 block is used to store a value in Box2." -msgstr "" - -#: js/blocks/BoxesBlocks.js:715 -msgid "store in box2" -msgstr "" - -#: js/blocks/BoxesBlocks.js:761 -msgid "The Box1 block returns the value stored in Box1." -msgstr "" - -#: js/blocks/BoxesBlocks.js:812 -msgid "The Store in Box1 block is used to store a value in Box1." -msgstr "" - -#: js/blocks/BoxesBlocks.js:826 -msgid "store in box1" -msgstr "" - -#: js/blocks/DictBlocks.js:77 -msgid "show dictionary" -msgstr "" - -#: js/blocks/DictBlocks.js:80 -#: js/blocks/DictBlocks.js:145 -#: js/blocks/DictBlocks.js:216 -#: js/blocks/DictBlocks.js:290 -#: js/blocks/ProgramBlocks.js:396 -#: js/blocks/ProgramBlocks.js:501 -#: js/blocks/ProgramBlocks.js:664 -msgid "My Dictionary" -msgstr "" - -#: js/blocks/DictBlocks.js:129 -msgid "The Dictionary block returns a dictionary." -msgstr "" - -#: js/blocks/DictBlocks.js:197 -#: js/blocks/DictBlocks.js:339 -msgid "The Get-dict block returns a value in the dictionary for a specified key." -msgstr "" - -#: js/blocks/DictBlocks.js:212 -#: js/blocks/DictBlocks.js:354 -#. TRANS: retrieve a value from the dictionary with a given key -msgid "get value" -msgstr "" - -#: js/blocks/DictBlocks.js:215 -#: js/blocks/DictBlocks.js:216 -#: js/blocks/DictBlocks.js:289 -#: js/blocks/DictBlocks.js:290 -#: js/blocks/DictBlocks.js:357 -#: js/blocks/DictBlocks.js:430 -#: js/blocks/DictBlocks.js:431 -msgid "key2" -msgstr "" - -#: js/blocks/DictBlocks.js:215 -#: js/blocks/DictBlocks.js:216 -#: js/blocks/DictBlocks.js:289 -#: js/blocks/DictBlocks.js:290 -#: js/blocks/DictBlocks.js:357 -#: js/blocks/DictBlocks.js:430 -#: js/blocks/DictBlocks.js:431 -#: js/blocks/IntervalsBlocks.js:1462 -#. TRANS: key, e.g., C in C Major -msgid "key" -msgstr "" - -#: js/blocks/DictBlocks.js:271 -#: js/blocks/DictBlocks.js:411 -msgid "The Set-dict block sets a value in the dictionary for a specified key." -msgstr "" - -#: js/blocks/DictBlocks.js:286 -#: js/blocks/DictBlocks.js:427 -#. TRANS: set a value in the dictionary for a given key -msgid "set value" -msgstr "" - -#: js/blocks/DrumBlocks.js:59 -msgid "The Noise name block is used to select a noise synthesizer." -msgstr "" - -#: js/blocks/DrumBlocks.js:102 -msgid "The Drum name block is used to select a drum." -msgstr "" - -#: js/blocks/DrumBlocks.js:146 -msgid "The Effects name block is used to select a sound effect." -msgstr "" - -#: js/blocks/DrumBlocks.js:163 -msgid "noise" -msgstr "" - -#: js/blocks/DrumBlocks.js:177 -msgid "The Play noise block will generate white, pink, or brown noise." -msgstr "" - -#: js/blocks/DrumBlocks.js:317 -msgid "Replace every instance of a pitch with a drum sound." -msgstr "" - -#: js/blocks/DrumBlocks.js:328 -#. TRANS: map a pitch to a drum sound -msgid "map pitch to drum" -msgstr "" - -#: js/blocks/DrumBlocks.js:395 -msgid "In the example above, a kick drum sound will be played instead of sol." -msgstr "" - -#: js/blocks/DrumBlocks.js:407 -#. TRANS: set the current drum sound for playback -msgid "set drum" -msgstr "" - -#: js/blocks/DrumBlocks.js:451 -msgid "sound effect" -msgstr "" - -#: js/blocks/DrumBlocks.js:489 -msgid "You can use multiple Drum blocks within a Note block." -msgstr "" - -#: js/blocks/HeapBlocks.js:49 -msgid "The Heap block returns the heap." -msgstr "" - -#: js/blocks/HeapBlocks.js:133 -msgid "show heap" -msgstr "顯示堆疊" - -#: js/blocks/HeapBlocks.js:181 -msgid "The Heap-length block returns the length of the heap." -msgstr "" - -#: js/blocks/HeapBlocks.js:195 -msgid "heap length" -msgstr "" - -#: js/blocks/HeapBlocks.js:254 -msgid "The Heap-empty? block returns true if the heap is empty." -msgstr "" - -#: js/blocks/HeapBlocks.js:268 -#. TRANS: Is the heap empty? -msgid "heap empty?" -msgstr "" - -#: js/blocks/HeapBlocks.js:317 -msgid "The Empty-heap block empties the heap." -msgstr "" - -#: js/blocks/HeapBlocks.js:327 -#: js/blocks/HeapBlocks.js:647 -#. TRANS: empty the heap -msgid "empty heap" -msgstr "清除堆疊" - -#: js/blocks/HeapBlocks.js:371 -msgid "The Reverse-heap block reverses the order of the heap." -msgstr "" - -#: js/blocks/HeapBlocks.js:384 -#. TRANS: reverse the order of the heap -msgid "reverse heap" -msgstr "" - -#: js/blocks/HeapBlocks.js:428 -msgid "The Index-heap block returns a value in the heap at a specified location." -msgstr "" - -#: js/blocks/HeapBlocks.js:443 -#. TRANS: retrieve a value from the heap at index position in the heap -msgid "index heap" -msgstr "" - -#: js/blocks/HeapBlocks.js:474 -#: js/blocks/HeapBlocks.js:572 -#: js/blocks/EnsembleBlocks.js:124 -#: js/blocks/EnsembleBlocks.js:1200 -msgid "Index must be > 0." -msgstr "" - -#: js/blocks/HeapBlocks.js:479 -#: js/blocks/HeapBlocks.js:577 -#: js/blocks/EnsembleBlocks.js:129 -msgid "Maximum heap size is 1000." -msgstr "" - -#: js/blocks/HeapBlocks.js:523 -msgid "The Set-heap entry block sets a value in he heap at the specified location." -msgstr "" - -#: js/blocks/HeapBlocks.js:539 -#: js/blocks/ProgramBlocks.js:299 -#. TRANS: load the heap from a JSON encoding -msgid "set heap" -msgstr "" - -#: js/blocks/HeapBlocks.js:544 -#: js/blocks/EnsembleBlocks.js:96 -#. TRANS: value1 is a numeric value (JAPANESE ONLY) -msgid "index" -msgstr "" - -#: js/blocks/HeapBlocks.js:619 -msgid "The Pop block removes the value at the top of the heap." -msgstr "" - -#: js/blocks/HeapBlocks.js:633 -#. TRANS: pop a value off the top of the heap -msgid "pop" -msgstr "取出堆疊" - -#: js/blocks/HeapBlocks.js:680 -msgid "The Push block adds a value to the top of the heap." -msgstr "" - -#: js/blocks/HeapBlocks.js:696 -#. TRANS: push a value onto the top of the heap -msgid "push" -msgstr "存入堆疊" - -#: js/blocks/IntervalsBlocks.js:45 -msgid "set temperament" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:63 -#: js/blocks/PitchBlocks.js:657 -#: js/blocks/PitchBlocks.js:935 -#: js/blocks/PitchBlocks.js:974 -#: js/blocks/PitchBlocks.js:1007 -#: js/blocks/PitchBlocks.js:1194 -#: js/blocks/PitchBlocks.js:1717 -#: js/blocks/PitchBlocks.js:1758 -#: js/blocks/PitchBlocks.js:1866 -#: js/blocks/ToneBlocks.js:1025 -#: js/blocks/MediaBlocks.js:746 -#: js/turtleactions/IntervalsActions.js:114 -#. TRANS: adjusts the shift up or down by one octave (twelve half-steps in the interval between two notes, one having twice or half the frequency in Hz of the other.) -msgid "octave" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:99 -msgid "The Temperament name block is used to select a tuning method." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:161 -msgid "doubly" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:166 -msgid "The Doubly block will double the size of an interval." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:262 -msgid "interval number" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:317 -msgid "current interval" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:387 -#. TRANS: measure the distance between two pitches in semi-tones -msgid "semi-tone interval measure" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:454 -#: js/blocks/IntervalsBlocks.js:570 -msgid "You must use two pitch blocks when measuring an interval." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:496 -msgid "The Scalar interval block measures the distance between two notes in the current key and mode." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:502 -#. TRANS: measure the distance between two pitches in steps of musical scale -msgid "scalar interval measure" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:678 -msgid "In the figure, we add sol# to sol." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:684 -#: js/blocks/OrnamentBlocks.js:220 -#. TRANS: calculate a relative step between notes based on semi-tones -msgid "semi-tone interval" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:733 -msgid "The output of the example is: do, mi, sol, sol, ti, mi" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:740 -#: js/blocks/WidgetBlocks.js:768 -msgid "arpeggio" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:931 -msgid "The Chord block calculates common chords." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:933 -msgid "In the figure, we generate a C-major chord." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:938 -msgid "chord" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:990 -msgid "The Ratio Interval block calculates an interval based on a ratio." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:995 -msgid "ratio interval" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1064 -msgid "In the figure, we add la to sol." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1120 -#. TRANS: define a custom mode -msgid "define mode" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1173 -msgid "movable Do" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1224 -#. TRANS: mode length is the number of notes in the mode, e.g., 7 for major and minor scales; 12 for chromatic scales -msgid "mode length" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1233 -msgid "The Mode length block is the number of notes in the current scale." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1235 -msgid "Most Western scales have 7 notes." -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1284 -#. TRANS: the mode in music is 'major', 'minor', etc. -msgid "current mode" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1337 -#. TRANS: the key is a group of pitches with which a music composition is created -msgid "current key" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1389 -#: js/blocks/IntervalsBlocks.js:1434 -#. TRANS: set the key and mode, e.g. C Major -msgid "set key" -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1443 -#: js/blocks/IntervalsBlocks.js:1449 -msgid "The Set key block is used to set the key and mode," -msgstr "" - -#: js/blocks/IntervalsBlocks.js:1449 -msgid "eg C Major" -msgstr "" - -#: js/blocks/NumberBlocks.js:28 -msgid "The Int block returns an integer." -msgstr "" - -#: js/blocks/NumberBlocks.js:34 -msgid "int" -msgstr "" - -#: js/blocks/NumberBlocks.js:73 -msgid "The Mod block returns the remainder from a division." -msgstr "" - -#: js/blocks/NumberBlocks.js:79 -msgid "mod" -msgstr "模數" - -#: js/blocks/NumberBlocks.js:141 -msgid "The Power block calculates a power function." -msgstr "" - -#: js/blocks/NumberBlocks.js:196 -msgid "The Sqrt block returns the square root." -msgstr "" - -#: js/blocks/NumberBlocks.js:202 -msgid "sqrt" -msgstr "" - -#: js/blocks/NumberBlocks.js:248 -msgid "The Abs block returns the absolute value." -msgstr "" - -#: js/blocks/NumberBlocks.js:254 -msgid "abs" -msgstr "" - -#: js/blocks/NumberBlocks.js:295 -msgid "The Distance block returns the distance between two points. For example, between the mouse and the center of the screen." -msgstr "" - -#: js/blocks/NumberBlocks.js:301 -#: plugins/rodi.rtp:310 -msgid "distance" -msgstr "" - -#: js/blocks/NumberBlocks.js:361 -msgid "The Divide block is used to divide." -msgstr "" - -#: js/blocks/NumberBlocks.js:441 -msgid "The Multiply block is used to multiply." -msgstr "" - -#: js/blocks/NumberBlocks.js:612 -msgid "The Minus block is used to subtract." -msgstr "" - -#: js/blocks/NumberBlocks.js:723 -msgid "The Plus block is used to add." -msgstr "" - -#: js/blocks/NumberBlocks.js:849 -msgid "The One-of block returns one of two choices." -msgstr "" - -#: js/blocks/NumberBlocks.js:856 -#: js/blocks/PitchBlocks.js:616 -msgid "one of" -msgstr "" - -#: js/blocks/NumberBlocks.js:858 -msgid "this" -msgstr "" - -#: js/blocks/NumberBlocks.js:858 -msgid "that" -msgstr "" - -#: js/blocks/NumberBlocks.js:913 -msgid "The Random block returns a random number." -msgstr "" - -#: js/blocks/NumberBlocks.js:920 -msgid "random" -msgstr "亂數" - -#: js/blocks/NumberBlocks.js:922 -msgid "min" -msgstr "最小" - -#: js/blocks/NumberBlocks.js:922 -msgid "max" -msgstr "最大" - -#: js/blocks/NumberBlocks.js:986 -msgid "The Number block holds a number." -msgstr "" - -#: js/blocks/OrnamentBlocks.js:32 -msgid "staccato factor" -msgstr "" - -#: js/blocks/OrnamentBlocks.js:108 -msgid "slur factor" -msgstr "" - -#: js/blocks/OrnamentBlocks.js:217 -#: js/blocks/OrnamentBlocks.js:309 -#. TRANS: the neighbor refers to a neighboring note, e.g., D is a neighbor of C -msgid "neighbor" -msgstr "" - -#: js/blocks/OrnamentBlocks.js:293 -msgid "The Neighbor block rapidly switches between neighboring pitches." -msgstr "" - -#: js/blocks/OrnamentBlocks.js:364 -msgid "glide" -msgstr "" - -#: js/blocks/OrnamentBlocks.js:479 -#: js/blocks/OrnamentBlocks.js:643 -msgid "slur" -msgstr "" - -#: js/blocks/OrnamentBlocks.js:558 -#: js/blocks/OrnamentBlocks.js:710 -#. TRANS: play each note sharply detached from the others -msgid "staccato" -msgstr "" - -#: js/blocks/ProgramBlocks.js:33 -msgid "The Load-heap-from-app block loads the heap from a web page." -msgstr "" - -#: js/blocks/ProgramBlocks.js:44 -#. TRANS: load the heap contents from a URL -msgid "load heap from App" -msgstr "" - -#: js/blocks/ProgramBlocks.js:95 -msgid "Error parsing JSON data:" -msgstr "解析JSON数据时出错" - -#: js/blocks/ProgramBlocks.js:100 -msgid "404: Page not found" -msgstr "找不到网页" - -#: js/blocks/ProgramBlocks.js:133 -msgid "The Save-heap-to-app block saves the heap to a web page." -msgstr "" - -#: js/blocks/ProgramBlocks.js:144 -#. TRANS: save the heap contents to a URL -msgid "save heap to App" -msgstr "" - -#: js/blocks/ProgramBlocks.js:189 -msgid "Cannot find a valid heap for" -msgstr "" - -#: js/blocks/ProgramBlocks.js:206 -msgid "The Load-heap block loads the heap from a file." -msgstr "" - -#: js/blocks/ProgramBlocks.js:217 -#. TRANS: load the heap from a file -msgid "load heap" -msgstr "" - -#: js/blocks/ProgramBlocks.js:270 -msgid "The file you selected does not contain a valid heap." -msgstr "" - -#: js/blocks/ProgramBlocks.js:275 -msgid "The loadHeap block needs a loadFile block." -msgstr "" - -#: js/blocks/ProgramBlocks.js:291 -msgid "The Set-heap block loads the heap." -msgstr "" - -#: js/blocks/ProgramBlocks.js:340 -msgid "The block you selected does not contain a valid heap." -msgstr "" - -#: js/blocks/ProgramBlocks.js:343 -msgid "The Set heap block needs a heap." -msgstr "" - -#: js/blocks/ProgramBlocks.js:360 -msgid "The Load-dictionary block loads a dictionary from a file." -msgstr "" - -#: js/blocks/ProgramBlocks.js:372 -#. TRANS: load a dictionary from a file -msgid "load dictionary" -msgstr "" - -#: js/blocks/ProgramBlocks.js:390 -#: js/blocks/ProgramBlocks.js:658 -#: js/blocks/ToneBlocks.js:1025 -msgid "file" -msgstr "" - -#: js/blocks/ProgramBlocks.js:444 -msgid "The file you selected does not contain a valid dictionary." -msgstr "" - -#: js/blocks/ProgramBlocks.js:449 -msgid "The load dictionary block needs a load file block." -msgstr "" - -#: js/blocks/ProgramBlocks.js:466 -msgid "The Set-dictionary block loads a dictionary." -msgstr "" - -#: js/blocks/ProgramBlocks.js:477 -#. TRANS: load a dictionary from a JSON -msgid "set dictionary" -msgstr "" - -#: js/blocks/ProgramBlocks.js:546 -msgid "The block you selected does not contain a valid dictionary." -msgstr "" - -#: js/blocks/ProgramBlocks.js:550 -msgid "The set dictionary block needs a dictionary." -msgstr "" - -#: js/blocks/ProgramBlocks.js:567 -msgid "The Save-heap block saves the heap to a file." -msgstr "" - -#: js/blocks/ProgramBlocks.js:578 -#. TRANS: save the heap to a file -msgid "save heap" -msgstr "" - -#: js/blocks/ProgramBlocks.js:629 -msgid "The Save-dictionary block saves a dictionary to a file." -msgstr "" - -#: js/blocks/ProgramBlocks.js:640 -#. TRANS: save a dictionary to a file -msgid "save dictionary" -msgstr "" - -#: js/blocks/ProgramBlocks.js:720 -msgid "The Open palette block opens a palette." -msgstr "" - -#: js/blocks/ProgramBlocks.js:727 -msgid "open palette" -msgstr "" - -#: js/blocks/ProgramBlocks.js:785 -msgid "The Delete block block removes a block." -msgstr "" - -#: js/blocks/ProgramBlocks.js:797 -#. TRANS: Move this block to the trash. -msgid "delete block" -msgstr "" - -#: js/blocks/ProgramBlocks.js:861 -msgid "The Move block block moves a block." -msgstr "" - -#: js/blocks/ProgramBlocks.js:869 -#. TRANS: Move the position of a block on the screen. -msgid "move block" -msgstr "" - -#: js/blocks/ProgramBlocks.js:881 -#: js/blocks/ProgramBlocks.js:1048 -msgid "block number" -msgstr "" - -#: js/blocks/ProgramBlocks.js:881 -#: js/blocks/EnsembleBlocks.js:393 -#: js/blocks/EnsembleBlocks.js:404 -#: js/blocks/GraphicsBlocks.js:235 -#: js/blocks/GraphicsBlocks.js:313 -#: js/blocks/GraphicsBlocks.js:427 -#: js/blocks/GraphicsBlocks.js:478 -#: js/blocks/GraphicsBlocks.js:525 -#: js/blocks/GraphicsBlocks.js:741 -msgid "x" -msgstr "X座標" - -#: js/blocks/ProgramBlocks.js:881 -#: js/blocks/EnsembleBlocks.js:393 -#: js/blocks/EnsembleBlocks.js:404 -#: js/blocks/GraphicsBlocks.js:149 -#: js/blocks/GraphicsBlocks.js:313 -#: js/blocks/GraphicsBlocks.js:427 -#: js/blocks/GraphicsBlocks.js:478 -#: js/blocks/GraphicsBlocks.js:525 -#: js/blocks/GraphicsBlocks.js:741 -msgid "y" -msgstr "Y座標" - -#: js/blocks/ProgramBlocks.js:935 -#. TRANS: Run program beginning at this block. -msgid "run block" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1025 -msgid "The Dock block block connections two blocks." -msgstr "" - -#: js/blocks/ProgramBlocks.js:1036 -#. TRANS: We can connect a block to another block. -msgid "connect blocks" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1048 -msgid "target block" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1048 -msgid "connection number" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1140 -msgid "The Make block block creates a new block." -msgstr "" - -#: js/blocks/ProgramBlocks.js:1152 -#. TRANS: Create a new block -msgid "make block" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1186 -#: js/blocks/ProgramBlocks.js:1227 -#: js/blocks/RhythmBlocks.js:1128 -#: js/blocks/PitchBlocks.js:974 -#: js/blocks/PitchBlocks.js:1007 -#: js/widgets/status.js:186 -#: js/widgets/temperament.js:463 -#: js/widgets/temperament.js:481 -#: js/widgets/temperament.js:484 -#: js/widgets/temperament.js:589 -#: plugins/rodi.rtp:192 -#. TRANS: a musical note consisting of pitch and duration -msgid "note" -msgstr "音符" - -#: js/blocks/ProgramBlocks.js:1285 -msgid "Cannot find block" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1304 -#: js/blocks/ProgramBlocks.js:1313 -msgid "Warning: block argument type mismatch" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1347 -msgid "The Open project block is used to open a project from a web page." -msgstr "" - -#: js/blocks/ProgramBlocks.js:1357 -msgid "open project" -msgstr "" - -#: js/blocks/ProgramBlocks.js:1410 -msgid "Please enter a valid URL." -msgstr "" - -#: js/blocks/RhythmBlocks.js:182 -#: js/blocks/RhythmBlocks.js:1086 -#: js/blocks/RhythmBlocks.js:1162 -msgid "Note value must be greater than 0." -msgstr "" - -#: js/blocks/RhythmBlocks.js:215 -#: js/blocks/RhythmBlocks.js:278 -#: js/blocks/RhythmBlocks.js:350 -#. TRANS: swing is a rhythmic variation that emphasises the offbeat -msgid "swing" -msgstr "" - -#: js/blocks/RhythmBlocks.js:355 -#. TRANS: the amount to shift to the offbeat note -msgid "swing value" -msgstr "" - -#: js/blocks/RhythmBlocks.js:419 -msgid "The Skip notes block will cause notes to be skipped." -msgstr "" - -#: js/blocks/RhythmBlocks.js:427 -#. TRANS: substitute rests on notes being skipped -msgid "skip notes" -msgstr "" - -#: js/blocks/RhythmBlocks.js:489 -#. TRANS: speed up note duration by some factor, e.g. convert 1/4 to 1/8 notes by using a factor of 2 -msgid "multiply note value" -msgstr "" - -#: js/blocks/RhythmBlocks.js:542 -msgid "The Tie block works on pairs of notes, combining them into one note." -msgstr "" - -#: js/blocks/RhythmBlocks.js:550 -#. TRANS: tie notes together into one longer note -msgid "tie" -msgstr "" - -#: js/blocks/RhythmBlocks.js:591 -#: js/blocks/RhythmBlocks.js:671 -#. TRANS: a dotted note is played for 1.5x its value, e.g., 1/8. --> 3/16 -msgid "dot" -msgstr "" - -#: js/blocks/RhythmBlocks.js:619 -#: js/turtleactions/RhythmActions.js:221 -msgid "An argument of -1 results in a note value of 0." -msgstr "" - -#: js/blocks/RhythmBlocks.js:661 -msgid "The Dot block extends the duration of a note by 50%." -msgstr "" - -#: js/blocks/RhythmBlocks.js:663 -msgid "Eg a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat." -msgstr "" - -#: js/blocks/RhythmBlocks.js:765 -#. TRANS: Japanese only: note value block for drum -msgid "note value drum" -msgstr "" - -#: js/blocks/RhythmBlocks.js:829 -msgid "392 hertz" -msgstr "" - -#: js/blocks/RhythmBlocks.js:1119 -msgid "The Note block is a container for one or more Pitch blocks." -msgstr "" - -#: js/blocks/RhythmBlocks.js:1121 -msgid "The Note block specifies the duration (note value) of its contents." -msgstr "" - -#: js/blocks/RhythmBlocks.js:1130 -msgid "value2" -msgstr "" - -#: js/blocks/RhythmBlocks.js:1200 -msgid "define frequency" -msgstr "" - -#: js/blocks/RhythmBlocks.js:1218 -#: js/widgets/temperament.js:757 -#: js/widgets/temperament.js:1522 -msgid "octave space" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:50 -#: js/blocks/RhythmBlockPaletteBlocks.js:233 -#. TRANS: rhythm block -#. TRANS: translate "rhythm1" as rhythm -msgid "rhythm1" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:70 -#: js/blocks/RhythmBlockPaletteBlocks.js:252 -#: js/blocks/RhythmBlockPaletteBlocks.js:517 -#: js/blocks/RhythmBlockPaletteBlocks.js:586 -#: js/blocks/RhythmBlockPaletteBlocks.js:907 -msgid "number of notes" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:126 -msgid "polyphonic rhythm" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:219 -msgid "The Rhythm block is used to generate rhythm patterns." -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:281 -#: js/blocks/RhythmBlockPaletteBlocks.js:286 -msgid "1/64 note" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:312 -#: js/blocks/RhythmBlockPaletteBlocks.js:317 -msgid "1/32 note" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:346 -#: js/blocks/RhythmBlockPaletteBlocks.js:351 -msgid "1/16 note" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:380 -msgid "eighth note" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:408 -msgid "quarter note" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:436 -#: js/blocks/RhythmBlockPaletteBlocks.js:441 -msgid "half note" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:470 -#: js/blocks/RhythmBlockPaletteBlocks.js:475 -msgid "whole note" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:514 -#: js/blocks/RhythmBlockPaletteBlocks.js:583 -#: js/blocks/RhythmBlockPaletteBlocks.js:634 -#. TRANS: A tuplet is a note value divided into irregular time values. -msgid "tuplet" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:800 -msgid "septuplet" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:828 -msgid "quintuplet" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:856 -msgid "triplet" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:883 -msgid "simple tuplet" -msgstr "" - -#: js/blocks/RhythmBlockPaletteBlocks.js:893 -msgid "Tuplets are a collection of notes that get scaled to a specific duration." -msgstr "" - -#: js/blocks/FlowBlocks.js:41 -msgid "The Backward block runs code in reverse order (Musical retrograde)." -msgstr "" - -#: js/blocks/FlowBlocks.js:48 -msgid "backward" -msgstr "" - -#: js/blocks/FlowBlocks.js:124 -msgid "The Duplicate block will run each block multiple times." -msgstr "" - -#: js/blocks/FlowBlocks.js:334 -msgid "The Default block is used inside of a Switch to define the default action." -msgstr "" - -#: js/blocks/FlowBlocks.js:342 -msgid "default" -msgstr "" - -#: js/blocks/FlowBlocks.js:361 -#: js/blocks/FlowBlocks.js:418 -msgid "The Case Block must be used inside of a Switch Block." -msgstr "" - -#: js/blocks/FlowBlocks.js:389 -msgid "The Case block is used inside of a Switch to define matches." -msgstr "" - -#: js/blocks/FlowBlocks.js:397 -msgid "case" -msgstr "" - -#: js/blocks/FlowBlocks.js:446 -msgid "The Switch block will run the code in the matching Case." -msgstr "" - -#: js/blocks/FlowBlocks.js:454 -msgid "switch" -msgstr "" - -#: js/blocks/FlowBlocks.js:595 -msgid "The Stop block will stop a loop" -msgstr "" - -#: js/blocks/FlowBlocks.js:597 -msgid "Forever, Repeat, While, or Until." -msgstr "" - -#: js/blocks/FlowBlocks.js:653 -msgid "The Waitfor block will wait until the condition is true." -msgstr "" - -#: js/blocks/FlowBlocks.js:661 -msgid "wait for" -msgstr "" - -#: js/blocks/FlowBlocks.js:732 -msgid "The Until block will repeat until the condition is true." -msgstr "" - -#: js/blocks/FlowBlocks.js:740 -msgid "until" -msgstr "直到" - -#: js/blocks/FlowBlocks.js:742 -#: js/blocks/FlowBlocks.js:822 -msgid "do2" -msgstr "" - -#: js/blocks/FlowBlocks.js:742 -#: js/blocks/FlowBlocks.js:822 -#: js/blocks/MeterBlocks.js:770 -#: js/blocks/ActionBlocks.js:390 -#: js/blocks/ActionBlocks.js:610 -#: js/blocks/ActionBlocks.js:959 -#: js/blocks/ActionBlocks.js:1048 -msgid "do" -msgstr "" - -#: js/blocks/FlowBlocks.js:812 -msgid "The While block will repeat while the condition is true." -msgstr "" - -#: js/blocks/FlowBlocks.js:820 -msgid "while" -msgstr "同時間" - -#: js/blocks/FlowBlocks.js:903 -#: js/blocks/FlowBlocks.js:968 -#: js/blocks/FlowBlocks.js:979 -msgid "In this example if the mouse button is pressed a snare drum will play." -msgstr "" - -#: js/blocks/FlowBlocks.js:925 -#: js/blocks/FlowBlocks.js:988 -msgid "if" -msgstr "若" - -#: js/blocks/FlowBlocks.js:927 -#: js/blocks/FlowBlocks.js:990 -msgid "then" -msgstr "則" - -#: js/blocks/FlowBlocks.js:927 -msgid "else" -msgstr "否則" - -#: js/blocks/FlowBlocks.js:1025 -msgid "The Forever block will repeat the contained blocks forever." -msgstr "" - -#: js/blocks/FlowBlocks.js:1037 -msgid "forever" -msgstr "持續執行" - -#: js/blocks/FlowBlocks.js:1073 -msgid "The Repeat block will repeat the contained blocks." -msgstr "" - -#: js/blocks/FlowBlocks.js:1075 -msgid "In this example the note will be played 4 times." -msgstr "" - -#: js/blocks/FlowBlocks.js:1083 -msgid "repeat" -msgstr "重複" - -#: js/blocks/FlowBlocks.js:1123 -msgid "duplicate factor" -msgstr "" - -#: js/blocks/MeterBlocks.js:34 -#. TRANS: musical meter (time signature), e.g., 4:4 -msgid "current meter" -msgstr "" - -#: js/blocks/MeterBlocks.js:85 -#. TRANS: number of beats per minute -msgid "beat factor" -msgstr "" - -#: js/blocks/MeterBlocks.js:161 -msgid "The Beats per minute block returns the current beats per minute." -msgstr "" - -#: js/blocks/MeterBlocks.js:170 -#: js/widgets/status.js:148 -#. TRANS: number of beats played per minute -#. TRANS: in Japanese: "1分当たりの拍の数" -msgid "beats per minute2" -msgstr "" - -#: js/blocks/MeterBlocks.js:170 -#: js/blocks/MeterBlocks.js:1057 -#: js/blocks/MeterBlocks.js:1134 -#: js/blocks/MeterBlocks.js:1212 -#. TRANS: sets tempo by defining a beat and beats per minute -msgid "beats per minute" -msgstr "" - -#: js/blocks/MeterBlocks.js:234 -#. TRANS: count of current musical measure in meter -msgid "measure count" -msgstr "" - -#: js/blocks/MeterBlocks.js:242 -msgid "The Measure count block returns the current measure." -msgstr "" - -#: js/blocks/MeterBlocks.js:291 -#. TRANS: count of current beat in the meter -msgid "beat count" -msgstr "" - -#: js/blocks/MeterBlocks.js:301 -#: js/blocks/MeterBlocks.js:312 -#: js/blocks/MeterBlocks.js:566 -#: js/blocks/MeterBlocks.js:577 -msgid "The Beat count block is the number of the current beat," -msgstr "" - -#: js/blocks/MeterBlocks.js:314 -#: js/blocks/MeterBlocks.js:579 -msgid "eg 1, 2, 3, or 4." -msgstr "" - -#: js/blocks/MeterBlocks.js:369 -#. TRANS: count the number of notes -msgid "sum note values" -msgstr "" - -#: js/blocks/MeterBlocks.js:377 -#: js/blocks/MeterBlocks.js:441 -msgid "The Note counter block can be used to count the number of contained notes." -msgstr "" - -#: js/blocks/MeterBlocks.js:433 -#. TRANS: count the number of notes -msgid "note counter" -msgstr "" - -#: js/blocks/MeterBlocks.js:497 -#. TRANS: number of whole notes that have been played -msgid "whole notes played" -msgstr "" - -#: js/blocks/MeterBlocks.js:506 -msgid "The Whole notes played block returns the total number of whole notes played." -msgstr "" - -#: js/blocks/MeterBlocks.js:556 -#: js/turtleactions/DictActions.js:83 -#. TRANS: number of notes that have been played -msgid "notes played" -msgstr "" - -#: js/blocks/MeterBlocks.js:654 -msgid "The No clock block decouples the notes from the master clock." -msgstr "" - -#: js/blocks/MeterBlocks.js:662 -#. TRANS: don't lock notes to master clock -msgid "no clock" -msgstr "" - -#: js/blocks/MeterBlocks.js:701 -msgid "on weak beat do" -msgstr "" - -#: js/blocks/MeterBlocks.js:706 -msgid "The On-weak-beat block lets you specify actions to take on weak (off) beats." -msgstr "" - -#: js/blocks/MeterBlocks.js:751 -msgid "on strong beat" -msgstr "" - -#: js/blocks/MeterBlocks.js:759 -msgid "The On-strong-beat block lets you specify actions to take on specified beats." -msgstr "" - -#: js/blocks/MeterBlocks.js:770 -msgid "beat" -msgstr "" - -#: js/blocks/MeterBlocks.js:770 -#: js/blocks/ActionBlocks.js:390 -#: js/blocks/ActionBlocks.js:610 -#: js/blocks/ActionBlocks.js:959 -#: js/blocks/ActionBlocks.js:1048 -msgid "do1" -msgstr "" - -#: js/blocks/MeterBlocks.js:814 -msgid "on every beat do" -msgstr "" - -#: js/blocks/MeterBlocks.js:822 -msgid "The On-every-beat block lets you specify actions to take on every beat." -msgstr "" - -#: js/blocks/MeterBlocks.js:875 -msgid "on every note do" -msgstr "" - -#: js/blocks/MeterBlocks.js:883 -msgid "The On-every-note block lets you specify actions to take on every note." -msgstr "" - -#: js/blocks/MeterBlocks.js:929 -#: js/blocks/MeterBlocks.js:1000 -#. TRANS: sets tempo by defining a beat and beats per minute -msgid "master beats per minute" -msgstr "" - -#: js/blocks/MeterBlocks.js:953 -#: js/blocks/MeterBlocks.js:1079 -#: js/blocks/MeterBlocks.js:1136 -msgid "bpm" -msgstr "" - -#: js/blocks/MeterBlocks.js:953 -#: js/blocks/MeterBlocks.js:1079 -#: js/blocks/MeterBlocks.js:1136 -msgid "beat value" -msgstr "" - -#: js/blocks/MeterBlocks.js:1025 -#: js/blocks/MeterBlocks.js:1168 -#: js/blocks/MeterBlocks.js:1242 -msgid "Beats per minute must be > 30." -msgstr "" - -#: js/blocks/MeterBlocks.js:1028 -#: js/blocks/MeterBlocks.js:1171 -#: js/blocks/MeterBlocks.js:1245 -msgid "Maximum beats per minute is 1000." -msgstr "" - -#: js/blocks/MeterBlocks.js:1069 -msgid "The Beats per minute block sets the number of 1/4 notes per minute." -msgstr "" - -#: js/blocks/MeterBlocks.js:1280 -#. TRANS: anacrusis -msgid "pickup" -msgstr "" - -#: js/blocks/MeterBlocks.js:1368 -msgid "number of beats" -msgstr "" - -#: js/blocks/PitchBlocks.js:141 -#. TRANS: musical transposition (adjustment of pitch up or down) -msgid "transposition" -msgstr "" - -#: js/blocks/PitchBlocks.js:168 -#. TRANS: step down one note in current musical scale -msgid "scalar step down" -msgstr "" - -#: js/blocks/PitchBlocks.js:172 -msgid "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode." -msgstr "" - -#: js/blocks/PitchBlocks.js:190 -#. TRANS: step up one note in current musical scale -msgid "scalar step up" -msgstr "" - -#: js/blocks/PitchBlocks.js:194 -msgid "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode." -msgstr "" - -#: js/blocks/PitchBlocks.js:212 -#. TRANS: the change measured in half-steps between the current pitch and the previous pitch -msgid "change in pitch" -msgstr "" - -#: js/blocks/PitchBlocks.js:216 -msgid "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played." -msgstr "" - -#: js/blocks/PitchBlocks.js:243 -#. TRANS: the change measured in scale-steps between the current pitch and the previous pitch -msgid "scalar change in pitch" -msgstr "" - -#: js/blocks/PitchBlocks.js:250 -#: js/blocks/PitchBlocks.js:432 -#: js/blocks/PitchBlocks.js:1667 -#: js/turtleactions/DictActions.js:89 -#: js/widgets/temperament.js:582 -#: js/widgets/temperament.js:586 -#: js/widgets/temperament.js:824 -#. TRANS: convert current note to piano key (1-88) -#. TRANS: a mapping of pitch to the 88 piano keys -msgid "pitch number" -msgstr "" - -#: js/blocks/PitchBlocks.js:256 -msgid "The Pitch number block is the value of the pitch of the note currently being played." -msgstr "" - -#: js/blocks/PitchBlocks.js:329 -#: js/blocks/PitchBlocks.js:433 -#. TRANS: the current pitch expressed in Hertz -msgid "pitch in hertz" -msgstr "" - -#: js/blocks/PitchBlocks.js:334 -msgid "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played." -msgstr "" - -#: js/blocks/PitchBlocks.js:367 -#: js/turtleactions/DictActions.js:87 -msgid "current pitch" -msgstr "" - -#: js/blocks/PitchBlocks.js:373 -msgid "The Current Pitch block is used with the Pitch Converter block. In the example above, current pitch, sol 4, is displayed as 392 hertz." -msgstr "" - -#: js/blocks/PitchBlocks.js:410 -msgid "This block converts the pitch value of the last note played into different formats such as hertz, letter name, pitch number, et al." -msgstr "" - -#: js/blocks/PitchBlocks.js:434 -msgid "alphabet" -msgstr "" - -#: js/blocks/PitchBlocks.js:436 -#. TRANS: Translate as "alphabet class" -msgid "letter class" -msgstr "" - -#: js/blocks/PitchBlocks.js:437 -msgid "solfege class" -msgstr "" - -#: js/blocks/PitchBlocks.js:438 -msgid "staff y" -msgstr "" - -#: js/blocks/PitchBlocks.js:439 -msgid "solfege syllable" -msgstr "" - -#: js/blocks/PitchBlocks.js:440 -msgid "pitch class" -msgstr "" - -#: js/blocks/PitchBlocks.js:441 -msgid "scalar class" -msgstr "" - -#: js/blocks/PitchBlocks.js:443 -msgid "nth degree" -msgstr "" - -#: js/blocks/PitchBlocks.js:444 -msgid "pitch to shade" -msgstr "" - -#: js/blocks/PitchBlocks.js:445 -msgid "pitch to color" -msgstr "" - -#: js/blocks/PitchBlocks.js:629 -#: js/widgets/musickeyboard.js:753 -#. TRANS: MIDI is a technical standard for electronic music -msgid "MIDI" -msgstr "" - -#: js/blocks/PitchBlocks.js:642 -#. TRANS: set an offset associated with the numeric piano keyboard mapping -msgid "set pitch number offset" -msgstr "" - -#: js/blocks/PitchBlocks.js:645 -msgid "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave." -msgstr "" - -#: js/blocks/PitchBlocks.js:656 -#: js/blocks/PitchBlocks.js:934 -#: js/blocks/PitchBlocks.js:1866 -#: js/blocks/MediaBlocks.js:746 -#. TRANS: name2 is name as in name of pitch (JAPANESE ONLY) -msgid "name2" -msgstr "" - -#: js/blocks/PitchBlocks.js:679 -#. TRANS: convert piano key number (1-88) to pitch -msgid "number to pitch" -msgstr "" - -#: js/blocks/PitchBlocks.js:682 -msgid "The Number to pitch block will convert a pitch number to a pich name." -msgstr "" - -#: js/blocks/PitchBlocks.js:715 -#. TRANS: convert piano key number (1-88) to octave -msgid "number to octave" -msgstr "" - -#: js/blocks/PitchBlocks.js:717 -msgid "The Number to octave block will convert a pitch number to an octave." -msgstr "" - -#: js/blocks/PitchBlocks.js:726 -msgid "y to pitch" -msgstr "" - -#: js/blocks/PitchBlocks.js:729 -msgid "Y to pitch block will convert a staff y position to corresponding pitch notation." -msgstr "" - -#: js/blocks/PitchBlocks.js:841 -msgid "accidental selector" -msgstr "" - -#: js/blocks/PitchBlocks.js:844 -msgid "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat." -msgstr "" - -#: js/blocks/PitchBlocks.js:858 -msgid "Pitch can be specified in terms of ni dha pa ma ga re sa." -msgstr "" - -#: js/blocks/PitchBlocks.js:872 -msgid "Pitch can be specified in terms of C D E F G A B." -msgstr "" - -#: js/blocks/PitchBlocks.js:884 -msgid "solfege" -msgstr "" - -#: js/blocks/PitchBlocks.js:887 -msgid "Pitch can be specified in terms of do re mi fa sol la ti." -msgstr "" - -#: js/blocks/PitchBlocks.js:922 -msgid "The Invert block rotates any contained notes around a target note." -msgstr "" - -#: js/blocks/PitchBlocks.js:929 -#: js/widgets/modewidget.js:137 -#. TRANS: pitch inversion rotates a pitch around another pitch -msgid "Invert" -msgstr "" - -#: js/blocks/PitchBlocks.js:968 -#. TRANS: pitch inversion rotates a pitch around another pitch (odd number) -msgid "invert (odd)" -msgstr "" - -#: js/blocks/PitchBlocks.js:1001 -#. TRANS: pitch inversion rotates a pitch around another pitch (even number) -msgid "invert (even)" -msgstr "" - -#: js/blocks/PitchBlocks.js:1022 -#. TRANS: register is the octave of the current pitch -msgid "register" -msgstr "" - -#: js/blocks/PitchBlocks.js:1026 -msgid "The Register block provides an easy way to modify the register (octave) of the notes that follow it." -msgstr "" - -#: js/blocks/PitchBlocks.js:1047 -#. TRANS: cents are units used to specify the ratio between pitches. There are 100 cents between successive notes. -msgid "50 cents" -msgstr "" - -#: js/blocks/PitchBlocks.js:1102 -msgid "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps." -msgstr "" - -#: js/blocks/PitchBlocks.js:1104 -msgid "In the example shown above, sol is shifted up to sol#." -msgstr "" - -#: js/blocks/PitchBlocks.js:1110 -#. TRANS: adjust the amount of shift (up or down) of a pitch -msgid "semi-tone transpose" -msgstr "" - -#: js/blocks/PitchBlocks.js:1143 -msgid "The Transpose by Ratio block will shift the pitches contained inside Note blocks up (or down) by a ratio" -msgstr "" - -#: js/blocks/PitchBlocks.js:1149 -#. TRANS: adjust the amount of shift (up or down) of a pitch -msgid "transpose by ratio" -msgstr "" - -#: js/blocks/PitchBlocks.js:1232 -#. TRANS: down sixth means the note is five scale degrees below current note -msgid "down sixth" -msgstr "" - -#: js/blocks/PitchBlocks.js:1251 -#. TRANS: down third means the note is two scale degrees below current note -msgid "down third" -msgstr "" - -#: js/blocks/PitchBlocks.js:1270 -#. TRANS: seventh means the note is the six scale degrees above current note -msgid "seventh" -msgstr "" - -#: js/blocks/PitchBlocks.js:1289 -#. TRANS: sixth means the note is the five scale degrees above current note -msgid "sixth" -msgstr "" - -#: js/blocks/PitchBlocks.js:1308 -#. TRANS: fifth means the note is the four scale degrees above current note -msgid "fifth" -msgstr "" - -#: js/blocks/PitchBlocks.js:1328 -#. TRANS: fourth means the note is three scale degrees above current note -msgid "fourth" -msgstr "" - -#: js/blocks/PitchBlocks.js:1347 -#. TRANS: third means the note is two scale degrees above current note -msgid "third" -msgstr "" - -#: js/blocks/PitchBlocks.js:1366 -#. TRANS: second means the note is one scale degree above current note -msgid "second" -msgstr "" - -#: js/blocks/PitchBlocks.js:1407 -msgid "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale." -msgstr "" - -#: js/blocks/PitchBlocks.js:1409 -msgid "In the example shown above, sol is shifted up to la." -msgstr "" - -#: js/blocks/PitchBlocks.js:1416 -#. TRANS: adjust the amount of shift (up or down) of a pitch by musical scale (scalar) steps -msgid "scalar transpose" -msgstr "" - -#: js/blocks/PitchBlocks.js:1451 -msgid "The Accidental block is used to create sharps and flats" -msgstr "" - -#: js/blocks/PitchBlocks.js:1458 -#. TRANS: An accidental is a modification to a pitch, e.g., sharp or flat. -msgid "accidental override" -msgstr "" - -#: js/blocks/PitchBlocks.js:1577 -#: js/blocks/MediaBlocks.js:679 -#: js/widgets/musickeyboard.js:1962 -#: js/widgets/phrasemaker.js:1123 -#. TRANS: a measure of frequency: one cycle per second -msgid "hertz" -msgstr "" - -#: js/blocks/PitchBlocks.js:1581 -msgid "The Hertz block (in combination with a Number block) will play a sound at the specified frequency." -msgstr "" - -#: js/blocks/PitchBlocks.js:1671 -msgid "The Pitch Number block will play a pitch associated by its number, e.g. 0 for C and 7 for G." -msgstr "" - -#: js/blocks/PitchBlocks.js:1703 -#: js/blocks/PitchBlocks.js:1745 -#. TRANS: a numeric mapping of the notes in an octave based on the musical mode -#. TRANS: a numeric mapping of the notes in an octave based on the musical mode -msgid "nth modal pitch" -msgstr "" - -#: js/blocks/PitchBlocks.js:1706 -msgid "nth Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode," -msgstr "" - -#: js/blocks/PitchBlocks.js:1708 -msgid "starting from 1 and regardless of tonal framework (i.e. not always 8 notes in the octave)" -msgstr "" - -#: js/blocks/PitchBlocks.js:1749 -msgid "Nth Modal Pitch takes a number as an input as the nth degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc." -msgstr "" - -#: js/blocks/PitchBlocks.js:1751 -msgid "The pitches change according to the mode specified without any need for respellings." -msgstr "" - -#: js/blocks/PitchBlocks.js:1790 -msgid "Scale Degree is a common convention in music. Scale Degree offers seven possible positions in the scale (1-7) and can be modified via accidentals." -msgstr "" - -#: js/blocks/PitchBlocks.js:1792 -msgid "Scale Degree 1 is always the first pitch in a given scale, regardless of octave." -msgstr "" - -#: js/blocks/PitchBlocks.js:1814 -#. TRANS: step some number of notes in current musical scale -msgid "scalar step" -msgstr "" - -#: js/blocks/PitchBlocks.js:1819 -msgid "The Scalar Step block (in combination with a Number block) will play the next pitch in a scale," -msgstr "" - -#: js/blocks/PitchBlocks.js:1821 -msgid "eg if the last note played was sol, Scalar Step 1 will play la." -msgstr "" - -#: js/blocks/PitchBlocks.js:1857 -msgid "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note." -msgstr "" - -#: js/blocks/ToneBlocks.js:34 -#: js/widgets/timbre.js:783 -msgid "Oscillator" -msgstr "" - -#: js/blocks/ToneBlocks.js:42 -#: js/blocks/WidgetBlocks.js:179 -#: js/widgets/timbre.js:1550 -#: js/widgets/timbre.js:1800 -#. TRANS: there are different types (sine, triangle, square...) of oscillators. -#. TRANS: type of filter, e.g., lowpass, highpass, etc. -msgid "type" -msgstr "" - -#: js/blocks/ToneBlocks.js:44 -#: js/widgets/timbre.js:1554 -#. TRANS: Partials refers to the number of sine waves combined into the sound. -msgid "partials" -msgstr "" - -#: js/blocks/ToneBlocks.js:76 -msgid "You are adding multiple oscillator blocks." -msgstr "" - -#: js/blocks/ToneBlocks.js:144 -#: js/widgets/timbre.js:1217 -#. TRANS: a duo synthesizer combines a synth with a sequencer -msgid "duo synth" -msgstr "" - -#: js/blocks/ToneBlocks.js:149 -msgid "The Duo synth block is a duo-frequency modulator used to define a timbre." -msgstr "" - -#: js/blocks/ToneBlocks.js:157 -#: js/widgets/timbre.js:1468 -msgid "vibrato rate" -msgstr "" - -#: js/blocks/ToneBlocks.js:157 -msgid "vibrato intensity" -msgstr "" - -#: js/blocks/ToneBlocks.js:185 -#: js/widgets/timbre.js:1215 -#. TRANS: AM (amplitude modulation) synthesizer -msgid "AM synth" -msgstr "" - -#: js/blocks/ToneBlocks.js:189 -msgid "The AM synth block is an amplitude modulator used to define a timbre." -msgstr "" - -#: js/blocks/ToneBlocks.js:224 -#: js/widgets/timbre.js:1216 -#. TRANS: FM (frequency modulation) synthesizer -msgid "FM synth" -msgstr "" - -#: js/blocks/ToneBlocks.js:228 -msgid "The FM synth block is a frequency modulator used to define a timbre." -msgstr "" - -#: js/blocks/ToneBlocks.js:262 -msgid "partial" -msgstr "" - -#: js/blocks/ToneBlocks.js:265 -msgid "The Partial block is used to specify a weight for a specific partial harmonic." -msgstr "" - -#: js/blocks/ToneBlocks.js:284 -#. TRANS: partials are weighted components in a harmonic series -msgid "Partial weight must be between 0 and 1." -msgstr "" - -#: js/blocks/ToneBlocks.js:297 -#. TRANS: partials are weighted components in a harmonic series -msgid "Partial block should be used inside of a Weighted-partials block." -msgstr "" - -#: js/blocks/ToneBlocks.js:325 -#. TRANS: partials are weighted components in a harmonic series -msgid "weighted partials" -msgstr "" - -#: js/blocks/ToneBlocks.js:383 -msgid "The Harmonic block will add harmonics to the contained notes." -msgstr "" - -#: js/blocks/ToneBlocks.js:390 -#. TRANS: A harmonic is an overtone. -msgid "harmonic" -msgstr "" - -#: js/blocks/ToneBlocks.js:431 -msgid "The Distortion block adds distortion to the pitch." -msgstr "" - -#: js/blocks/ToneBlocks.js:438 -#: js/widgets/timbre.js:2088 -#. TRANS: distortion is an alteration in the sound -msgid "distortion" -msgstr "" - -#: js/blocks/ToneBlocks.js:487 -msgid "The Tremolo block adds a wavering effect." -msgstr "" - -#: js/blocks/ToneBlocks.js:495 -#: js/widgets/timbre.js:2084 -#. TRANS: a wavering effect in a musical tone -msgid "tremolo" -msgstr "" - -#: js/blocks/ToneBlocks.js:500 -#: js/blocks/ToneBlocks.js:569 -#: js/blocks/ToneBlocks.js:630 -#: js/blocks/ToneBlocks.js:689 -#: js/widgets/timbre.js:2122 -#: js/widgets/timbre.js:2210 -#: js/widgets/timbre.js:2305 -#: js/widgets/timbre.js:2407 -#. TRANS: rate at which tremolo wavers -msgid "rate" -msgstr "" - -#: js/blocks/ToneBlocks.js:502 -#: js/blocks/ToneBlocks.js:630 -#: js/widgets/timbre.js:2125 -#: js/widgets/timbre.js:2316 -#. TRANS: amplitude of tremolo waver -msgid "depth" -msgstr "" - -#: js/blocks/ToneBlocks.js:559 -msgid "The Phaser block adds a sweeping sound." -msgstr "" - -#: js/blocks/ToneBlocks.js:566 -#: js/widgets/timbre.js:2087 -#. TRANS: alter the phase of the sound -msgid "phaser" -msgstr "" - -#: js/blocks/ToneBlocks.js:569 -#: js/turtleactions/IntervalsActions.js:114 -#: js/widgets/timbre.js:2410 -msgid "octaves" -msgstr "" - -#: js/blocks/ToneBlocks.js:569 -#: js/widgets/timbre.js:2413 -msgid "base frequency" -msgstr "" - -#: js/blocks/ToneBlocks.js:619 -msgid "The Chorus block adds a chorus effect." -msgstr "" - -#: js/blocks/ToneBlocks.js:627 -#: js/widgets/timbre.js:2086 -#. TRANS: musical effect to simulate a choral sound -msgid "chorus" -msgstr "" - -#: js/blocks/ToneBlocks.js:630 -#: js/widgets/timbre.js:2310 -msgid "delay (MS)" -msgstr "" - -#: js/blocks/ToneBlocks.js:678 -msgid "The Vibrato block adds a rapid, slight variation in pitch." -msgstr "" - -#: js/blocks/ToneBlocks.js:686 -#: js/widgets/timbre.js:2085 -#. TRANS: a rapid, slight variation in pitch -msgid "vibrato" -msgstr "" - -#: js/blocks/ToneBlocks.js:689 -#: js/widgets/timbre.js:2209 -msgid "intensity" -msgstr "" - -#: js/blocks/ToneBlocks.js:733 -#. TRANS: select synthesizer -msgid "set synth" -msgstr "" - -#: js/blocks/ToneBlocks.js:804 -msgid "synth name" -msgstr "" - -#: js/blocks/ToneBlocks.js:842 -msgid "set default instrument" -msgstr "" - -#: js/blocks/ToneBlocks.js:895 -#: js/blocks/ToneBlocks.js:943 -#. TRANS: set the characteristics of a custom instrument -msgid "set instrument" -msgstr "" - -#: js/blocks/ToneBlocks.js:898 -#: js/blocks/ToneBlocks.js:926 -#: js/blocks/ToneBlocks.js:932 -msgid "The Set instrument block selects a voice for the synthesizer," -msgstr "" - -#: js/blocks/ToneBlocks.js:900 -#: js/blocks/ToneBlocks.js:934 -msgid "eg guitar piano violin or cello." -msgstr "" - -#: js/blocks/ToneBlocks.js:1015 -msgid "Import a sound file to use as an instrument and set its pitch center." -msgstr "" - -#: js/blocks/ToneBlocks.js:1110 -msgid "Upload a sound file to connect with the sample block." -msgstr "" - -#: js/blocks/ActionBlocks.js:58 -msgid "The Return block will return a value from an action." -msgstr "" - -#: js/blocks/ActionBlocks.js:75 -msgid "return" -msgstr "" - -#: js/blocks/ActionBlocks.js:128 -msgid "The Return to URL block will return a value to a webpage." -msgstr "" - -#: js/blocks/ActionBlocks.js:145 -msgid "return to URL" -msgstr "" - -#: js/blocks/ActionBlocks.js:233 -#: js/blocks/ActionBlocks.js:290 -#: js/blocks/ActionBlocks.js:501 -#: js/blocks/ActionBlocks.js:688 -msgid "The Calculate block returns a value calculated by an action." -msgstr "" - -#: js/blocks/ActionBlocks.js:251 -#: js/blocks/ActionBlocks.js:517 -#: js/blocks/ActionBlocks.js:707 -msgid "calculate" -msgstr "" - -#: js/blocks/ActionBlocks.js:376 -#: js/blocks/ActionBlocks.js:593 -#: js/blocks/ActionBlocks.js:942 -#: js/blocks/ActionBlocks.js:1389 -#. TRANS: do is the do something or take an action. -msgid "The Do block is used to initiate an action." -msgstr "" - -#: js/blocks/ActionBlocks.js:791 -#: js/blocks/ActionBlocks.js:865 -msgid "The Arg block contains the value of an argument passed to an action." -msgstr "" - -#: js/blocks/ActionBlocks.js:806 -#: js/blocks/ActionBlocks.js:878 -msgid "arg" -msgstr "" - -#: js/blocks/ActionBlocks.js:836 -#: js/blocks/ActionBlocks.js:900 -#: js/blocks/ActionBlocks.js:908 -msgid "Invalid argument" -msgstr "" - -#: js/blocks/ActionBlocks.js:944 -msgid "In the example, it is used with the One of block to choose a random phase." -msgstr "" - -#: js/blocks/ActionBlocks.js:1019 -#: js/blocks/ActionBlocks.js:1026 -msgid "The Listen block is used to listen for an event such as a mouse click." -msgstr "" - -#: js/blocks/ActionBlocks.js:1028 -msgid "When the event happens, an action is taken." -msgstr "" - -#: js/blocks/ActionBlocks.js:1045 -msgid "on" -msgstr "" - -#: js/blocks/ActionBlocks.js:1048 -#: js/blocks/ActionBlocks.js:1049 -#: js/blocks/ActionBlocks.js:1153 -msgid "event" -msgstr "" - -#: js/blocks/ActionBlocks.js:1133 -msgid "The Broadcast block is used to trigger an event." -msgstr "" - -#: js/blocks/ActionBlocks.js:1151 -msgid "broadcast" -msgstr "" - -#: js/blocks/ActionBlocks.js:1208 -msgid "Each Start block is a separate voice." -msgstr "" - -#: js/blocks/ActionBlocks.js:1304 -msgid "It is often used for storing a phrase of music that is repeated." -msgstr "" - -#: js/blocks/ActionBlocks.js:1495 -msgid "define temperament" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:87 -msgid "mouse index heap" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:87 -msgid "turtle index heap" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:89 -msgid "The Mouse index heap block returns a value in the heap at a specified location for a specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:90 -msgid "The Turtle index heap block returns a value in the heap at a specified location for a specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:94 -#: js/blocks/EnsembleBlocks.js:169 -#: js/blocks/EnsembleBlocks.js:232 -#: js/blocks/EnsembleBlocks.js:318 -#: js/blocks/EnsembleBlocks.js:364 -#: js/blocks/EnsembleBlocks.js:402 -#: js/blocks/EnsembleBlocks.js:456 -#: js/blocks/EnsembleBlocks.js:506 -#: js/blocks/EnsembleBlocks.js:552 -#: js/blocks/EnsembleBlocks.js:599 -#: js/blocks/EnsembleBlocks.js:653 -#: js/blocks/EnsembleBlocks.js:765 -#: js/blocks/EnsembleBlocks.js:856 -#: js/blocks/EnsembleBlocks.js:917 -#: js/blocks/EnsembleBlocks.js:957 -#: js/blocks/EnsembleBlocks.js:1222 -#: js/blocks/EnsembleBlocks.js:1296 -msgid "Yertle" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:96 -#: js/blocks/EnsembleBlocks.js:1083 -msgid "mouse name" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:96 -#: js/blocks/EnsembleBlocks.js:1092 -msgid "turtle name" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:147 -msgid "stop mouse" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:149 -msgid "The Stop mouse block stops the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:160 -msgid "stop turtle" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:162 -msgid "The Stop turtle block stops the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:186 -#: js/blocks/EnsembleBlocks.js:249 -#: js/blocks/EnsembleBlocks.js:415 -#: js/blocks/EnsembleBlocks.js:470 -#: js/blocks/EnsembleBlocks.js:708 -#: js/blocks/EnsembleBlocks.js:810 -#: js/blocks/EnsembleBlocks.js:872 -#: js/blocks/EnsembleBlocks.js:1193 -#: js/blocks/EnsembleBlocks.js:1256 -msgid "Cannot find mouse" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:188 -#: js/blocks/EnsembleBlocks.js:251 -#: js/blocks/EnsembleBlocks.js:417 -#: js/blocks/EnsembleBlocks.js:472 -#: js/blocks/EnsembleBlocks.js:710 -#: js/blocks/EnsembleBlocks.js:812 -#: js/blocks/EnsembleBlocks.js:874 -#: js/blocks/EnsembleBlocks.js:1195 -#: js/blocks/EnsembleBlocks.js:1258 -msgid "Cannot find turtle" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:208 -msgid "start mouse" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:211 -msgid "The Start mouse block starts the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:222 -msgid "start turtle" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:225 -msgid "The Start turtle block starts the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:258 -msgid "Mouse is already running." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:260 -msgid "Turtle is already running." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:284 -msgid "Cannot find start block" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:294 -#. TRANS: pen color for this mouse -msgid "mouse color" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:296 -msgid "The Mouse color block returns the pen color of the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:308 -#. TRANS: pen color for this turtle -msgid "turtle color" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:310 -msgid "The Turtle color block returns the pen color of the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:340 -#. TRANS: heading (compass direction) for this mouse -msgid "mouse heading" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:342 -msgid "The Mouse heading block returns the heading of the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:354 -#. TRANS: heading (compass direction) for this turtle -msgid "turtle heading" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:356 -msgid "The Turtle heading block returns the heading of the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:386 -#: js/blocks/EnsembleBlocks.js:441 -#. TRANS: set xy position for this mouse -msgid "set mouse" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:397 -#: js/blocks/EnsembleBlocks.js:454 -#. TRANS: set xy position for this turtle -msgid "set turtle" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:435 -msgid "The Set mouse block sends a stack of blocks to be run by the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:448 -msgid "The Set turtle block sends a stack of blocks to be run by the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:482 -#. TRANS: y position for this mouse -msgid "mouse y" -msgstr "滑鼠座標 y" - -#: js/blocks/EnsembleBlocks.js:484 -msgid "The Y mouse block returns the Y position of the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:496 -#. TRANS: y position for this turtle -msgid "turtle y" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:498 -msgid "The Y turtle block returns the Y position of the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:528 -#. TRANS: x position for this mouse -msgid "mouse x" -msgstr "滑鼠座標 x" - -#: js/blocks/EnsembleBlocks.js:530 -msgid "The X mouse block returns the X position of the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:542 -#. TRANS: x position for this turtle -msgid "turtle x" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:544 -msgid "The X turtle block returns the X position of the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:575 -#. TRANS: notes played by this mouse -msgid "mouse notes played" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:577 -msgid "The Mouse elapse notes block returns the number of notes played by the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:589 -#. TRANS: notes played by this turtle -msgid "turtle notes played" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:591 -msgid "The Turtle elapse notes block returns the number of notes played by the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:629 -#. TRANS: convert current note for this turtle to piano key (1-88) -msgid "mouse pitch number" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:631 -msgid "The Mouse pitch block returns the current pitch number being played by the specified mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:643 -#. TRANS: convert current note for this turtle to piano key (1-88) -msgid "turtle pitch number" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:645 -msgid "The Turtle pitch block returns the current pitch number being played by the specified turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:749 -#: js/blocks/EnsembleBlocks.js:821 -#. TRANS: note value is the duration of the note played by this mouse -msgid "mouse note value" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:759 -#. TRANS: note value is the duration of the note played by this turtle -msgid "turtle note value" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:832 -#. TRANS: sync is short for synchronization -msgid "mouse sync" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:834 -msgid "The Mouse sync block aligns the beat count between mice." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:846 -#. TRANS: sync is short for synchronization -msgid "turtle sync" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:848 -msgid "The Turtle sync block aligns the beat count between turtles." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:889 -msgid "The Found mouse block will return true if the specified mouse can be found." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:895 -msgid "found mouse" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:905 -msgid "The Found turtle block will return true if the specified turtle can be found." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:911 -msgid "found turtle" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:934 -msgid "new mouse" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:936 -msgid "The New mouse block will create a new mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:947 -msgid "new turtle" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:949 -msgid "The New turtle block will create a new turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1013 -msgid "set mouse color" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1016 -msgid "The Set-mouse-color block is used to set the color of a mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1022 -msgid "set turtle color" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1025 -msgid "The Set-turtle-color block is used to set the color of a turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1086 -msgid "The Mouse-name block returns the name of a mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1095 -msgid "The Turtle-name block returns the name of a turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1118 -msgid "mouse count" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1121 -msgid "The Mouse-count block returns the number of mice." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1127 -msgid "turtle count" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1130 -msgid "The Turtle-count block returns the number of turtles." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1152 -msgid "nth mouse name" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1155 -msgid "The Nth-Mouse name block returns the name of the nth mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1161 -msgid "nth turtle name" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1164 -msgid "The Nth-Turtle name block returns the name of the nth turtle." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1208 -#: js/blocks/EnsembleBlocks.js:1268 -msgid "set name" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1217 -#: js/blocks/EnsembleBlocks.js:1224 -msgid "source" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1217 -#: js/blocks/EnsembleBlocks.js:1224 -msgid "target" -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1274 -msgid "The Set-name block is used to name a mouse." -msgstr "" - -#: js/blocks/EnsembleBlocks.js:1287 -msgid "The Set-name block is used to name a turtle." -msgstr "" - -#: js/blocks/ExtrasBlocks.js:33 -msgid "fraction" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:36 -msgid "Convert a float to a fraction" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:93 -msgid "save as ABC" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:96 -#: js/blocks/ExtrasBlocks.js:132 -#: js/blocks/ExtrasBlocks.js:168 -msgid "title" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:129 -msgid "save as Lilypond" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:165 -msgid "save as SVG" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:216 -msgid "no background" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:219 -msgid "The No background block eliminates the background from the saved SVG output." -msgstr "" - -#: js/blocks/ExtrasBlocks.js:247 -msgid "show blocks" -msgstr "顯示區塊" - -#: js/blocks/ExtrasBlocks.js:249 -msgid "The Show blocks block shows the blocks." -msgstr "" - -#: js/blocks/ExtrasBlocks.js:276 -msgid "The Hide blocks block hides the blocks." -msgstr "" - -#: js/blocks/ExtrasBlocks.js:305 -#: js/blocks/ExtrasBlocks.js:338 -msgid "The Space block is used to add space between blocks." -msgstr "" - -#: js/blocks/ExtrasBlocks.js:376 -msgid "wait" -msgstr "等待" - -#: js/blocks/ExtrasBlocks.js:379 -msgid "The Wait block pauses the program for a specified number of seconds." -msgstr "" - -#: js/blocks/ExtrasBlocks.js:433 -#: plugins/facebook.rtp:30 -msgid "comment" -msgstr "註記" - -#: js/blocks/ExtrasBlocks.js:469 -msgid "print" -msgstr "顯示" - -#: js/blocks/ExtrasBlocks.js:476 -msgid "The Print block displays text at the top of the screen." -msgstr "" - -#: js/blocks/ExtrasBlocks.js:585 -msgid "display grid" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:590 -msgid "The Display Grid Block changes the grid type" -msgstr "" - -#: js/blocks/ExtrasBlocks.js:692 -#: js/blocks/ExtrasBlocks.js:711 -#: js/blocks/ExtrasBlocks.js:734 -#: js/blocks/ExtrasBlocks.js:757 -#: js/blocks/ExtrasBlocks.js:775 -#: js/blocks/ExtrasBlocks.js:794 -#: js/blocks/ExtrasBlocks.js:813 -#: js/blocks/ExtrasBlocks.js:832 -msgid "unknown" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:46 -#: js/turtleactions/DictActions.js:77 -#: js/turtleactions/DictActions.js:144 -#: js/turtleactions/DictActions.js:173 -msgid "heading" -msgstr "方向" - -#: js/blocks/GraphicsBlocks.js:56 -msgid "The Heading block returns the orientation of the mouse." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:62 -msgid "The Heading block returns the orientation of the turtle." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:133 -msgid "The Y block returns the vertical position of the mouse." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:140 -msgid "The Y block returns the vertical position of the turtle." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:149 -msgid "y3" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:219 -msgid "The X block returns the horizontal position of the mouse." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:226 -msgid "The X block returns the horizontal position of the turtle." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:235 -msgid "x3" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:295 -msgid "scroll xy" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:303 -msgid "The Scroll XY block moves the canvas." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:313 -msgid "x2" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:313 -msgid "y2" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:417 -msgid "The Control-point 2 block sets the second control point for the Bezier curve." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:424 -msgid "control point 2" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:427 -#: js/blocks/GraphicsBlocks.js:478 -#: js/blocks/GraphicsBlocks.js:525 -#: js/blocks/GraphicsBlocks.js:741 -msgid "x1" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:427 -#: js/blocks/GraphicsBlocks.js:478 -#: js/blocks/GraphicsBlocks.js:525 -#: js/blocks/GraphicsBlocks.js:741 -msgid "y1" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:468 -msgid "The Control-point 1 block sets the first control point for the Bezier curve." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:475 -msgid "control point 1" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:518 -msgid "The Bezier block draws a Bezier curve." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:522 -msgid "bezier" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:583 -msgid "The Arc block moves the turtle in an arc." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:591 -msgid "arc" -msgstr "弧度" - -#: js/blocks/GraphicsBlocks.js:594 -msgid "angle" -msgstr "角度" - -#: js/blocks/GraphicsBlocks.js:594 -msgid "radius" -msgstr "半徑" - -#: js/blocks/GraphicsBlocks.js:611 -#: js/blocks/GraphicsBlocks.js:758 -#: js/blocks/GraphicsBlocks.js:1001 -#: js/blocks/GraphicsBlocks.js:1084 -msgid "Value must be within -5000 to 5000 when Wrap Mode is off." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:613 -#: js/blocks/GraphicsBlocks.js:760 -#: js/blocks/GraphicsBlocks.js:1003 -#: js/blocks/GraphicsBlocks.js:1086 -msgid "Value must be within -20000 to 20000 when Wrap Mode is on." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:651 -msgid "set heading" -msgstr "設定標頭" - -#: js/blocks/GraphicsBlocks.js:664 -msgid "The Set heading block sets the heading of the turtle." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:724 -msgid "The Set XY block moves the mouse to a specific position on the screen." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:730 -msgid "The Set XY block moves the turtle to a specific position on the screen." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:738 -msgid "set xy" -msgstr "指定座標" - -#: js/blocks/GraphicsBlocks.js:810 -msgid "The Right block turns the mouse to the right." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:817 -msgid "The Right block turns the turtle to the right." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:826 -msgid "right1" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:826 -#: plugins/rodi.rtp:77 -#: plugins/rodi.rtp:340 -#: plugins/rodi.rtp:375 -msgid "right" -msgstr "右轉" - -#: js/blocks/GraphicsBlocks.js:890 -msgid "The Left block turns the mouse to the left." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:897 -msgid "The Left block turns the turtle to the left." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:906 -msgid "left1" -msgstr "" - -#: js/blocks/GraphicsBlocks.js:906 -#: plugins/rodi.rtp:79 -#: plugins/rodi.rtp:339 -#: plugins/rodi.rtp:362 -msgid "left" -msgstr "左轉" - -#: js/blocks/GraphicsBlocks.js:958 -#: js/widgets/temperament.js:839 -#: js/widgets/temperament.js:1033 -#: plugins/rodi.rtp:69 -#: plugins/rodi.rtp:387 -msgid "back" -msgstr "後退" - -#: js/blocks/GraphicsBlocks.js:967 -msgid "The Back block moves the mouse backward." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:974 -msgid "The Back block moves the turtle backward." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:1041 -#: plugins/rodi.rtp:71 -#: plugins/rodi.rtp:400 -msgid "forward" -msgstr "前進" - -#: js/blocks/GraphicsBlocks.js:1050 -msgid "The Forward block moves the mouse forward." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:1057 -msgid "The Forward block moves the turtle forward." -msgstr "" - -#: js/blocks/GraphicsBlocks.js:1145 -#: js/blocks/GraphicsBlocks.js:1163 -msgid "wrap" -msgstr "" - -#: js/blocks/MediaBlocks.js:35 -#. TRANS: right side of the screen -msgid "right (screen)" -msgstr "" - -#: js/blocks/MediaBlocks.js:45 -#: js/blocks/MediaBlocks.js:56 -msgid "The Right block returns the position of the right of the canvas." -msgstr "" - -#: js/blocks/MediaBlocks.js:97 -#. TRANS: left side of the screen -msgid "left (screen)" -msgstr "" - -#: js/blocks/MediaBlocks.js:107 -#: js/blocks/MediaBlocks.js:118 -msgid "The Left block returns the position of the left of the canvas." -msgstr "" - -#: js/blocks/MediaBlocks.js:158 -msgid "top (screen)" -msgstr "" - -#: js/blocks/MediaBlocks.js:168 -#: js/blocks/MediaBlocks.js:179 -msgid "The Top block returns the position of the top of the canvas." -msgstr "" - -#: js/blocks/MediaBlocks.js:219 -msgid "bottom (screen)" -msgstr "" - -#: js/blocks/MediaBlocks.js:229 -#: js/blocks/MediaBlocks.js:240 -msgid "The Bottom block returns the position of the bottom of the canvas." -msgstr "" - -#: js/blocks/MediaBlocks.js:282 -msgid "width" -msgstr "" - -#: js/blocks/MediaBlocks.js:291 -msgid "The Width block returns the width of the canvas." -msgstr "" - -#: js/blocks/MediaBlocks.js:325 -msgid "height" -msgstr "" - -#: js/blocks/MediaBlocks.js:334 -msgid "The Height block returns the height of the canvas." -msgstr "" - -#: js/blocks/MediaBlocks.js:369 -#. TRANS: stops playback of an audio recording -msgid "stop play" -msgstr "" - -#: js/blocks/MediaBlocks.js:404 -#. TRANS: Erases the images and text -msgid "erase media" -msgstr "" - -#: js/blocks/MediaBlocks.js:409 -msgid "The Erase Media block erases text and images." -msgstr "" - -#: js/blocks/MediaBlocks.js:439 -#. TRANS: play an audio recording -msgid "play back" -msgstr "" - -#: js/blocks/MediaBlocks.js:487 -msgid "speak" -msgstr "聽我說" - -#: js/blocks/MediaBlocks.js:495 -msgid "The Speak block outputs to the text-to-speech synthesizer" -msgstr "" - -#: js/blocks/MediaBlocks.js:546 -msgid "camera" -msgstr "" - -#: js/blocks/MediaBlocks.js:551 -msgid "The Camera block connects a webcam to the Show block." -msgstr "" - -#: js/blocks/MediaBlocks.js:574 -msgid "video" -msgstr "" - -#: js/blocks/MediaBlocks.js:579 -msgid "The Video block selects video for use with the Show block." -msgstr "" - -#: js/blocks/MediaBlocks.js:607 -msgid "The Open file block opens a file for use with the Show block." -msgstr "" - -#: js/blocks/MediaBlocks.js:645 -msgid "stop media" -msgstr "" - -#: js/blocks/MediaBlocks.js:650 -msgid "The Stop media block stops audio or video playback." -msgstr "" - -#: js/blocks/MediaBlocks.js:692 -#: js/blocks/WidgetBlocks.js:182 -#: js/widgets/temperament.js:488 -#: js/widgets/temperament.js:523 -#: js/widgets/temperament.js:582 -#: js/widgets/temperament.js:590 -#: js/widgets/temperament.js:1446 -#: js/widgets/timbre.js:1834 -msgid "frequency" -msgstr "" - -#: js/blocks/MediaBlocks.js:692 -#: plugins/rodi.rtp:193 -msgid "duration (MS)" -msgstr "" - -#: js/blocks/MediaBlocks.js:728 -#. TRANS: translate a note into hertz, e.g., A4 -> 440HZ -msgid "note to frequency" -msgstr "" - -#: js/blocks/MediaBlocks.js:736 -msgid "The To frequency block converts a pitch name and octave to Hertz." -msgstr "" - -#: js/blocks/MediaBlocks.js:812 -msgid "The Avatar block is used to change the appearance of the mouse." -msgstr "" - -#: js/blocks/MediaBlocks.js:819 -msgid "The Avatar block is used to change the appearance of the turtle." -msgstr "" - -#: js/blocks/MediaBlocks.js:831 -#: js/blocks/MediaBlocks.js:891 -#. TRANS: a media object -msgid "size" -msgstr "" - -#: js/blocks/MediaBlocks.js:831 -msgid "image" -msgstr "圖片" - -#: js/blocks/MediaBlocks.js:880 -msgid "The Show block is used to display text or images on the canvas." -msgstr "" - -#: js/blocks/MediaBlocks.js:888 -#. TRANS: show1 is show as in display an image or text on the screen. -msgid "show1" -msgstr "" - -#: js/blocks/MediaBlocks.js:891 -msgid "obj" -msgstr "" - -#: js/blocks/MediaBlocks.js:938 -msgid "The Media block is used to import an image." -msgstr "" - -#: js/blocks/MediaBlocks.js:973 -msgid "The Text block holds a text string." -msgstr "" - -#: js/blocks/PenBlocks.js:30 -msgid "purple" -msgstr "" - -#: js/blocks/PenBlocks.js:48 -#: js/blocks/SensorsBlocks.js:521 -#: plugins/rodi.rtp:219 -msgid "blue" -msgstr "" - -#: js/blocks/PenBlocks.js:64 -#: js/blocks/SensorsBlocks.js:577 -#: plugins/rodi.rtp:218 -msgid "green" -msgstr "" - -#: js/blocks/PenBlocks.js:80 -msgid "yellow" -msgstr "" - -#: js/blocks/PenBlocks.js:96 -#: plugins/nutrition.rtp:164 -msgid "orange" -msgstr "橘色" - -#: js/blocks/PenBlocks.js:112 -#: js/blocks/SensorsBlocks.js:633 -#: plugins/rodi.rtp:217 -msgid "red" -msgstr "" - -#: js/blocks/PenBlocks.js:128 -msgid "white" -msgstr "" - -#: js/blocks/PenBlocks.js:144 -msgid "black" -msgstr "" - -#: js/blocks/PenBlocks.js:163 -msgid "begin fill" -msgstr "" - -#: js/blocks/PenBlocks.js:188 -msgid "end fill" -msgstr "停止填滿" - -#: js/blocks/PenBlocks.js:208 -#: js/blocks/PenBlocks.js:537 -#. TRANS: set the background color -msgid "background" -msgstr "" - -#: js/blocks/PenBlocks.js:253 -#: js/turtleactions/DictActions.js:71 -#: js/turtleactions/DictActions.js:138 -#: js/turtleactions/DictActions.js:170 -msgid "grey" -msgstr "" - -#: js/blocks/PenBlocks.js:261 -msgid "The Grey block returns the current pen grey value." -msgstr "" - -#: js/blocks/PenBlocks.js:319 -#: js/turtleactions/DictActions.js:69 -#: js/turtleactions/DictActions.js:136 -#: js/turtleactions/DictActions.js:169 -msgid "shade" -msgstr "形狀" - -#: js/blocks/PenBlocks.js:326 -msgid "The Shade block returns the current pen shade value." -msgstr "" - -#: js/blocks/PenBlocks.js:384 -#: js/turtleactions/DictActions.js:67 -#: js/turtleactions/DictActions.js:134 -#: js/turtleactions/DictActions.js:168 -msgid "color" -msgstr "顏色" - -#: js/blocks/PenBlocks.js:394 -msgid "The Color block returns the current pen color." -msgstr "" - -#: js/blocks/PenBlocks.js:449 -#: js/turtleactions/DictActions.js:73 -#: js/turtleactions/DictActions.js:140 -#: js/turtleactions/DictActions.js:171 -msgid "pen size" -msgstr "畫筆大小" - -#: js/blocks/PenBlocks.js:453 -msgid "The Pen size block returns the current pen size value." -msgstr "" - -#: js/blocks/PenBlocks.js:492 -msgid "set font" -msgstr "" - -#: js/blocks/PenBlocks.js:497 -msgid "The Set font block sets the font used by the Show block." -msgstr "" - -#: js/blocks/PenBlocks.js:544 -msgid "The Background block sets the window background color." -msgstr "" - -#: js/blocks/PenBlocks.js:575 -msgid "The Hollow line block creates a line with a hollow center." -msgstr "" - -#: js/blocks/PenBlocks.js:583 -#. TRANS: draw a line logo has a hollow space down its center -msgid "hollow line" -msgstr "" - -#: js/blocks/PenBlocks.js:652 -msgid "The Fill block fills in a shape with a color." -msgstr "" - -#: js/blocks/PenBlocks.js:661 -#. TRANS: fill in as a solid color -msgid "fill" -msgstr "" - -#: js/blocks/PenBlocks.js:738 -#. TRANS: raise up the pen so logo it does not draw when it is moved -msgid "pen up" -msgstr "提筆" - -#: js/blocks/PenBlocks.js:745 -msgid "The Pen-up block raises the pen so that it does not draw." -msgstr "" - -#: js/blocks/PenBlocks.js:779 -#. TRANS: put down the pen so logo it draws when it is moved -msgid "pen down" -msgstr "落筆" - -#: js/blocks/PenBlocks.js:787 -msgid "The Pen-down block lowers the pen so that it draws." -msgstr "" - -#: js/blocks/PenBlocks.js:821 -#. TRANS: set the width of the line drawn by the pen -msgid "set pen size" -msgstr "設定畫筆大小" - -#: js/blocks/PenBlocks.js:831 -msgid "The Set-pen-size block changes the size of the pen." -msgstr "" - -#: js/blocks/PenBlocks.js:890 -#. TRANS: set degree of translucence of the pen color -msgid "set translucency" -msgstr "" - -#: js/blocks/PenBlocks.js:898 -msgid "The Set translucency block changes the opacity of the pen." -msgstr "" - -#: js/blocks/PenBlocks.js:958 -msgid "set hue" -msgstr "" - -#: js/blocks/PenBlocks.js:966 -msgid "The Set hue block changes the color of the pen." -msgstr "" - -#: js/blocks/PenBlocks.js:1024 -msgid "set shade" -msgstr "設定填滿顏色" - -#: js/blocks/PenBlocks.js:1034 -msgid "The Set-shade block changes the pen color from dark to light." -msgstr "" - -#: js/blocks/PenBlocks.js:1088 -#. TRANS: set the level of vividness of the pen color -msgid "set grey" -msgstr "" - -#: js/blocks/PenBlocks.js:1096 -msgid "The Set grey block changes the vividness of the pen color." -msgstr "" - -#: js/blocks/PenBlocks.js:1149 -msgid "set color" -msgstr "設定線條顏色" - -#: js/blocks/PenBlocks.js:1159 -msgid "The Set-color block changes the pen color." -msgstr "" - -#: js/blocks/SensorsBlocks.js:36 -msgid "The Input block prompts for keyboard input." -msgstr "" - -#: js/blocks/SensorsBlocks.js:46 -msgid "input" -msgstr "" - -#: js/blocks/SensorsBlocks.js:64 -msgid "Input a value" -msgstr "" - -#: js/blocks/SensorsBlocks.js:126 -msgid "input value" -msgstr "" - -#: js/blocks/SensorsBlocks.js:131 -msgid "The Input-value block stores the input." -msgstr "" - -#: js/blocks/SensorsBlocks.js:238 -msgid "loudness" -msgstr "音量" - -#: js/blocks/SensorsBlocks.js:245 -msgid "The Loudness block returns the volume detected by the microphone." -msgstr "" - -#: js/blocks/SensorsBlocks.js:300 -msgid "click" -msgstr "" - -#: js/blocks/SensorsBlocks.js:306 -msgid "The Click block triggers an event if a mouse has been clicked." -msgstr "" - -#: js/blocks/SensorsBlocks.js:313 -msgid "The Click block triggers an event if a turtle has been clicked." -msgstr "" - -#: js/blocks/SensorsBlocks.js:342 -msgid "cursor over" -msgstr "" - -#: js/blocks/SensorsBlocks.js:387 -msgid "cursor out" -msgstr "" - -#: js/blocks/SensorsBlocks.js:433 -msgid "cursor button down" -msgstr "" - -#: js/blocks/SensorsBlocks.js:477 -msgid "cursor button up" -msgstr "" - -#: js/blocks/SensorsBlocks.js:638 -msgid "The Get red block returns the red component of the pixel under the mouse." -msgstr "" - -#: js/blocks/SensorsBlocks.js:644 -msgid "The Get red block returns the red component of the pixel under the turtle." -msgstr "" - -#: js/blocks/SensorsBlocks.js:685 -#: plugins/rodi.rtp:216 -msgid "pixel color" -msgstr "" - -#: js/blocks/SensorsBlocks.js:690 -msgid "The Get pixel block returns the color of the pixel under the mouse." -msgstr "" - -#: js/blocks/SensorsBlocks.js:696 -msgid "The Get pixel block returns the color of the pixel under the turtle." -msgstr "" - -#: js/blocks/SensorsBlocks.js:759 -msgid "time" -msgstr "時間" - -#: js/blocks/SensorsBlocks.js:805 -msgid "cursor y" -msgstr "" - -#: js/blocks/SensorsBlocks.js:810 -msgid "The Cursor Y block returns the vertical position of the mouse." -msgstr "" - -#: js/blocks/SensorsBlocks.js:846 -msgid "cursor x" -msgstr "" - -#: js/blocks/SensorsBlocks.js:851 -msgid "The Cursor X block returns the horizontal position of the mouse." -msgstr "" - -#: js/blocks/SensorsBlocks.js:887 -msgid "mouse button" -msgstr "" - -#: js/blocks/SensorsBlocks.js:889 -msgid "The Mouse-button block returns True if the mouse button is pressed." -msgstr "" - -#: js/blocks/SensorsBlocks.js:935 -msgid "to ASCII" -msgstr "" - -#: js/blocks/SensorsBlocks.js:939 -msgid "The To ASCII block converts numbers to letters." -msgstr "" - -#: js/blocks/SensorsBlocks.js:1006 -msgid "The Keyboard block returns computer keyboard input." -msgstr "" - -#: js/blocks/WidgetBlocks.js:81 -#: js/widgets/timbre.js:834 -#. TRANS: sound envelope (ADSR) -msgid "Envelope" -msgstr "" - -#: js/blocks/WidgetBlocks.js:89 -#. TRANS: Attack time is the time taken for initial run-up of level from nil to peak, beginning when the key is first pressed. -msgid "attack" -msgstr "" - -#: js/blocks/WidgetBlocks.js:91 -#. TRANS: Decay time is the time taken for the subsequent run down from the attack level to the designated sustain level. -msgid "decay" -msgstr "" - -#: js/blocks/WidgetBlocks.js:93 -#. TRANS: Sustain level is the level during the main sequence of the sound's duration, until the key is released. -msgid "sustain" -msgstr "" - -#: js/blocks/WidgetBlocks.js:95 -#. TRANS: Release time is the time taken for the level to decay from the sustain level to zero after the key is released. -msgid "release" -msgstr "" - -#: js/blocks/WidgetBlocks.js:113 -msgid "Attack value should be from 0 to 100." -msgstr "" - -#: js/blocks/WidgetBlocks.js:116 -msgid "Decay value should be from 0 to 100." -msgstr "" - -#: js/blocks/WidgetBlocks.js:119 -msgid "Sustain value should be from 0 to 100." -msgstr "" - -#: js/blocks/WidgetBlocks.js:122 -msgid "Release value should be from 0-100." -msgstr "" - -#: js/blocks/WidgetBlocks.js:140 -msgid "You are adding multiple envelope blocks." -msgstr "" - -#: js/blocks/WidgetBlocks.js:171 -#: js/widgets/timbre.js:898 -#. TRANS: a filter removes some unwanted components from a signal -msgid "Filter" -msgstr "" - -#: js/blocks/WidgetBlocks.js:181 -#: js/widgets/timbre.js:1810 -#. TRANS: rolloff is the steepness of a change in frequency. -msgid "rolloff" -msgstr "" - -#: js/blocks/WidgetBlocks.js:213 -#. TRANS: rolloff is the steepness of a change in frequency. -msgid "Rolloff value should be either -12, -24, -48, or -96 decibels/octave." -msgstr "" - -#: js/blocks/WidgetBlocks.js:252 -msgid "The Temperament tool is used to define custom tuning." -msgstr "" - -#: js/blocks/WidgetBlocks.js:332 -#: js/blocks/WidgetBlocks.js:1574 -#: js/widgets/sampler.js:501 -msgid "Upload a sample and adjust its pitch center." -msgstr "" - -#: js/blocks/WidgetBlocks.js:339 -#. TRANS: the speed at music is should be played. -msgid "sampler" -msgstr "" - -#: js/blocks/WidgetBlocks.js:517 -msgid "The Meter block opens a tool to select strong beats for the meter." -msgstr "" - -#: js/blocks/WidgetBlocks.js:573 -msgid "The oscilloscope block opens a tool to visualize waveforms." -msgstr "" - -#: js/blocks/WidgetBlocks.js:578 -msgid "oscilloscope" -msgstr "" - -#: js/blocks/WidgetBlocks.js:645 -msgid "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale)." -msgstr "" - -#: js/blocks/WidgetBlocks.js:651 -#. TRANS: musical mode is the pattern of half-steps in an octave, e.g., Major or Minor modes -msgid "custom mode" -msgstr "" - -#: js/blocks/WidgetBlocks.js:700 -msgid "The Tempo block opens a metronome to visualize the beat." -msgstr "" - -#: js/blocks/WidgetBlocks.js:762 -msgid "The Arpeggio Widget is used to compose chord sequences." -msgstr "" - -#: js/blocks/WidgetBlocks.js:837 -msgid "The Pitch drum matrix is used to map pitches to drum sounds." -msgstr "" - -#: js/blocks/WidgetBlocks.js:842 -#. TRANS: makes a mapping between pitches and drum sounds -msgid "pitch-drum mapper" -msgstr "" - -#: js/blocks/WidgetBlocks.js:891 -msgid "You must have at least one pitch block and one drum block in the matrix." -msgstr "" - -#: js/blocks/WidgetBlocks.js:920 -msgid "The Pitch slider tool to is used to generate pitches at selected frequencies." -msgstr "" - -#: js/blocks/WidgetBlocks.js:925 -#. TRANS: widget to generate pitches using a slider -msgid "pitch slider" -msgstr "" - -#: js/blocks/WidgetBlocks.js:977 -msgid "chromatic keyboard" -msgstr "" - -#: js/blocks/WidgetBlocks.js:1011 -#: js/blocks/WidgetBlocks.js:1077 -#. TRANS: widget to generate pitches using a slider -msgid "music keyboard" -msgstr "" - -#: js/blocks/WidgetBlocks.js:1062 -#: js/blocks/WidgetBlocks.js:1069 -msgid "The Music keyboard block opens a piano keyboard that can be used to create notes." -msgstr "" - -#: js/blocks/WidgetBlocks.js:1128 -msgid "The Pitch staircase tool to is used to generate pitches from a given ratio." -msgstr "" - -#: js/blocks/WidgetBlocks.js:1135 -#. TRANS: generate a progressive sequence of pitches -msgid "pitch staircase" -msgstr "" - -#: js/blocks/WidgetBlocks.js:1222 -msgid "The Rhythm Maker block opens a tool to create drum machines." -msgstr "" - -#: js/blocks/WidgetBlocks.js:1291 -msgid "G major scale" -msgstr "" - -#: js/blocks/WidgetBlocks.js:1326 -msgid "C major scale" -msgstr "" - -#: js/blocks/WidgetBlocks.js:1366 -msgid "The Phrase Maker block opens a tool to create musical phrases." -msgstr "" - -#: js/blocks/WidgetBlocks.js:1373 -#. TRANS: assigns pitch to a sequence of beats to generate a melody -msgid "phrase maker" -msgstr "" - -#: js/blocks/WidgetBlocks.js:1445 -msgid "You must have at least one pitch block and one rhythm block in the matrix." -msgstr "" - -#: js/blocks/WidgetBlocks.js:1504 -msgid "The Status block opens a tool for inspecting the status of Music Blocks as it is running." -msgstr "" - -#: js/blocks/WidgetBlocks.js:1581 -#: js/widgets/aiwidget.js:699 -#. TRANS: AI-generated music -msgid "AI Music" -msgstr "" - -#: js/blocks/VolumeBlocks.js:35 -msgid "synth volume" -msgstr "" - -#: js/blocks/VolumeBlocks.js:39 -msgid "The Synth volume block returns the current volume of the current synthesizer." -msgstr "" - -#: js/blocks/VolumeBlocks.js:105 -msgid "master volume" -msgstr "" - -#: js/blocks/VolumeBlocks.js:109 -msgid "The Master volume block returns the master volume." -msgstr "" - -#: js/blocks/VolumeBlocks.js:355 -#: js/blocks/VolumeBlocks.js:524 -msgid "set synth volume" -msgstr "" - -#: js/blocks/VolumeBlocks.js:362 -#: js/blocks/VolumeBlocks.js:545 -msgid "synth" -msgstr "" - -#: js/blocks/VolumeBlocks.js:403 -#: js/blocks/VolumeBlocks.js:577 -#: js/blocks/VolumeBlocks.js:740 -#: js/turtleactions/VolumeActions.js:173 -msgid "Setting volume to 0." -msgstr "" - -#: js/blocks/VolumeBlocks.js:440 -msgid "Synth not found" -msgstr "" - -#: js/blocks/VolumeBlocks.js:494 -msgid "set drum volume" -msgstr "" - -#: js/blocks/VolumeBlocks.js:530 -msgid "The Set synth volume block will change the volume of a particular synth," -msgstr "" - -#: js/blocks/VolumeBlocks.js:532 -msgid "eg guitar violin snare drum etc." -msgstr "" - -#: js/blocks/VolumeBlocks.js:534 -msgid "The default volume is 50." -msgstr "" - -#: js/blocks/VolumeBlocks.js:536 -msgid "The range is 0 for silence to 100 for full volume." -msgstr "" - -#: js/blocks/VolumeBlocks.js:597 -msgid "set panning" -msgstr "" - -#: js/blocks/VolumeBlocks.js:603 -msgid "The Set Panning block sets the panning for all synthesizers." -msgstr "" - -#: js/blocks/VolumeBlocks.js:625 -msgid "Warning: Sound is coming out from only the left or right side." -msgstr "" - -#: js/blocks/VolumeBlocks.js:647 -#: js/blocks/VolumeBlocks.js:695 -msgid "set master volume" -msgstr "" - -#: js/blocks/VolumeBlocks.js:653 -msgid "The Set master volume block sets the volume for all synthesizers." -msgstr "" - -#: js/blocks/VolumeBlocks.js:784 -msgid "The Set relative volume block changes the volume of the contained notes." -msgstr "" - -#: js/blocks/VolumeBlocks.js:791 -msgid "set relative volume" -msgstr "" - -#: js/blocks/VolumeBlocks.js:857 -msgid "decrescendo" -msgstr "" - -#: js/blocks/VolumeBlocks.js:921 -msgid "crescendo" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "one" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "two" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "three" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "four" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "five" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "six" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "seven" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "eight" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:113 -msgid "nine" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:120 -#: js/turtleactions/IntervalsActions.js:140 -msgid "below" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:124 -msgid "above" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:131 -msgid "plus" -msgstr "" - -#: js/turtleactions/IntervalsActions.js:258 -msgid "Adding missing pitch number 0." -msgstr "" - -#: js/turtleactions/IntervalsActions.js:266 -msgid "Ignoring pitch numbers less than zero or greater than eleven." -msgstr "" - -#: js/turtleactions/IntervalsActions.js:272 -msgid "Ignoring duplicate pitch numbers." -msgstr "" - -#: js/turtleactions/DictActions.js:75 -#: js/turtleactions/DictActions.js:142 -#: js/turtleactions/DictActions.js:172 -msgid "font" -msgstr "" - -#: js/turtleactions/DictActions.js:255 -msgid "Dictionary with this name does not exist" -msgstr "" - -#: js/turtleactions/DictActions.js:259 -msgid "Key with this name does not exist in " -msgstr "" - -#: js/turtleactions/DrumActions.js:227 -msgid "Noise Block: Did you mean to use a Note block?" -msgstr "" - -#: js/turtleactions/ToneActions.js:134 -msgid "Vibrato intensity must be between 1 and 100." -msgstr "震音强度必须在1和100之间" - -#: js/turtleactions/ToneActions.js:139 -msgid "Vibrato rate must be greater than 0." -msgstr "震音率必须大于0" - -#: js/turtleactions/ToneActions.js:192 -#: js/turtleactions/ToneActions.js:265 -#. TRANS: Depth is the intesity of the tremolo or chorus effect. -msgid "Depth is out of range." -msgstr "" - -#: js/turtleactions/ToneActions.js:301 -msgid "Distortion must be from 0 to 100." -msgstr "" - -#: js/turtleactions/ToneActions.js:332 -#. TRANS: partials components in a harmonic series -msgid "Partial must be greater than or equal to 0." -msgstr "" - -#: js/turtleactions/ToneActions.js:378 -#: js/turtleactions/ToneActions.js:417 -#: js/turtleactions/ToneActions.js:456 -#: js/widgets/timbre.js:776 -msgid "Unable to use synth due to existing oscillator" -msgstr "" - -#: js/turtleactions/ToneActions.js:388 -#: js/turtleactions/ToneActions.js:427 -msgid "The input cannot be negative." -msgstr "" - -#: js/turtleactions/MeterActions.js:101 -#: js/turtleactions/MeterActions.js:139 -msgid "beats per minute must be greater than" -msgstr "" - -#: js/turtleactions/MeterActions.js:111 -#: js/turtleactions/MeterActions.js:149 -msgid "maximum" -msgstr "" - -#: js/turtleactions/MeterActions.js:117 -#: js/turtleactions/MeterActions.js:155 -msgid "beats per minute is" -msgstr "" - -#: js/widgets/help.js:95 -#: js/widgets/help.js:125 -#: js/widgets/help.js:146 -#: js/widgets/help.js:158 -#: js/widgets/help.js:378 -#: js/widgets/help.js:393 -msgid "Take a tour" -msgstr "" - -#: js/widgets/aiwidget.js:135 -#: js/widgets/aiwidget.js:136 -#: js/widgets/rhythmruler.js:679 -#: js/widgets/rhythmruler.js:680 -#: js/widgets/rhythmruler.js:1856 -#: js/widgets/rhythmruler.js:1857 -#: js/widgets/sampler.js:180 -#: js/widgets/sampler.js:181 -#: js/widgets/tempo.js:78 -#: js/widgets/tempo.js:97 -#: js/widgets/tempo.js:98 -msgid "Pause" -msgstr "" - -#: js/widgets/aiwidget.js:179 -#: js/widgets/sampler.js:225 -msgid "Warning: Sample is bigger than 1MB." -msgstr "" - -#: js/widgets/aiwidget.js:538 -msgid "New start block generated" -msgstr "" - -#: js/widgets/aiwidget.js:540 -msgid "MIDI loading. This may take some time depending upon the number of notes in the track" -msgstr "" - -#: js/widgets/aiwidget.js:550 -#: js/widgets/sampler.js:252 -msgid "Upload failed: Sample is not a .wav file." -msgstr "" - -#: js/widgets/aiwidget.js:677 -#: js/widgets/sampler.js:430 -msgid "Save sample" -msgstr "" - -#: js/widgets/arpeggio.js:241 -msgid "Click in the grid to add steps to the arpeggio." -msgstr "" - -#: js/widgets/meterwidget.js:195 -#: js/widgets/meterwidget.js:196 -#: js/widgets/modewidget.js:87 -#: js/widgets/modewidget.js:88 -#: js/widgets/modewidget.js:639 -#: js/widgets/modewidget.js:640 -#: js/widgets/modewidget.js:708 -#: js/widgets/modewidget.js:709 -#: js/widgets/rhythmruler.js:457 -#: js/widgets/rhythmruler.js:1784 -#: js/widgets/rhythmruler.js:1785 -#: js/widgets/rhythmruler.js:1809 -#: js/widgets/rhythmruler.js:1810 -#: js/widgets/temperament.js:2165 -msgid "Play all" -msgstr "" - -#: js/widgets/meterwidget.js:269 -msgid "Reset" -msgstr "" - -#: js/widgets/meterwidget.js:295 -msgid "Click in the circle to select strong beats for the meter." -msgstr "" - -#: js/widgets/modewidget.js:125 -msgid "Rotate counter clockwise" -msgstr "" - -#: js/widgets/modewidget.js:131 -msgid "Rotate clockwise" -msgstr "" - -#: js/widgets/modewidget.js:143 -#: js/widgets/pitchstaircase.js:676 -#: js/widgets/rhythmruler.js:578 -#: js/widgets/timbre.js:957 -msgid "Undo" -msgstr "" - -#: js/widgets/modewidget.js:161 -#. TRANS: A circle of notes represents the musical mode. -msgid "Click in the circle to select notes for the mode." -msgstr "" - -#: js/widgets/modewidget.js:1011 -#: js/widgets/musickeyboard.js:3210 -#: js/widgets/pitchstaircase.js:578 -#: js/widgets/rhythmruler.js:2244 -#: js/widgets/rhythmruler.js:2462 -#: js/widgets/temperament.js:1862 -#: js/widgets/tempo.js:412 -#: js/widgets/phrasemaker.js:5467 -msgid "New action block generated." -msgstr "" - -#: js/widgets/musickeyboard.js:743 -#: js/widgets/phrasemaker.js:595 -msgid "Add note" -msgstr "" - -#: js/widgets/musickeyboard.js:762 -msgid "Metronome" -msgstr "" - -#: js/widgets/musickeyboard.js:1574 -msgid "Note value" -msgstr "" - -#: js/widgets/musickeyboard.js:3209 -msgid "New action blocks generated." -msgstr "" - -#: js/widgets/musickeyboard.js:3393 -#: js/widgets/musickeyboard.js:3401 -msgid "MIDI device present." -msgstr "" - -#: js/widgets/musickeyboard.js:3404 -msgid "No MIDI device found." -msgstr "" - -#: js/widgets/musickeyboard.js:3414 -msgid "Failed to get MIDI access in browser." -msgstr "" - -#: js/widgets/pitchdrummatrix.js:356 -#: js/widgets/pitchdrummatrix.js:741 -msgid "Click in the grid to map notes to drums." -msgstr "" - -#: js/widgets/pitchslider.js:103 -msgid "Move up" -msgstr "" - -#: js/widgets/pitchslider.js:114 -msgid "Move down" -msgstr "" - -#: js/widgets/pitchslider.js:136 -msgid "Click on the slider to create a note block." -msgstr "" - -#: js/widgets/pitchstaircase.js:622 -msgid "Play chord" -msgstr "" - -#: js/widgets/pitchstaircase.js:630 -msgid "Play scale" -msgstr "" - -#: js/widgets/pitchstaircase.js:694 -msgid "Click on a note to create a new step." -msgstr "" - -#: js/widgets/rhythmruler.js:486 -msgid "Save rhythms" -msgstr "" - -#: js/widgets/rhythmruler.js:512 -msgid "Save drum machine" -msgstr "" - -#: js/widgets/rhythmruler.js:589 -#. TRANS: user can tap out a rhythm by clicking on a ruler. -msgid "Tap a rhythm" -msgstr "" - -#: js/widgets/rhythmruler.js:813 -msgid "Click on the ruler to divide it." -msgstr "" - -#: js/widgets/rhythmruler.js:947 -#: js/widgets/rhythmruler.js:948 -#: js/widgets/rhythmruler.js:1148 -#: js/widgets/rhythmruler.js:1149 -#: js/widgets/rhythmruler.js:1760 -#: js/widgets/rhythmruler.js:1761 -msgid "tap a rhythm" -msgstr "" - -#: js/widgets/rhythmruler.js:1453 -msgid "Maximum value of 256 has been exceeded." -msgstr "" - -#: js/widgets/sampler.js:235 -msgid "Recording started" -msgstr "" - -#: js/widgets/sampler.js:243 -msgid "Recording complete" -msgstr "" - -#: js/widgets/sampler.js:281 -msgid "A new sample block was generated." -msgstr "" - -#: js/widgets/sampler.js:376 -msgid "Upload sample" -msgstr "" - -#: js/widgets/sampler.js:397 -msgid "Warning: Your sample cannot be loaded because it is >1MB." -msgstr "" - -#: js/widgets/sampler.js:446 -msgid "Toggle Mic" -msgstr "" - -#: js/widgets/sampler.js:453 -msgid "Playback" -msgstr "" - -#: js/widgets/sampler.js:933 -#. TRANS: The reference tone is a sound used for comparison. -msgid "reference tone" -msgstr "" - -#: js/widgets/temperament.js:319 -msgid "back to 2:1 octave space" -msgstr "" - -#: js/widgets/temperament.js:445 -msgid "edit" -msgstr "" - -#: js/widgets/temperament.js:525 -#: js/widgets/temperament.js:840 -#: js/widgets/temperament.js:844 -#: js/widgets/temperament.js:945 -#: js/widgets/temperament.js:1034 -#: js/widgets/temperament.js:1038 -#: js/widgets/temperament.js:1110 -#: js/widgets/temperament.js:1379 -#: js/widgets/temperament.js:1448 -#: js/widgets/temperament.js:1529 -msgid "done" -msgstr "" - -#: js/widgets/temperament.js:582 -#: js/widgets/temperament.js:587 -#: js/widgets/temperament.js:1021 -msgid "ratio" -msgstr "" - -#: js/widgets/temperament.js:588 -msgid "interval" -msgstr "" - -#: js/widgets/temperament.js:716 -msgid "non scalar" -msgstr "" - -#: js/widgets/temperament.js:757 -msgid "ratios" -msgstr "" - -#: js/widgets/temperament.js:757 -msgid "arbitrary" -msgstr "" - -#: js/widgets/temperament.js:828 -msgid "number of divisions" -msgstr "" - -#: js/widgets/temperament.js:843 -#: js/widgets/temperament.js:958 -#: js/widgets/temperament.js:1037 -#: js/widgets/temperament.js:1128 -msgid "preview" -msgstr "" - -#: js/widgets/temperament.js:888 -msgid "The Number of divisions is too large." -msgstr "" - -#: js/widgets/temperament.js:1023 -msgid "recursion" -msgstr "" - -#: js/widgets/temperament.js:1549 -msgid "The octave ratio has changed. This changes temperament significantly." -msgstr "" - -#: js/widgets/temperament.js:2177 -msgid "Table" -msgstr "" - -#: js/widgets/temperament.js:2285 -msgid "Add pitches" -msgstr "" - -#: js/widgets/tempo.js:111 -msgid "Save tempo" -msgstr "" - -#: js/widgets/tempo.js:142 -msgid "speed up" -msgstr "" - -#: js/widgets/tempo.js:148 -msgid "slow down" -msgstr "" - -#: js/widgets/tempo.js:192 -msgid "Adjust the tempo with the buttons." -msgstr "" - -#: js/widgets/tempo.js:259 -msgid "Please enter a number between 30 and 1000" -msgstr "" - -#: js/widgets/tempo.js:266 -#: js/widgets/tempo.js:269 -msgid "The beats per minute must be between 30 and 1000." -msgstr "" - -#: js/widgets/tempo.js:285 -msgid "The beats per minute must be below 1000." -msgstr "" - -#: js/widgets/tempo.js:301 -msgid "The beats per minute must be above 30" -msgstr "" - -#: js/widgets/timbre.js:760 -msgid "Synthesizer" -msgstr "" - -#: js/widgets/timbre.js:880 -#: planet/js/GlobalTag.js:50 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Effects" -msgstr "" - -#: js/widgets/timbre.js:940 -msgid "Add filter" -msgstr "" - -#: js/widgets/timbre.js:981 -msgid "Click on buttons to open the timbre design tools." -msgstr "" - -#: js/widgets/timbre.js:1265 -msgid "harmonicity" -msgstr "" - -#: js/widgets/timbre.js:1332 -#: js/widgets/timbre.js:1398 -msgid "modulation index" -msgstr "" - -#: js/widgets/timbre.js:1476 -msgid "vibrato amount" -msgstr "" - -#: js/widgets/timbre.js:1911 -msgid "Filter already present." -msgstr "" - -#: js/widgets/timbre.js:2495 -msgid "distortion amount" -msgstr "" - -#: js/widgets/oscilloscope.js:79 -msgid "Zoom In" -msgstr "" - -#: js/widgets/oscilloscope.js:88 -msgid "Zoom Out" -msgstr "" - -#: js/widgets/phrasemaker.js:585 -msgid "Export" -msgstr "" - -#: js/widgets/phrasemaker.js:592 -msgid "Sort" -msgstr "" - -#: js/widgets/phrasemaker.js:1061 -msgid "Click on the table to add notes." -msgstr "" - -#: js/widgets/phrasemaker.js:2755 -#: js/widgets/phrasemaker.js:2891 -msgid "tuplet value" -msgstr "" - -#: planet/js/GlobalCard.js:68 -msgid "Share" -msgstr "" - -#: planet/js/GlobalCard.js:74 -msgid "Flags" -msgstr "" - -#: planet/js/GlobalPlanet.js:35 -msgid "No results found." -msgstr "" - -#: planet/js/GlobalPlanet.js:51 -msgid "Remix of" -msgstr "" - -#: planet/js/GlobalPlanet.js:509 -msgid "Cannot connect to server" -msgstr "" - -#: planet/js/GlobalTag.js:28 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "All Projects" -msgstr "" - -#: planet/js/GlobalTag.js:30 -#: planet/js/StringHelper.js:37 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "My Projects" -msgstr "" - -#: planet/js/GlobalTag.js:32 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Examples" -msgstr "" - -#: planet/js/GlobalTag.js:36 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Art" -msgstr "" - -#: planet/js/GlobalTag.js:38 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Math" -msgstr "" - -#: planet/js/GlobalTag.js:40 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Interactive" -msgstr "" - -#: planet/js/GlobalTag.js:42 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Design" -msgstr "" - -#: planet/js/GlobalTag.js:44 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Game" -msgstr "" - -#: planet/js/GlobalTag.js:52 -#. TRANS: On the Planet, we use labels to tag projects. -msgid "Code Snippet" -msgstr "" - -#: planet/js/LocalCard.js:36 -msgid "View published project" -msgstr "" - -#: planet/js/LocalCard.js:42 -#: planet/js/StringHelper.js:38 -msgid "Publish project" -msgstr "" - -#: planet/js/LocalCard.js:51 -msgid "Edit project" -msgstr "" - -#: planet/js/LocalCard.js:52 -msgid "Delete project" -msgstr "" - -#: planet/js/LocalCard.js:53 -msgid "Download project" -msgstr "" - -#: planet/js/LocalCard.js:55 -msgid "Duplicate project" -msgstr "" - -#: planet/js/ProjectStorage.js:243 -msgid "anonymous" -msgstr "" - -#: planet/js/ProjectViewer.js:30 -msgid "Error: Report could not be submitted. Try again later." -msgstr "" - -#: planet/js/ProjectViewer.js:31 -msgid "Thank you for reporting this project. A moderator will review the project shortly, to verify violation of the Sugar Labs Code of Conduct." -msgstr "" - -#: planet/js/ProjectViewer.js:32 -#: planet/js/StringHelper.js:62 -#: planet/js/StringHelper.js:64 -#: planet/js/StringHelper.js:68 -msgid "Report Project" -msgstr "" - -#: planet/js/ProjectViewer.js:33 -#: planet/js/StringHelper.js:63 -msgid "Project Reported" -msgstr "" - -#: planet/js/ProjectViewer.js:34 -msgid "Report description required" -msgstr "" - -#: planet/js/ProjectViewer.js:35 -msgid "Report description too long" -msgstr "" - -#: planet/js/Publisher.js:30 -msgid "Feature unavailable - cannot connect to server. Reload Music Blocks to try again." -msgstr "" - -#: planet/js/Publisher.js:220 -#: planet/js/Publisher.js:237 -msgid "This field is required" -msgstr "" - -#: planet/js/Publisher.js:227 -msgid "Title too long" -msgstr "" - -#: planet/js/Publisher.js:244 -msgid "Description too long" -msgstr "" - -#: planet/js/Publisher.js:341 -msgid "Server Error" -msgstr "" - -#: planet/js/Publisher.js:341 -msgid "Try Again" -msgstr "" - -#: planet/js/SaveInterface.js:34 -msgid "Open in Music Blocks" -msgstr "" - -#: planet/js/SaveInterface.js:35 -msgid "Open in Turtle Blocks" -msgstr "" - -#: planet/js/helper.js:149 -#: planet/js/StringHelper.js:49 -msgid "Show more tags" -msgstr "" - -#: planet/js/helper.js:150 -msgid "Show fewer tags" -msgstr "" - -#: planet/js/StringHelper.js:30 -msgid "Planet" -msgstr "" - -#: planet/js/StringHelper.js:31 -msgid "Close Planet" -msgstr "" - -#: planet/js/StringHelper.js:32 -msgid "Open project from file" -msgstr "" - -#: planet/js/StringHelper.js:34 -msgid "Local" -msgstr "" - -#: planet/js/StringHelper.js:35 -msgid "Global" -msgstr "" - -#: planet/js/StringHelper.js:36 -msgid "Search for a project" -msgstr "" - -#: planet/js/StringHelper.js:40 -msgid "Tags (max 5)" -msgstr "" - -#: planet/js/StringHelper.js:41 -#: planet/js/StringHelper.js:61 -msgid "Description" -msgstr "" - -#: planet/js/StringHelper.js:42 -#: planet/js/StringHelper.js:67 -msgid "Submit" -msgstr "" - -#: planet/js/StringHelper.js:43 -#: planet/js/StringHelper.js:47 -msgid "Cancel" -msgstr "" - -#: planet/js/StringHelper.js:44 -msgid "Delete \\"\\"?" -msgstr "" - -#: planet/js/StringHelper.js:45 -msgid "Permanently delete project \\"\\"?" -msgstr "" - -#: planet/js/StringHelper.js:48 -msgid "Explore Projects" -msgstr "" - -#: planet/js/StringHelper.js:50 -msgid "Most recent" -msgstr "" - -#: planet/js/StringHelper.js:51 -msgid "Most liked" -msgstr "" - -#: planet/js/StringHelper.js:52 -msgid "Most downloaded" -msgstr "" - -#: planet/js/StringHelper.js:53 -msgid "A-Z" -msgstr "" - -#: planet/js/StringHelper.js:54 -msgid "Sort by" -msgstr "" - -#: planet/js/StringHelper.js:55 -msgid "Load More Projects" -msgstr "" - -#: planet/js/StringHelper.js:56 -msgid "Last Updated" -msgstr "" - -#: planet/js/StringHelper.js:57 -msgid "Creation Date" -msgstr "" - -#: planet/js/StringHelper.js:58 -msgid "Number of Downloads:" -msgstr "" - -#: planet/js/StringHelper.js:59 -msgid "Number of Likes:" -msgstr "" - -#: planet/js/StringHelper.js:60 -msgid "Tags:" -msgstr "" - -#: planet/js/StringHelper.js:65 -msgid "Report projects which violate the Sugar Labs Code of Conduct." -msgstr "" - -#: planet/js/StringHelper.js:66 -msgid "Reason for reporting project" -msgstr "" - -#: planet/js/StringHelper.js:70 -msgid "Download as File" -msgstr "" - -#: plugins/accelerometer.rtp:48 -msgid "motion x" -msgstr "" - -#: plugins/accelerometer.rtp:56 -msgid "motion y" -msgstr "" - -#: plugins/accelerometer.rtp:64 -msgid "motion z" -msgstr "" - -#: plugins/facebook.rtp:27 -msgid "publish" -msgstr "" - -#: plugins/maths.rtp:62 -msgid "power" -msgstr "" - -#: plugins/maths.rtp:62 -msgid "base" -msgstr "" - -#: plugins/maths.rtp:62 -msgid "exp" -msgstr "" - -#: plugins/maths.rtp:99 -msgid "floor" -msgstr "" - -#: plugins/maths.rtp:104 -msgid "ceiling" -msgstr "" - -#: plugins/maths.rtp:109 -msgid "to degrees" -msgstr "" - -#: plugins/maths.rtp:114 -msgid "to radians" -msgstr "" - -#: plugins/nutrition.rtp:104 -msgid "get calories" -msgstr "" - -#: plugins/nutrition.rtp:107 -msgid "get protein" -msgstr "" - -#: plugins/nutrition.rtp:110 -msgid "get carbs" -msgstr "" - -#: plugins/nutrition.rtp:113 -msgid "get fiber" -msgstr "" - -#: plugins/nutrition.rtp:116 -msgid "get fat" -msgstr "" - -#: plugins/nutrition.rtp:119 -msgid "get name" -msgstr "" - -#: plugins/nutrition.rtp:122 -msgid "calories" -msgstr "" - -#: plugins/nutrition.rtp:128 -msgid "protein" -msgstr "" - -#: plugins/nutrition.rtp:134 -msgid "carbs" -msgstr "" - -#: plugins/nutrition.rtp:140 -msgid "fiber" -msgstr "" - -#: plugins/nutrition.rtp:146 -msgid "fat" -msgstr "" - -#: plugins/nutrition.rtp:152 -msgid "eat" -msgstr "" - -#: plugins/nutrition.rtp:155 -msgid "digest meal" -msgstr "" - -#: plugins/nutrition.rtp:158 -msgid "apple" -msgstr "" - -#: plugins/nutrition.rtp:161 -msgid "banana" -msgstr "" - -#: plugins/nutrition.rtp:167 -msgid "wheat bread" -msgstr "" - -#: plugins/nutrition.rtp:170 -msgid "corn" -msgstr "" - -#: plugins/nutrition.rtp:173 -msgid "potato" -msgstr "" - -#: plugins/nutrition.rtp:176 -msgid "sweet potato" -msgstr "" - -#: plugins/nutrition.rtp:179 -msgid "tomato" -msgstr "" - -#: plugins/nutrition.rtp:182 -msgid "broccoli" -msgstr "" - -#: plugins/nutrition.rtp:185 -msgid "rice and beans" -msgstr "" - -#: plugins/nutrition.rtp:188 -msgid "tamale" -msgstr "" - -#: plugins/nutrition.rtp:191 -msgid "cheese" -msgstr "" - -#: plugins/nutrition.rtp:194 -msgid "chicken" -msgstr "" - -#: plugins/nutrition.rtp:197 -msgid "fish" -msgstr "" - -#: plugins/nutrition.rtp:200 -msgid "beef" -msgstr "" - -#: plugins/nutrition.rtp:203 -msgid "cake" -msgstr "" - -#: plugins/nutrition.rtp:206 -msgid "cookie" -msgstr "" - -#: plugins/nutrition.rtp:209 -msgid "water" -msgstr "" - -#: plugins/weather.rtp:68 -#: plugins/weather.rtp:97 -msgid "Days ahead must be in the range of -1 to 5." -msgstr "" - -#: plugins/weather.rtp:122 -msgid "forecast" -msgstr "" - -#: plugins/weather.rtp:123 -#: plugins/weather.rtp:137 -#: plugins/weather.rtp:150 -msgid "city" -msgstr "" - -#: plugins/weather.rtp:124 -#: plugins/weather.rtp:138 -#: plugins/weather.rtp:151 -msgid "day" -msgstr "" - -#: plugins/weather.rtp:136 -msgid "high" -msgstr "" - -#: plugins/weather.rtp:149 -msgid "low" -msgstr "" - -#: plugins/rodi.rtp:172 -msgid "blink" -msgstr "" - -#: plugins/rodi.rtp:246 -msgid "led" -msgstr "" - -#: plugins/rodi.rtp:265 -msgid "light intensity" -msgstr "" - -#: plugins/rodi.rtp:282 -msgid "infrared light (left)" -msgstr "" - -#: plugins/rodi.rtp:296 -msgid "infrared light (right)" -msgstr "" - -#: plugins/rodi.rtp:338 -msgid "move" -msgstr "" - -#: js/activity.js:3323 - -#~ msgid "Nothing in the trash to restore." -#~ msgstr "" - -#: js/turtledefs.js:584 - -#~ msgid "Save audio from your project as WAV." -#~ msgstr "" - -#: js/turtledefs.js:588 - -#~ msgid "Save your project to as an ABC file." -#~ msgstr "" - -#: js/turtledefs.js:592 - -#~ msgid "Save your project to as a Lilypond file." -#~ msgstr "" - -#: js/turtledefs.js:620 - -#~ msgid "Show or hide a coordinate grid." -#~ msgstr "" - -#: js/turtledefs.js:649 - -#~ msgid "Expand/collapse collapsable blocks" -#~ msgstr "" - -#: js/turtledefs.js:752 - -#~ msgid "Show these messages." -#~ msgstr "" - -#: js/rubrics.js:531 - -#: js/turtledefs.js:136 - -#: js/turtledefs.js:237 - -#~ msgid "sensors" -#~ msgstr "" - -#: js/rubrics.js:532 - -#: js/turtledefs.js:135 - -#: js/turtledefs.js:236 - -#: js/blocks/MediaBlocks.js:930 - -#~ msgid "media" -#~ msgstr "" - -#: js/block-verbose.js:3837 - -#: js/block-verbose.js:3850 - -#: js/block.js:3758 - -#: js/block.js:3771 - -#: js/blocks/ExtrasBlocks.js:623 - -#~ msgid "Cartesian+polar" -#~ msgstr "" - -#: js/blocks.js:5091 - -#: js/blocks/MediaBlocks.js:888 - -#~ msgid "show" -#~ msgstr "顯示" - -#: js/activity.js:5680 - -#~ msgid "Show/hide block" -#~ msgstr "" - -#: js/palette.js:619 - -#~ msgid "grid" -#~ msgstr "" - -#: js/piemenus.js:3854 - -#~ msgid "You have chosen key " -#~ msgstr "" - -#: js/piemenus.js:3858 - -#~ msgid " for your pitch preview." -#~ msgstr "" - -#: js/toolbar.js:113 - -#: js/toolbar.js:114 - -#: js/toolbar.js:178 - -#: js/toolbar.js:179 - -#: js/toolbar.js:234 - -#: js/toolbar.js:235 - -#~ msgid "Full Screen" -#~ msgstr "" - -#: js/toolbar.js:1060 - -#~ msgid "New Project" -#~ msgstr "" - -#: js/turtledefs.js:185 - -#: js/turtledefs.js:280 - -#~ msgid "music" -#~ msgstr "" - -#: js/turtledefs.js:548 - -#: js/turtledefs.js:569 - -#~ msgid "save" -#~ msgstr "" - -#: js/turtledefs.js:625 - -#: js/turtles.js:953 - -#~ msgid "Clean" -#~ msgstr "清除畫面" - -#: js/turtledefs.js:675 - -#~ msgid "Run slow" -#~ msgstr "" - -#: js/turtles.js:900 - -#~ msgid "Clear Workspace" -#~ msgstr "" - -#: js/turtles.js:905 - -#~ msgid "Are you sure you want to clear the workspace ?" -#~ msgstr "" - -#: js/utils/musicutils.js:1176 - -#~ msgid "meantone" -#~ msgstr "" - -#: js/utils/musicutils.js:1582 - -#~ msgid "Custom" -#~ msgstr "" - -#: js/blocks/ExtrasBlocks.js:274 - -#~ msgid "hide blocks" -#~ msgstr "隱藏區塊" - -#: js/blocks/FlowBlocks.js:136 - -#~ msgid "duplicate" -#~ msgstr "" - -#: js/blocks/FlowBlocks.js:604 - -#: js/widgets/timbre.js:417 - -#: js/widgets/timbre.js:419 - -#: js/widgets/phrasemaker.js:4202 - -#: js/widgets/musickeyboard.js:819 - -#: js/widgets/musickeyboard.js:821 - -#: plugins/rodi.rtp:29 - -#: plugins/rodi.rtp:73 - -#: plugins/rodi.rtp:413 - -#~ msgid "stop" -#~ msgstr "停止" - -#: js/blocks/MediaBlocks.js:692 - -#~ msgid "duration (ms)" -#~ msgstr "" - -#: js/blocks/GraphicsBlocks.js:373 - -#: js/widgets/temperament.js:319 - -#: js/widgets/temperament.js:347 - -#~ msgid "clear" -#~ msgstr "" - -#: js/blocks/PitchBlocks.js:929 - -#~ msgid "invert" -#~ msgstr "" - -#: js/blocks/PitchBlocks.js:1706 - -#~ msgid "n^th Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode," -#~ msgstr "" - -#: js/blocks/PitchBlocks.js:1749 - -#~ msgid "N^th Modal Pitch takes a number as an input as the n^th degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc." -#~ msgstr "" - -#: js/blocks/ToneBlocks.js:34 - -#~ msgid "oscillator" -#~ msgstr "" - -#: js/blocks/ToneBlocks.js:630 - -#~ msgid "delay" -#~ msgstr "" - -#: js/blocks/WidgetBlocks.js:81 - -#~ msgid "envelope" -#~ msgstr "" - -#: js/blocks/WidgetBlocks.js:171 - -#~ msgid "filter" -#~ msgstr "" - -#: js/blocks/WidgetBlocks.js:1580 - -#~ msgid "aimusic" -#~ msgstr "" - -#: js/turtleactions/IntervalsActions.js:119 - -#~ msgid "a" -#~ msgstr "" - -#: js/turtleactions/IntervalsActions.js:139 - -#~ msgid " below" -#~ msgstr "" - -#: js/widgets/modewidget.js:1017 - -#: js/widgets/pitchstaircase.js:580 - -#: js/widgets/tempo.js:414 - -#: js/widgets/phrasemaker.js:5356 - -#: js/widgets/rhythmruler.js:2254 - -#: js/widgets/rhythmruler.js:2472 - -#: js/widgets/temperament.js:1929 - -#~ msgid "New action block generated!" -#~ msgstr "" - -#: js/widgets/sampler.js:237 - -#~ msgid "Recording started..." -#~ msgstr "" - -#: js/widgets/sampler.js:245 - -#~ msgid "Recording complete..." -#~ msgstr "" - -#: js/widgets/musickeyboard.js:1549 - -#: plugins/rodi.rtp:193 - -#~ msgid "duration" -#~ msgstr "時間長度" - -#: js/widgets/temperament.js:454 - -#: js/widgets/temperament.js:456 - -#: js/widgets/temperament.js:1493 - -#: js/widgets/temperament.js:1495 - -#~ msgid "close" -#~ msgstr "" - -#: planet/js/StringHelper.js:38 - -#~ msgid "Publish Project" -#~ msgstr "" - -#: plugins/rodi.rtp:191 - -#~ msgid "play" -#~ msgstr "" - -#: js/notation.js:353 - -#~ msgid "Lilypond cannot process pickup of " -#~ msgstr "" - -#: js/activity.js:1413 - -#~ msgid "Refresh your browser to change to advanced mode." -#~ msgstr "" - -#: js/activity.js:1418 - -#~ msgid "Refresh your browser to change to beginner mode." -#~ msgstr "" - -#: js/widgets/musickeyboard.js:3179 - -#~ msgid "New action blocks generated" -#~ msgstr "" - -#: js/widgets/musickeyboard.js:3180 - -#~ msgid "New action block generated" -#~ msgstr "" - -#: js/toolbar.js:70 - -#: js/toolbar.js:130 - -#: js/toolbar.js:194 - -#: js/toolbar.js:249 - -#~ msgid "Toggle JavaScript Editor" -#~ msgstr "" - -#: js/EnsembleBlocks.js:643 - -#~ msgid "The Turrle pitch block returns the current pitch number being played by the specified turtle." -#~ msgstr "" - -#: js/PitchActions.js:88 - -#~ msgid "The Scalar Step Block must be used inside of a Note Block." -#~ msgstr "" - -#: js/PitchActions.js:107 - -#~ msgid "The Scalar Step Block must be preceded by a Pitch Block." -#~ msgstr "" - -#: js/musickeyboard.js:2840 - -#~ msgid "New action blocks generated!" -#~ msgstr "" - -#: js/toolbar.js:110 - -#: js/toolbar.js:204 - -#~ msgid "FullScreen" -#~ msgstr "" - -#: js/turtledefs.js:506 - -#~ msgid "Toggle full screen mode." -#~ msgstr "" - -#: js/RhythmBlockPaletteBlocks.js:386 - -#~ msgid "The Tuplet block is used to generate a group of notes played in a condensed amount of time." -#~ msgstr "" - -#: js/RhythmBlockPaletteBlocks.js:601 - -#~ msgid "Using tuplets makes it easy to create groups of notes that are not based on a power of 2." -#~ msgstr "" - -#: js/IntervalsBlocks.js:43 - -#~ msgid "The Set temperament block is used to choose the tuning system used by Music Blocks." -#~ msgstr "" - -#: js/IntervalsBlocks.js:175 - -#~ msgid "The Interval number block returns the number of scalar steps in the current interval." -#~ msgstr "" - -#: js/IntervalsBlocks.js:203 - -#~ msgid "The Semi-tone interval block measures the distance between two notes in semi-tones." -#~ msgstr "" - -#: js/IntervalsBlocks.js:484 - -#~ msgid "The Semi-tone interval block calculates a relative interval based on half steps." -#~ msgstr "" - -#: js/IntervalsBlocks.js:522 - -#~ msgid "The Arpeggio block will run each note block multiple times, adding a transposition based on the specified chord." -#~ msgstr "" - -#: js/IntervalsBlocks.js:811 - -#~ msgid "The Scalar interval block calculates a relative interval based on the current mode, skipping all notes outside of the mode." -#~ msgstr "" - -#: js/IntervalsBlocks.js:845 - -#~ msgid "The Define mode block allows you define a custom mode by specifiying pitch numbers." -#~ msgstr "" - -#: js/IntervalsBlocks.js:894 - -#~ msgid "When Movable do is false, the solfege note names are always tied to specific pitches," -#~ msgstr "" - -#: js/IntervalsBlocks.js:896 - -#~ msgid "eg \"do\" is always \"C-natural\" when Movable do is true, the solfege note names are assigned to scale degrees \"do\" is always the first degree of the major scale." -#~ msgstr "" - -#: js/ActionBlocks.js:750 - -#~ msgid "The Action block is used to group together blocks so that they can be used more than once." -#~ msgstr "" - -#: js/BooleanBlocks.js:188 - -#~ msgid "The Greater-than block returns True if the top number is greater than the bottom number." -#~ msgstr "" - -#: js/BooleanBlocks.js:237 - -#~ msgid "The Less-than block returns True if the top number is less than the bottom number." -#~ msgstr "" - -#: js/MediaBlocks.js:34 - -#: js/MediaBlocks.js:72 - -#~ msgid "In this example, the mouse moves right until it reaches the right edge of the canvas; then it reappears at the left of the canvas." -#~ msgstr "" - -#: js/MediaBlocks.js:43 - -#: js/MediaBlocks.js:81 - -#~ msgid "In this example, the turtle moves right until it reaches the right edge of the canvas; then it reappears at the left of the canvas." -#~ msgstr "" - -#: js/MediaBlocks.js:112 - -#: js/MediaBlocks.js:150 - -#~ msgid "In this example, the mouse moves upward until it reaches the top edge of the canvas; then it reappears at the bottom of the canvas." -#~ msgstr "" - -#: js/MediaBlocks.js:121 - -#: js/MediaBlocks.js:159 - -#~ msgid "In this example, the turtle moves upward until it reaches the top edge of the canvas; then it reappears at the bottom of the canvas." -#~ msgstr "" - -#: js/MediaBlocks.js:579 - -#~ msgid "video material" -#~ msgstr "" - -#: js/ProgramBlocks.js:581 - -#~ msgid "The Run block block runs a block. It accepts two types of arguments: block number or block name." -#~ msgstr "" - -#: js/DrumBlocks.js:188 - -#: js/DrumBlocks.js:195 - -#~ msgid "The Set drum block will select a drum sound to replace the pitch of any contained notes." -#~ msgstr "" - -#: js/RhythmBlocks.js:30 - -#~ msgid "The Note value block is the value of the duration of the note currently being played." -#~ msgstr "" - -#: js/RhythmBlocks.js:83 - -#~ msgid "The Milliseconds block is similar to a Note block except that it uses time (in MS) to specify the note duration." -#~ msgstr "" - -#: js/RhythmBlocks.js:235 - -#~ msgid "The Swing block works on pairs of notes (specified by note value), adding some duration (specified by swing value) to the first note and taking the same amount from the second note." -#~ msgstr "" - -#: js/RhythmBlocks.js:335 - -#~ msgid "The Multiply note value block changes the duration of notes by changing their note values." -#~ msgstr "" - -#: js/RhythmBlocks.js:506 - -#~ msgid "A rest of the specified note value duration can be constructed using a Silence block." -#~ msgstr "" - -#: js/HeapBlocks.js:60 - -#~ msgid "The Show-heap block displays the contents of the heap at the top of the screen." -#~ msgstr "" - -#: js/FlowBlocks.js:81 - -#~ msgid "The output of the example is: Sol, Sol, Sol, Sol, Re, Re, Re, Re, Sol, Sol, Sol, Sol." -#~ msgstr "" - -#: js/FlowBlocks.js:679 - -#: js/FlowBlocks.js:688 - -#: js/FlowBlocks.js:722 - -#: js/FlowBlocks.js:731 - -#~ msgid "Conditionals lets your program take different actions depending on the condition." -#~ msgstr "" - -#: js/FlowBlocks.js:690 - -#~ msgid "In this example if the mouse button is pressed a snare drum will play, else a kick drum will play." -#~ msgstr "" - -#: js/FlowBlocks.js:764 - -#~ msgid "In this example of a simple drum machine a kick drum will play 1/4 notes forever." -#~ msgstr "" - -#: js/GraphicsBlocks.js:401 - -#~ msgid "The Arc block moves the mouse in a arc." -#~ msgstr "" - -#: js/GraphicsBlocks.js:408 - -#~ msgid "The Arc block moves the turtle in a arc." -#~ msgstr "" - -#: js/GraphicsBlocks.js:464 - -#~ msgid "The Set heading block sets the heading of the mouse." -#~ msgstr "" - -#: js/GraphicsBlocks.js:810 - -#~ msgid "The Wrap block enables or disables screen wrapping for the graphics actions within it." -#~ msgstr "" - -#: js/OrnamentBlocks.js:295 - -#~ msgid "The Slur block lengthens the sustain of notes while maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/OrnamentBlocks.js:324 - -#~ msgid "The Staccato block shortens the length of the actual note while maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/VolumeBlocks.js:592 - -#~ msgid "The Decrescendo block will decrease the volume of the contained notes by a specified amount for every note played." -#~ msgstr "" - -#: js/VolumeBlocks.js:594 - -#~ msgid "For example if you have 7 notes in sequence contained in a Decrescendo block with a value of 5 the final note will be at 35% less than the starting volume." -#~ msgstr "" - -#: js/VolumeBlocks.js:632 - -#~ msgid "The Crescendo block will increase the volume of the contained notes by a specified amount for every note played." -#~ msgstr "" - -#: js/VolumeBlocks.js:634 - -#~ msgid "For example if you have 7 notes in sequence contained in a Crescendo block with a value of 5 the final note will be at 35% more than the starting volume." -#~ msgstr "" - -#: js/ToneBlocks.js:176 - -#~ msgid "The Partial block is used to specify a weight for a specific partical harmonic." -#~ msgstr "" - -#: js/ToneBlocks.js:213 - -#~ msgid "The Weighted partials block is used to specify the partials associated with a timbre." -#~ msgstr "" - -#: js/ToneBlocks.js:588 - -#~ msgid "The set default instrument block changes the default instrument from electronic synth to the instrument of your choice." -#~ msgstr "" - -#: js/MeterBlocks.js:54 - -#~ msgid "The Beat factor block returns the ratio of the note value to meter note value." -#~ msgstr "" - -#: js/MeterBlocks.js:168 - -#: js/MeterBlocks.js:179 - -#~ msgid "In the figure, it is used to take an action on the first beat of each measure." -#~ msgstr "" - -#: js/MeterBlocks.js:317 - -#~ msgid "(By default, it counts quarter notes.)" -#~ msgstr "" - -#: js/DictBlocks.js:29 - -#~ msgid "The Show-dictionary block displays the contents of the dictionary at the top of the screen." -#~ msgstr "" - -#: js/ExtrasBlocks.js:268 - -#~ msgid "The Comment block prints a comment at the top of the screen when the program is running in slow mode." -#~ msgstr "" - -#: js/SensorsBlocks.js:235 - -#~ msgid "The Cursor over block triggers an event when the cursor is moved over a mouse." -#~ msgstr "" - -#: js/SensorsBlocks.js:242 - -#~ msgid "The Cursor over block triggers an event when the cursor is moved over a turtle." -#~ msgstr "" - -#: js/SensorsBlocks.js:264 - -#~ msgid "The Cursor out block triggers an event when the cursor is moved off of a mouse." -#~ msgstr "" - -#: js/SensorsBlocks.js:272 - -#~ msgid "The Cursor out block triggers an event when the cursor is moved off of a turtle." -#~ msgstr "" - -#: js/SensorsBlocks.js:292 - -#~ msgid "The Cursor button down block triggers an event when the curson button is press on a mouse." -#~ msgstr "" - -#: js/SensorsBlocks.js:299 - -#~ msgid "The Cursor button down block triggers an event when the curson button is press on a turtle." -#~ msgstr "" - -#: js/SensorsBlocks.js:319 - -#~ msgid "The Cursor button up block triggers an event when the cursor button is released while over a mouse." -#~ msgstr "" - -#: js/SensorsBlocks.js:326 - -#~ msgid "The Cursor button up block triggers an event when the cursor button is released while over a turtle." -#~ msgstr "" - -#: js/SensorsBlocks.js:346 - -#~ msgid "The Get blue block returns the blue component of the pixel under the mouse." -#~ msgstr "" - -#: js/SensorsBlocks.js:352 - -#~ msgid "The Get blue block returns the blue component of the pixel under the turtle." -#~ msgstr "" - -#: js/SensorsBlocks.js:379 - -#~ msgid "The Get green block returns the green component of the pixel under the mouse." -#~ msgstr "" - -#: js/SensorsBlocks.js:385 - -#~ msgid "The Get green block returns the green component of the pixel under the turtle." -#~ msgstr "" - -#: js/SensorsBlocks.js:500 - -#~ msgid "The Time block returns the number of seconds that the program has been running." -#~ msgstr "" - -#: js/GlobalCard.js:48 - -#~ msgid "More Details" -#~ msgstr "" - -#: js/GlobalCard.js:54 - -#~ msgid "Share project" -#~ msgstr "" - -#: js/GlobalCard.js:60 - -#~ msgid "Copy link to clipboard" -#~ msgstr "" - -#: js/GlobalCard.js:63 - -#~ msgid "Run project on startup." -#~ msgstr "" - -#: js/GlobalCard.js:64 - -#~ msgid "Show code blocks on startup." -#~ msgstr "" - -#: js/GlobalCard.js:65 - -#~ msgid "Collapse code blocks on startup." -#~ msgstr "" - -#: js/GlobalCard.js:70 - -#~ msgid "Advanced Options" -#~ msgstr "" - -#: js/PitchBlocks.js:1540 - -#~ msgid "Hertz Block: Did you mean to use a Note block?" -#~ msgstr "" - -#: js/GlobalCard.js:48 - -#~ msgid "Unlike project" -#~ msgstr "" - -#: js/GlobalCard.js:51 - -#~ msgid "Like project" -#~ msgstr "" - -#: js/GlobalPlanet.js:30 - -#~ msgid "Feature unavailable - cannot connect to server. Reload Turtle Blocks to try again." -#~ msgstr "" - -#: js/Publisher.js:179 - -#~ msgid "Republish Project" -#~ msgstr "" - -#: js/blocks.js:2379 - -#~ msgid "audio file1" -#~ msgstr "" - -#: js/blocks.js:2387 - -#~ msgid "audio file2" -#~ msgstr "" - -#: js/turtle-singer.js:1793 - -#~ msgid "Warning: Note value greater than 2." -#~ msgstr "" - -#: js/IntervalsBlocks.js:537 - -#~ msgid "chord5" -#~ msgstr "" - -#: js/IntervalsBlocks.js:543 - -#~ msgid "chord4" -#~ msgstr "" - -#: js/IntervalsBlocks.js:549 - -#~ msgid "chord1" -#~ msgstr "" - -#: js/SensorsBlocks.js:535 - -#~ msgid "The Cursor Y block returns the vertical position of the turtle." -#~ msgstr "" - -#: js/SensorsBlocks.js:567 - -#~ msgid "The Cursor X block returns the horizontal position of the turtle." -#~ msgstr "" - -#: js/EnsembleBlocks.js:1174 - -#~ msgid "The Nth-Turtlee name block returns the name of the nth turtle." -#~ msgstr "" - -#: js/turtledefs.js:538 - -#~ msgid "Run fast" -#~ msgstr "" - -#: js/turtledefs.js:652 - -#~ msgid "Expand/collapse collapsible blocks" -#~ msgstr "" - -#: js/EnsembleBlocks.js:819 - -#~ msgid "The Nth-Mouse name block returns the name of the nth mice." -#~ msgstr "" - -#: js/activity.js:364 - -#~ msgid "search for blocks" -#~ msgstr "" - -#: js/activity.js:3298 - -#~ msgid "Please set browser zoom level to 100%" -#~ msgstr "" - -#: js/toolbar.js:54 - -#: js/toolbar.js:110 - -#: js/toolbar.js:147 - -#: js/toolbar.js:197 - -#~ msgid "Auxilary menu" -#~ msgstr "" - -#: js/SaveInterface.js:47 - -#~ msgid "To run this project, open Music Blocks in a web browser and drag and drop this file into the browser window." -#~ msgstr "" - -#: js/blocks.js:6143 - -#~ msgid "You must always have at least one start block." -#~ msgstr "" - -#: js/sampler.js:406 - -#~ msgid "pitch up" -#~ msgstr "" - -#: js/sampler.js:416 - -#~ msgid "pitch down" -#~ msgstr "" - -#: js/sampler.js:424 - -#~ msgid "accidental up" -#~ msgstr "" - -#: js/sampler.js:434 - -#~ msgid "accidental down" -#~ msgstr "" - -#: js/sampler.js:441 - -#~ msgid "octave up" -#~ msgstr "" - -#: js/sampler.js:451 - -#~ msgid "octave down" -#~ msgstr "" - -#: plugins/finance.rtp:28 - -#~ msgid "currency" -#~ msgstr "" - -#: plugins/finance.rtp:28 - -#: plugins/bitcoin.rtp:27 - -#~ msgid "from" -#~ msgstr "" - -#: plugins/finance.rtp:69 - -#~ msgid "stock price" -#~ msgstr "" - -#: plugins/translate.rtp:73 - -#~ msgid "translate" -#~ msgstr "" - -#: plugins/translate.rtp:78 - -#: plugins/translate.rtp:89 - -#~ msgid "hello" -#~ msgstr "您好" - -#: plugins/translate.rtp:84 - -#~ msgid "detect lang" -#~ msgstr "" - -#: plugins/translate.rtp:95 - -#~ msgid "set lang" -#~ msgstr "" - -#: plugins/gmap.rtp:30 - -#~ msgid "city latitude" -#~ msgstr "" - -#: plugins/gmap.rtp:40 - -#~ msgid "city longitude" -#~ msgstr "" - -#: plugins/gmap.rtp:71 - -#: plugins/gmap.rtp:74 - -#: plugins/gmap.rtp:104 - -#: plugins/gmap.rtp:107 - -#~ msgid "Coordinate data not available." -#~ msgstr "" - -#: plugins/gmap.rtp:116 - -#~ msgid "Google map" -#~ msgstr "" - -#: plugins/gmap.rtp:116 - -#: plugins/gmap.rtp:160 - -#~ msgid "coordinates" -#~ msgstr "" - -#: plugins/gmap.rtp:116 - -#~ msgid "zoom factor" -#~ msgstr "" - -#: plugins/gmap.rtp:144 - -#~ msgid "zoom" -#~ msgstr "" - -#: plugins/gmap.rtp:160 - -#~ msgid "latitude" -#~ msgstr "" - -#: plugins/gmap.rtp:160 - -#~ msgid "longitude" -#~ msgstr "" - -#: plugins/maths.rtp:74 - -#~ msgid "degrees" -#~ msgstr "" - -#: plugins/maths.rtp:76 - -#~ msgid "radians" -#~ msgstr "" - -#: plugins/dictionary.rtp:25 - -#~ msgid "define" -#~ msgstr "" - -#: plugins/bitcoin.rtp:27 - -#~ msgid "bitcoin" -#~ msgstr "" - -#: plugins/heap.rtp:81 - -#: plugins/heap.rtp:85 - -#~ msgid "You need to select a file." -#~ msgstr "" - -#: js/activity.js:1618 - -#~ msgid "show treble" -#~ msgstr "" - -#: js/activity.js:1621 - -#~ msgid "hide Polar" -#~ msgstr "" - -#: js/activity.js:1628 - -#: js/activity.js:1652 - -#~ msgid "show bass" -#~ msgstr "" - -#: js/activity.js:1637 - -#~ msgid "show mezzo-soprano" -#~ msgstr "" - -#: js/activity.js:1642 - -#~ msgid "show alto" -#~ msgstr "" - -#: js/activity.js:1647 - -#~ msgid "show tenor" -#~ msgstr "" - -#: js/activity.js:1657 - -#~ msgid "hide bass" -#~ msgstr "" - -#: js/activity.js:1664 - -#~ msgid "show Polar" -#~ msgstr "" - -#: js/activity.js:1668 - -#~ msgid "hide Cartesian" -#~ msgstr "" - -#: js/notation.js:296 - -#~ msgid "Lilypond cannot process tempo of " -#~ msgstr "" - -#: js/SaveInterface.js:283 - -#~ msgid "Save as PDF" -#~ msgstr "" - -#: js/lilypond.js:263 - -#~ msgid "Lilypond ignoring mode" -#~ msgstr "" - -#: js/oscilloscope.js:49 - -#~ msgid "ZOOM IN" -#~ msgstr "" - -#: js/oscilloscope.js:61 - -#~ msgid "ZOOM OUT" -#~ msgstr "" - -#: js/palette.js:1188 - -#~ msgid "Click to select a block." -#~ msgstr "" - -#: js/palette.js:1205 - -#: js/palette.js:1208 - -#: js/palette.js:1236 - -#: js/palette.js:1239 - -#~ msgid "hide" -#~ msgstr "" - -#: js/palette.js:1214 - -#: js/palette.js:1217 - -#~ msgid "show2" -#~ msgstr "" - -#: js/palette.js:1222 - -#: js/palette.js:1225 - -#: js/palette.js:1250 - -#: js/palette.js:1253 - -#~ msgid "popout" -#~ msgstr "" - -#: js/palette.js:2423 - -#~ msgid "myblocks" -#~ msgstr "" - -#: js/SaveInterface.js:504 - -#~ msgid "Do you want to save your project?" -#~ msgstr "" - -#: js/DrumBlocks.js:416 - -#~ msgid "Drum Block: Did you mean to use a Note block?" -#~ msgstr "" - -#: js/pitchtracker.js:181 - -#: js/pitchtracker.js:200 - -#: js/pitchtracker.js:208 - -#: js/pitchtracker.js:210 - -#~ msgid "Start Recording" -#~ msgstr "" - -#: js/pitchtracker.js:188 - -#: js/pitchtracker.js:222 - -#: js/pitchtracker.js:224 - -#~ msgid "Stop Recording" -#~ msgstr "" - -#: js/pitchtracker.js:312 - -#~ msgid "save rhythms" -#~ msgstr "" - -#: js/pitchtracker.js:475 - -#~ msgid "drag" -#~ msgstr "" - -#: js/PitchBlocks.js:934 - -#~ msgid "Pitch Block: Did you mean to use a Note block?" -#~ msgstr "" - -#: js/EnsembleBlocks.js:295 - -#~ msgid "Mr. Mouse\", 0, 0)]" -#~ msgstr "" - -#: js/SensorsBlocks.js:195 - -#~ msgid "The Click block returns True if a mouse has been clicked." -#~ msgstr "" - -#: js/BoxesBlocks.js:318 - -#~ msgid "The box2 block returns the value stored in box2." -#~ msgstr "" - -#: js/BoxesBlocks.js:365 - -#~ msgid "The box1 block returns the value stored in box1." -#~ msgstr "" - -#: js/activity.js:2054 - -#~ msgid "Hide blocks." -#~ msgstr "" - -#: js/activity.js:3319 - -#~ msgid "Cannot be further decreased" -#~ msgstr "" - -#: js/activity.js:3327 - -#~ msgid "Cannot be further increased" -#~ msgstr "" - -#: js/activity.js:4263 - -#~ msgid "Error: Unable to save because you ran out of local storage. Try deleting some saved projects." -#~ msgstr "" - -#: js/logo.js:386 - -#~ msgid "Turning off mouse blink; setting FPS to 10." -#~ msgstr "" - -#: js/logo.js:391 - -#~ msgid "Turning on mouse blink; setting FPS to 30." -#~ msgstr "" - -#: js/logo.js:4764 - -#~ msgid "Scalar transpositions are equal to Semitone transpositions for custom temperament." -#~ msgstr "" - -#: js/logo.js:8405 - -#~ msgid "You can only tie notes of the same pitch. Did you mean to use slur?" -#~ msgstr "" - -#: js/logo.js:8794 - -#~ msgid "Warning: Note value is greater than 2." -#~ msgstr "" - -#: js/logo.js:11589 - -#~ msgid "Note name must be one of A, A♯, B♭, B, C, C♯, D♭, D, D♯, E♭, E, F, F♯, G♭, G, G♯ or A♭." -#~ msgstr "" - -#: js/palette.js:2009 - -#: js/palette.js:2066 - -#~ msgid "Do you want to remove all the stacks from your \"%s\" palette?" -#~ msgstr "" - -#: js/turtledefs.js:204 - -#~ msgid "This button opens a viewer for sharing projects and for finding example projects." -#~ msgstr "" - -#: js/turtledefs.js:257 - -#~ msgid "Click this button to expand or collapse the auxiliary toolbar." -#~ msgstr "" - -#: js/turtledefs.js:286 - -#~ msgid "The beat of the music is determined by the Meter block (by default, 4 1/4 notes per measure)." -#~ msgstr "" - -#: js/turtledefs.js:287 - -#~ msgid "The Master beats per minute block sets the number of 1/4 notes per minute for every voice." -#~ msgstr "" - -#: js/turtledefs.js:289 - -#~ msgid "The On-every-note block let you specify actions to take on every note." -#~ msgstr "" - -#: js/turtledefs.js:291 - -#~ msgid "The Notes played block is the number of notes that have been played." -#~ msgstr "" - -#: js/turtledefs.js:296 - -#~ msgid "The Pitch Number block will play a pitch associated by its number eg 0 for C and 7 for G." -#~ msgstr "" - -#: js/turtledefs.js:328 - -#~ msgid "The Pitch-slider block opens a tool to generate arbitray pitches." -#~ msgstr "" - -#: js/turtledefs.js:343 - -#~ msgid "All of the Start blocks run at the same time when the Play button is pressed." -#~ msgstr "" - -#: js/turtledefs.js:348 - -#~ msgid "The Store in box1 block is used to store a value in box1." -#~ msgstr "" - -#: js/turtledefs.js:350 - -#~ msgid "The Store in box2 block is used to store a value in box2." -#~ msgstr "" - -#: js/turtledefs.js:389 - -#~ msgid "The Shell block is used to change the appearance of the mouse." -#~ msgstr "" - -#: js/turtledefs.js:414 - -#~ msgid "The Pickup block is used to accommodate any notes that come in before the beat." -#~ msgstr "" - -#: js/turtledefs.js:415 - -#~ msgid "The Beats per minute block changes the beats per minute of any contained notes." -#~ msgstr "" - -#: js/turtledefs.js:416 - -#~ msgid "The On-strong-beat block let you specify actions to take on specified beats." -#~ msgstr "" - -#: js/turtledefs.js:417 - -#~ msgid "The On-weak-beat block let you specify actions to take on weak (off) beats." -#~ msgstr "" - -#: js/turtledefs.js:439 - -#~ msgid "eg \"do\" is always \"C-natural\"); when Movable do is true, the solfege note names are assigned to scale degrees (\"do\" is always the first degree of the major scale)." -#~ msgstr "" - -#: js/turtledefs.js:459 - -#~ msgid "The Note volume block returns the current volume of the current synthesizer." -#~ msgstr "" - -#: js/turtledefs.js:479 - -#~ msgid "The Default block is used inside of a Switch to define a default action." -#~ msgstr "" - -#: js/turtledefs.js:573 - -#~ msgid "The Mouse note block returns the current note value being played by the specified mouse." -#~ msgstr "" - -#: js/basicblocks.js:2352 - -#: js/basicblocks.js:2363 - -#~ msgid "down minor" -#~ msgstr "" - -#: js/basicblocks.js:2418 - -#: js/basicblocks.js:2429 - -#~ msgid "down major" -#~ msgstr "" - -#: js/basicblocks.js:3713 - -#~ msgid "eval" -#~ msgstr "" - -#: js/basicblocks.js:4057 - -#~ msgid "100" -#~ msgstr "" - -#: js/playback.js:87 - -#: js/musickeyboard.js:419 - -#: js/pitchdrummatrix.js:177 - -#: js/meterwidget.js:108 - -#: js/timbre.js:771 - -#: js/temperament.js:1751 - -#: js/modewidget.js:132 - -#~ msgid "Drag" -#~ msgstr "" - -#: js/playbackbox.js:83 - -#: js/playbackbox.js:91 - -#~ msgid "playback music" -#~ msgstr "" - -#: js/playbackbox.js:96 - -#~ msgid "pause playback" -#~ msgstr "" - -#: js/playbackbox.js:107 - -#: js/playbackbox.js:116 - -#~ msgid "restart playback" -#~ msgstr "" - -#: js/playbackbox.js:123 - -#~ msgid "prepare music for playback" -#~ msgstr "" - -#: js/help.js:217 - -#~ msgid "Load blocks" -#~ msgstr "" - -#: js/turtledefs.js:304 - -#: js/turtledefs.js:439 - -#: js/turtledefs.js:584 - -#~ msgid "The Set timbre block selects a voice for the synthesizer," -#~ msgstr "" - -#: js/turtledefs.js:525 - -#~ msgid "The Run block block runs a block." -#~ msgstr "" - -#: js/basicblocks.js:2018 - -#~ msgid "set timbre" -#~ msgstr "" - -#: js/basicblocks.js:4413 - -#~ msgid "right2" -#~ msgstr "" - -#: js/basicblocks.js:4429 - -#~ msgid "left2" -#~ msgstr "" - -#: js/pitchtimematrix.js:323 - -#: js/pitchtimematrix.js:331 - -#: js/pitchtimematrix.js:331 - -#: js/rhythmruler.js:1698 - -#: js/rhythmruler.js:1711 - -#: js/rhythmruler.js:1711 - -#~ msgid "expand" -#~ msgstr "" - -#: js/pitchtimematrix.js:338 - -#: js/pitchtimematrix.js:338 - -#: js/rhythmruler.js:1721 - -#: js/rhythmruler.js:1721 - -#~ msgid "collapse" -#~ msgstr "" - -#~ msgid "crescendo factor" -#~ msgstr "" - -#: js/turtledefs.js:181 - -#~ msgid "At the heart of Music Blocks is the Note block. The Note block is a container for a Pitch block that specifies the duration (note value) of the pitch." -#~ msgstr "" - -#: js/turtledefs.js:466 - -#~ msgid "The Time block returns the number of seconds that the program has been running." -#~ msgstr "" - -#: js/turtledefs.js:253 - -#~ msgid "The Store in box1 block is used to store a value in box1." -#~ msgstr "" - -#: js/turtledefs.js:265 - -#~ msgid "The Multiply block is used to multiply." -#~ msgstr "" - -#: js/blocks.js:2837 - -#: js/blocks.js:2863 - -#~ msgid "There is no block is selected." -#~ msgstr "" - -#: js/turtledefs.js:209 - -#~ msgid "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale. In the example shown above, sol is shifted up to la." -#~ msgstr "" - -#: js/turtledefs.js:132 - -#~ msgid "Initialise a new project." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:339 - -#~ msgid "japanese" -#~ msgstr "" - -#: js/block.js:1312 - -#~ msgid "7th" -#~ msgstr "" - -#: js/basicblocks.js:2440 - -#~ msgid "chord' + ' ' + 'V" -#~ msgstr "" - -#: js/musicutils.js:345 - -#: js/basicblocks.js:1635 - -#: js/macros.js:38 - -#~ msgid "chine" -#~ msgstr "" - -#: js/timbre.js:743 - -#: js/rhythmruler.js:1481 - -#: js/modewidget.js:95 - -#: js/pitchstaircase.js:534 - -#~ msgid "undo" -#~ msgstr "" - -#: js/basicblocks.js:2464 - -#~ msgid "chord' + ' ' + 'I" -#~ msgstr "" - -#: js/StringHelper.js:22 - -#~ msgid "placeholder" -#~ msgstr "" - -#: js/turtledefs.js:436 - -#~ msgid "The Move block block moves a block." -#~ msgstr "" - -#: js/turtledefs.js:327 - -#: js/turtledefs.js:329 - -#~ msgid "The Accidental block is used to create sharps and flats" -#~ msgstr "" - -#: js/turtledefs.js:430 - -#~ msgid "The Hide blocks block hides the blocks." -#~ msgstr "" - -#: js/turtledefs.js:378 - -#~ msgid "The Waitfor block will wait until the condition is true." -#~ msgstr "" - -#: js/basicblocks.js:3142 - -#: js/basicblocks.js:3151 - -#~ msgid "set volume" -#~ msgstr "" - -#: js/turtledefs.js:366 - -#~ msgid "The Play noise block will generate white, pink, or brown noise." -#~ msgstr "" - -#: js/turtledefs.js:441 - -#~ msgid "The Bezier block draws a Bezier curve." -#~ msgstr "" - -#: plugins/impact.rtp:32 - -#~ msgid "hours ago" -#~ msgstr "" - -#: js/musicutils.js:243 - -#~ msgid "Major Blues" -#~ msgstr "" - -#: js/turtledefs.js:273 - -#~ msgid "The Back block moves the mouse backward." -#~ msgstr "" - -#: js/turtledefs.js:307 - -#~ msgid "The Set-name block is used to name a mouse." -#~ msgstr "" - -#: js/turtledefs.js:231 - -#~ msgid "The Status block opens a tool for inspecting the status of Music Blocks as it is running." -#~ msgstr "" - -#: js/pitchstaircase.js:480 - -#~ msgid "play scale" -#~ msgstr "" - -#~ msgid "This toolbar contains the palette buttons Matrix, Note, Tone, Turtle, and more. Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them." -#~ msgstr "" - -#: js/turtledefs.js:326 - -#~ msgid "The Beats per minute block returns the current beats per minute." -#~ msgstr "" - -#: js/turtledefs.js:222 - -#~ msgid "The Scaler Step block (in combination with a Number block) will play the next pitch in a scale," -#~ msgstr "" - -#: js/turtledefs.js:336 - -#~ msgid "Pitch can be specified in terms of ni dha pa ma ga re sa." -#~ msgstr "" - -#: js/musicutils.js:229 - -#~ msgid "Enigmatic" -#~ msgstr "" - -#: js/basicblocks.js:612 - -#~ msgid "fifths" -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "ml" -#~ msgstr "" - -#: js/palette.js:1771 - -#: js/palette.js:1796 - -#~ msgid "mi" -#~ msgstr "" - -#: js/turtledefs.js:251 - -#: js/turtledefs.js:388 - -#: js/turtledefs.js:390 - -#~ msgid "The Do block is used to initiate an action." -#~ msgstr "" - -#: js/turtledefs.js:422 - -#~ msgid "The Indexheap block returns a value in the heap at a specified location." -#~ msgstr "" - -#: js/turtledefs.js:284 - -#~ msgid "The Pen-up block raises the pen so that it does not draw." -#~ msgstr "" - -#: js/turtledefs.js:473 - -#~ msgid "The New mouse block will create a new mouse." -#~ msgstr "" - -#: js/activity.js:4353 - -#~ msgid "playback" -#~ msgstr "" - -#: js/activity.js:4435 - -#: js/activity.js:4470 - -#~ msgid "Merge project from file" -#~ msgstr "" - -#: js/turtledefs.js:299 - -#~ msgid "The Left block returns the position of the left of the canvas." -#~ msgstr "" - -#~ msgid "eatme" -#~ msgstr "" - -#: js/turtledefs.js:323 - -#~ msgid "The Whole notes played block returns the total number of whole notes played." -#~ msgstr "" - -#: js/basicblocks.js:1946 - -#~ msgid "movable" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/synthutils.js:46 - -#~ msgid "brown-noise" -#~ msgstr "" - -#: js/musicutils.js:251 - -#~ msgid "Japanese" -#~ msgstr "" - -#: js/synthutils.js:90 - -#~ msgid "triangle-bell" -#~ msgstr "" - -#: js/activity.js:1216 - -#~ msgid "Hide grid" -#~ msgstr "" - -#: js/turtledefs.js:358 - -#~ msgid "The FM synth block is a frequency modulator used to define a timbre." -#~ msgstr "" - -#: js/turtledefs.js:429 - -#~ msgid "The Show heap block displays the contents of the heap at the top of the screen." -#~ msgstr "" - -#: js/turtledefs.js:260 - -#~ msgid "The Number block holds a number." -#~ msgstr "" - -#: js/turtledefs.js:381 - -#~ msgid "The Case block is used inside of a Switch to define matches." -#~ msgstr "" - -#: js/turtledefs.js:539 - -#~ msgid "The Background block sets the background color." -#~ msgstr "" - -#: js/help.js:53 - -#~ msgid "Previous page" -#~ msgstr "" - -#: js/turtledefs.js:458 - -#~ msgid "The Open file block opens a file for use with the Show block." -#~ msgstr "" - -#: js/turtledefs.js:287 - -#~ msgid "The Set-color block changes the pen color." -#~ msgstr "" - -#: js/basicblocks.js:2452 - -#~ msgid "chord' + ' ' + 'IV" -#~ msgstr "" - -#: js/timbre.js:682 - -#~ msgid "effects" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#~ msgid "floor-tom" -#~ msgstr "" - -#: js/turtledefs.js:295 - -#~ msgid "The Height block returns the height of the canvas." -#~ msgstr "" - -#: js/savebox.js:129 - -#~ msgid "Share on Facebook" -#~ msgstr "" - -#: js/turtledefs.js:452 - -#~ msgid "The Shade block returns the current pen shade value." -#~ msgstr "" - -#: js/turtledefs.js:215 - -#~ msgid "The On-every-beat block let you specify actions to take on every beat." -#~ msgstr "" - -#: js/turtledefs.js:76 - -#~ msgid "Mr. Mouse is our Music Blocks conductor. Mr. Mouse encourages you to explore Music Blocks. Let us start our tour!" -#~ msgstr "" - -#: js/palette.js:1771 - -#: js/palette.js:1796 - -#~ msgid "re" -#~ msgstr "" - -#: js/musicutils.js:237 - -#~ msgid "Spanish Gypsy" -#~ msgstr "" - -#: js/basicblocks.js:893 - -#~ msgid "divide note value" -#~ msgstr "" - -#: js/turtledefs.js:220 - -#~ msgid "e.g., C Major" -#~ msgstr "" - -#: js/activity.js:3743 - -#~ msgid "extra-long press to run music slowly" -#~ msgstr "" - -#: js/rhythmruler.js:1442 - -#~ msgid "save drum machine" -#~ msgstr "" - -#: js/activity.js:4373 - -#~ msgid "enable horizontal scrolling" -#~ msgstr "" - -#: js/turtledefs.js:318 - -#~ msgid "The Pickup block is used to accommodate any notes that come in before the beat." -#~ msgstr "" - -#: js/turtledefs.js:449 - -#~ msgid "The Hollow line block creates a line with a hollow center." -#~ msgstr "" - -#: js/turtledefs.js:185 - -#~ msgid "To copy a stack to the clipboard, right-click on the stack." -#~ msgstr "" - -#: js/turtledefs.js:462 - -#~ msgid "The Stopplayback block" -#~ msgstr "" - -#: js/toolbar.js:342 - -#: js/toolbar.js:390 - -#~ msgid "Save as abc" -#~ msgstr "" - -#: js/turtledefs.js:456 - -#~ msgid "The To frequency block converts a pitch name and octave to Hertz." -#~ msgstr "" - -#: js/basicblocks.js:4422 - -#~ msgid "top" -#~ msgstr "" - -#: js/turtledefs.js:144 - -#: js/turtledefs.js:189 - -#~ msgid "Open a panel for configuring Music Blocks." -#~ msgstr "" - -#: js/turtledefs.js:407 - -#~ msgid "The And block is the logical and operator." -#~ msgstr "" - -#: js/activity.js:3533 - -#~ msgid "Save as .wav" -#~ msgstr "" - -#: js/savebox.js:113 - -#~ msgid "The Planet is unavailable." -#~ msgstr "" - -#: js/turtledefs.js:194 - -#~ msgid "You can use multiple Drum blocks within a Note block." -#~ msgstr "" - -#: js/turtledefs.js:186 - -#~ msgid "You can also use Alt+V to paste a stack of blocks. " -#~ msgstr "" - -#: js/turtledefs.js:459 - -#~ msgid "The Video block selects video for use with the Show block. " -#~ msgstr "" - -#: js/turtledefs.js:343 - -#~ msgid "When Movable do is false, the solfege note names are always tied to specific pitches (e.g. \"do\" is always \"C-natural\"); when Movable do is true, the solfege note names are assigned to scale degrees (\"do\" is always the first degree of the major scale)." -#~ msgstr "" - -#: js/turtledefs.js:412 - -#~ msgid "The Pop block removes the value at the top of the heap." -#~ msgstr "" - -#: js/turtledefs.js:225 - -#~ msgid "The Decrescendo block will decrease the volume of the contained notes by a specified amount for every note played. For example, if you have 7 notes in sequence contained in a Decrescendo block with a value of 5, the final note will be at 35% less than the starting volume." -#~ msgstr "" - -#: js/turtledefs.js:99 - -#~ msgid "The save-stack button saves a stack onto a custom palette." -#~ msgstr "" - -#: js/musicutils.js:248 - -#~ msgid "Egyptian" -#~ msgstr "" - -#: js/turtledefs.js:186 - -#~ msgid "The paste button is enabled when there are blocks copied onto the clipboard." -#~ msgstr "" - -#: js/musicutils.js:198 - -#~ msgid "Algerian" -#~ msgstr "" - -#: js/basicblocks.js:831 - -#~ msgid "denominator" -#~ msgstr "" - -#: js/turtledefs.js:426 - -#~ msgid "The Emptyheap block empties the heap." -#~ msgstr "" - -#: js/turtledefs.js:352 - -#~ msgid "The Phaser block adds a sweeping sound." -#~ msgstr "" - -#: js/turtledefs.js:429 - -#~ msgid "The Open project block is used to open a project from a web page." -#~ msgstr "" - -#: plugins/impact.rtp:63 - -#: plugins/impact.rtp:127 - -#~ msgid "Impact data not available." -#~ msgstr "" - -#: js/turtledefs.js:168 - -#~ msgid "Extra-long press the run button to run the music in slow mode." -#~ msgstr "" - -#~ msgid "mashape" -#~ msgstr "" - -#: js/basicblocks.js:589 - -#~ msgid "thirds" -#~ msgstr "" - -#: js/turtledefs.js:279 - -#~ msgid "The X block returns the horizontal position of the mouse." -#~ msgstr "" - -#: js/turtledefs.js:437 - -#~ msgid "The Delete block block removes a block." -#~ msgstr "" - -#: js/turtledefs.js:278 - -#~ msgid "The Scroll XY block moves the canvas." -#~ msgstr "" - -#: js/turtledefs.js:393 - -#~ msgid "The Return to URL block will return a value to a webpage." -#~ msgstr "" - -#: js/turtledefs.js:274 - -#~ msgid "The Left block turns the mouse to the left." -#~ msgstr "" - -#: js/activity.js:4395 - -#~ msgid "Run" -#~ msgstr "" - -#: js/turtledefs.js:169 - -#~ msgid "You can load new blocks from the file system." -#~ msgstr "" - -#: js/turtledefs.js:144 - -#: js/turtledefs.js:189 - -#~ msgid "Settings" -#~ msgstr "" - -#: js/turtledefs.js:409 - -#~ msgid "The Boolean block is used to specify true or false." -#~ msgstr "" - -#: js/turtledefs.js:320 - -#~ msgid "The On-strong-beat block let you specify actions to take on specified beats." -#~ msgstr "" - -#: js/turtledefs.js:414 - -#~ msgid "The Indexheap block returns a value in the heap at a specified location." -#~ msgstr "" - -#: js/turtledefs.js:385 - -#: js/turtledefs.js:386 - -#~ msgid "The Arg block contains the value of an argument passed to an action." -#~ msgstr "" - -#: js/pitchslider.js:394 - -#~ msgid "move down" -#~ msgstr "" - -#: js/basicblocks.js:153 - -#~ msgid "consonant step up" -#~ msgstr "" - -#: js/turtledefs.js:418 - -#~ msgid "The Emptyheap block empties the heap." -#~ msgstr "" - -#: js/turtledefs.js:382 - -#~ msgid "The Default block is used inside of a Switch to define a default action." -#~ msgstr "" - -#: js/turtledefs.js:340 - -#~ msgid "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode." -#~ msgstr "" - -#: js/turtledefs.js:233 - -#~ msgid "The Rhythm Maker block opens a tool to create drum machines." -#~ msgstr "" - -#: js/turtledefs.js:482 - -#~ msgid "The Mouse heading block returns the heading of the specified mouse." -#~ msgstr "" - -#: js/basicblocks.js:505 - -#~ msgid "pitchslider" -#~ msgstr "" - -#: js/StringHelper.js:35 - -#~ msgid "View More" -#~ msgstr "" - -#: js/pitchtimematrix.js:305 - -#: js/rhythmruler.js:1625 - -#~ msgid "collpase" -#~ msgstr "" - -#: js/turtledefs.js:498 - -#~ msgid "The Heap-empty? block returns true if the heap is emptry." -#~ msgstr "" - -#: js/musicutils.js:253 - -#~ msgid "Fibonacci" -#~ msgstr "" - -#: js/activity.js:4425 - -#~ msgid "Run music slowly" -#~ msgstr "" - -#: js/turtledefs.js:447 - -#~ msgid "The Set translucency block changes the opacity of the pen." -#~ msgstr "" - -#: js/turtledefs.js:200 - -#~ msgid "The Pitch block specifies the pitch name and pitch octave of a note that determine the frequency of the note." -#~ msgstr "" - -#: js/turtledefs.js:218 - -#~ msgid "The Staccato block shortens the length of the actual note—making them tighter bursts—while maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/pitchslider.js:402 - -#~ msgid "Use the slider to change the pitch." -#~ msgstr "" - -#: js/turtledefs.js:300 - -#~ msgid "The Right block returns the position of the right of the canvas." -#~ msgstr "" - -#: js/turtledefs.js:226 - -#~ msgid "The Set synth volume block will change the volume of a particular synth, e.g., guitar, violin, snare drum, etc. The default volume is 50; the range is 0 (silence) to 100 (full volume)." -#~ msgstr "" - -#: js/turtledefs.js:224 - -#~ msgid "The Crescendo block will increase the volume of the contained notes by a specified amount for every note played. For example, if you have 7 notes in sequence contained in a Crescendo block with a value of 5, the final note will be at 35% more than the starting volume." -#~ msgstr "" - -#: js/basicblocks.js:3078 - -#~ msgid "note volume" -#~ msgstr "" - -#: js/synthutils.js:92 - -#~ msgid "finger-cymbals" -#~ msgstr "" - -#: js/basicblocks.js:489 - -#~ msgid "pitch-drum matrix" -#~ msgstr "" - -#: js/logo.js:6101 - -#: js/logo.js:6125 - -#~ msgid "Tuplet Block: Did you mean to use a Matrix block?" -#~ msgstr "" - -#~ msgid "set beats per minute" -#~ msgstr "" - -#: js/activity.js:3887 - -#~ msgid "Delete all" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/synthutils.js:48 - -#~ msgid "pink-noise" -#~ msgstr "" - -#: plugins/impact.rtp:32 - -#~ msgid "UID" -#~ msgstr "" - -#: js/musicutils.js:197 - -#~ msgid "Chromatic" -#~ msgstr "" - -#: js/modewidget.js:83 - -#~ msgid "rotate clockwise" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:334 - -#~ msgid "hirajoshi (Japan)" -#~ msgstr "" - -#: js/logo.js:5040 - -#: js/logo.js:5061 - -#~ msgid "Input to Minor Block must be 2, 3, 6, or 7" -#~ msgstr "" - -#: js/basicblocks.js:4432 - -#~ msgid "bottom" -#~ msgstr "" - -#: js/turtledefs.js:213 - -#~ msgid "The Set key block is used to set the key and mode, e.g., C Major" -#~ msgstr "" - -#: js/turtledefs.js:313 - -#~ msgid "The Multiply note value block changes the duration of notes by changing their note values." -#~ msgstr "" - -#: js/turtledefs.js:280 - -#~ msgid "The Y block returns the vertical position of the mouse." -#~ msgstr "" - -#: js/basicblocks.js:831 - -#~ msgid "numerator" -#~ msgstr "" - -#: js/synthutils.js:80 - -#~ msgid "cup-drum" -#~ msgstr "" - -#: js/synthutils.js:84 - -#~ msgid "hi-hat" -#~ msgstr "" - -#: js/palette.js:1763 - -#: js/palette.js:1764 - -#: js/palette.js:1771 - -#: js/palette.js:1796 - -#~ msgid "sol" -#~ msgstr "" - -#: js/turtledefs.js:276 - -#~ msgid "The Arc block moves the mouse in a arc." -#~ msgstr "" - -#: js/turtledefs.js:370 - -#~ msgid "The Pitch staircase tool to is used to generate pitches from a given ratio." -#~ msgstr "" - -#: js/turtledefs.js:364 - -#~ msgid "The Note volume block returns the current volume of the current synthesizer." -#~ msgstr "" - -#: js/turtledefs.js:198 - -#~ msgid "The beat of the music is determined by the Meter block (by default, 4 1/4 notes per measure)." -#~ msgstr "" - -#: js/turtledefs.js:337 - -#~ msgid "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat." -#~ msgstr "" - -#: js/musicutils.js:211 - -#~ msgid "Phrygian" -#~ msgstr "" - -#: js/turtledefs.js:344 - -#~ msgid "The Define mode block allows you define a custom mode by specifiying pitch numbers." -#~ msgstr "" - -#: js/activity.js:2166 - -#~ msgid "Run fast / long press to run slow / extra-long press to run music slow" -#~ msgstr "" - -#: js/turtledefs.js:28 - -#~ msgid "Music Blocks is a collection of manipulative tools for exploring fundamental musical concepts in an integrative and fun way." -#~ msgstr "" - -#: js/palette.js:1682 - -#~ msgid "la" -#~ msgstr "" - -#: plugins/rodi.rtp:203 - -#~ msgid "see distance" -#~ msgstr "" - -#: js/turtledefs.js:374 - -#~ msgid "The Tuplet block is used to generate a group of notes played in a condensed amount of time." -#~ msgstr "" - -#: js/turtledefs.js:459 - -#~ msgid "The Switch block will run the code in the matchin Case." -#~ msgstr "" - -#: js/basicblocks.js:1457 - -#~ msgid "relative interval" -#~ msgstr "" - -#: js/turtledefs.js:199 - -#~ msgid "The Beats per minute block sets the number of 1/4 notes per minute." -#~ msgstr "" - -#: js/turtledefs.js:296 - -#~ msgid "The Width block returns the width of the canvas." -#~ msgstr "" - -#: js/turtledefs.js:110 - -#: js/turtledefs.js:148 - -#~ msgid "Stop the music (and the turtles)." -#~ msgstr "" - -#: js/synthutils.js:78 - -#~ msgid "floor-tom-tom" -#~ msgstr "" - -#: js/turtledefs.js:312 - -#~ msgid "The Tie block works on pairs of notes, combining them into one note." -#~ msgstr "" - -#: js/turtledefs.js:205 - -#~ msgid "Pitch can be specified in terms of do re mi fa sol la ti." -#~ msgstr "" - -#: js/turtledefs.js:292 - -#~ msgid "The Show block is used to display text or images on the canvas." -#~ msgstr "" - -#: js/turtledefs.js:450 - -#~ msgid "The Background block sets the background color." -#~ msgstr "" - -#: js/basicblocks.js:298 - -#~ msgid "turtle note" -#~ msgstr "" - -#: js/turtledefs.js:79 - -#~ msgid "This toolbar contains the palette buttons, including Rhythm Pitch Tone Turtle and more." -#~ msgstr "" - -#: js/turtledefs.js:376 - -#~ msgid "The While block will repeat while the condition is true." -#~ msgstr "" - -#: js/turtledefs.js:264 - -#~ msgid "The Minus block is used to subtract." -#~ msgstr "" - -#: js/savebox.js:159 - -#~ msgid "block artwork" -#~ msgstr "" - -#: js/turtledefs.js:222 - -#~ msgid "The Neighbor block rapidly switches between neighboring pitches." -#~ msgstr "" - -#: js/turtledefs.js:353 - -#~ msgid "The Distortion block adds distortion to the pitch." -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "br" -#~ msgstr "" - -#: js/block.js:1306 - -#~ msgid "1st" -#~ msgstr "" - -#: js/logo.js:2177 - -#: js/logo.js:7716 - -#: js/logo.js:7851 - -#: js/logo.js:7911 - -#: js/logo.js:8031 - -#: js/logo.js:8059 - -#~ msgid "Could not find turtle" -#~ msgstr "" - -#: js/turtledefs.js:218 - -#~ msgid "The Slur block lengthens the sustain of noteswhile maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/musicutils.js:234 - -#~ msgid "Hungarian" -#~ msgstr "" - -#: js/pitchstaircase.js:475 - -#~ msgid "play chord" -#~ msgstr "" - -#: js/utilitybox.js:154 - -#~ msgid "Optimize feedback" -#~ msgstr "" - -#: js/turtledefs.js:187 - -#: js/toolbar.js:378 - -#: js/toolbar.js:426 - -#~ msgid "Save block artwork" -#~ msgstr "" - -#: js/turtledefs.js:234 - -#~ msgid "The Pitch-slider block opens a tool to generate arbitray pitches." -#~ msgstr "" - -#: js/logo.js:3711 - -#~ msgid "The Scaler Step Block must be used inside of a Note Block." -#~ msgstr "" - -#: js/turtledefs.js:154 - -#: js/turtledefs.js:200 - -#~ msgid "Music Blocks is an open source collection of tools for exploring musical concepts. A full list of contributors can be found in the Music Blocks GitHub repository. Music Blocks is licensed under the AGPL. The current version is:" -#~ msgstr "" - -#: js/basicblocks.js:596 - -#~ msgid "fourths" -#~ msgstr "" - -#: js/turtledefs.js:304 - -#~ msgid "The Cursor Y block returns the veritcal position of the mouse." -#~ msgstr "" - -#: js/turtledefs.js:220 - -#~ msgid "The Crescendo block will increase (or decrease) the volume of the contained notes by a specified amount for every note played. For example, if you have 7 notes in sequence contained in a Crescendo block with a value of 5, the final note will be at 35% more than the starting volume." -#~ msgstr "" - -#: js/turtledefs.js:464 - -#~ msgid "The Keyboard block returns computer keyboard input." -#~ msgstr "" - -#~ msgid "Save your project to a server." -#~ msgstr "" - -#: js/basicblocks.js:892 - -#~ msgid "multiply beat value" -#~ msgstr "" - -#: js/musicutils.js:244 - -#~ msgid "Whole Tone" -#~ msgstr "" - -#: js/turtledefs.js:404 - -#~ msgid "The Int block returns an integer." -#~ msgstr "" - -#: js/turtledefs.js:256 - -#~ msgid "The box2 block returns the value stored in box2." -#~ msgstr "" - -#: js/turtledefs.js:82 - -#~ msgid "Click to run just the music in slow mode." -#~ msgstr "" - -#: js/turtledefs.js:294 - -#~ msgid "The Speak block outputs to the text-to-speech synthesizer" -#~ msgstr "" - -#: js/turtledefs.js:451 - -#~ msgid "The Grey block returns the current pen grey value." -#~ msgstr "" - -#: js/block.js:1311 - -#~ msgid "6th" -#~ msgstr "" - -#: js/logo.js:4945 - -#: js/logo.js:4966 - -#~ msgid "Input to Augmented Block must be 1, 2, 3, 4, 5, 6, 7, or 8" -#~ msgstr "" - -#: js/turtledefs.js:367 - -#~ msgid "The Drum name block is used to select a drum." -#~ msgstr "" - -#: js/activity.js:2699 - -#~ msgid "Run fast / long press to run slowly / extra-long press to run music slowly" -#~ msgstr "" - -#: js/basicblocks.js:4872 - -#~ msgid "save as lilypond" -#~ msgstr "" - -#: js/turtledefs.js:266 - -#~ msgid "The Divide block is used to divide." -#~ msgstr "" - -#: js/turtledefs.js:357 - -#~ msgid "The Partial block is used to specify a weight for a specific partical harmonic." -#~ msgstr "" - -#: js/turtledefs.js:373 - -#~ msgid "The Temperament name block is used to select a tuning method." -#~ msgstr "" - -#: js/musicutils.js:200 - -#~ msgid "Diminished" -#~ msgstr "" - -#~ msgid "Expand/collapse toolbar" -#~ msgstr "" - -#: js/turtledefs.js:187 - -#: js/toolbar.js:373 - -#: js/toolbar.js:421 - -#~ msgid "Save as SVG" -#~ msgstr "" - -#: js/turtledefs.js:424 - -#~ msgid "The Loadheap block loads the heap from a file." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:335 - -#~ msgid "in (Japan)" -#~ msgstr "" - -#: js/turtledefs.js:165 - -#~ msgid "Alternatively, you can hit the ENTER or RETURN key." -#~ msgstr "" - -#: js/turtledefs.js:218 - -#: js/turtledefs.js:350 - -#~ msgid "The Set timbre block selects a voice for the synthesizer, e.g., guitar, piano, violin, or cello." -#~ msgstr "" - -#: js/turtledefs.js:21 - -#: js/analytics.js:316 - -#~ msgid "turtle" -#~ msgstr "小烏龜" - -#: js/turtledefs.js:480 - -#~ msgid "The Y mouse block returns the Y position of the specified mouse." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:336 - -#~ msgid "minyo (Japan)" -#~ msgstr "" - -#: plugins/impact.rtp:124 - -#~ msgid "Impact Time not found." -#~ msgstr "" - -#: js/turtledefs.js:319 - -#~ msgid "The Beats per minute block changes the beats per minute of any contained notes." -#~ msgstr "" - -#: js/turtledefs.js:485 - -#~ msgid "The Stop mouse block stops the specified mouse." -#~ msgstr "" - -#: js/block.js:1308 - -#~ msgid "3rd" -#~ msgstr "" - -#: js/turtledefs.js:383 - -#~ msgid "The Duplicate block will run each block multiple times. The output of the example is: Sol, Sol, Sol, Sol, Re, Re, Re, Re, Sol, Sol, Sol, Sol." -#~ msgstr "" - -#: js/turtledefs.js:348 - -#~ msgid "The Doubly block will double the size of an interval." -#~ msgstr "" - -#: js/turtledefs.js:435 - -#~ msgid "The Run block block runs a block." -#~ msgstr "" - -#: js/basicblocks.js:510 - -#~ msgid "play forward" -#~ msgstr "" - -#: js/musicutils.js:308 - -#~ msgid "basse" -#~ msgstr "" - -#: js/turtledefs.js:208 - -#~ msgid "The Hertz block (in combination with a Number block) will play a sound at the specified frequency." -#~ msgstr "" - -#: js/turtledefs.js:219 - -#~ msgid "The Staccato block shortens the length of the actual note while maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/turtledefs.js:465 - -#~ msgid "The To ASCII block converts numbers to letters." -#~ msgstr "" - -#: js/turtledefs.js:214 - -#~ msgid "The Mode length block is the number of notes in the current scale. Most Western scales have 7 notes." -#~ msgstr "" - -#: js/turtledefs.js:258 - -#~ msgid "The Add-1-to block adds one to the value stored in a box." -#~ msgstr "" - -#: js/basicblocks.js:579 - -#~ msgid "440 hertz" -#~ msgstr "" - -#: js/turtledefs.js:277 - -#~ msgid "The Set XY block moves the mouse to a specific position on the screen." -#~ msgstr "" - -#: js/utilitybox.js:153 - -#~ msgid "Optimize performance" -#~ msgstr "" - -#: js/playback.js:31 - -#: js/playback.js:31 - -#: js/rhythmruler.js:827 - -#: js/rhythmruler.js:827 - -#~ msgid "play all" -#~ msgstr "" - -#: js/turtledefs.js:460 - -#~ msgid "The Camera block connects a webcam to the Show block." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#~ msgid "finger cymbols" -#~ msgstr "" - -#: js/synthutils.js:36 - -#~ msgid "simple-1" -#~ msgstr "" - -#: js/basicblocks.js:145 - -#~ msgid "consonant step down" -#~ msgstr "" - -#: js/synthutils.js:86 - -#~ msgid "ride-bell" -#~ msgstr "" - -#: js/turtledefs.js:23 - -#~ msgid "Music Blocks is a collection of tools for exploring musical concepts." -#~ msgstr "" - -#: js/logo-test.js:9708 - -#~ msgid "Cannot read pixel color" -#~ msgstr "" - -#: js/turtledefs.js:235 - -#~ msgid "The Rhythm Ruler block opens a tool to create drum machines." -#~ msgstr "" - -#: js/turtledefs.js:401 - -#~ msgid "The Sqrt block returns the square root." -#~ msgstr "" - -#: js/turtledefs.js:324 - -#~ msgid "The Note counter block can be used to count the number of contained notes." -#~ msgstr "" - -#: js/turtledefs.js:419 - -#~ msgid "The Heap empty? block returns true if the heap is emptry." -#~ msgstr "" - -#: js/musicutils.js:213 - -#~ msgid "Lydian" -#~ msgstr "" - -#: js/turtledefs.js:368 - -#~ msgid "The Noise name block is used to select a noise synthesizer." -#~ msgstr "" - -#: js/turtledefs.js:371 - -#~ msgid "The Pitch drum matrix is used to map pitches to drum sounds." -#~ msgstr "" - -#: js/turtledefs.js:311 - -#~ msgid "The Dot block extends the duration of a note by 50%. E.g., a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat." -#~ msgstr "" - -#: js/turtledefs.js:256 - -#~ msgid "The box2 returns the value stored on box2." -#~ msgstr "" - -#: js/turtledefs.js:213 - -#~ msgid "The Pitch Number block will play a pitch associated by its number, e.g, 1 for C, 7 for G." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:285 - -#~ msgid "harmonic-major" -#~ msgstr "" - -#: js/activity.js:4385 - -#~ msgid "Auxillary menu" -#~ msgstr "" - -#: js/samplesviewer.js:75 - -#: js/samplesviewer.js:75 - -#~ msgid "Publish" -#~ msgstr "" - -#: js/turtledefs.js:411 - -#~ msgid "The Push block adds a value to the top of the heap." -#~ msgstr "" - -#: js/musicutils.js:236 - -#~ msgid "Romanian Minor" -#~ msgstr "" - -#: js/turtledefs.js:251 - -#~ msgid "In the example, it is used with the One of block to choose a random phase." -#~ msgstr "" - -#: js/activity.js:2433 - -#: js/activity.js:2444 - -#: js/activity.js:2459 - -#~ msgid "untitled" -#~ msgstr "" - -#: js/samplesviewer.js:700 - -#~ msgid "Worldwide" -#~ msgstr "" - -#: js/turtledefs.js:320 - -#~ msgid "E.g., a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat." -#~ msgstr "" - -#: js/activity.js:3743 - -#: js/activity.js:3759 - -#~ msgid "long press to run slowly" -#~ msgstr "" - -#: js/turtledefs.js:430 - -#~ msgid "The Save heap to app block saves the heap to a web page." -#~ msgstr "" - -#: js/basicblocks.js:1370 - -#~ msgid "pluck" -#~ msgstr "" - -#: js/turtledefs.js:476 - -#~ msgid "The Mouse note block returns the current note value being played by the specified mouse." -#~ msgstr "" - -#: js/turtledefs.js:219 - -#~ msgid "The Slur block lengthens the sustain of notes—running longer than the noted duration and blending it into the next note—while maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/basicblocks.js:1545 - -#: js/basicblocks.js:1550 - -#~ msgid "on weak beat" -#~ msgstr "" - -#: js/turtledefs.js:322 - -#~ msgid "The No clock block decouples the notes from the master clock." -#~ msgstr "" - -#: js/turtledefs.js:283 - -#~ msgid "The Set-pen-size block changes the size of the pen." -#~ msgstr "" - -#~ msgid "end hollow line" -#~ msgstr "" - -#: js/turtledefs.js:448 - -#~ msgid "The Fill block fills in a shape with a color." -#~ msgstr "" - -#: js/basicblocks.js:622 - -#~ msgid "skip factor" -#~ msgstr "" - -#: js/turtledefs.js:221 - -#~ msgid "The Vibrato block adds a rapid, slight variation in pitch." -#~ msgstr "" - -#: js/turtledefs.js:311 - -#~ msgid "The Mouse-sync block aligns the beat count between mice." -#~ msgstr "" - -#: js/samplesviewer.js:73 - -#: js/samplesviewer.js:73 - -#~ msgid "Open" -#~ msgstr "" - -#: js/turtledefs.js:207 - -#~ msgid "The Scaler Step block (in combination with a Number block) will play the next pitch in a scale, e.g., if the last note played was sol, Scalar Step 1 will play la." -#~ msgstr "" - -#: js/basicblocks.js:1933 - -#~ msgid "define temperamentX" -#~ msgstr "" - -#: js/turtledefs.js:315 - -#~ msgid "The Swing block works on pairs of notes (specified by note value), adding some duration (specified by swing value) to the first note and taking the same amount from the second note." -#~ msgstr "" - -#: js/basicblocks.js:703 - -#~ msgid "set voice" -#~ msgstr "" - -#: js/turtledefs.js:331 - -#~ msgid "Else a kick drum will play." -#~ msgstr "" - -#: js/toolbar.js:340 - -#: js/toolbar.js:388 - -#~ msgid "Save as wav" -#~ msgstr "" - -#: js/activity.js:3859 - -#: js/activity.js:3870 - -#~ msgid "Click here to paste." -#~ msgstr "" - -#: js/turtledefs.js:204 - -#~ msgid "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note." -#~ msgstr "" - -#: js/synthutils.js:76 - -#~ msgid "tom-tom" -#~ msgstr "" - -#: js/musicutils.js:207 - -#~ msgid "Ionian" -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "ch" -#~ msgstr "" - -#: js/turtledefs.js:220 - -#~ msgid "The Slur block lengthens the sustain of notes while maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/temperament.js:1700 - -#~ msgid "add pitches" -#~ msgstr "" - -#: js/turtledefs.js:479 - -#~ msgid "The X mouse block returns the X position of the specified mouse." -#~ msgstr "" - -#: js/turtledefs.js:154 - -#: js/turtledefs.js:200 - -#~ msgid "Music Blocks is an open source collection of tools for exploring musical concepts. A full list of contributors can be found in the Music Blocks GitHub repository. Music Blocks is licensed under the AGPL. The current version is:' + ' ' + VERSION), 'images/logo.svg', 'https://github.com/sugarlabs/musicblocks', " -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "cb" -#~ msgstr "" - -#: js/basicblocks.js:1896 - -#~ msgid "reference pitch" -#~ msgstr "" - -#: js/turtledefs.js:165 - -#: js/turtledefs.js:170 - -#~ msgid "Click to run the music note by note." -#~ msgstr "" - -#: js/musicutils.js:310 - -#~ msgid "poly" -#~ msgstr "" - -#: js/StringHelper.js:22 - -#~ msgid "Search for a project\"," -#~ msgstr "" - -#: js/pitchslider.js:388 - -#~ msgid "move up" -#~ msgstr "" - -#: js/activity.js:3565 - -#~ msgid "confirm" -#~ msgstr "" - -#: js/turtledefs.js:427 - -#: js/turtledefs.js:428 - -#~ msgid "The Space block is used to add space between blocks." -#~ msgstr "" - -#: js/turtledefs.js:475 - -#~ msgid "The Mouse sync block aligns the beat count between mice." -#~ msgstr "" - -#: js/musicutils.js:239 - -#~ msgid "Maqam" -#~ msgstr "" - -#: js/musicutils.js:219 - -#~ msgid "Aeolian" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:289 - -#~ msgid "harmonic-minor" -#~ msgstr "" - -#: js/turtledefs.js:241 - -#~ msgid "For example, if you have 7 notes in sequence contained in a Decrescendo block with a value of 5, the final note will be at 35% less than the starting volume." -#~ msgstr "" - -#: js/turtledefs.js:268 - -#~ msgid "The Greater-than block returns True if the top number is greater than the bottom number." -#~ msgstr "" - -#: js/turtledefs.js:257 - -#~ msgid "The Add-to block is used to add to the value stored in a box. It can also be used with other blocks, such as Color, Pen-size. etc." -#~ msgstr "" - -#: js/turtledefs.js:423 - -#~ msgid "The Reverseheap block reverses the order of the heap." -#~ msgstr "" - -#: js/turtledefs.js:262 - -#~ msgid "The One-of block returns one of two choices." -#~ msgstr "" - -#: js/musicutils.js:221 - -#~ msgid "Locrian" -#~ msgstr "" - -#: js/turtledefs.js:445 - -#~ msgid "The Set hue block changes the color of the pen." -#~ msgstr "" - -#: js/turtledefs.js:396 - -#: js/turtledefs.js:397 - -#~ msgid "The Store in block will store a value in a box." -#~ msgstr "" - -#: js/activity.js:3524 - -#~ msgid "Save as .svg" -#~ msgstr "" - -#: js/musicutils.js:241 - -#~ msgid "Blues" -#~ msgstr "" - -#: js/turtledefs.js:152 - -#: js/turtledefs.js:198 - -#~ msgid "You can type \"d\" to create a \"do\" block, \"r\" to create a \"re\" block, etc." -#~ msgstr "" - -#: plugins/impact.rtp:69 - -#~ msgid "Cannot parse Impact data." -#~ msgstr "" - -#: js/turtledefs.js:233 - -#~ msgid "e.g., guitar, violin, snare drum, etc." -#~ msgstr "" - -#: js/turtledefs.js:238 - -#~ msgid "The Tempo block opens a metronome to visualize the beat." -#~ msgstr "" - -#: js/turtledefs.js:332 - -#~ msgid "The Invert block rotates any contained notes around a target note." -#~ msgstr "" - -#: plugins/impact.rtp:32 - -#~ msgid "field" -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "m" -#~ msgstr "" - -#: js/turtledefs.js:200 - -#~ msgid "The On-every-beat block let you specify actions to take on every beat." -#~ msgstr "" - -#: js/SaveInterface.js:24 - -#~ msgid "For more information, please consult the Music Blocks guide." -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "rs" -#~ msgstr "" - -#: js/turtledefs.js:305 - -#~ msgid "The Click block returns True if a mouse has been clicked." -#~ msgstr "" - -#: plugins/impact.rtp:100 - -#: plugins/impact.rtp:114 - -#~ msgid "Impact field not found." -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "gs" -#~ msgstr "" - -#: js/musicutils.js:217 - -#~ msgid "Minor" -#~ msgstr "" - -#: js/utilitybox.js:172 - -#~ msgid " " -#~ msgstr "" - -#: js/musicutils.js:227 - -#~ msgid "Byzantine" -#~ msgstr "" - -#: js/musicutils.js:223 - -#~ msgid "Jazz Minor" -#~ msgstr "" - -#: js/turtledefs.js:251 - -#~ msgid "The Do block is used to initiate an action. In the example, it is used with the One of block to choose a random phase." -#~ msgstr "" - -#: js/toolbar.js:372 - -#: js/toolbar.js:420 - -#~ msgid "Save as HTML" -#~ msgstr "" - -#: js/basicblocks.js:1156 - -#~ msgid "on beat" -#~ msgstr "" - -#: js/activity.js:3857 - -#: js/activity.js:3868 - -#: js/activity.js:3881 - -#: js/turtledefs.js:118 - -#: js/turtledefs.js:156 - -#~ msgid "Load project from files" -#~ msgstr "" - -#: js/turtledefs.js:216 - -#~ msgid "The Set temperament block is used to choose the tuning system used by Music Blocks." -#~ msgstr "" - -#: js/turtledefs.js:250 - -#~ msgid "The Dispatch block is used to trigger an event." -#~ msgstr "" - -#: js/turtledefs.js:87 - -#~ msgid "Hide or show the block palettes." -#~ msgstr "" - -#: js/activity.js:2712 - -#~ msgid "Run fast / long press to run slowly" -#~ msgstr "" - -#: js/activity.js:913 - -#~ msgid "hide grid" -#~ msgstr "" - -#: js/synthutils.js:72 - -#~ msgid "snare-drum" -#~ msgstr "" - -#: js/turtledefs.js:325 - -#~ msgid "The Measure count block returns the current measure." -#~ msgstr "" - -#: js/turtledefs.js:474 - -#~ msgid "The Found mouse block will return true if the specified mouse can be found." -#~ msgstr "" - -#: js/turtledefs.js:267 - -#~ msgid "The Dispatch block is used to trigger an event." -#~ msgstr "" - -#: js/turtledefs.js:107 - -#: js/utilitybox.js:239 - -#~ msgid "Search" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/synthutils.js:44 - -#~ msgid "white-noise" -#~ msgstr "" - -#: js/musicutils.js:203 - -#~ msgid "Octatonic" -#~ msgstr "" - -#: js/turtledefs.js:309 - -#~ msgid "The Pitch-time Matrix block opens a tool to create musical phrases." -#~ msgstr "" - -#: js/turtledefs.js:297 - -#~ msgid "The Top block returns the position of the top of the canvas." -#~ msgstr "" - -#: js/turtledefs.js:249 - -#~ msgid "The Listen block is used to listen for an event such as a mouse click. When the event happens, an action is taken." -#~ msgstr "" - -#: plugins/rodi.rtp:91 - -#~ msgid "sense left" -#~ msgstr "" - -#: js/turtledefs.js:237 - -#~ msgid "The Music keyboard block opens a piano keyboard that can be used to create notes." -#~ msgstr "" - -#: js/turtledefs.js:413 - -#~ msgid "The Setheapentry block sets a value in he heap at the specified location." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:307 - -#~ msgid "jazz-minor" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:325 - -#~ msgid "minor-blues" -#~ msgstr "" - -#: js/help.js:53 - -#~ msgid "previous page" -#~ msgstr "" - -#: js/turtledefs.js:285 - -#~ msgid "The Pen-down block lowers the pen so that it draws." -#~ msgstr "" - -#: js/turtledefs.js:330 - -#~ msgid "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps. In the example shown above, sol is shifted up to sol#." -#~ msgstr "" - -#: js/turtledefs.js:107 - -#~ msgid "You can search for blocks by name." -#~ msgstr "" - -#: js/synthutils.js:88 - -#~ msgid "cow-bell" -#~ msgstr "" - -#: js/block.js:1307 - -#~ msgid "2nd" -#~ msgstr "" - -#: js/turtledefs.js:291 - -#~ msgid "The Media block is used to import an image." -#~ msgstr "" - -#: js/activity.js:3527 - -#~ msgid "Offline. Sharing is unavailable." -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "fs" -#~ msgstr "" - -#: js/turtledefs.js:470 - -#~ msgid "The Stopplayback block" -#~ msgstr "" - -#: js/turtledefs.js:243 - -#: js/turtledefs.js:244 - -#~ msgid "Conditionals lets your program take different actions depending on the condition. In this example, if the mouse button is pressed, a snare drum will play. Otherwise (else) a kick drum will play." -#~ msgstr "" - -#: js/turtledefs.js:471 - -#~ msgid "The Loudness block returns the volume detected by the microphone." -#~ msgstr "" - -#: js/turtledefs.js:431 - -#~ msgid "The Show blocks block shows the blocks." -#~ msgstr "" - -#~ msgid "food" -#~ msgstr "" - -#: js/basicblocks.js:874 - -#~ msgid "osctime" -#~ msgstr "" - -#: js/basicblocks.js:901 - -#~ msgid "divide beat value" -#~ msgstr "" - -#: js/turtledefs.js:187 - -#: js/toolbar.js:374 - -#: js/toolbar.js:422 - -#~ msgid "Save as PNG" -#~ msgstr "" - -#: js/turtledefs.js:425 - -#~ msgid "The Comment block prints a comment at the top of the screen when the program is running in slow mode." -#~ msgstr "" - -#: js/turtledefs.js:457 - -#~ msgid "The Stop media block stops audio or video playback." -#~ msgstr "" - -#: js/turtledefs.js:302 - -#~ msgid "The Mouse-button block returns True if the mouse button is pressed." -#~ msgstr "" - -#: js/musicutils.js:286 - -#~ msgid "blues" -#~ msgstr "" - -#: js/activity.js:4401 - -#~ msgid "More" -#~ msgstr "" - -#: js/turtledefs.js:304 - -#~ msgid "The Cursor Y block returns the vertical position of the mouse." -#~ msgstr "" - -#~ msgid "maths" -#~ msgstr "" - -#: js/turtledefs.js:260 - -#: js/turtledefs.js:261 - -#~ msgid "Otherwise (else) a kick drum will play." -#~ msgstr "" - -#: js/StringHelper.js:18 - -#~ msgid "Open project from file\"," -#~ msgstr "" - -#: js/basicblocks.js:605 - -#~ msgid "tritone" -#~ msgstr "" - -#: js/musicutils.js:209 - -#~ msgid "Dorian" -#~ msgstr "" - -#: js/turtledefs.js:79 - -#~ msgid "This toolbar contains the palette buttons Matrix Notes Tone Turtle and more." -#~ msgstr "" - -#: js/synthutils.js:74 - -#~ msgid "kick-drum" -#~ msgstr "" - -#: js/block.js:1310 - -#~ msgid "5th" -#~ msgstr "" - -#: js/turtledefs.js:478 - -#~ msgid "The Mouse elapse notes block returns the number of notes played by the specified mouse." -#~ msgstr "" - -#: js/turtledefs.js:477 - -#~ msgid "The Mouse pitch block returns the current pitch number being played by the specified mouse." -#~ msgstr "" - -#: js/turtledefs.js:129 - -#: js/turtledefs.js:164 - -#~ msgid "This toolbar contains the palette buttons, including Rhythm Pitch Tone Action and more." -#~ msgstr "" - -#: js/help.js:72 - -#~ msgid "next page" -#~ msgstr "" - -#: js/turtledefs.js:241 - -#~ msgid "The Repeat block will repeat the contained blocks. In this example, the note will be played 4 times." -#~ msgstr "" - -#: js/turtledefs.js:97 - -#~ msgid "The save-stack button saves a stack onto a custom palette. It appears after a \"long press\" on a stack." -#~ msgstr "" - -#: js/basicblocks.js:4785 - -#~ msgid "Rhythm" -#~ msgstr "" - -#: js/turtledefs.js:338 - -#~ msgid "The Number to octave block will convert a pitch number to an octave." -#~ msgstr "" - -#: js/turtledefs.js:95 - -#~ msgid "To copy a stack to the clipboard, do a \"long press\" on the stack. The Paste Button will highlight." -#~ msgstr "" - -#~ msgid "hspace" -#~ msgstr "" - -#: js/activity.js:2789 - -#~ msgid "Long press on block(s) to copy. Click here to paste." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:291 - -#~ msgid "melodic-minor" -#~ msgstr "" - -#: js/turtledefs.js:427 - -#~ msgid "The Heap empty? block returns true if the heap is emptry." -#~ msgstr "" - -#: js/turtledefs.js:469 - -#~ msgid "The Playback block" -#~ msgstr "" - -#: js/turtledefs.js:196 - -#~ msgid "The Note value block is the value of the duration of the note currently being played." -#~ msgstr "" - -#: js/turtledefs.js:187 - -#: js/toolbar.js:375 - -#: js/toolbar.js:423 - -#~ msgid "Save as WAV" -#~ msgstr "" - -#: js/turtledefs.js:354 - -#~ msgid "The Tremolo block adds a wavering effect." -#~ msgstr "" - -#: js/turtledefs.js:446 - -#~ msgid "The Set grey block changes the vividness of the pen color." -#~ msgstr "" - -#: js/turtledefs.js:290 - -#~ msgid "The Text block holds a text string." -#~ msgstr "" - -#: js/turtledefs.js:21 - -#~ msgid "actions" -#~ msgstr "" - -#: js/turtledefs.js:331 - -#~ msgid "The Register block provides an easy way to modify the register (octave) of the notes that follow it." -#~ msgstr "" - -#: js/logo.js:3384 - -#~ msgid "Note value must be greater than 0" -#~ msgstr "" - -#: js/turtledefs.js:236 - -#~ msgid "Tuplets are a collection of notes that get scaled to a specific duration. Using tuplets makes it easy to create groups of notes that are not based on a power of 2." -#~ msgstr "" - -#: js/basicblocks.js:1398 - -#~ msgid "pitch-time matrix" -#~ msgstr "" - -#: js/turtledefs.js:233 - -#~ msgid "eg guitar, violin, snare drum, etc." -#~ msgstr "" - -#: js/turtledefs.js:347 - -#~ msgid "The Scalar interval block measures the distance between two notes in semi-tones." -#~ msgstr "" - -#: js/turtledefs.js:144 - -#~ msgid "Long press the run button to run the project in slow mode." -#~ msgstr "" - -#: js/turtledefs.js:339 - -#~ msgid "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave." -#~ msgstr "" - -#: js/turtledefs.js:188 - -#~ msgid "Show or hide a polar-coordinate grid." -#~ msgstr "" - -#: js/turtledefs.js:344 - -#~ msgid "It can also be used with other blocks, such as Color, Pen-size." -#~ msgstr "" - -#: js/samplesviewer.js:80 - -#~ msgid "Copy this link to share your project." -#~ msgstr "" - -#: js/turtledefs.js:111 - -#: js/turtledefs.js:149 - -#~ msgid "Clear the screen and return the turtles to their initial positions." -#~ msgstr "" - -#: js/turtledefs.js:254 - -#~ msgid "The box1 returns the value stored on box1." -#~ msgstr "" - -#: js/logo.js:3705 - -#~ msgid "The Step Pitch Block must be used inside of a Note Block." -#~ msgstr "" - -#: plugins/rodi.rtp:30 - -#~ msgid "blink (ms)" -#~ msgstr "" - -#: js/turtledefs.js:360 - -#~ msgid "The Duo synth block is a duo-frequency modulator used to define a timbre." -#~ msgstr "" - -#~ msgid "begin hollow line" -#~ msgstr "" - -#: js/musicutils.js:232 - -#~ msgid "Geez" -#~ msgstr "" - -#~ msgid "Rhythm Block: Did you mean to use a Note block?" -#~ msgstr "" - -#: js/turtledefs.js:260 - -#: js/turtledefs.js:261 - -#~ msgid "In this example, if the mouse button is pressed, a snare drum will play." -#~ msgstr "" - -#: js/turtledefs.js:77 - -#~ msgid "This toolbar contains the palette buttons Matrix, Notes, Tone, Turtle, and more. Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them." -#~ msgstr "" - -#: js/turtledefs.js:434 - -#~ msgid "The Dock block block connections two blocks." -#~ msgstr "" - -#: js/turtledefs.js:203 - -#~ msgid "The Step pitch block (in combination with a Number block) will play the next pitch in a scale, e.g., if the last note played was sol, Step pitch 1 will play la." -#~ msgstr "" - -#: js/turtledefs.js:245 - -#~ msgid "The Backward block runs code in reverse order (Musical retrograde)." -#~ msgstr "" - -#: js/basicblocks.js:583 - -#~ msgid "deprecated note value" -#~ msgstr "" - -#: js/musicutils.js:226 - -#~ msgid "Arabic" -#~ msgstr "" - -#: js/turtledefs.js:259 - -#~ msgid "In this example, a simple drum machine, a kick drum will play 1/4 notes forever." -#~ msgstr "" - -#: js/logo.js:6824 - -#~ msgid "Hertz Block: Did you mean to use a Note block3?" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:327 - -#~ msgid "major-blues" -#~ msgstr "" - -#: js/turtledefs.js:403 - -#~ msgid "The Mod block returns the remainder from a division." -#~ msgstr "" - -#: js/turtledefs.js:206 - -#~ msgid "Pitch can be specified in terms of C D E F G A B." -#~ msgstr "" - -#: js/musicutils.js:233 - -#~ msgid "Hindu" -#~ msgstr "" - -#: js/turtledefs.js:316 - -#~ msgid "The Milliseconds block is similar to a Note block except that it uses time (in MS) to specify the note duration." -#~ msgstr "" - -#: js/turtledefs.js:406 - -#~ msgid "The Not block is the logical not operator." -#~ msgstr "" - -#: js/StringHelper.js:19 - -#~ msgid "New project\"," -#~ msgstr "" - -#: js/basicblocks.js:1299 - -#~ msgid "step pitch" -#~ msgstr "" - -#: js/turtledefs.js:255 - -#~ msgid "The Store in box2 block is used to store a value in box2." -#~ msgstr "" - -#: js/toolbar.js:339 - -#: js/toolbar.js:387 - -#~ msgid "Save as png" -#~ msgstr "" - -#: js/turtledefs.js:314 - -#~ msgid "The Skip notes block will cause notes to be skipped." -#~ msgstr "" - -#: js/turtledefs.js:215 - -#~ msgid "The Scalar interval block calculates a relative interval based on the current mode, skipping all notes outside of the mode. In the figure, we add la to sol." -#~ msgstr "" - -#: js/basicblocks.js:519 - -#~ msgid "play backward" -#~ msgstr "" - -#: js/turtledefs.js:333 - -#~ msgid "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played." -#~ msgstr "" - -#: js/turtledefs.js:442 - -#~ msgid "The Control-point 1 block sets the first control point for the Bezier curve." -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "bk" -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "bt" -#~ msgstr "" - -#: js/logo.js:2175 - -#: js/logo.js:7714 - -#: js/logo.js:7849 - -#: js/logo.js:7909 - -#: js/logo.js:8029 - -#: js/logo.js:8057 - -#~ msgid "Could not find mouse" -#~ msgstr "" - -#: js/turtledefs.js:469 - -#~ msgid "The Get green block returns the green component of the pixel under the mouse." -#~ msgstr "" - -#: js/turtledefs.js:235 - -#~ msgid "The Rhythm block is used to generate rhythm patterns." -#~ msgstr "" - -#: js/turtledefs.js:213 - -#~ msgid "???" -#~ msgstr "" - -#: js/turtledefs.js:303 - -#~ msgid "The Cursor X block returns the horizontal position of the mouse." -#~ msgstr "" - -#: js/activity.js:3444 - -#~ msgid "Save Project" -#~ msgstr "" - -#: js/turtledefs.js:454 - -#~ msgid "The Set font block sets the font used by the Show block." -#~ msgstr "" - -#~ msgid "do re mi fa sol la ti" -#~ msgstr "" - -#: js/turtledefs.js:377 - -#~ msgid "The Until block will repeat until the condition is true." -#~ msgstr "" - -#: js/turtledefs.js:408 - -#~ msgid "The Or block is the logical or operator." -#~ msgstr "" - -#: js/modewidget.js:77 - -#~ msgid "rotate counter clockwise" -#~ msgstr "" - -#: js/turtledefs.js:344 - -#~ msgid "etc." -#~ msgstr "" - -#: js/pitchtimematrix.js:203 - -#~ msgid "sort" -#~ msgstr "" - -#: js/logo.js:5000 - -#~ msgid "Pitch Block: Did you mean to use a Note block2?" -#~ msgstr "" - -#: js/logo.js:3606 - -#~ msgid "Distortion not in range" -#~ msgstr "" - -#: js/turtledefs.js:453 - -#~ msgid "The Pen size block returns the current pen size value." -#~ msgstr "" - -#: js/turtledefs.js:422 - -#~ msgid "The Save heap to app block saves the heap to a web page." -#~ msgstr "" - -#: js/turtledefs.js:261 - -#~ msgid "The Random block returns a random number." -#~ msgstr "" - -#: js/turtledefs.js:143 - -#: js/turtledefs.js:180 - -#~ msgid "Polar" -#~ msgstr "" - -#: js/basicblocks.js:74 - -#~ msgid "current pitch name" -#~ msgstr "" - -#: js/turtledefs.js:134 - -#~ msgid "Show or hide a Cartesian-coordinate grid." -#~ msgstr "" - -#: js/turtledefs.js:421 - -#~ msgid "The Show heap block displays the contents of the heap at the top of the screen." -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "gp" -#~ msgstr "" - -#: js/turtledefs.js:308 - -#~ msgid "The Mouse-name block returns the name of a mouse." -#~ msgstr "" - -#: js/activity.js:3528 - -#~ msgid "Save as .png" -#~ msgstr "" - -#: js/musicutils.js:215 - -#~ msgid "Mixolydian" -#~ msgstr "" - -#: js/block.js:909 - -#~ msgid "mKeyboard" -#~ msgstr "" - -#: js/turtledefs.js:379 - -#~ msgid "The Stop block will stop a loop (e.g., Forever, Repeat, While, or Until)." -#~ msgstr "" - -#: js/turtledefs.js:211 - -#~ msgid "The Pitch number block is the value of the pitch of the note currently being played." -#~ msgstr "" - -#: js/turtledefs.js:293 - -#~ msgid "The Shell block is used to change the appearance of the mouse." -#~ msgstr "" - -#: js/turtledefs.js:270 - -#~ msgid "The Equal block returns True if the two numbers are equal." -#~ msgstr "" - -#: js/savebox.js:105 - -#~ msgid "Upload to Planet" -#~ msgstr "" - -#: js/turtledefs.js:341 - -#~ msgid "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode." -#~ msgstr "" - -#: js/turtledefs.js:467 - -#~ msgid "The Get pixel block returns the color of the pixel under the mouse." -#~ msgstr "" - -#: js/activity.js:3607 - -#~ msgid "Load plugin from file" -#~ msgstr "" - -#: js/turtledefs.js:461 - -#~ msgid "The Playback block" -#~ msgstr "" - -#: js/activity.js:3541 - -#~ msgid "Save as .abc" -#~ msgstr "" - -#: js/logo.js:10269 - -#~ msgid "Lilypond cannot process partial of " -#~ msgstr "" - -#: js/turtledefs.js:210 - -#~ msgid "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played." -#~ msgstr "" - -#: js/block.js:1453 - -#~ msgid "degree" -#~ msgstr "" - -#: plugins/rodi.rtp:169 - -#~ msgid "sing" -#~ msgstr "" - -#: js/turtledefs.js:443 - -#~ msgid "The Control-point 2 block sets the second control point for the Bezier curve." -#~ msgstr "" - -#: js/musicutils.js:247 - -#~ msgid "Chinese" -#~ msgstr "" - -#: js/turtledefs.js:165 - -#~ msgid "Play music" -#~ msgstr "" - -#: js/samplesviewer.js:91 - -#: js/samplesviewer.js:91 - -#: js/samplesviewer.js:115 - -#: js/samplesviewer.js:115 - -#~ msgid "Download" -#~ msgstr "" - -#: js/synthutils.js:82 - -#~ msgid "darbuka-drum" -#~ msgstr "" - -#: js/turtledefs.js:345 - -#~ msgid "The Semi-tone interval block calculates a relative interval based on half steps. In the figure, we add sol# to sol." -#~ msgstr "" - -#: js/turtledefs.js:263 - -#~ msgid "The Plus block is used to add." -#~ msgstr "" - -#: js/turtledefs.js:207 - -#~ msgid "e.g., 1, 2, 3, or 4." -#~ msgstr "" - -#: js/turtledefs.js:416 - -#~ msgid "The Loadheap block loads the heap from a file." -#~ msgstr "" - -#~ msgid "cloud" -#~ msgstr "" - -#: js/turtledefs.js:298 - -#~ msgid "The Bottom block returns the position of the bottom of the canvas." -#~ msgstr "" - -#: js/toolbar.js:338 - -#: js/toolbar.js:386 - -#~ msgid "Save as svg" -#~ msgstr "" - -#: plugins/impact.rtp:122 - -#~ msgid "Impact UID not found." -#~ msgstr "" - -#: js/pitchdrummatrix.js:141 - -#~ msgid "Solfa" -#~ msgstr "" - -#: js/timbre.js:727 - -#~ msgid "add filter" -#~ msgstr "" - -#: js/logo.js:2688 - -#~ msgid "turtleHeaps does not contain a valid heap for" -#~ msgstr "" - -#: js/turtledefs.js:98 - -#~ msgid "You can also use Alt+C to copy a stack of blocks. " -#~ msgstr "" - -#: js/activity.js:3523 - -#~ msgid "Show/hide palettes" -#~ msgstr "" - -#: js/activity.js:3066 - -#~ msgid "Home' + ' [HOME]" -#~ msgstr "" - -#: js/turtledefs.js:484 - -#~ msgid "The Start mouse block starts the specified mouse." -#~ msgstr "" - -#: plugins/impact.rtp:32 - -#~ msgid "fetch" -#~ msgstr "" - -#: js/turtledefs.js:398 - -#~ msgid "The Box block returns the value stored in a box." -#~ msgstr "" - -#~ msgid "rodi" -#~ msgstr "" - -#: js/turtledefs.js:481 - -#~ msgid "The Set mouse block sends a stack of blocks to be run by the specified mouse." -#~ msgstr "" - -#: js/turtledefs.js:254 - -#~ msgid "The box1 block returns the value stored in box1." -#~ msgstr "" - -#: js/turtledefs.js:99 - -#~ msgid "You can also use Alt+P to paste a stack of blocks. " -#~ msgstr "" - -#: js/musicutils.js:291 - -#~ msgid "pentatonic" -#~ msgstr "" - -#~ msgid "blocks" -#~ msgstr "" - -#: js/turtledefs.js:232 - -#~ msgid "The Pitch-time Matrix block opens a tool to create musical phrases." -#~ msgstr "" - -#: js/turtledefs.js:281 - -#~ msgid "The Heading block returns the orientation of the mouse." -#~ msgstr "" - -#: js/turtledefs.js:400 - -#~ msgid "The Abs block returns the absolute value." -#~ msgstr "" - -#: js/turtledefs.js:240 - -#~ msgid "For example, if you have 7 notes in sequence contained in a Crescendo block with a value of 5, the final note will be at 35% more than the starting volume." -#~ msgstr "" - -#: js/block.js:962 - -#: js/basicblocks.js:1022 - -#: js/basicblocks.js:1034 - -#~ msgid "rhythm ruler" -#~ msgstr "" - -#: js/logo.js:3626 - -#: js/logo.js:3675 - -#~ msgid "Depth entered is out of range" -#~ msgstr "" - -#: js/turtledefs.js:346 - -#~ msgid "The Scalar interval block measures the distance between two notes in the current key and mode." -#~ msgstr "" - -#: js/turtledefs.js:272 - -#~ msgid "The Forward block moves the mouse forward." -#~ msgstr "" - -#: js/musicutils.js:246 - -#~ msgid "Pentatonic" -#~ msgstr "" - -#: js/turtledefs.js:372 - -#~ msgid "The Temperament tool is used to define custom tuning." -#~ msgstr "" - -#: js/logo.js:4992 - -#: js/logo.js:5014 - -#~ msgid "Input to Major Block must be 2, 3, 6, or 7" -#~ msgstr "" - -#: js/turtledefs.js:289 - -#~ msgid "The Print block displays text at the top of the screen." -#~ msgstr "" - -#: js/turtledefs.js:356 - -#~ msgid "The Weighted partials block is used to specify the partials associated with a timbre." -#~ msgstr "" - -#: js/basicblocks.js:712 - -#~ msgid "articulation" -#~ msgstr "" - -#: js/turtledefs.js:387 - -#: js/turtledefs.js:389 - -#: js/turtledefs.js:391 - -#: js/turtledefs.js:392 - -#~ msgid "The Calculate block returns a value calculated by an action." -#~ msgstr "" - -#: js/samplesviewer.js:81 - -#: js/samplesviewer.js:84 - -#~ msgid "Advanced options" -#~ msgstr "" - -#: js/turtledefs.js:394 - -#~ msgid "The Return block will return a value from an action." -#~ msgstr "" - -#: js/turtledefs.js:247 - -#~ msgid "The Action block is used to group together blocks so that they can be used more than once. It is often used for storing a phrase of music that is repeated." -#~ msgstr "" - -#: js/turtledefs.js:470 - -#~ msgid "The Get blue block returns the blue component of the pixel under the mouse." -#~ msgstr "" - -#: js/turtledefs.js:187 - -#: js/toolbar.js:377 - -#: js/toolbar.js:425 - -#~ msgid "Save sheet music" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:320 - -#~ msgid "romanian-minor" -#~ msgstr "" - -#: js/block.js:1309 - -#~ msgid "4th" -#~ msgstr "" - -#: js/turtledefs.js:362 - -#~ msgid "The Set relative volume block changes the volume of the contained notes." -#~ msgstr "" - -#: js/turtledefs.js:380 - -#~ msgid "The Switch block will run the code in the matchin Case." -#~ msgstr "" - -#: js/basicblocks.js:282 - -#~ msgid "adjust transposition" -#~ msgstr "" - -#: js/turtledefs.js:80 - -#~ msgid "Click to run the project in fast mode." -#~ msgstr "" - -#: js/turtledefs.js:170 - -#~ msgid "Run note by note" -#~ msgstr "" - -#: js/logo.js:5092 - -#~ msgid "Partial block should be used inside of a Weighted-partisls block." -#~ msgstr "" - -#: js/turtledefs.js:428 - -#~ msgid "The Heap length block returns the length of the heap." -#~ msgstr "" - -#: js/basicblocks.js:4324 - -#~ msgid "shell" -#~ msgstr "" - -#: js/StringHelper.js:17 - -#~ msgid "Close Planet\"," -#~ msgstr "" - -#: js/help.js:72 - -#~ msgid "Next page" -#~ msgstr "" - -#: js/activity.js:3859 - -#: js/activity.js:3870 - -#~ msgid "Long press on blocks to copy." -#~ msgstr "" - -#: js/turtledefs.js:351 - -#~ msgid "The Chorus block adds a chorus effect." -#~ msgstr "" - -#: js/turtledefs.js:239 - -#~ msgid "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale)." -#~ msgstr "" - -#: js/logo.js:2317 - -#~ msgid "Please close the current matrix before opening a new one." -#~ msgstr "" - -#: js/turtledefs.js:426 - -#~ msgid "The Wait block pauses the program for a specified number of seconds." -#~ msgstr "" - -#: js/turtledefs.js:229 - -#~ msgid "The Set drum block will select a drum sound to replace the pitch of any contained notes. In the example above, a kick drum sound will be played instead of sol." -#~ msgstr "" - -#: js/turtledefs.js:420 - -#~ msgid "The Heap length block returns the length of the heap." -#~ msgstr "" - -#: js/basicblocks.js:1146 - -#~ msgid "on offbeat do" -#~ msgstr "" - -#: js/StringHelper.js:17 - -#: js/StringHelper.js:18 - -#: js/StringHelper.js:19 - -#~ msgid "data-tooltip" -#~ msgstr "" - -#: js/playback.js:28 - -#: js/playback.js:28 - -#~ msgid "pause" -#~ msgstr "" - -#: js/turtledefs.js:195 - -#~ msgid "A rest of the specified note value duration can be constructed using a Silence block." -#~ msgstr "" - -#: js/turtledefs.js:225 - -#~ msgid "e.g., guitar, piano, violin, or cello." -#~ msgstr "" - -#: js/activity.js:4118 - -#~ msgid "Hard stop" -#~ msgstr "" - -#: js/turtledefs.js:468 - -#~ msgid "The Get red block returns the red component of the pixel under the mouse." -#~ msgstr "" - -#: js/basicblocks.js:808 - -#~ msgid "free time" -#~ msgstr "" - -#: js/turtledefs.js:214 - -#~ msgid "e.g., if the last note played was sol, Scalar Step 1 will play la." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:328 - -#~ msgid "whole-tone" -#~ msgstr "" - -#: js/turtledefs.js:185 - -#~ msgid "You can also use Alt+C to copy a stack of blocks." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:287 - -#~ msgid "natural-minor" -#~ msgstr "" - -#: js/activity.js:4437 - -#: js/activity.js:4472 - -#~ msgid "Click here to paste" -#~ msgstr "" - -#~ msgid "This button opens and closes the primary toolbar." -#~ msgstr "" - -#: js/activity.js:4426 - -#~ msgid "Run music step by step" -#~ msgstr "" - -#: js/turtledefs.js:417 - -#~ msgid "The Saveheap block saves the heap to a file." -#~ msgstr "" - -#: js/musicutils.js:230 - -#~ msgid "Ethiopian" -#~ msgstr "" - -#: js/turtledefs.js:99 - -#~ msgid "It appears after a long press on a stack." -#~ msgstr "" - -#: js/logo.js:4851 - -#: js/logo.js:4872 - -#~ msgid "Input to Perfect Block must be 1, 4, 5, or 8" -#~ msgstr "" - -#: js/temperament.js:1621 - -#~ msgid "table" -#~ msgstr "" - -#: js/savebox.js:116 - -#~ msgid "Save as .tb" -#~ msgstr "" - -#: js/lilypond.js:21 - -#~ msgid "cp" -#~ msgstr "" - -#: js/turtledefs.js:321 - -#~ msgid "The On-weak-beat block let you specify actions to take on weak (off) beats." -#~ msgstr "" - -#: plugins/rodi.rtp:130 - -#~ msgid "sense right" -#~ msgstr "" - -#: js/turtledefs.js:423 - -#~ msgid "The Load heap from app block loads the heap from a web page." -#~ msgstr "" - -#~ msgid "vspace" -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:321 - -#~ msgid "spanish-gypsy" -#~ msgstr "" - -#: js/turtledefs.js:286 - -#~ msgid "The Color block returns the current pen color." -#~ msgstr "" - -#: js/musicutils.js:225 - -#~ msgid "Bebop" -#~ msgstr "" - -#: js/turtledefs.js:185 - -#~ msgid "The Paste Button will highlight." -#~ msgstr "" - -#: js/turtledefs.js:431 - -#~ msgid "The Load heap from app block loads the heap from a web page." -#~ msgstr "" - -#: js/logo.js:1982 - -#~ msgid "The Step Pitch Block must be used insdie of a Note Block." -#~ msgstr "" - -#: js/turtledefs.js:118 - -#~ msgid "Remove all content on the canvas, including the blocks." -#~ msgstr "" - -#: js/basicblocks.js:4883 - -#~ msgid "save svg" -#~ msgstr "" - -#: js/samplesviewer.js:699 - -#~ msgid "On my device" -#~ msgstr "" - -#: js/turtledefs.js:432 - -#~ msgid "The No background block eliminates the background from the saved SVG output." -#~ msgstr "" - -#: js/activity.js:2527 - -#~ msgid "My Music Blocks Creation" -#~ msgstr "" - -#: js/turtledefs.js:438 - -#~ msgid "The Open palette block opens a palette." -#~ msgstr "" - -#: js/turtledefs.js:242 - -#~ msgid "The Forever block will repeat the contained blocks forever. In this example, a simple drum machine, a kick drum will play 1/4 notes forever." -#~ msgstr "" - -#: js/logo.js:4898 - -#: js/logo.js:4919 - -#~ msgid "Input to Diminished Block must be 1, 2, 3, 4, 5, 6, 7, or 8" -#~ msgstr "" - -#: js/turtledefs.js:168 - -#~ msgid "Run music slow" -#~ msgstr "" - -#: js/turtledefs.js:120 - -#: js/turtledefs.js:159 - -#~ msgid "To copy a stack to the clipboard, do a long press on the stack." -#~ msgstr "" - -#: js/turtledefs.js:359 - -#~ msgid "eg guitar, piano, violin, or cello." -#~ msgstr "" - -#: js/turtledefs.js:29 - -#: js/musicutils.js:330 - -#~ msgid "minor-pentatonic" -#~ msgstr "" - -#: js/turtledefs.js:359 - -#~ msgid "The AM synth block is an amplitude modulator used to define a timbre." -#~ msgstr "" - -#: js/turtledefs.js:275 - -#~ msgid "The Right block turns the mouse to the right." -#~ msgstr "" - -#: js/turtledefs.js:355 - -#~ msgid "The Harmonic block will add harmonics to the contained notes." -#~ msgstr "" - -#: js/turtledefs.js:217 - -#~ msgid "The Staccato block shortens the length of the actual notewhile maintaining the specified rhythmic value of the notes." -#~ msgstr "" - -#: js/pitchtimematrix.js:198 - -#~ msgid "export" -#~ msgstr "" - -#: js/turtledefs.js:402 - -#~ msgid "The Power block calculates a power function." -#~ msgstr "" - -#: js/turtledefs.js:440 - -#~ msgid "The Set heading block sets the heading of the mouse." -#~ msgstr "" - -#: js/turtledefs.js:193 - -#~ msgid "The Note block is a container for one or more Pitch blocks. The Note block specifies the duration (note value) of its contents." -#~ msgstr "" - -#: js/turtledefs.js:269 - -#~ msgid "The Less-than block returns True if the top number is less than the bottom number." -#~ msgstr "" - -#: js/turtledefs.js:201 - -#~ msgid "The Beat count block is the number of the current beat, e.g., 1, 2, 3, or 4.\n In the figure, it is used to take an action on the first beat of each measure." -#~ msgstr "" - -#: js/turtledefs.js:483 - -#~ msgid "The Mouse color block returns the pen color of the specified mouse." -#~ msgstr "" - -#: js/turtledefs.js:187 - -#: js/toolbar.js:376 - -#: js/toolbar.js:424 - -#~ msgid "Save as ABC" -#~ msgstr "" - -#: js/timbre.js:591 - -#~ msgid "synthesizer" -#~ msgstr "" - -#: js/logo.js:630 - -#: js/palette.js:1808 - -#: js/musicutils.js:205 - -#~ msgid "Major" -#~ msgstr "" - -#: js/turtledefs.js:425 - -#~ msgid "The Saveheap block saves the heap to a file." -#~ msgstr "" - -#: js/turtledefs.js:363 - -#~ msgid "The Set master volume block sets the volume for all synthesizers." -#~ msgstr "" - -#: js/basicblocks.js:883 - -#~ msgid "duplicate notes" -#~ msgstr "" - -#: js/turtledefs.js:421 - -#~ msgid "The Setheapentry block sets a value in he heap at the specified location." -#~ msgstr "" - -#: js/utilitybox.js:281 - -#~ msgid "Disable scrolling" -#~ msgstr "" - -#: js/turtledefs.js:425 - -#~ msgid "The Scalar interval block measures the distance between two notes in semi-tones." -#~ msgstr "" - -#: js/logo.js:4259 - -#~ msgid "Rhythm Block: Did you mean to use a Matrix block?" -#~ msgstr "" - -#: js/turtledefs.js:202 - -#~ msgid "The Notes played block is the number of notes that have been played. (By default, it counts quarter notes.)" -#~ msgstr "" - -#: js/turtledefs.js:242 - -#~ msgid "The default volume is 50; the range is 0 (silence) to 100 (full volume)." -#~ msgstr "" - -#: js/turtledefs.js:248 - -#~ msgid "Each Start block is a separate voice. All of the Start blocks run at the same time when the Play button is pressed." -#~ msgstr "" - -#: js/turtledefs.js:352 - -#~ msgid "e.g. \"do\" is always \"C-natural\"); when Movable do is true, the solfege note names are assigned to scale degrees (\"do\" is always the first degree of the major scale)." -#~ msgstr "" - -#: js/basicblocks.js:83 - -#~ msgid "current pitch octave" -#~ msgstr "" - -#: js/turtledefs.js:415 - -#~ msgid "The Reverseheap block reverses the order of the heap." -#~ msgstr "" - -#: js/musicutils.js:250 - -#~ msgid "Hirajoshi" -#~ msgstr "" - -#: js/turtledefs.js:433 - -#~ msgid "The Make block block creates a new block." -#~ msgstr "" - -#: js/musicutils.js:201 - -#~ msgid "Spanish" -#~ msgstr "" - +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-05-17 00:31-0400\n" +"PO-Revision-Date: 2012-03-21 19:17+0200\n" +"Last-Translator: Emily Ong Hui Qi \n" +"Language-Team: LANGUAGE \n" +"Language: zhCN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: ini-to-pot script\n" + +#: js/block.js:1436 +#: js/block.js:7910 +#: js/block.js:7931 +#: js/block.js:7948 +#: js/activity.js:2693 +#: js/palette.js:932 +#: js/palette.js:941 +#: js/palette.js:950 +#: js/palette.js:959 +#: js/palette.js:2511 +#: js/palette.js:2522 +#: js/palette.js:2533 +#: js/palette.js:2544 +#: js/palette.js:2563 +#: js/turtledefs.js:76 +#: js/rubrics.js:497 +#: js/macros.js:153 +#: js/macros.js:249 +#: js/macros.js:250 +#: js/macros.js:259 +#: js/macros.js:801 +#: js/blocks.js:1120 +#: js/blocks.js:3549 +#: js/blocks.js:3550 +#: js/blocks.js:3786 +#: js/blocks.js:4168 +#: js/blocks.js:4363 +#: js/blocks.js:5526 +#: js/blocks.js:6776 +#: js/ActionBlocks.js:99 +#: js/ActionBlocks.js:147 +#: js/ActionBlocks.js:350 +#: js/ActionBlocks.js:415 +#: js/ActionBlocks.js:569 +#: js/ActionBlocks.js:629 +#: js/ActionBlocks.js:765 +#: js/ActionBlocks.js:768 +#: js/ActionBlocks.js:773 +#: js/ActionBlocks.js:805 +#: js/MeterBlocks.js:412 +#: js/MeterBlocks.js:479 +#: js/MeterBlocks.js:568 +#: js/MeterBlocks.js:669 +#: js/musickeyboard.js:2360 +#: js/pitchtimematrix.js:4708 +#: js/rhythmruler.js:1602 +#: js/rhythmruler.js:1610 +#: js/rhythmruler.js:1911 +#: js/rhythmruler.js:1919 +#: js/block.js:1436 +#: js/block.js:8089 +#: js/block.js:8110 +#: js/block.js:8127 +#: js/activity.js:2968 +#: js/palette.js:503 +#: js/palette.js:512 +#: js/palette.js:521 +#: js/palette.js:530 +#: js/palette.js:1122 +#: js/palette.js:1133 +#: js/palette.js:1144 +#: js/palette.js:1155 +#: js/palette.js:1174 +#: js/turtledefs.js:76 +#: js/rubrics.js:497 +#: js/macros.js:153 +#: js/macros.js:249 +#: js/macros.js:250 +#: js/macros.js:259 +#: js/macros.js:801 +#: js/blocks.js:1120 +#: js/blocks.js:3572 +#: js/blocks.js:3573 +#: js/blocks.js:3809 +#: js/blocks.js:4191 +#: js/blocks.js:4382 +#: js/blocks.js:5545 +#: js/blocks.js:6795 +#: js/ActionBlocks.js:99 +#: js/ActionBlocks.js:147 +#: js/ActionBlocks.js:343 +#: js/ActionBlocks.js:408 +#: js/ActionBlocks.js:562 +#: js/ActionBlocks.js:622 +#: js/ActionBlocks.js:749 +#: js/ActionBlocks.js:752 +#: js/ActionBlocks.js:757 +#: js/ActionBlocks.js:789 +#: js/MeterBlocks.js:390 +#: js/MeterBlocks.js:419 +#: js/MeterBlocks.js:455 +#: js/MeterBlocks.js:494 +#: js/musickeyboard.js:2421 +#: js/pitchtimematrix.js:4706 +#: js/rhythmruler.js:1602 +#: js/rhythmruler.js:1610 +#: js/rhythmruler.js:1911 +#: js/rhythmruler.js:1919 +#: js/block.js:1436 +#: js/block.js:8073 +#: js/block.js:8094 +#: js/block.js:8111 +#: js/activity.js:2984 +#: js/palette.js:503 +#: js/palette.js:512 +#: js/palette.js:521 +#: js/palette.js:530 +#: js/palette.js:1122 +#: js/palette.js:1133 +#: js/palette.js:1144 +#: js/palette.js:1155 +#: js/palette.js:1174 +#: js/turtledefs.js:78 +#: js/rubrics.js:501 +#: js/macros.js:153 +#: js/macros.js:249 +#: js/macros.js:250 +#: js/macros.js:259 +#: js/macros.js:801 +#: js/blocks.js:1112 +#: js/blocks.js:3545 +#: js/blocks.js:3546 +#: js/blocks.js:3779 +#: js/blocks.js:4160 +#: js/blocks.js:4346 +#: js/blocks.js:5496 +#: js/blocks.js:6721 +#: js/ActionBlocks.js:99 +#: js/ActionBlocks.js:147 +#: js/ActionBlocks.js:343 +#: js/ActionBlocks.js:408 +#: js/ActionBlocks.js:562 +#: js/ActionBlocks.js:622 +#: js/ActionBlocks.js:750 +#: js/ActionBlocks.js:753 +#: js/ActionBlocks.js:758 +#: js/ActionBlocks.js:790 +#: js/MeterBlocks.js:396 +#: js/MeterBlocks.js:425 +#: js/MeterBlocks.js:461 +#: js/MeterBlocks.js:500 +#: js/musickeyboard.js:2495 +#: js/pitchtimematrix.js:4718 +#: js/rhythmruler.js:1602 +#: js/rhythmruler.js:1610 +#: js/rhythmruler.js:1911 +#: js/rhythmruler.js:1919 +#: js/block.js:1436 +#: js/block.js:8073 +#: js/block.js:8094 +#: js/block.js:8111 +#: js/activity.js:2984 +#: js/palette.js:503 +#: js/palette.js:512 +#: js/palette.js:521 +#: js/palette.js:530 +#: js/palette.js:1122 +#: js/palette.js:1133 +#: js/palette.js:1144 +#: js/palette.js:1155 +#: js/palette.js:1174 +#: js/turtledefs.js:78 +#: js/rubrics.js:501 +#: js/macros.js:153 +#: js/macros.js:249 +#: js/macros.js:250 +#: js/macros.js:259 +#: js/macros.js:801 +#: js/blocks.js:1112 +#: js/blocks.js:3545 +#: js/blocks.js:3546 +#: js/blocks.js:3779 +#: js/blocks.js:4160 +#: js/blocks.js:4346 +#: js/blocks.js:5496 +#: js/blocks.js:6721 +#: js/ActionBlocks.js:99 +#: js/ActionBlocks.js:147 +#: js/ActionBlocks.js:343 +#: js/ActionBlocks.js:408 +#: js/ActionBlocks.js:562 +#: js/ActionBlocks.js:622 +#: js/ActionBlocks.js:750 +#: js/ActionBlocks.js:753 +#: js/ActionBlocks.js:758 +#: js/ActionBlocks.js:790 +#: js/MeterBlocks.js:396 +#: js/MeterBlocks.js:425 +#: js/MeterBlocks.js:461 +#: js/MeterBlocks.js:500 +#: js/musickeyboard.js:2495 +#: js/pitchtimematrix.js:4718 +#: js/rhythmruler.js:1602 +#: js/rhythmruler.js:1610 +#: js/rhythmruler.js:1911 +#: js/rhythmruler.js:1919 +#: js/block.js:1436 +#: js/block.js:8073 +#: js/block.js:8094 +#: js/block.js:8111 +#: js/activity.js:2984 +#: js/palette.js:506 +#: js/palette.js:515 +#: js/palette.js:524 +#: js/palette.js:533 +#: js/palette.js:1128 +#: js/palette.js:1139 +#: js/palette.js:1150 +#: js/palette.js:1161 +#: js/palette.js:1180 +#: js/turtledefs.js:78 +#: js/rubrics.js:501 +#: js/macros.js:153 +#: js/macros.js:249 +#: js/macros.js:250 +#: js/macros.js:259 +#: js/macros.js:801 +#: js/blocks.js:1112 +#: js/blocks.js:3545 +#: js/blocks.js:3546 +#: js/blocks.js:3779 +#: js/blocks.js:4160 +#: js/blocks.js:4346 +#: js/blocks.js:5496 +#: js/blocks.js:6721 +#: js/ActionBlocks.js:99 +#: js/ActionBlocks.js:147 +#: js/ActionBlocks.js:343 +#: js/ActionBlocks.js:408 +#: js/ActionBlocks.js:562 +#: js/ActionBlocks.js:622 +#: js/ActionBlocks.js:750 +#: js/ActionBlocks.js:753 +#: js/ActionBlocks.js:758 +#: js/ActionBlocks.js:790 +#: js/MeterBlocks.js:396 +#: js/MeterBlocks.js:425 +#: js/MeterBlocks.js:461 +#: js/MeterBlocks.js:500 +#: js/musickeyboard.js:2495 +#: js/pitchtimematrix.js:4718 +#: js/rhythmruler.js:1602 +#: js/rhythmruler.js:1610 +#: js/rhythmruler.js:1911 +#: js/rhythmruler.js:1919 +#: js/block.js:1414 +#: js/block.js:4018 +#: js/block.js:4036 +#: js/block.js:4047 +#: js/activity.js:2899 +#: js/palette.js:486 +#: js/palette.js:495 +#: js/palette.js:504 +#: js/palette.js:513 +#: js/palette.js:1089 +#: js/palette.js:1100 +#: js/palette.js:1111 +#: js/palette.js:1122 +#: js/palette.js:1141 +#: js/turtledefs.js:78 +#: js/rubrics.js:501 +#: js/macros.js:170 +#: js/macros.js:266 +#: js/macros.js:267 +#: js/macros.js:276 +#: js/macros.js:828 +#: js/blocks.js:1071 +#: js/blocks.js:3210 +#: js/blocks.js:3211 +#: js/blocks.js:3428 +#: js/blocks.js:3752 +#: js/blocks.js:3932 +#: js/blocks.js:4976 +#: js/blocks.js:5845 +#: js/ActionBlocks.js:99 +#: js/ActionBlocks.js:147 +#: js/ActionBlocks.js:343 +#: js/ActionBlocks.js:408 +#: js/ActionBlocks.js:562 +#: js/ActionBlocks.js:622 +#: js/ActionBlocks.js:750 +#: js/ActionBlocks.js:753 +#: js/ActionBlocks.js:758 +#: js/ActionBlocks.js:790 +#: js/MeterBlocks.js:396 +#: js/MeterBlocks.js:426 +#: js/MeterBlocks.js:462 +#: js/MeterBlocks.js:501 +#: js/musickeyboard.js:2495 +#: js/rhythmruler.js:1874 +#: js/rhythmruler.js:1881 +#: js/rhythmruler.js:2065 +#: js/rhythmruler.js:2072 +#: js/phrasemaker.js:4226 +#: js/block.js:1414 +#: js/block.js:4020 +#: js/block.js:4038 +#: js/block.js:4049 +#: js/activity.js:2899 +#: js/palette.js:486 +#: js/palette.js:495 +#: js/palette.js:504 +#: js/palette.js:513 +#: js/palette.js:1089 +#: js/palette.js:1100 +#: js/palette.js:1111 +#: js/palette.js:1122 +#: js/palette.js:1141 +#: js/turtledefs.js:78 +#: js/rubrics.js:501 +#: js/macros.js:170 +#: js/macros.js:266 +#: js/macros.js:267 +#: js/macros.js:276 +#: js/macros.js:828 +#: js/blocks.js:1071 +#: js/blocks.js:3210 +#: js/blocks.js:3211 +#: js/blocks.js:3428 +#: js/blocks.js:3752 +#: js/blocks.js:3932 +#: js/blocks.js:4976 +#: js/blocks.js:5845 +#: js/ActionBlocks.js:99 +#: js/ActionBlocks.js:147 +#: js/ActionBlocks.js:343 +#: js/ActionBlocks.js:408 +#: js/ActionBlocks.js:562 +#: js/ActionBlocks.js:622 +#: js/ActionBlocks.js:750 +#: js/ActionBlocks.js:753 +#: js/ActionBlocks.js:758 +#: js/ActionBlocks.js:790 +#: js/MeterBlocks.js:396 +#: js/MeterBlocks.js:426 +#: js/MeterBlocks.js:462 +#: js/MeterBlocks.js:501 +#: js/musickeyboard.js:2495 +#: js/rhythmruler.js:1874 +#: js/rhythmruler.js:1881 +#: js/rhythmruler.js:2065 +#: js/rhythmruler.js:2072 +#: js/phrasemaker.js:4226 +#: js/block.js:1439 +#: js/block.js:4063 +#: js/block.js:4081 +#: js/block.js:4092 +#: js/palette.js:505 +#: js/palette.js:514 +#: js/palette.js:523 +#: js/palette.js:532 +#: js/palette.js:1125 +#: js/palette.js:1136 +#: js/palette.js:1147 +#: js/palette.js:1158 +#: js/palette.js:1177 +#: js/turtledefs.js:101 +#: js/rubrics.js:522 +#: js/macros.js:168 +#: js/macros.js:264 +#: js/macros.js:265 +#: js/macros.js:274 +#: js/macros.js:826 +#: js/blocks.js:1001 +#: js/blocks.js:3394 +#: js/blocks.js:3395 +#: js/blocks.js:3620 +#: js/blocks.js:3981 +#: js/blocks.js:4172 +#: js/blocks.js:5305 +#: js/blocks.js:6432 +#: js/ActionBlocks.js:119 +#: js/ActionBlocks.js:167 +#: js/ActionBlocks.js:364 +#: js/ActionBlocks.js:429 +#: js/ActionBlocks.js:582 +#: js/ActionBlocks.js:643 +#: js/ActionBlocks.js:772 +#: js/ActionBlocks.js:775 +#: js/ActionBlocks.js:780 +#: js/ActionBlocks.js:813 +#: js/MeterBlocks.js:416 +#: js/MeterBlocks.js:446 +#: js/MeterBlocks.js:482 +#: js/MeterBlocks.js:521 +#: js/musickeyboard.js:2564 +#: js/rhythmruler.js:1925 +#: js/rhythmruler.js:1932 +#: js/rhythmruler.js:2116 +#: js/rhythmruler.js:2123 +#: js/phrasemaker.js:4402 +#: js/planetInterface.js:101 +#: js/planetInterface.js:101 +#: js/planetInterface.js:101 +#: js/planetInterface.js:101 +#: js/planetInterface.js:102 +#: js/planetInterface.js:104 +#: js/planetInterface.js:104 +#: js/planetInterface.js:104 +#: js/SaveInterface.js:59 +#: js/SaveInterface.js:61 +#: js/SaveInterface.js:93 +#: js/SaveInterface.js:59 +#: js/SaveInterface.js:61 +#: js/SaveInterface.js:93 +#: js/SaveInterface.js:59 +#: js/SaveInterface.js:61 +#: js/SaveInterface.js:93 +#: js/SaveInterface.js:59 +#: js/SaveInterface.js:61 +#: js/SaveInterface.js:93 +#: js/SaveInterface.js:59 +#: js/SaveInterface.js:61 +#: js/SaveInterface.js:93 +#: js/SaveInterface.js:59 +#: js/SaveInterface.js:61 +#: js/SaveInterface.js:93 +#: js/languagebox.js:208 +msgid "Refresh your browser to change your language preference." +msgstr "刷新你的浏览器以更改语言偏好。" + +#: js/languagebox.js:229 +msgid "Music Blocks is already set to this language." +msgstr "Music Blocks 已经设置为此语言" + +#: js/planetInterface.js:131 +msgid "project undefined" +msgstr "项目未定义" + +#: js/macros.js:170 +#: js/macros.js:266 +#: js/macros.js:267 +#: js/macros.js:276 +#: js/macros.js:828 +#: js/block.js:1569 +#: js/block.js:4500 +#: js/block.js:4518 +#: js/block.js:4529 +#: js/blocks.js:1018 +#: js/blocks.js:3491 +#: js/blocks.js:3492 +#: js/blocks.js:3717 +#: js/blocks.js:4076 +#: js/blocks.js:4269 +#: js/blocks.js:5432 +#: js/blocks.js:6563 +#: js/rubrics.js:530 +#: js/turtledefs.js:131 +#: js/turtledefs.js:232 +#: js/palette.js:610 +#: js/palette.js:619 +#: js/palette.js:628 +#: js/palette.js:637 +#: js/palette.js:1215 +#: js/palette.js:1226 +#: js/palette.js:1237 +#: js/palette.js:1248 +#: js/palette.js:1267 +#: js/blocks/MeterBlocks.js:716 +#: js/blocks/MeterBlocks.js:769 +#: js/blocks/MeterBlocks.js:832 +#: js/blocks/MeterBlocks.js:893 +#: js/blocks/ActionBlocks.js:254 +#: js/blocks/ActionBlocks.js:307 +#: js/blocks/ActionBlocks.js:617 +#: js/blocks/ActionBlocks.js:716 +#: js/blocks/ActionBlocks.js:961 +#: js/blocks/ActionBlocks.js:1049 +#: js/blocks/ActionBlocks.js:1322 +#: js/blocks/ActionBlocks.js:1325 +#: js/blocks/ActionBlocks.js:1337 +#: js/blocks/ActionBlocks.js:1404 +#: js/widgets/musickeyboard.js:3006 +#: js/widgets/rhythmruler.js:2309 +#: js/widgets/rhythmruler.js:2316 +#: js/widgets/rhythmruler.js:2501 +#: js/widgets/rhythmruler.js:2508 +#: js/widgets/phrasemaker.js:4996 +msgid "action" +msgstr "动作" + +#: js/macros.js:711 +#: js/utils/musicutils.js:1157 +#: js/utils/synthutils.js:204 +#. TRANS: animal sound effect +msgid "duck" +msgstr " 鸭子" + +#: js/themebox.js:66 +msgid "Music Blocks is already set to this theme." +msgstr "Music Blocks 已经设置为此主题。" + +#: js/SaveInterface.js:59 +#: js/SaveInterface.js:61 +#: js/SaveInterface.js:93 +msgid "Music Blocks Project" +msgstr "Music Blocks 项目" + +#: js/SaveInterface.js:63 +msgid "This project was created in Music Blocks" +msgstr "此项目是在 Music Blocks 中创建的" + +#: js/SaveInterface.js:67 +msgid "Music Blocks is a Free/Libre Software application." +msgstr " Music Blocks 是一个自由/开源软件应用程序。" + +#: js/SaveInterface.js:69 +msgid "The source code can be accessed at" +msgstr "源代码可在以下位置访问" + +#: js/SaveInterface.js:72 +msgid "For more information, please consult the" +msgstr "如需更多信息,请查阅" + +#: js/SaveInterface.js:76 +#: js/turtledefs.js:489 +msgid "Music Blocks Guide" +msgstr "Music Blocks 指南" + +#: js/SaveInterface.js:83 +msgid "Alternatively, open the file in Music Blocks using the Load project button." +msgstr "或者,使用“加载项目”按钮在 Music Blocks 中打开该文件" + +#: js/SaveInterface.js:85 +msgid "Project Code" +msgstr "项目代码" + +#: js/SaveInterface.js:87 +msgid "This code stores data about the blocks in a project." +msgstr "此代码用于存储项目中模块的数据" + +#: js/SaveInterface.js:89 +#: js/blocks.js:5091 +#: js/blocks/MediaBlocks.js:888 +msgid "Show" +msgstr "显示" + +#: js/SaveInterface.js:91 +msgid "Hide" +msgstr "隐藏" + +#: js/SaveInterface.js:131 +#: js/SaveInterface.js:204 +#: js/SaveInterface.js:262 +#: js/SaveInterface.js:403 +#: js/SaveInterface.js:431 +#: js/activity.js:5401 +#: planet/js/GlobalPlanet.js:467 +#: planet/js/GlobalPlanet.js:469 +#: planet/js/GlobalPlanet.js:495 +#: planet/js/ProjectStorage.js:27 +#. TRANS: default project title when saving as Lilypond +msgid "My Project" +msgstr "我的项目" + +#: js/SaveInterface.js:197 +#: planet/js/SaveInterface.js:58 +msgid "No description provided" +msgstr "未提供描述" + +#: js/SaveInterface.js:346 +msgid "Your recording is in progress." +msgstr "您的录音正在进行中" + +#: js/SaveInterface.js:415 +#. TRANS: File name prompt for save as Lilypond +msgid "File name" +msgstr "文件名" + +#: js/SaveInterface.js:417 +#: planet/js/StringHelper.js:39 +#. TRANS: Project title prompt for save as Lilypond +msgid "Project title" +msgstr "项目标题" + +#: js/SaveInterface.js:419 +#. TRANS: Project title prompt for save as Lilypond +msgid "Project author" +msgstr "项目作者" + +#: js/SaveInterface.js:421 +#. TRANS: MIDI prompt for save as Lilypond +msgid "Include MIDI output?" +msgstr "包含 MIDI 输出?" + +#: js/SaveInterface.js:423 +#. TRANS: Guitar prompt for save as Lilypond +msgid "Include guitar tablature output?" +msgstr "包含吉他六线谱输出?" + +#: js/SaveInterface.js:425 +#. TRANS: Lilypond is a scripting language for generating sheet music +msgid "Save as Lilypond" +msgstr "另存为 Lilypond 文件" + +#: js/SaveInterface.js:440 +#: js/blocks/EnsembleBlocks.js:94 +#: js/blocks/EnsembleBlocks.js:156 +#: js/blocks/EnsembleBlocks.js:218 +#: js/blocks/EnsembleBlocks.js:304 +#: js/blocks/EnsembleBlocks.js:350 +#: js/blocks/EnsembleBlocks.js:391 +#: js/blocks/EnsembleBlocks.js:443 +#: js/blocks/EnsembleBlocks.js:492 +#: js/blocks/EnsembleBlocks.js:538 +#: js/blocks/EnsembleBlocks.js:585 +#: js/blocks/EnsembleBlocks.js:639 +#: js/blocks/EnsembleBlocks.js:755 +#: js/blocks/EnsembleBlocks.js:842 +#: js/blocks/EnsembleBlocks.js:901 +#: js/blocks/EnsembleBlocks.js:944 +#: js/blocks/EnsembleBlocks.js:1215 +#: js/blocks/EnsembleBlocks.js:1283 +#. TRANS: default project author when saving as Lilypond +msgid "Mr. Mouse" +msgstr "先生.Mouse" + +#: js/SaveInterface.js:589 +msgid "The Lilypond code is copied to clipboard. You can paste it here: " +msgstr "Lilypond 代码已复制到剪贴板。你可以将其粘贴到此处:" + +#: js/activity.js:411 +#: js/activity.js:416 +msgid "Search for blocks" +msgstr "搜索模块" + +#: js/activity.js:1358 +msgid "Are you sure you want to clear the workspace?" +msgstr "您确定要清空工作区吗?" + +#: js/activity.js:1577 +msgid "Enter file name" +msgstr "输入文件名" + +#: js/activity.js:1579 +msgid "File save canceled" +msgstr "文件保存已取消" + +#: js/activity.js:1598 +msgid "Click on stop saving" +msgstr "点击“停止保存”" + +#: js/activity.js:1882 +msgid "Catching mice" +msgstr " 捉老鼠" + +#: js/activity.js:1883 +msgid "Cleaning the instruments" +msgstr "清洁乐器" + +#: js/activity.js:1884 +msgid "Testing key pieces" +msgstr "测试关键部件" + +#: js/activity.js:1885 +msgid "Sight-reading" +msgstr "视奏" + +#: js/activity.js:1886 +msgid "Combining math and music" +msgstr "将数学与音乐相结合" + +#: js/activity.js:1887 +msgid "Generating more blocks" +msgstr "生成更多模块" + +#: js/activity.js:1888 +msgid "Do Re Mi Fa Sol La Ti Do" +msgstr "哆 来 米 发 唆 拉 西 哆" + +#: js/activity.js:1889 +msgid "Tuning string instruments" +msgstr "调音弦乐器" + +#: js/activity.js:1890 +msgid "Pressing random keys" +msgstr "随机按键" + +#: js/activity.js:2072 +msgid "plugins will be removed upon restart." +msgstr "插件将在重启后被移除" + +#: js/activity.js:2081 +msgid "show Cartesian" +msgstr "显示笛卡尔坐标系" + +#: js/activity.js:2603 +#: js/palette.js:672 +#: js/blocks/RhythmBlocks.js:923 +#: js/blocks/PitchBlocks.js:442 +#: js/blocks/PitchBlocks.js:1786 +#. TRANS: a numeric mapping of the notes in an octave based on the musical mode +msgid "scale degree" +msgstr "音级" + +#: js/activity.js:2606 +#: js/palette.js:681 +msgid "voice name" +msgstr "声部名称" + +#: js/activity.js:2609 +#: js/palette.js:678 +msgid "invert mode" +msgstr "反转模式" + +#: js/activity.js:2612 +msgid "output tools" +msgstr "输出工具" + +#: js/activity.js:2615 +msgid "custom note" +msgstr "自定义音符" + +#: js/activity.js:2618 +msgid "accidental name" +msgstr "升降音符名称" + +#: js/activity.js:2621 +#: js/blocks/PitchBlocks.js:855 +msgid "east indian solfege" +msgstr "东印度首调系统" + +#: js/activity.js:2624 +#: js/blocks/PitchBlocks.js:869 +msgid "note name" +msgstr "音符名称" + +#: js/activity.js:2627 +#: js/blocks/IntervalsBlocks.js:94 +msgid "temperament name" +msgstr "音律名称" + +#: js/activity.js:2630 +#: js/palette.js:675 +msgid "mode name" +msgstr "调式名称" + +#: js/activity.js:2633 +msgid "chord name" +msgstr "和弦名称" + +#: js/activity.js:2636 +#: js/palette.js:698 +msgid "interval name" +msgstr "音程名称" + +#: js/activity.js:2639 +msgid "filter type" +msgstr "滤波器类型" + +#: js/activity.js:2642 +msgid "oscillator type" +msgstr "振荡器类型" + +#: js/activity.js:2645 +#: js/blocks.js:2479 +#: js/blocks.js:2487 +msgid "audio file" +msgstr "音频文件" + +#: js/activity.js:2648 +#: js/blocks/DrumBlocks.js:32 +msgid "noise name" +msgstr "噪声名称" + +#: js/activity.js:2651 +#: js/blocks/DrumBlocks.js:75 +msgid "drum name" +msgstr "鼓名称" + +#: js/activity.js:2654 +#: js/blocks/DrumBlocks.js:119 +msgid "effects name" +msgstr "效果名称" + +#: js/activity.js:2657 +msgid "wrap mode" +msgstr "包装模式" + +#: js/activity.js:2660 +msgid "load file" +msgstr "加载文件" + +#: js/activity.js:2830 +#: js/activity.js:6368 +msgid "This block is deprecated." +msgstr "此模块已弃用" + +#: js/activity.js:2832 +#: js/activity.js:6370 +msgid "Block cannot be found." +msgstr "无法找到模块" + +#: js/activity.js:3041 +msgid "Saving block artwork" +msgstr "保存模块艺术作品" + +#: js/activity.js:3045 +#: js/turtledefs.js:708 +#: planet/js/LocalCard.js:31 +msgid "Copy" +msgstr "复制" + +#: js/activity.js:3052 +msgid "Erase" +msgstr "擦除" + +#: js/activity.js:3056 +#: js/activity.js:3072 +#: js/activity.js:3303 +#: js/toolbar.js:49 +#: js/toolbar.js:115 +#: js/toolbar.js:186 +#: js/toolbar.js:247 +#: js/turtledefs.js:447 +#: js/turtledefs.js:492 +#: js/widgets/aiwidget.js:646 +#: js/widgets/aiwidget.js:654 +#: js/widgets/aiwidget.js:655 +#: js/widgets/arpeggio.js:90 +#: js/widgets/arpeggio.js:544 +#: js/widgets/arpeggio.js:545 +#: js/widgets/arpeggio.js:639 +#: js/widgets/arpeggio.js:640 +#: js/widgets/meterwidget.js:185 +#: js/widgets/modewidget.js:77 +#: js/widgets/musickeyboard.js:694 +#: js/widgets/musickeyboard.js:894 +#: js/widgets/musickeyboard.js:895 +#: js/widgets/musickeyboard.js:982 +#: js/widgets/musickeyboard.js:983 +#: js/widgets/pitchdrummatrix.js:147 +#: js/widgets/pitchdrummatrix.js:679 +#: js/widgets/pitchdrummatrix.js:680 +#: js/widgets/pitchdrummatrix.js:731 +#: js/widgets/pitchdrummatrix.js:732 +#: js/widgets/pitchdrummatrix.js:746 +#: js/widgets/pitchdrummatrix.js:747 +#: js/widgets/pitchdrummatrix.js:775 +#: js/widgets/pitchdrummatrix.js:776 +#: js/widgets/pitchstaircase.js:119 +#: js/widgets/rhythmruler.js:638 +#: js/widgets/rhythmruler.js:639 +#: js/widgets/rhythmruler.js:652 +#: js/widgets/rhythmruler.js:653 +#: js/widgets/sampler.js:163 +#: js/widgets/sampler.js:164 +#: js/widgets/sampler.js:361 +#: js/widgets/temperament.js:582 +#: js/widgets/temperament.js:585 +#: js/widgets/temperament.js:646 +#: js/widgets/temperament.js:647 +#: js/widgets/temperament.js:1947 +#: js/widgets/temperament.js:1948 +#: js/widgets/tempo.js:85 +#: js/widgets/tempo.js:86 +#: js/widgets/timbre.js:429 +#: js/widgets/timbre.js:430 +#: js/widgets/timbre.js:460 +#: js/widgets/timbre.js:461 +#: js/widgets/timbre.js:740 +#: js/widgets/phrasemaker.js:526 +#: js/widgets/phrasemaker.js:537 +#: js/widgets/phrasemaker.js:538 +#: js/widgets/phrasemaker.js:4373 +#: js/widgets/phrasemaker.js:4601 +#: js/widgets/phrasemaker.js:4607 +#: js/widgets/phrasemaker.js:4608 +#: js/widgets/phrasemaker.js:4722 +#: plugins/rodi.rtp:191 +msgid "Play" +msgstr "播放" + +#: js/activity.js:3080 +#: js/toolbar.js:50 +#: js/toolbar.js:116 +#: js/toolbar.js:187 +#: js/toolbar.js:248 +#: js/turtledefs.js:453 +#: js/turtledefs.js:498 +#: js/blocks/FlowBlocks.js:604 +#: js/widgets/arpeggio.js:533 +#: js/widgets/arpeggio.js:534 +#: js/widgets/meterwidget.js:206 +#: js/widgets/meterwidget.js:207 +#: js/widgets/modewidget.js:99 +#: js/widgets/modewidget.js:100 +#: js/widgets/musickeyboard.js:837 +#: js/widgets/musickeyboard.js:839 +#: js/widgets/pitchdrummatrix.js:668 +#: js/widgets/pitchdrummatrix.js:669 +#: js/widgets/temperament.js:1934 +#: js/widgets/temperament.js:1935 +#: js/widgets/timbre.js:415 +#: js/widgets/timbre.js:417 +#: js/widgets/phrasemaker.js:547 +#: js/widgets/phrasemaker.js:548 +#: js/widgets/phrasemaker.js:4271 +#: plugins/rodi.rtp:29 +#: plugins/rodi.rtp:73 +#: plugins/rodi.rtp:413 +msgid "Stop" +msgstr "停止" + +#: js/activity.js:3084 +#: js/activity.js:3106 +msgid "Paste" +msgstr "貼上" + +#: js/activity.js:3088 +msgid "Save block help" +msgstr "保存模块帮助" + +#: js/activity.js:3119 +#: js/activity.js:3170 +#: js/block.js:2474 +#: js/block.js:3433 +#: js/block.js:3450 +#: js/utils/musicutils.js:4005 +#: js/utils/musicutils.js:5517 +#. TRANS: the note names must be separated by single spaces +#. TRANS: the note names must be separated by single spaces +msgid "ti la sol fa mi re do" +msgstr "ti la sol fa mi re do" + +#: js/activity.js:3173 +msgid "Jumping to the bottom of the page." +msgstr "跳转到页面底部" + +#: js/activity.js:3179 +msgid "Scrolling up." +msgstr "向上滚动" + +#: js/activity.js:3184 +msgid "Scrolling down." +msgstr "向下滚动" + +#: js/activity.js:3189 +msgid "Extracting block" +msgstr "提取模块" + +#: js/activity.js:3197 +msgid "Moving block up." +msgstr "将模块向上移动" + +#: js/activity.js:3218 +msgid "Moving block down." +msgstr "将模块向下移动" + +#: js/activity.js:3239 +msgid "Moving block left." +msgstr "将模块向左移动" + +#: js/activity.js:3256 +msgid "Moving block right." +msgstr "将模块向右移动" + +#: js/activity.js:3271 +msgid "Jump to home position." +msgstr "跳转到首页位置" + +#: js/activity.js:3298 +#: js/blocks/ExtrasBlocks.js:274 +msgid "Hide blocks" +msgstr "隐藏模块" + +#: js/activity.js:3657 +#: js/activity.js:3672 +msgid "Trash can is empty." +msgstr "垃圾桶是空的" + +#: js/activity.js:3679 +#: js/activity.js:3760 +msgid "Item restored from the trash." +msgstr "项目从垃圾桶中恢复" + +#: js/activity.js:3818 +msgid "Restore last item" +msgstr "恢复最后一个项目" + +#: js/activity.js:3819 +msgid "Restore all items" +msgstr "恢复所有项目" + +#: js/activity.js:5016 +msgid "Click the run button to run the project." +msgstr "点击运行按钮以运行项目" + +#: js/activity.js:6201 +#: js/turtledefs.js:756 +msgid "Home" +msgstr "主页" + +#: js/activity.js:6209 +#: js/turtledefs.js:762 +msgid "Show/hide blocks" +msgstr "顯示/隱藏區塊" + +#: js/activity.js:6215 +#: js/turtledefs.js:768 +msgid "Expand/collapse blocks" +msgstr "展开/折叠模块" + +#: js/activity.js:6221 +#: js/turtledefs.js:776 +msgid "Decrease block size" +msgstr "减小模块大小" + +#: js/activity.js:6227 +#: js/turtledefs.js:782 +msgid "Increase block size" +msgstr "增加模块大小" + +#: js/activity.js:6493 +msgid "Could not parse JSON input." +msgstr "无法解析 JSON 输入" + +#: js/activity.js:6624 +msgid "Select is enabled." +msgstr "选择已启用" + +#: js/activity.js:6624 +msgid "Select is disabled." +msgstr "选择已禁用" + +#: js/activity.js:7005 +#: js/activity.js:7111 +#: js/activity.js:7162 +msgid "Cannot load project from the file. Please check the file type." +msgstr "无法从文件加载项目。请检查文件类型。" + +#: js/activity.js:7448 +msgid "Invalid parameters" +msgstr "参数无效" + +#: js/activity.js:7599 +msgid "Error regenerating palettes. Please refresh the page." +msgstr "重新生成调色板时出错。请刷新页面" + +#: js/block.js:1576 +#: js/block.js:1695 +#: js/palette.js:688 +#: js/blocks/IntervalsBlocks.js:63 +#: js/blocks/WidgetBlocks.js:259 +msgid "temperament" +msgstr "音律" + +#: js/block.js:1583 +#: js/lilypond.js:749 +#: js/lilypond.js:913 +#: js/lilypond.js:951 +#: js/turtle-painter.js:1192 +#: js/turtle-painter.js:1193 +#: js/logo.js:1176 +#: js/turtles.js:119 +#: js/blocks/ProgramBlocks.js:1267 +#: js/blocks/ActionBlocks.js:1223 +msgid "start" +msgstr "开始" + +#: js/block.js:1590 +msgid "matrix" +msgstr " 矩阵" + +#: js/block.js:1597 +#: js/blocks/WidgetBlocks.js:1510 +#: plugins/rodi.rtp:324 +msgid "status" +msgstr "状态" + +#: js/block.js:1604 +msgid "drum mapper" +msgstr "鼓映射器" + +#: js/block.js:1611 +msgid "ruler" +msgstr "尺子" + +#: js/block.js:1618 +#: js/blocks/WidgetBlocks.js:397 +#. TRANS: timbre is the character or quality of a musical sound +msgid "timbre" +msgstr "音色" + +#: js/block.js:1625 +msgid "stair" +msgstr "楼梯" + +#: js/block.js:1632 +#: js/blocks/WidgetBlocks.js:707 +#. TRANS: the speed at music is should be played. +msgid "tempo" +msgstr "速度" + +#: js/block.js:1639 +#: js/block.js:1702 +#: js/blocks/IntervalsBlocks.js:1464 +#. TRANS: mode, e.g., Major in C Major +msgid "mode" +msgstr "调式" + +#: js/block.js:1646 +msgid "slider" +msgstr "滑块" + +#: js/block.js:1653 +#: js/blocks/SensorsBlocks.js:1002 +msgid "keyboard" +msgstr "查询键盘" + +#: js/block.js:1660 +#: js/block.js:2552 +#: js/lilypond.js:732 +#: js/lilypond.js:897 +#: js/lilypond.js:941 +#: js/turtledefs.js:129 +#: js/turtledefs.js:230 +#: js/palette.js:660 +#: js/blocks/DrumBlocks.js:477 +#: js/blocks/RhythmBlocks.js:766 +#: js/blocks/VolumeBlocks.js:502 +#: js/widgets/phrasemaker.js:1124 +msgid "drum" +msgstr "鼓" + +#: js/block.js:1667 +#: js/blocks/WidgetBlocks.js:1190 +#: js/blocks/WidgetBlocks.js:1228 +#. TRANS: widget for subdividing a measure into distinct rhythmic elements +msgid "rhythm maker" +msgstr "节奏制作器" + +#: js/block.js:1674 +#: js/block.js:2383 +#: js/block.js:2440 +#: js/blocks/OrnamentBlocks.js:220 +#: js/blocks/OrnamentBlocks.js:312 +#: js/blocks/RhythmBlocks.js:33 +#: js/blocks/RhythmBlocks.js:356 +#: js/blocks/RhythmBlocks.js:766 +#: js/blocks/RhythmBlocks.js:806 +#: js/blocks/RhythmBlockPaletteBlocks.js:70 +#: js/blocks/RhythmBlockPaletteBlocks.js:252 +#: js/blocks/RhythmBlockPaletteBlocks.js:517 +#: js/blocks/RhythmBlockPaletteBlocks.js:586 +#: js/blocks/RhythmBlockPaletteBlocks.js:637 +#: js/blocks/RhythmBlockPaletteBlocks.js:907 +#: js/blocks/MeterBlocks.js:1368 +#: js/turtleactions/DictActions.js:85 +#: js/widgets/phrasemaker.js:1028 +#: js/widgets/phrasemaker.js:2734 +#: js/widgets/phrasemaker.js:2777 +#: js/widgets/phrasemaker.js:2882 +#. TRANS: the value (e.g., 1/4 note) of the note being played. +msgid "note value" +msgstr "音符时值" + +#: js/block.js:1681 +#: js/block.js:2308 +#: js/block.js:2331 +#: js/blocks/IntervalsBlocks.js:1071 +#: js/blocks/OrnamentBlocks.js:312 +#. TRANS: calculate a relative step between notes based on semi-tones +msgid "scalar interval" +msgstr "音阶音程" + +#: js/block.js:1688 +#: js/blocks/RhythmBlocks.js:148 +msgid "milliseconds" +msgstr "毫秒" + +#: js/block.js:2381 +#: js/block.js:2385 +#: js/block.js:2438 +#: js/block.js:2554 +#: js/blocks/ProgramBlocks.js:1273 +#: js/blocks/RhythmBlocks.js:712 +#: js/widgets/rhythmruler.js:1177 +#: js/widgets/rhythmruler.js:1323 +msgid "silence" +msgstr "沉默" + +#: js/block.js:2542 +#. TRANS: scalar step +msgid "down" +msgstr "向下" + +#: js/block.js:2543 +msgid "up" +msgstr "向上" + +#: js/block.js:2548 +#: js/rubrics.js:524 +#: js/turtledefs.js:124 +#: js/turtledefs.js:225 +#: js/blocks/IntervalsBlocks.js:63 +#: js/blocks/PitchBlocks.js:1839 +#: js/blocks/PitchBlocks.js:1853 +#: js/blocks/SensorsBlocks.js:178 +#: js/widgets/musickeyboard.js:1961 +#: js/widgets/phrasemaker.js:1122 +#. TRANS: pitch number +#. TRANS: we specify pitch in terms of a name and an octave. The name can be CDEFGAB or Do Re Mi Fa Sol La Ti. Octave is a number between 1 and 8. +msgid "pitch" +msgstr "音高" + +#: js/block.js:2963 +msgid "Silence block cannot be removed." +msgstr "无法移除静音模块" + +#: js/block.js:3135 +#: js/piemenus.js:3457 +msgid "You can restore deleted blocks from the trash with the Restore From Trash button." +msgstr "您可以通过“从垃圾桶恢复”按钮恢复已删除的模块" + +#: js/block.js:3765 +#: js/blocks.js:2607 +#: js/blocks.js:3218 +#: js/palette.js:701 +#: js/blocks/BooleanBlocks.js:77 +#: js/blocks/BooleanBlocks.js:167 +#: js/blocks/BooleanBlocks.js:251 +#: js/blocks/BooleanBlocks.js:335 +#: js/blocks/BooleanBlocks.js:433 +#: js/blocks/BooleanBlocks.js:539 +#: js/blocks/BooleanBlocks.js:640 +#: js/blocks/BooleanBlocks.js:741 +#: js/blocks/BooleanBlocks.js:847 +#: js/blocks/BooleanBlocks.js:948 +#: js/blocks/BooleanBlocks.js:1033 +#: js/blocks/SensorsBlocks.js:911 +msgid "true" +msgstr "真" + +#: js/block.js:3765 +#: js/blocks.js:2609 +#: js/blocks.js:3220 +#: js/blocks/BooleanBlocks.js:79 +#: js/blocks/BooleanBlocks.js:169 +#: js/blocks/BooleanBlocks.js:253 +#: js/blocks/BooleanBlocks.js:337 +#: js/blocks/BooleanBlocks.js:435 +#: js/blocks/BooleanBlocks.js:541 +#: js/blocks/BooleanBlocks.js:642 +#: js/blocks/BooleanBlocks.js:743 +#: js/blocks/BooleanBlocks.js:849 +#: js/blocks/BooleanBlocks.js:950 +#: js/blocks/SensorsBlocks.js:913 +msgid "false" +msgstr "假" + +#: js/block.js:3776 +#: js/block.js:3789 +#: js/blocks/ExtrasBlocks.js:618 +msgid "Cartesian" +msgstr "笛卡爾" + +#: js/block.js:3777 +#: js/block.js:3790 +#: js/blocks/ExtrasBlocks.js:622 +msgid "polar" +msgstr "极坐标" + +#: js/block.js:3778 +#: js/block.js:3791 +#: js/blocks/ExtrasBlocks.js:626 +msgid "Cartesian/Polar" +msgstr "笛卡尔/极坐标" + +#: js/block.js:3779 +#: js/block.js:3798 +#: js/blocks/ExtrasBlocks.js:655 +msgid "none" +msgstr "无" + +#: js/block.js:3792 +#: js/blocks/ExtrasBlocks.js:631 +msgid "treble" +msgstr "高音" + +#: js/block.js:3793 +#: js/blocks/ExtrasBlocks.js:635 +msgid "grand staff" +msgstr "大五线谱" + +#: js/block.js:3794 +#: js/blocks/ExtrasBlocks.js:639 +msgid "mezzo-soprano" +msgstr "中高音" + +#: js/block.js:3795 +#: js/blocks/ExtrasBlocks.js:643 +msgid "alto" +msgstr " 女低音" + +#: js/block.js:3796 +#: js/blocks/ExtrasBlocks.js:647 +msgid "tenor" +msgstr "男高音" + +#: js/block.js:3797 +#: js/utils/musicutils.js:1109 +#: js/utils/synthutils.js:80 +#: js/blocks/ExtrasBlocks.js:651 +#. TRANS: musical instrument +msgid "bass" +msgstr "低音" + +#: js/block.js:3842 +#: js/blocks.js:2600 +#: js/blocks.js:3211 +msgid "on2" +msgstr "开" + +#: js/block.js:3844 +#: js/blocks.js:2602 +#: js/blocks.js:3213 +msgid "off" +msgstr "关闭" + +#: js/block.js:4411 +msgid "Not a number" +msgstr "不是数字" + +#: js/block.js:4418 +msgid "Octave value must be between 1 and 8." +msgstr "八度值必须在1到8之间" + +#: js/block.js:4426 +msgid "Numbers can have at most 10 digits." +msgstr "数字最多只能有10位" + +#: js/blocks.js:1212 +#: js/blocks.js:3444 +#: js/blocks.js:3834 +#: js/blocks.js:3865 +#: js/blocks.js:3914 +#: js/blocks.js:3949 +#: js/blocks.js:6586 +#: js/palette.js:592 +#: js/palette.js:721 +#: js/palette.js:1191 +#: js/blocks/BoxesBlocks.js:282 +#: js/blocks/BoxesBlocks.js:285 +#: js/blocks/BoxesBlocks.js:405 +#: js/blocks/BoxesBlocks.js:594 +msgid "box" +msgstr "盒子" + +#: js/blocks.js:1713 +msgid "Consider breaking this stack into parts." +msgstr "考虑将这个堆栈拆分成几个部分" + +#: js/blocks.js:2472 +#: js/palette.js:736 +#: js/blocks/MediaBlocks.js:602 +msgid "open file" +msgstr "打开文件." + +#: js/blocks.js:3247 +#: js/palette.js:657 +#: js/blocks/MediaBlocks.js:892 +#: js/blocks/MediaBlocks.js:963 +msgid "text" +msgstr "文本." + +#: js/blocks.js:3443 +#: js/palette.js:724 +#: js/palette.js:725 +#: js/blocks/BoxesBlocks.js:514 +msgid "store in box" +msgstr " 存储在盒子里" + +#: js/blocks.js:3448 +#: js/blocks.js:3888 +#: js/blocks.js:3923 +#: js/blocks.js:3958 +#: js/blocks.js:5862 +#: js/blocks.js:5883 +#: js/blocks/BoxesBlocks.js:772 +msgid "box1" +msgstr "盒子1" + +#: js/blocks.js:3450 +#: js/blocks.js:3890 +#: js/blocks.js:3925 +#: js/blocks.js:3960 +#: js/blocks.js:5864 +#: js/blocks.js:5885 +#: js/blocks/BoxesBlocks.js:663 +msgid "box2" +msgstr "盒子2" + +#: js/blocks.js:4122 +#: js/palette.js:722 +#: js/palette.js:727 +#: js/palette.js:1127 +#: js/blocks/BoxesBlocks.js:591 +msgid "store in" +msgstr "放入" + +#: js/blocks.js:4122 +#: js/blocks/BoxesBlocks.js:595 +#: js/blocks/DictBlocks.js:215 +#: js/blocks/DictBlocks.js:289 +#: js/blocks/ProgramBlocks.js:390 +#: js/blocks/ProgramBlocks.js:495 +#: js/blocks/ProgramBlocks.js:658 +#: js/blocks/PitchBlocks.js:656 +#: js/blocks/PitchBlocks.js:934 +#: js/blocks/PitchBlocks.js:1866 +#: js/blocks/ToneBlocks.js:1025 +#: js/blocks/EnsembleBlocks.js:393 +#: js/blocks/EnsembleBlocks.js:404 +#: js/blocks/MediaBlocks.js:746 +msgid "name" +msgstr "名称" + +#: js/blocks.js:4122 +#: js/blocks/BoxesBlocks.js:75 +#: js/blocks/BoxesBlocks.js:595 +#: js/blocks/DictBlocks.js:289 +#: js/blocks/DictBlocks.js:430 +#: js/blocks/HeapBlocks.js:544 +#: js/blocks/RhythmBlocks.js:1130 +msgid "value" +msgstr "值" + +#: js/blocks.js:4465 +msgid "Forever loop detected inside a note value block. Unexpected things may happen." +msgstr "在音符时值模块中检测到永久循环。可能会发生意外情况" + +#: js/blocks.js:4988 +msgid "There is no block selected." +msgstr "没有选择任何模块" + +#: js/blocks.js:5094 +#: js/blocks/MediaBlocks.js:803 +#. TRANS: Avatar is the image used to determine the appearance of the mouse. +msgid "avatar" +msgstr "头像" + +#: js/blocks.js:5097 +#: js/blocks/ToneBlocks.js:1010 +#: js/widgets/sampler.js:929 +#. TRANS: The sound sample that the user uploads. +msgid "sample" +msgstr "样本" + +#: js/lilypond.js:605 +#: js/lilypond.js:904 +#: js/lilypond.js:910 +#: js/lilypond.js:948 +#: js/rubrics.js:526 +msgid "mouse" +msgstr "鼠标" + +#: js/lilypond.js:606 +msgid "brown rat" +msgstr "棕色老鼠" + +#: js/lilypond.js:607 +msgid "mole" +msgstr " 鼹鼠" + +#: js/lilypond.js:608 +msgid "chipmunk" +msgstr "花栗鼠" + +#: js/lilypond.js:609 +msgid "red squirrel" +msgstr "红松鼠" + +#: js/lilypond.js:610 +msgid "guinea pig" +msgstr "豚鼠" + +#: js/lilypond.js:611 +msgid "capybara" +msgstr "水豚" + +#: js/lilypond.js:612 +msgid "coypu" +msgstr " 豪猪" + +#: js/lilypond.js:613 +msgid "black rat" +msgstr "黑色老鼠" + +#: js/lilypond.js:614 +msgid "grey squirrel" +msgstr "灰松鼠" + +#: js/lilypond.js:615 +msgid "flying squirrel" +msgstr "飞鼠" + +#: js/lilypond.js:616 +msgid "bat" +msgstr "蝙蝠" + +#: js/lilypond.js:749 +#: js/lilypond.js:913 +#: js/lilypond.js:951 +#: js/blocks/ActionBlocks.js:1256 +#: js/blocks/ExtrasBlocks.js:559 +msgid "start drum" +msgstr "开始鼓声" + +#: js/rubrics.js:523 +#: js/turtledefs.js:122 +#: js/turtledefs.js:223 +#: js/blocks/ProgramBlocks.js:745 +#: js/blocks/RhythmBlockPaletteBlocks.js:52 +#: js/blocks/RhythmBlockPaletteBlocks.js:234 +#: js/widgets/rhythmruler.js:2047 +#: js/widgets/rhythmruler.js:2054 +#: js/widgets/rhythmruler.js:2123 +#: js/widgets/rhythmruler.js:2130 +#: js/widgets/rhythmruler.js:2209 +#. TRANS: an arrangement of notes based on duration +msgid "rhythm" +msgstr "节奏" + +#: js/rubrics.js:525 +#: js/turtledefs.js:126 +#: js/turtledefs.js:227 +msgid "tone" +msgstr "音调" + +#: js/rubrics.js:527 +#: js/turtledefs.js:135 +#: js/turtledefs.js:236 +#: js/widgets/phrasemaker.js:1126 +msgid "pen" +msgstr "钢笔" + +#: js/rubrics.js:528 +#: js/turtledefs.js:136 +#: js/turtledefs.js:237 +#: js/blocks/NumberBlocks.js:981 +#: js/blocks/PitchBlocks.js:1717 +#: js/blocks/PitchBlocks.js:1758 +msgid "number" +msgstr "數字" + +#: js/rubrics.js:529 +#: js/turtledefs.js:130 +#: js/turtledefs.js:231 +msgid "flow" +msgstr "流动" + +#: js/rubrics.js:531 +#: js/turtledefs.js:139 +#: js/turtledefs.js:240 +#: planet/js/GlobalTag.js:48 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Sensors" +msgstr "传感器" + +#: js/rubrics.js:532 +#: js/turtledefs.js:138 +#: js/turtledefs.js:239 +#: js/blocks/MediaBlocks.js:930 +#: planet/js/GlobalTag.js:46 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Media" +msgstr "媒体" + +#: js/rubrics.js:533 +msgid "mice" +msgstr "鼠标" + +#: js/toolbar.js:48 +#: js/toolbar.js:114 +msgid "About Music Blocks" +msgstr "关于音乐模块" + +#: js/toolbar.js:51 +#: js/toolbar.js:117 +#: js/toolbar.js:188 +#: js/toolbar.js:249 +#: js/turtledefs.js:509 +msgid "Record" +msgstr "录音" + +#: js/toolbar.js:52 +#: js/toolbar.js:53 +#: js/toolbar.js:118 +#: js/toolbar.js:119 +#: js/toolbar.js:189 +#: js/toolbar.js:190 +#: js/toolbar.js:250 +#: js/toolbar.js:251 +msgid "Full screen" +msgstr "全屏" + +#: js/toolbar.js:54 +#: js/toolbar.js:120 +#: js/toolbar.js:191 +#: js/toolbar.js:252 +#: js/turtledefs.js:516 +msgid "Toggle Fullscreen" +msgstr "切换全屏" + +#: js/toolbar.js:55 +#: js/toolbar.js:121 +#: js/toolbar.js:192 +#: js/toolbar.js:253 +#: js/toolbar.js:1118 +#: js/turtledefs.js:522 +#: planet/js/StringHelper.js:33 +msgid "New project" +msgstr "新项目" + +#: js/toolbar.js:56 +#: js/toolbar.js:122 +#: js/toolbar.js:193 +#: js/toolbar.js:254 +#: js/turtledefs.js:528 +msgid "Load project from file" +msgstr "从文件加载项目" + +#: js/toolbar.js:57 +#: js/toolbar.js:123 +#: js/toolbar.js:124 +#: js/toolbar.js:194 +#: js/toolbar.js:255 +#: js/turtledefs.js:535 +#: js/turtledefs.js:546 +#: js/turtledefs.js:566 +msgid "Save project" +msgstr "保存项目" + +#: js/toolbar.js:58 +#: js/toolbar.js:80 +#: js/toolbar.js:82 +#: js/toolbar.js:146 +#: js/toolbar.js:156 +#: js/toolbar.js:158 +#: js/toolbar.js:195 +#: js/toolbar.js:216 +#: js/toolbar.js:218 +#: js/toolbar.js:256 +#: js/toolbar.js:277 +#: js/toolbar.js:279 +#: js/turtledefs.js:536 +#: js/turtledefs.js:567 +msgid "Save project as HTML" +msgstr "将项目保存为HTML" + +#: js/toolbar.js:59 +#: js/toolbar.js:125 +#: js/toolbar.js:196 +#: js/toolbar.js:257 +msgid "Find and share projects" +msgstr "查找并分享项目" + +#: js/toolbar.js:60 +#: js/toolbar.js:126 +#: js/toolbar.js:197 +#: js/toolbar.js:258 +msgid "Offline. Sharing is unavailable" +msgstr " 离线。共享不可用" + +#: js/toolbar.js:61 +#: js/toolbar.js:127 +#: js/toolbar.js:198 +#: js/toolbar.js:259 +msgid "Auxiliary menu" +msgstr "辅助菜单" + +#: js/toolbar.js:62 +#: js/toolbar.js:128 +#: js/toolbar.js:199 +#: js/toolbar.js:260 +#: js/piemenus.js:3386 +#: js/turtledefs.js:592 +msgid "Help" +msgstr "幫助" + +#: js/toolbar.js:63 +#: js/toolbar.js:129 +#: js/toolbar.js:200 +#: js/toolbar.js:261 +#: js/turtledefs.js:598 +msgid "Run slowly" +msgstr "慢速运行" + +#: js/toolbar.js:64 +#: js/toolbar.js:130 +#: js/toolbar.js:201 +#: js/toolbar.js:262 +#: js/turtledefs.js:604 +msgid "Run step by step" +msgstr "逐步运行" + +#: js/toolbar.js:65 +#: js/toolbar.js:131 +#: js/toolbar.js:202 +#: js/toolbar.js:263 +#: js/turtledefs.js:611 +msgid "Display statistics" +msgstr "显示统计信息" + +#: js/toolbar.js:66 +#: js/toolbar.js:132 +#: js/toolbar.js:203 +#: js/toolbar.js:264 +#: js/turtledefs.js:617 +msgid "Load plugin" +msgstr "加载插件" + +#: js/toolbar.js:67 +#: js/toolbar.js:133 +#: js/toolbar.js:204 +#: js/toolbar.js:265 +#: js/turtledefs.js:625 +msgid "Delete plugin" +msgstr "删除插件" + +#: js/toolbar.js:68 +#: js/toolbar.js:134 +#: js/toolbar.js:205 +#: js/toolbar.js:266 +msgid "Enable horizontal scrolling" +msgstr "启用横向滚动" + +#: js/toolbar.js:69 +#: js/toolbar.js:135 +#: js/toolbar.js:206 +#: js/toolbar.js:267 +msgid "Disable horizontal scrolling" +msgstr "禁用横向滚动" + +#: js/toolbar.js:70 +#: js/toolbar.js:136 +#: js/toolbar.js:207 +#: js/toolbar.js:268 +#: js/turtledefs.js:642 +msgid "Change theme" +msgstr "更改主题" + +#: js/toolbar.js:71 +#: js/toolbar.js:137 +#: js/toolbar.js:208 +#: js/toolbar.js:269 +msgid "Light Mode" +msgstr "浅色模式" + +#: js/toolbar.js:72 +#: js/toolbar.js:138 +#: js/toolbar.js:209 +#: js/toolbar.js:270 +msgid "Dark Mode" +msgstr "深色模式" + +#: js/toolbar.js:73 +#: js/toolbar.js:139 +#: js/toolbar.js:210 +#: js/toolbar.js:271 +#: js/turtledefs.js:648 +#: planet/js/LocalCard.js:54 +#: planet/js/StringHelper.js:71 +msgid "Merge with current project" +msgstr "与当前项目合并" + +#: js/toolbar.js:74 +#: js/toolbar.js:140 +#: js/turtledefs.js:662 +msgid "Set Pitch Preview" +msgstr "设置音高预览" + +#: js/toolbar.js:75 +#: js/toolbar.js:141 +#: js/toolbar.js:211 +#: js/toolbar.js:272 +#: js/turtledefs.js:669 +msgid "JavaScript Editor" +msgstr "JavaScript 编辑器" + +#: js/toolbar.js:76 +#: js/toolbar.js:142 +#: js/toolbar.js:212 +#: js/toolbar.js:273 +#: js/turtledefs.js:676 +msgid "Restore" +msgstr "恢复" + +#: js/toolbar.js:77 +#: js/toolbar.js:143 +#: js/toolbar.js:213 +#: js/toolbar.js:274 +msgid "Switch to beginner mode" +msgstr "切换到初学者模式" + +#: js/toolbar.js:78 +#: js/toolbar.js:144 +#: js/toolbar.js:214 +#: js/toolbar.js:275 +msgid "Switch to advanced mode" +msgstr "切换到高级模式" + +#: js/toolbar.js:79 +#: js/toolbar.js:145 +#: js/toolbar.js:155 +#: js/toolbar.js:215 +#: js/toolbar.js:276 +#: js/turtledefs.js:690 +msgid "Select language" +msgstr "选择语言" + +#: js/toolbar.js:81 +#: js/toolbar.js:84 +#: js/toolbar.js:148 +#: js/turtledefs.js:538 +msgid "Save mouse artwork as PNG" +msgstr "将鼠标图像保存为PNG" + +#: js/toolbar.js:83 +#: js/toolbar.js:147 +msgid "Save mouse artwork as SVG" +msgstr "将鼠标图像保存为SVG" + +#: js/toolbar.js:85 +#: js/toolbar.js:149 +#: js/turtledefs.js:569 +msgid "Save music as WAV" +msgstr "将音乐保存为WAV" + +#: js/toolbar.js:86 +#: js/toolbar.js:150 +msgid "Save sheet music as ABC" +msgstr "将乐谱保存为ABC" + +#: js/toolbar.js:87 +#: js/toolbar.js:151 +msgid "Save sheet music as Lilypond" +msgstr "将乐谱保存为LilyPond" + +#: js/toolbar.js:88 +msgid "Save sheet music as MusicXML" +msgstr "将乐谱保存为MusicXML" + +#: js/toolbar.js:89 +#: js/toolbar.js:152 +#: js/toolbar.js:161 +#: js/toolbar.js:221 +#: js/toolbar.js:282 +#: js/turtledefs.js:558 +msgid "Save block artwork as SVG" +msgstr "将块图形保存为SVG" + +#: js/toolbar.js:90 +#: js/toolbar.js:153 +#: js/toolbar.js:162 +#: js/toolbar.js:222 +#: js/toolbar.js:283 +msgid "Save block artwork as PNG" +msgstr "将块图形保存为PNG" + +#: js/toolbar.js:91 +#: js/toolbar.js:154 +#: js/toolbar.js:163 +#: js/toolbar.js:223 +#: js/toolbar.js:284 +#: js/toolbar.js:1134 +msgid "Confirm" +msgstr "确认" + +#: js/toolbar.js:92 +#: js/toolbar.js:164 +#: js/toolbar.js:224 +#: js/toolbar.js:285 +msgid "English (United States)" +msgstr "English (United States)" + +#: js/toolbar.js:93 +#: js/toolbar.js:165 +#: js/toolbar.js:225 +#: js/toolbar.js:286 +msgid "English (United Kingdom)" +msgstr "English (United Kingdom)" + +#: js/toolbar.js:94 +#: js/toolbar.js:166 +#: js/toolbar.js:226 +#: js/toolbar.js:287 +msgid "日本語" +msgstr "日本語" + +#: js/toolbar.js:95 +msgid "한국어" +msgstr "한국어" + +#: js/toolbar.js:96 +#: js/toolbar.js:168 +#: js/toolbar.js:228 +#: js/toolbar.js:289 +msgid "español" +msgstr "español" + +#: js/toolbar.js:97 +#: js/toolbar.js:169 +#: js/toolbar.js:229 +#: js/toolbar.js:290 +msgid "português" +msgstr "português" + +#: js/toolbar.js:98 +#: js/toolbar.js:170 +#: js/toolbar.js:230 +#: js/toolbar.js:291 +msgid "にほんご" +msgstr "にほんご" + +#: js/toolbar.js:99 +#: js/toolbar.js:171 +#: js/toolbar.js:231 +#: js/toolbar.js:292 +msgid "中文" +msgstr "中文" + +#: js/toolbar.js:100 +#: js/toolbar.js:172 +#: js/toolbar.js:232 +#: js/toolbar.js:293 +msgid "ภาษาไทย" +msgstr "ภาษาไทย" + +#: js/toolbar.js:101 +#: js/toolbar.js:173 +#: js/toolbar.js:233 +#: js/toolbar.js:294 +msgid "aymara" +msgstr "aymara" + +#: js/toolbar.js:102 +#: js/toolbar.js:174 +#: js/toolbar.js:234 +#: js/toolbar.js:295 +msgid "quechua" +msgstr "quechua" + +#: js/toolbar.js:103 +#: js/toolbar.js:175 +#: js/toolbar.js:235 +#: js/toolbar.js:296 +msgid "guarani" +msgstr "guarani" + +#: js/toolbar.js:104 +#: js/toolbar.js:176 +#: js/toolbar.js:236 +#: js/toolbar.js:297 +msgid "हिंदी" +msgstr "हिंदी" + +#: js/toolbar.js:105 +#: js/toolbar.js:178 +#: js/toolbar.js:237 +#: js/toolbar.js:299 +msgid "igbo" +msgstr "igbo" + +#: js/toolbar.js:106 +#: js/toolbar.js:179 +#: js/toolbar.js:238 +#: js/toolbar.js:300 +msgid "عربى" +msgstr "عربى" + +#: js/toolbar.js:107 +#: js/toolbar.js:177 +#: js/toolbar.js:239 +#: js/toolbar.js:298 +msgid "తెలుగు" +msgstr "తెలుగు" + +#: js/toolbar.js:108 +#: js/toolbar.js:180 +#: js/toolbar.js:240 +#: js/toolbar.js:301 +msgid "עִברִית" +msgstr "עִברִית" + +#: js/toolbar.js:109 +#: js/toolbar.js:181 +#: js/toolbar.js:241 +#: js/toolbar.js:302 +msgid "اردو" +msgstr "اردو" + +#: js/toolbar.js:157 +#: js/toolbar.js:160 +#: js/toolbar.js:217 +#: js/toolbar.js:220 +#: js/toolbar.js:278 +#: js/toolbar.js:281 +#: js/turtledefs.js:554 +msgid "Save turtle artwork as PNG" +msgstr "将海龟图形保存为PNG" + +#: js/toolbar.js:159 +#: js/toolbar.js:219 +#: js/toolbar.js:280 +#: js/turtledefs.js:550 +msgid "Save turtle artwork as SVG" +msgstr "将海龟图形保存为SVG" + +#: js/toolbar.js:167 +#: js/toolbar.js:227 +#: js/toolbar.js:288 +msgid "한국인" +msgstr "한국인" + +#: js/toolbar.js:185 +#: js/toolbar.js:246 +msgid "About Turtle Blocks" +msgstr "关于海龟图形块" + +#: js/toolbar.js:494 +#: js/toolbar.js:505 +#: js/toolbar.js:545 +msgid "Turtle Wrap Off" +msgstr "关闭海龟包装" + +#: js/toolbar.js:514 +#: js/toolbar.js:554 +msgid "Turtle Wrap On" +msgstr "开启海龟包装" + +#: js/toolbar.js:1121 +msgid "Are you sure you want to create a new project?" +msgstr "您确定要创建一个新项目吗?" + +#: js/logo.js:61 +msgid "Not a valid pitch name" +msgstr "无效的音高名称" + +#: js/logo.js:507 +#: js/blocks/ProgramBlocks.js:258 +#: js/blocks/ProgramBlocks.js:427 +msgid "You must select a file." +msgstr "你必须选择一个文件" + +#: js/logo.js:1688 +msgid "Playback is ready." +msgstr "播放准备好了。" + +#: js/piemenus.js:200 +#: js/utils/musicutils.js:1182 +#: js/utils/musicutils.js:1202 +#: js/widgets/musickeyboard.js:2375 +#: js/widgets/sampler.js:764 +#: js/widgets/phrasemaker.js:1991 +#. TRANS: double sharp is a music term related to pitch +msgid "double sharp" +msgstr "双升音符" + +#: js/piemenus.js:201 +#: js/utils/musicutils.js:1180 +#: js/utils/musicutils.js:1203 +#: js/blocks/PitchBlocks.js:1539 +#: js/turtleactions/PitchActions.js:323 +#: js/widgets/musickeyboard.js:2376 +#: js/widgets/sampler.js:765 +#: js/widgets/phrasemaker.js:1992 +#. TRANS: sharp is a music term related to pitch +#. TRANS: sharp is a half-step up in pitch +msgid "sharp" +msgstr "升号" + +#: js/piemenus.js:202 +#: js/utils/musicutils.js:1178 +#: js/utils/musicutils.js:1204 +#: js/widgets/musickeyboard.js:2377 +#: js/widgets/sampler.js:766 +#: js/widgets/phrasemaker.js:1993 +#. TRANS: natural is a music term related to pitch +msgid "natural" +msgstr "还原音符" + +#: js/piemenus.js:203 +#: js/utils/musicutils.js:1176 +#: js/utils/musicutils.js:1205 +#: js/blocks/PitchBlocks.js:1498 +#: js/turtleactions/PitchActions.js:326 +#: js/widgets/musickeyboard.js:2378 +#: js/widgets/sampler.js:767 +#: js/widgets/phrasemaker.js:1994 +#. TRANS: flat is a music term related to pitch +#. TRANS: flat is a half-step down in pitch +msgid "flat" +msgstr "降号" + +#: js/piemenus.js:204 +#: js/utils/musicutils.js:1174 +#: js/utils/musicutils.js:1206 +#: js/widgets/musickeyboard.js:2379 +#: js/widgets/sampler.js:768 +#: js/widgets/phrasemaker.js:1995 +#. TRANS: double flat is a music term related to pitch +msgid "double flat" +msgstr "双降音符" + +#: js/piemenus.js:2827 +#: js/utils/musicutils.js:1000 +#: js/blocks/PitchBlocks.js:1385 +#. TRANS: unison is a music term related to intervals +#. TRANS: unison means the note is the same as the current note +msgid "unison" +msgstr "同音" + +#: js/piemenus.js:2981 +#: js/piemenus.js:3054 +#: js/utils/musicutils.js:1008 +#: js/utils/musicutils.js:1184 +#: js/utils/musicutils.js:1369 +#. TRANS: major is a music term related to intervals and mode +msgid "major" +msgstr "大调音阶" + +#: js/piemenus.js:2981 +#: js/piemenus.js:3054 +#: js/utils/musicutils.js:1026 +#. TRANS: modal scale for music +msgid "ionian" +msgstr "艾奥尼安调式" + +#: js/piemenus.js:2983 +#: js/piemenus.js:3058 +#: js/utils/musicutils.js:1006 +#: js/utils/musicutils.js:1185 +#: js/utils/musicutils.js:1366 +#. TRANS: minor is a music term related to intervals and mode +msgid "minor" +msgstr "小调音阶" + +#: js/piemenus.js:2983 +#: js/piemenus.js:3058 +#: js/utils/musicutils.js:1036 +#. TRANS: modal scale for music +msgid "aeolian" +msgstr "伊奥利安调式" + +#: js/piemenus.js:3373 +#: js/blocks/FlowBlocks.js:136 +msgid "Duplicate" +msgstr "复制" + +#: js/piemenus.js:3374 +#: js/turtledefs.js:714 +msgid "Extract" +msgstr "提取" + +#: js/piemenus.js:3375 +msgid "Move to trash" +msgstr "移到垃圾桶" + +#: js/piemenus.js:3376 +#: js/widgets/temperament.js:454 +#: js/widgets/temperament.js:456 +#: js/widgets/temperament.js:1439 +#: js/widgets/temperament.js:1441 +#: js/widgets/timbre.js:962 +#: planet/js/StringHelper.js:69 +msgid "Close" +msgstr "关闭" + +#: js/piemenus.js:3382 +msgid "Save stack" +msgstr "保存堆栈" + +#: js/piemenus.js:3412 +msgid "In order to copy a sample, you must reload the widget, import the sample again, and export it." +msgstr "为了复制样本,您必须重新加载小部件,重新导入样本,然后再导出。" + +#: js/piemenus.js:3801 +msgid "You have chosen key for your pitch preview." +msgstr "您已选择音调预览的音调。" + +#: js/turtle-singer.js:1364 +#. TRANS: partials are weighted components in a harmonic series +msgid "You must have at least one Partial block inside of a Weighted-partial block" +msgstr "您必须在加权部分块内至少包含一个部分块" + +#: js/turtle-singer.js:2078 +msgid "synth cannot play chords." +msgstr "合成器无法播放和弦" + +#: js/turtledefs.js:43 +#. TRANS: put the URL to the guide here, e.g., https://github.com/sugarlabs/turtleblocksjs/tree/master/guide/README.md +msgid "guide url" +msgstr "指南网址" + +#: js/turtledefs.js:88 +msgid "Turtle Blocks" +msgstr "海龟图形块" + +#: js/turtledefs.js:121 +#: js/turtledefs.js:222 +msgid "search" +msgstr "搜索" + +#: js/turtledefs.js:123 +#: js/turtledefs.js:224 +#: js/blocks/MeterBlocks.js:1344 +#: js/blocks/WidgetBlocks.js:522 +#. TRANS: musical meter (time signature), e.g., 4:4 +msgid "meter" +msgstr "节拍" + +#: js/turtledefs.js:125 +#: js/turtledefs.js:226 +msgid "intervals" +msgstr "音程" + +#: js/turtledefs.js:127 +#: js/turtledefs.js:228 +msgid "ornament" +msgstr "装饰音" + +#: js/turtledefs.js:128 +#: js/turtledefs.js:229 +#: js/blocks/VolumeBlocks.js:362 +#: js/blocks/VolumeBlocks.js:502 +#: js/blocks/VolumeBlocks.js:545 +msgid "volume" +msgstr "音量" + +#: js/turtledefs.js:132 +#: js/turtledefs.js:233 +msgid "boxes" +msgstr "框框" + +#: js/turtledefs.js:133 +#: js/turtledefs.js:234 +msgid "widgets" +msgstr "小部件" + +#: js/turtledefs.js:134 +#: js/turtledefs.js:235 +#: js/widgets/phrasemaker.js:1125 +msgid "graphics" +msgstr "图像" + +#: js/turtledefs.js:137 +#: js/turtledefs.js:238 +msgid "boolean" +msgstr "布尔值" + +#: js/turtledefs.js:140 +#: js/turtledefs.js:241 +#: js/blocks/HeapBlocks.js:59 +#: js/widgets/status.js:143 +msgid "heap" +msgstr "堆积" + +#: js/turtledefs.js:141 +#: js/turtledefs.js:242 +#: js/blocks/DictBlocks.js:142 +#: js/blocks/ProgramBlocks.js:495 +msgid "dictionary" +msgstr "字典" + +#: js/turtledefs.js:142 +#: js/turtledefs.js:243 +msgid "ensemble" +msgstr "乐团 " + +#: js/turtledefs.js:143 +#: js/turtledefs.js:244 +msgid "extras" +msgstr "额外内容" + +#: js/turtledefs.js:145 +#: js/turtledefs.js:246 +#. TRANS: program as in computer program +#. TRANS: program as in computer program +msgid "program" +msgstr "程序" + +#: js/turtledefs.js:146 +#: js/turtledefs.js:247 +msgid "my blocks" +msgstr "我的块" + +#: js/turtledefs.js:188 +#: js/turtledefs.js:283 +msgid "artwork" +msgstr "艺术作品" + +#: js/turtledefs.js:188 +#: js/turtledefs.js:283 +msgid "logic" +msgstr "逻辑" + +#: js/turtledefs.js:188 +#: js/turtledefs.js:283 +#: planet/js/GlobalTag.js:34 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Music" +msgstr "音乐" + +#: js/turtledefs.js:190 +msgid "Music Blocks" +msgstr "音乐块" + +#: js/turtledefs.js:438 +msgid "Welcome to Turtle Blocks" +msgstr "欢迎来到海龟图形块" + +#: js/turtledefs.js:439 +msgid "Turtle Blocks is a Logo-inspired turtle that draws colorful pictures with snap-together visual-programming blocks." +msgstr "海龟图形块是一个受Logo启发的海龟,它通过拼接的可视编程块绘制色彩斑斓的图画。" + +#: js/turtledefs.js:440 +#: js/turtledefs.js:467 +#: js/turtledefs.js:822 +#: js/turtledefs.js:845 +msgid "The current version is" +msgstr "当前版本是" + +#: js/turtledefs.js:448 +#: js/turtledefs.js:493 +msgid "Click the run button to run the project in fast mode." +msgstr "点击运行按钮以在快速模式下运行项目" + +#: js/turtledefs.js:454 +msgid "Stop the turtle." +msgstr "停止海龟" + +#: js/turtledefs.js:456 +#: js/turtledefs.js:501 +msgid "You can also type Alt-S to stop." +msgstr "您也可以按 Alt-S 停止。" + +#: js/turtledefs.js:464 +#: js/widgets/help.js:335 +msgid "Welcome to Music Blocks" +msgstr "欢迎来到音乐块" + +#: js/turtledefs.js:465 +msgid "Music Blocks is a collection of tools for exploring fundamental musical concepts in a fun way." +msgstr "音乐块是一个工具集,用于以有趣的方式探索基本的音乐概念。" + +#: js/turtledefs.js:474 +#: js/widgets/help.js:336 +msgid "Meet Mr. Mouse!" +msgstr "会面 Mr. Mouse!" + +#: js/turtledefs.js:475 +msgid "Mr Mouse is our Music Blocks conductor." +msgstr "Mr Mouse 是我们的音乐块指挥。" + +#: js/turtledefs.js:477 +msgid "Mr Mouse encourages you to explore Music Blocks." +msgstr "Mr Mouse 鼓励您探索音乐块。" + +#: js/turtledefs.js:479 +msgid "Let us start our tour!" +msgstr "让我们开始我们的旅程!" + +#: js/turtledefs.js:484 +#: js/turtledefs.js:807 +#: js/widgets/help.js:337 +msgid "Guide" +msgstr "指南" + +#: js/turtledefs.js:485 +msgid "A detailed guide to Music Blocks is available." +msgstr "提供了详细的音乐块指南。" + +#: js/turtledefs.js:499 +msgid "Stop the music (and the mice)." +msgstr "停止音乐 (and the mice)" + +#: js/turtledefs.js:510 +msgid "Record your project as video." +msgstr "将您的项目录制为视频" + +#: js/turtledefs.js:517 +msgid "Toggle Fullscreen mode." +msgstr "切换全屏模式" + +#: js/turtledefs.js:523 +msgid "Initialize a new project." +msgstr "初始化一个新项目" + +#: js/turtledefs.js:529 +msgid "You can also load projects from the file system." +msgstr "您也可以从文件系统加载项目" + +#: js/turtledefs.js:545 +#: js/widgets/arpeggio.js:103 +#: js/widgets/meterwidget.js:227 +#: js/widgets/modewidget.js:113 +#: js/widgets/musickeyboard.js:706 +#: js/widgets/pitchdrummatrix.js:166 +#: js/widgets/pitchslider.js:125 +#: js/widgets/pitchstaircase.js:639 +#: js/widgets/temperament.js:2173 +#: js/widgets/timbre.js:750 +#: js/widgets/phrasemaker.js:561 +msgid "Save" +msgstr "保存" + +#: js/turtledefs.js:548 +msgid "Save your project to a file." +msgstr "将您的项目保存到文件" + +#: js/turtledefs.js:552 +msgid "Save graphics from your project to as SVG." +msgstr "将项目中的图形保存为SVG" + +#: js/turtledefs.js:556 +msgid "Save graphics from your project as PNG." +msgstr "将项目中的图形保存为PNG" + +#: js/turtledefs.js:560 +msgid "Save block artwork as an SVG file." +msgstr "将块图形保存为SVG文件" + +#: js/turtledefs.js:571 +msgid "Save sheet music as ABC, Lilypond or MusicXML" +msgstr "将乐谱保存为ABC、LilyPond或MusicXML格式" + +#: js/turtledefs.js:573 +msgid "Save block artwork as SVG or PNG" +msgstr "将块图形保存为SVG或PNG" + +#: js/turtledefs.js:580 +msgid "Load samples from server" +msgstr "从服务器加载样本" + +#: js/turtledefs.js:581 +msgid "This button opens a viewer for loading example projects." +msgstr "此按钮打开一个查看器,用于加载示例项目" + +#: js/turtledefs.js:586 +msgid "Expand/collapse option toolbar" +msgstr "展开/收起选项工具栏" + +#: js/turtledefs.js:587 +msgid "Click this button to expand or collapse the auxillary toolbar." +msgstr "点击此按钮以展开或收起辅助工具栏" + +#: js/turtledefs.js:593 +msgid "Displays help messages for the main and auxiliary toolbar, right-click contextual menu for blocks and canvas, and palettes." +msgstr "显示主工具栏和辅助工具栏的帮助信息,块和画布的右键上下文菜单,以及调色板的帮助信息" + +#: js/turtledefs.js:599 +msgid "Click to run the project in slow mode." +msgstr "点击以在慢速模式下运行项目" + +#: js/turtledefs.js:605 +msgid "Click to run the project step by step." +msgstr "点击按步骤运行项目" + +#: js/turtledefs.js:612 +msgid "Display statistics about your Music project." +msgstr "显示有关您音乐项目的统计信息" + +#: js/turtledefs.js:618 +msgid "Load a selected plugin." +msgstr "加载选定的插件" + +#: js/turtledefs.js:626 +msgid "Delete a selected plugin." +msgstr "删除选定的插件" + +#: js/turtledefs.js:633 +msgid "Enable scrolling" +msgstr "启用滚动" + +#: js/turtledefs.js:634 +msgid "You can scroll the blocks on the canvas." +msgstr "您可以在画布上滚动这些块" + +#: js/turtledefs.js:643 +msgid "Switch between dark and light mode." +msgstr "在暗模式和亮模式之间切换" + +#: js/turtledefs.js:649 +msgid "Click to add another project into the current one." +msgstr "点击将另一个项目添加到当前项目中" + +#: js/turtledefs.js:654 +msgid "Wrap Turtle" +msgstr "包裹海龟" + +#: js/turtledefs.js:655 +msgid "Turn Turtle wrapping On or Off." +msgstr "开启或关闭海龟包裹" + +#: js/turtledefs.js:663 +msgid "Click to set the current pitch." +msgstr "点击设置当前音高" + +#: js/turtledefs.js:670 +msgid "Converts Music Block programs to JavaScript." +msgstr "将音乐块程序转换为JavaScript" + +#: js/turtledefs.js:677 +msgid "Restore blocks from the trash." +msgstr "从垃圾桶恢复块" + +#: js/turtledefs.js:684 +msgid "Switch mode" +msgstr "切换模式" + +#: js/turtledefs.js:685 +msgid "Switch between beginner and advance modes." +msgstr "在初学者模式和高级模式之间切换" + +#: js/turtledefs.js:691 +msgid "Select your language preference." +msgstr "选择您的语言偏好" + +#: js/turtledefs.js:696 +msgid "Contextual Menu for Blocks" +msgstr "块的上下文菜单" + +#: js/turtledefs.js:697 +msgid "Right-click on a block to access common actions." +msgstr "右键点击一个块以访问常见操作" + +#: js/turtledefs.js:702 +#: planet/js/StringHelper.js:46 +msgid "Delete" +msgstr "删除" + +#: js/turtledefs.js:703 +msgid "To delete a block, right-click on it. You will see the delete option." +msgstr "要删除一个模块,请右键点击它。你会看到“删除”选项。" + +#: js/turtledefs.js:709 +msgid "To copy a block, right-click on it. You will see the copy option." +msgstr "要复制一个模块,请右键点击它。你会看到“复制”选项。" + +#: js/turtledefs.js:715 +msgid "To extract a block, right-click on it. You will see the extract option." +msgstr "要提取一个模块,请右键点击它。你会看到“提取”选项。" + +#: js/turtledefs.js:721 +msgid "Keyboard shortcuts" +msgstr "键盘快捷键" + +#: js/turtledefs.js:722 +msgid "You can type d to create a do block and r to create a re block etc." +msgstr "你可以输入 d 来创建一个 do 模块,输入 r 来创建一个 re 模块,等等。" + +#: js/turtledefs.js:729 +msgid "Contextual Menu for Canvas" +msgstr "画布的上下文菜单" + +#: js/turtledefs.js:730 +msgid "Right-click on the canvas to perform additional canvas-related tasks." +msgstr "右键点击画布以执行更多与画布相关的操作。" + +#: js/turtledefs.js:736 +#: js/turtles.js:940 +#: js/palette.js:654 +msgid "Grid" +msgstr "网格" + +#: js/turtledefs.js:737 +msgid "Turn on/off lines for cartesian or polar grids." +msgstr "打开或关闭笛卡尔网格或极坐标网格的线条。" + +#: js/turtledefs.js:739 +msgid "Turn on/off music staffs." +msgstr "打开或关闭五线谱。" + +#: js/turtledefs.js:744 +#: js/turtles.js:959 +#: js/blocks/GraphicsBlocks.js:364 +#: js/widgets/arpeggio.js:118 +#: js/widgets/modewidget.js:119 +#: js/widgets/musickeyboard.js:714 +#: js/widgets/pitchdrummatrix.js:181 +#: js/widgets/pitchstaircase.js:684 +#: js/widgets/rhythmruler.js:601 +#: js/widgets/temperament.js:317 +#: js/widgets/temperament.js:345 +#: js/widgets/phrasemaker.js:578 +#. TRANS: clear all subdivisions from the ruler. +msgid "Clear" +msgstr "清除" + +#: js/turtledefs.js:745 +msgid "Clear the screen and return the mice to their initial positions." +msgstr "清除屏幕并将鼠标返回到初始位置。" + +#: js/turtledefs.js:750 +#: js/turtles.js:980 +msgid "Collapse" +msgstr "折叠" + +#: js/turtledefs.js:751 +msgid "Collapse the graphics window." +msgstr "折叠图形窗口。" + +#: js/turtledefs.js:757 +msgid "Return all blocks to the center of the screen." +msgstr "将所有模块返回到屏幕中心。" + +#: js/turtledefs.js:763 +msgid "Hide or show the blocks and the palettes." +msgstr "隐藏或显示模块和调色板。" + +#: js/turtledefs.js:769 +msgid "Expand or collapse start and action stacks." +msgstr "展开或折叠开始和动作堆栈。" + +#: js/turtledefs.js:777 +msgid "Decrease the size of the blocks." +msgstr "减小模块的大小。" + +#: js/turtledefs.js:783 +msgid "Increase the size of the blocks." +msgstr "增大模块的大小。" + +#: js/turtledefs.js:789 +msgid "Select" +msgstr "选择" + +#: js/turtledefs.js:790 +msgid "Left-click and drag on workspace to select multiple blocks." +msgstr "左键点击并拖动工作区以选择多个模块。" + +#: js/turtledefs.js:797 +msgid "Palette buttons" +msgstr "调色板按钮" + +#: js/turtledefs.js:798 +msgid "This toolbar contains the palette buttons including Rhythm Pitch Tone Action and more." +msgstr "此工具栏包含调色板按钮,包括节奏、音高、音调、动作等。" + +#: js/turtledefs.js:800 +msgid "Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them." +msgstr "点击显示模块调色板,将模块从调色板拖到画布上使用。" + +#: js/turtledefs.js:808 +msgid "A detailed guide to Turtle Blocks is available." +msgstr "提供了 Turtle Blocks 的详细指南。" + +#: js/turtledefs.js:812 +msgid "Turtle Blocks Guide" +msgstr "Turtle Blocks 指南" + +#: js/turtledefs.js:815 +#: js/turtledefs.js:838 +#: js/widgets/help.js:338 +msgid "About" +msgstr "关于" + +#: js/turtledefs.js:816 +msgid "Turtle Blocks is an open source collection of tools for exploring musical concepts." +msgstr "Turtle Blocks 是一个开源工具集,用于探索音乐概念。" + +#: js/turtledefs.js:818 +msgid "A full list of contributors can be found in the Turtle Blocks GitHub repository." +msgstr "完整的贡献者列表可以在 Turtle Blocks 的 GitHub 仓库中找到。" + +#: js/turtledefs.js:820 +msgid "Turtle Blocks is licensed under the AGPL." +msgstr "Turtle Blocks 授权使用 AGPL 许可协议。" + +#: js/turtledefs.js:828 +msgid "Turtle Blocks GitHub repository" +msgstr "Turtle Blocks GitHub 仓库" + +#: js/turtledefs.js:831 +#: js/widgets/help.js:339 +#: js/widgets/help.js:361 +msgid "Congratulations." +msgstr "恭喜" + +#: js/turtledefs.js:832 +msgid "You have finished the tour. Please enjoy Turtle Blocks!" +msgstr "您已完成导览。请尽情享受 Turtle Blocks!" + +#: js/turtledefs.js:839 +msgid "Music Blocks is an open source collection of tools for exploring musical concepts." +msgstr "Music Blocks 是一个开源工具集,用于探索音乐概念。" + +#: js/turtledefs.js:841 +msgid "A full list of contributors can be found in the Music Blocks GitHub repository." +msgstr "完整的贡献者列表可以在 Music Blocks 的 GitHub 仓库中找到。" + +#: js/turtledefs.js:843 +msgid "Music Blocks is licensed under the AGPL." +msgstr "Music Blocks 授权使用 AGPL 许可协议。" + +#: js/turtledefs.js:851 +msgid "Music Blocks GitHub repository" +msgstr "Music Blocks GitHub 仓库" + +#: js/turtledefs.js:854 +msgid "Congratulations!" +msgstr "恭喜" + +#: js/turtledefs.js:855 +msgid "You have finished the tour. Please enjoy Music Blocks!" +msgstr "您已完成导览。请尽情享受 Music Blocks!" + +#: js/turtles.js:1052 +msgid "Expand" +msgstr "展开" + +#: js/palette.js:663 +msgid "effect" +msgstr "效果" + +#: js/palette.js:669 +msgid "sargam" +msgstr "萨尔甘" + +#: js/palette.js:684 +#: js/blocks/PitchBlocks.js:1209 +msgid "custom pitch" +msgstr "自定义音高" + +#: js/palette.js:692 +msgid "accidental" +msgstr "意外音符" + +#: js/palette.js:716 +#: js/blocks/PitchBlocks.js:405 +msgid "pitch converter" +msgstr "音高转换器" + +#: js/utils/musicutils.js:504 +#: js/utils/musicutils.js:644 +#: js/widgets/musickeyboard.js:2906 +#: js/widgets/pitchdrummatrix.js:228 +msgid "rest" +msgstr "休止符" + +#: js/utils/musicutils.js:687 +msgid "Perfect unison" +msgstr "完全同音" + +#: js/utils/musicutils.js:687 +msgid "Diminished second" +msgstr "减二度" + +#: js/utils/musicutils.js:688 +msgid "Minor second" +msgstr "小二度" + +#: js/utils/musicutils.js:688 +msgid "Augmented unison" +msgstr "增同音" + +#: js/utils/musicutils.js:689 +msgid "Major second" +msgstr "大二度" + +#: js/utils/musicutils.js:689 +msgid "Diminished third" +msgstr "减三度" + +#: js/utils/musicutils.js:690 +msgid "Minor third" +msgstr "小三度" + +#: js/utils/musicutils.js:690 +msgid "Augmented second" +msgstr "增二度" + +#: js/utils/musicutils.js:691 +msgid "Major third" +msgstr "大三度" + +#: js/utils/musicutils.js:691 +msgid "Diminished fourth" +msgstr "减四度" + +#: js/utils/musicutils.js:692 +msgid "Perfect fourth" +msgstr "完全四度" + +#: js/utils/musicutils.js:692 +msgid "Augmented third" +msgstr "增三度" + +#: js/utils/musicutils.js:693 +msgid "Diminished fifth" +msgstr "减五度" + +#: js/utils/musicutils.js:693 +msgid "Augmented fourth" +msgstr "增四度" + +#: js/utils/musicutils.js:694 +msgid "Perfect fifth" +msgstr "完全五度" + +#: js/utils/musicutils.js:694 +msgid "Diminished sixth" +msgstr "减六度" + +#: js/utils/musicutils.js:695 +msgid "Minor sixth" +msgstr "小六度" + +#: js/utils/musicutils.js:695 +msgid "Augmented fifth" +msgstr "增五度" + +#: js/utils/musicutils.js:696 +msgid "Major sixth" +msgstr "大六度" + +#: js/utils/musicutils.js:696 +msgid "Diminished seventh" +msgstr "减七度" + +#: js/utils/musicutils.js:697 +msgid "Minor seventh" +msgstr "小七度" + +#: js/utils/musicutils.js:697 +msgid "Augmented sixth" +msgstr "增六度" + +#: js/utils/musicutils.js:698 +msgid "Major seventh" +msgstr "大七度" + +#: js/utils/musicutils.js:698 +msgid "Diminished octave" +msgstr "减八度" + +#: js/utils/musicutils.js:699 +msgid "Perfect octave" +msgstr "完全八度" + +#: js/utils/musicutils.js:699 +msgid " perfect octave" +msgstr "完全八度" + +#: js/utils/musicutils.js:700 +msgid "完全八度" +msgstr "" + +#: js/utils/musicutils.js:700 +msgid "Augmented octave" +msgstr "增八度" + +#: js/utils/musicutils.js:701 +msgid "Major ninth" +msgstr "大九度" + +#: js/utils/musicutils.js:701 +msgid "Diminished tenth" +msgstr "减十度" + +#: js/utils/musicutils.js:702 +msgid "Minor tenth" +msgstr "小十度" + +#: js/utils/musicutils.js:702 +msgid "Augmented ninth" +msgstr "增九度" + +#: js/utils/musicutils.js:703 +msgid "Major tenth" +msgstr "大十度" + +#: js/utils/musicutils.js:703 +msgid "Diminished eleventh" +msgstr "减十一度" + +#: js/utils/musicutils.js:704 +msgid "Perfect eleventh" +msgstr "纯十一度" + +#: js/utils/musicutils.js:704 +msgid "Augmented tenth" +msgstr "增十度" + +#: js/utils/musicutils.js:705 +msgid "Diminished twelfth" +msgstr "减十二度" + +#: js/utils/musicutils.js:705 +msgid "Augmented eleventh" +msgstr "增十一度" + +#: js/utils/musicutils.js:706 +msgid "Perfect twelfth" +msgstr "纯十二度" + +#: js/utils/musicutils.js:706 +msgid "Diminished thirteenth" +msgstr "减十三度" + +#: js/utils/musicutils.js:707 +msgid "Minor thirteenth" +msgstr "小十三度" + +#: js/utils/musicutils.js:707 +msgid "Augmented fifth, plus an octave" +msgstr "增五度加八度" + +#: js/utils/musicutils.js:708 +msgid "Major thirteenth" +msgstr "大十三度" + +#: js/utils/musicutils.js:708 +msgid "Diminished seventh, plus an octave" +msgstr "减七度加八度" + +#: js/utils/musicutils.js:836 +#. TRANS: ordinal number. Please keep exactly one space between each number. +msgid "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th" +msgstr "第一 第二 第三 第四 第五 第六 第七 第八 第九 第十 第十一 第十二" + +#: js/utils/musicutils.js:1002 +#: js/utils/musicutils.js:1186 +#: js/utils/musicutils.js:1368 +#. TRANS: augmented is a music term related to intervals +msgid "augmented" +msgstr "增音程" + +#: js/utils/musicutils.js:1004 +#: js/utils/musicutils.js:1187 +#: js/utils/musicutils.js:1367 +#. TRANS: diminished is a music term related to intervals and mode +msgid "diminished" +msgstr "减音程" + +#: js/utils/musicutils.js:1010 +#: js/utils/musicutils.js:1365 +#: js/blocks/IntervalsBlocks.js:649 +#: js/turtleactions/IntervalsActions.js:120 +#: js/turtleactions/IntervalsActions.js:124 +#. TRANS: perfect is a music term related to intervals +msgid "perfect" +msgstr "纯音程" + +#: js/utils/musicutils.js:1012 +#. TRANS: twelve semi-tone scale for music +msgid "chromatic" +msgstr "半音阶" + +#: js/utils/musicutils.js:1013 +msgid "algerian" +msgstr "algerian" + +#: js/utils/musicutils.js:1014 +msgid "spanish" +msgstr "西班牙调式" + +#: js/utils/musicutils.js:1016 +#. TRANS: modal scale in music +msgid "octatonic" +msgstr "八音阶" + +#: js/utils/musicutils.js:1018 +#. TRANS: harmonic major scale in music +msgid "harmonic major" +msgstr "和声大调" + +#: js/utils/musicutils.js:1020 +#. TRANS: natural minor scales in music +msgid "natural minor" +msgstr "自然小调" + +#: js/utils/musicutils.js:1022 +#. TRANS: harmonic minor scale in music +msgid "harmonic minor" +msgstr "和声小调" + +#: js/utils/musicutils.js:1024 +#. TRANS: melodic minor scale in music +msgid "melodic minor" +msgstr "旋律小调" + +#: js/utils/musicutils.js:1028 +#. TRANS: modal scale for music +msgid "dorian" +msgstr "多利安调式" + +#: js/utils/musicutils.js:1030 +#. TRANS: modal scale for music +msgid "phrygian" +msgstr "弗利几亚调式" + +#: js/utils/musicutils.js:1032 +#. TRANS: modal scale for music +msgid "lydian" +msgstr "利底亚调式" + +#: js/utils/musicutils.js:1034 +#. TRANS: modal scale for music +msgid "mixolydian" +msgstr "米克索利底亚调式" + +#: js/utils/musicutils.js:1038 +#. TRANS: modal scale for music +msgid "locrian" +msgstr "洛克利亚调式" + +#: js/utils/musicutils.js:1040 +#. TRANS: minor jazz scale for music +msgid "jazz minor" +msgstr "爵士小调" + +#: js/utils/musicutils.js:1042 +#. TRANS: bebop scale for music +msgid "bebop" +msgstr "bebop" + +#: js/utils/musicutils.js:1043 +msgid "arabic" +msgstr "阿拉伯调式" + +#: js/utils/musicutils.js:1044 +msgid "byzantine" +msgstr "拜占庭调式" + +#: js/utils/musicutils.js:1046 +#. TRANS: musical scale for music by Verdi +msgid "enigmatic" +msgstr "谜样调式" + +#: js/utils/musicutils.js:1047 +msgid "ethiopian" +msgstr "埃塞俄比亚调式" + +#: js/utils/musicutils.js:1049 +#. TRANS: Ethiopic scale for music +msgid "geez" +msgstr "geez" + +#: js/utils/musicutils.js:1050 +msgid "hindu" +msgstr "印度调式" + +#: js/utils/musicutils.js:1051 +msgid "hungarian" +msgstr "匈牙利调式" + +#: js/utils/musicutils.js:1053 +#. TRANS: minor Romanian scale for music +msgid "romanian minor" +msgstr "罗马尼亚小调" + +#: js/utils/musicutils.js:1054 +msgid "spanish gypsy" +msgstr "西班牙吉普赛调式" + +#: js/utils/musicutils.js:1056 +#. TRANS: musical scale for Mid-Eastern music +msgid "maqam" +msgstr "maqam" + +#: js/utils/musicutils.js:1058 +#. TRANS: minor blues scale for music +msgid "minor blues" +msgstr "小调布鲁斯" + +#: js/utils/musicutils.js:1060 +#. TRANS: major blues scale for music +msgid "major blues" +msgstr "大调布鲁斯" + +#: js/utils/musicutils.js:1061 +msgid "whole tone" +msgstr "全音音阶" + +#: js/utils/musicutils.js:1063 +#. TRANS: pentatonic is a general term that means "five note scale". This scale is typically known as "minor pentatonic" +msgid "minor pentatonic" +msgstr "小调五声音阶" + +#: js/utils/musicutils.js:1065 +#. TRANS: pentatonic is a general term that means "five note scale". This scale is typically known as "major pentatonic" +msgid "major pentatonic" +msgstr "大调五声音阶" + +#: js/utils/musicutils.js:1066 +msgid "chinese" +msgstr "中国调式" + +#: js/utils/musicutils.js:1067 +msgid "egyptian" +msgstr "埃及调式" + +#: js/utils/musicutils.js:1069 +#. TRANS: https://en.wikipedia.org/wiki/Hirajoshi_scale NOTE: There are three different versions of this scale +msgid "hirajoshi" +msgstr "平调式" + +#: js/utils/musicutils.js:1070 +msgid "Japan" +msgstr "日本调式" + +#: js/utils/musicutils.js:1072 +#. TRANS: https://en.wikipedia.org/wiki/In_scale and https://en.wikipedia.org/wiki/Sakura_Sakura +msgid "in" +msgstr "in" + +#: js/utils/musicutils.js:1074 +#. TRANS: https://en.wikipedia.org/wiki/Miny%C5%8D_scale +msgid "minyo" +msgstr "民谣调式" + +#: js/utils/musicutils.js:1076 +#. TRANS: Italian mathematician +msgid "fibonacci" +msgstr "斐波那契" + +#: js/utils/musicutils.js:1077 +#: js/utils/musicutils.js:1129 +#: js/utils/musicutils.js:1172 +#: js/utils/musicutils.js:1194 +#: js/utils/musicutils.js:1625 +#: js/utils/synthutils.js:136 +#: js/blocks/IntervalsBlocks.js:1124 +#: js/blocks/ToneBlocks.js:946 +#: js/blocks/WidgetBlocks.js:399 +#: js/blocks/WidgetBlocks.js:404 +#: js/blocks/VolumeBlocks.js:411 +#: js/turtleactions/VolumeActions.js:224 +#: js/widgets/modewidget.js:913 +#. TRANS: customize voice +msgid "custom" +msgstr "自定义" + +#: js/utils/musicutils.js:1079 +#: js/utils/musicutils.js:1574 +#: js/blocks/WidgetBlocks.js:176 +#. TRANS: highpass filter +msgid "highpass" +msgstr "高通滤波器" + +#: js/utils/musicutils.js:1081 +#: js/utils/musicutils.js:1575 +#. TRANS: lowpass filter +msgid "lowpass" +msgstr "低通滤波器" + +#: js/utils/musicutils.js:1083 +#: js/utils/musicutils.js:1576 +#. TRANS: bandpass filter +msgid "bandpass" +msgstr "带通滤波器" + +#: js/utils/musicutils.js:1085 +#: js/utils/musicutils.js:1577 +#. TRANS: high-shelf filter +msgid "highshelf" +msgstr "高架滤波器" + +#: js/utils/musicutils.js:1087 +#: js/utils/musicutils.js:1578 +#. TRANS: low-shelf filter +msgid "lowshelf" +msgstr "低架滤波器" + +#: js/utils/musicutils.js:1089 +#: js/utils/musicutils.js:1579 +#. TRANS: notch-shelf filter +msgid "notch" +msgstr "陷波滤波器" + +#: js/utils/musicutils.js:1091 +#: js/utils/musicutils.js:1580 +#. TRANS: all-pass filter +msgid "allpass" +msgstr "全通滤波器" + +#: js/utils/musicutils.js:1093 +#: js/utils/musicutils.js:1581 +#. TRANS: peaking filter +msgid "peaking" +msgstr "峰值滤波器" + +#: js/utils/musicutils.js:1094 +#: js/utils/musicutils.js:1589 +#: js/utils/synthutils.js:128 +#: js/blocks/PitchBlocks.js:85 +#. TRANS: sine wave +msgid "sine" +msgstr "正弦波" + +#: js/utils/musicutils.js:1095 +#: js/utils/musicutils.js:1590 +#: js/utils/synthutils.js:130 +#: js/blocks/PitchBlocks.js:39 +#. TRANS: square wave +msgid "square" +msgstr "方波" + +#: js/utils/musicutils.js:1096 +#: js/utils/musicutils.js:1591 +#: js/utils/synthutils.js:134 +#: js/blocks/PitchBlocks.js:62 +#: js/blocks/ToneBlocks.js:39 +#. TRANS: triangle wave +msgid "triangle" +msgstr "三角波" + +#: js/utils/musicutils.js:1097 +#: js/utils/musicutils.js:1592 +#: js/utils/synthutils.js:132 +#: js/blocks/PitchBlocks.js:108 +#. TRANS: sawtooth wave +msgid "sawtooth" +msgstr "锯齿波" + +#: js/utils/musicutils.js:1099 +#: js/utils/musicutils.js:1355 +#: js/blocks/PitchBlocks.js:931 +#: js/blocks/PitchBlocks.js:937 +#: js/turtleactions/PitchActions.js:469 +#. TRANS: even numbers +#. TRANS: invert based on even or odd number or musical scale +msgid "even" +msgstr "偶数" + +#: js/utils/musicutils.js:1101 +#: js/utils/musicutils.js:1356 +#: js/blocks/PitchBlocks.js:937 +#: js/turtleactions/PitchActions.js:471 +#. TRANS: odd numbers +msgid "odd" +msgstr "奇数" + +#: js/utils/musicutils.js:1102 +#: js/utils/musicutils.js:1357 +#: js/blocks/PitchBlocks.js:937 +#: js/turtleactions/PitchActions.js:473 +msgid "scalar" +msgstr "标量" + +#: js/utils/musicutils.js:1103 +#: js/utils/synthutils.js:72 +#: js/blocks/VolumeBlocks.js:47 +#. TRANS: musical instrument +msgid "piano" +msgstr "钢琴" + +#: js/utils/musicutils.js:1104 +#: js/utils/synthutils.js:74 +#. TRANS: musical instrument +msgid "violin" +msgstr "小提琴" + +#: js/utils/musicutils.js:1105 +#: js/utils/synthutils.js:76 +#. TRANS: viola musical instrument +msgid "viola" +msgstr "中提琴" + +#: js/utils/musicutils.js:1106 +#: js/utils/synthutils.js:116 +#. TRANS: xylophone musical instrument +msgid "xylophone" +msgstr "木琴" + +#: js/utils/musicutils.js:1107 +#: js/utils/synthutils.js:138 +#. TRANS: vibraphone musical instrument +msgid "vibraphone" +msgstr "颤音琴" + +#: js/utils/musicutils.js:1108 +#: js/utils/synthutils.js:78 +#. TRANS: musical instrument +msgid "cello" +msgstr "大提琴" + +#: js/utils/musicutils.js:1110 +#: js/utils/synthutils.js:82 +#. TRANS: viola musical instrument +msgid "double bass" +msgstr "低音提琴" + +#: js/utils/musicutils.js:1111 +#: js/utils/synthutils.js:86 +#: js/widgets/rhythmruler.js:2501 +#. TRANS: musical instrument +msgid "guitar" +msgstr "吉他" + +#: js/utils/musicutils.js:1112 +#: js/utils/synthutils.js:84 +#. TRANS: sitar musical instrument +msgid "sitar" +msgstr "锡塔尔琴" + +#: js/utils/musicutils.js:1113 +#: js/utils/synthutils.js:88 +#. TRANS: musical instrument +msgid "acoustic guitar" +msgstr "原声吉他" + +#: js/utils/musicutils.js:1114 +#: js/utils/synthutils.js:90 +#. TRANS: musical instrument +msgid "flute" +msgstr "长笛" + +#: js/utils/musicutils.js:1115 +#: js/utils/synthutils.js:92 +#. TRANS: musical instrument +msgid "clarinet" +msgstr "单簧管" + +#: js/utils/musicutils.js:1116 +#: js/utils/synthutils.js:94 +#. TRANS: musical instrument +msgid "saxophone" +msgstr "萨克斯管" + +#: js/utils/musicutils.js:1117 +#: js/utils/synthutils.js:96 +#. TRANS: musical instrument +msgid "tuba" +msgstr "大号" + +#: js/utils/musicutils.js:1118 +#: js/utils/synthutils.js:98 +#. TRANS: musical instrument +msgid "trumpet" +msgstr "小号" + +#: js/utils/musicutils.js:1119 +#: js/utils/synthutils.js:100 +#. TRANS: musical instrument +msgid "oboe" +msgstr "双簧管" + +#: js/utils/musicutils.js:1120 +#: js/utils/synthutils.js:102 +#. TRANS: musical instrument +msgid "trombone" +msgstr "长号" + +#: js/utils/musicutils.js:1121 +#: js/utils/synthutils.js:118 +#. TRANS: polytone synthesizer +msgid "electronic synth" +msgstr "电子合成器" + +#: js/utils/musicutils.js:1122 +#: js/utils/synthutils.js:120 +#. TRANS: simple monotone synthesizer +msgid "simple 1" +msgstr "简单1" + +#: js/utils/musicutils.js:1123 +msgid "simple 2" +msgstr "简单2" + +#: js/utils/musicutils.js:1124 +msgid "simple 3" +msgstr "简单3" + +#: js/utils/musicutils.js:1125 +msgid "simple 4" +msgstr "简单4" + +#: js/utils/musicutils.js:1126 +#: js/utils/synthutils.js:58 +#: js/blocks/DrumBlocks.js:191 +#. TRANS: white noise synthesizer +msgid "white noise" +msgstr "白噪音" + +#: js/utils/musicutils.js:1127 +#: js/utils/synthutils.js:60 +#. TRANS: brown noise synthesizer +msgid "brown noise" +msgstr "棕色噪音" + +#: js/utils/musicutils.js:1128 +#: js/utils/synthutils.js:62 +#. TRANS: pink noise synthesizer +msgid "pink noise" +msgstr "粉红噪音" + +#: js/utils/musicutils.js:1130 +#: js/utils/synthutils.js:150 +#: js/widgets/rhythmruler.js:2047 +#: js/widgets/rhythmruler.js:2309 +#. TRANS: musical instrument +msgid "snare drum" +msgstr "军鼓" + +#: js/utils/musicutils.js:1131 +#: js/utils/synthutils.js:152 +#. TRANS: musical instrument +msgid "kick drum" +msgstr "大鼓" + +#: js/utils/musicutils.js:1132 +#: js/utils/synthutils.js:154 +#. TRANS: musical instrument +msgid "tom tom" +msgstr "通通鼓" + +#: js/utils/musicutils.js:1133 +#: js/utils/synthutils.js:156 +#. TRANS: musical instrument +msgid "floor tom" +msgstr "落地鼓" + +#: js/utils/musicutils.js:1134 +#: js/utils/synthutils.js:158 +#. TRANS: musical instrument +msgid "bass drum" +msgstr "低音鼓" + +#: js/utils/musicutils.js:1135 +#: js/utils/synthutils.js:160 +#. TRANS: a drum made from an inverted cup +msgid "cup drum" +msgstr "杯鼓" + +#: js/utils/musicutils.js:1136 +#: js/utils/synthutils.js:162 +#. TRANS: musical instrument +msgid "darbuka drum" +msgstr "达布卡鼓" + +#: js/utils/musicutils.js:1137 +#: js/utils/synthutils.js:166 +#. TRANS: musical instrument +msgid "hi hat" +msgstr "踩镲" + +#: js/utils/musicutils.js:1138 +#: js/utils/synthutils.js:168 +#. TRANS: a small metal bell +msgid "ride bell" +msgstr "骑铃" + +#: js/utils/musicutils.js:1139 +#: js/utils/synthutils.js:170 +#. TRANS: musical instrument +msgid "cow bell" +msgstr "牛铃" + +#: js/utils/musicutils.js:1140 +msgid "japanese drum" +msgstr "日本鼓" + +#: js/utils/musicutils.js:1141 +#: js/utils/synthutils.js:176 +#. TRANS: musical instrument +msgid "japanese bell" +msgstr "日本铃" + +#: js/utils/musicutils.js:1142 +#: js/utils/synthutils.js:172 +#. TRANS: musical instrument +msgid "triangle bell" +msgstr "三角铃" + +#: js/utils/musicutils.js:1143 +#: js/utils/synthutils.js:174 +#. TRANS: musical instrument +msgid "finger cymbals" +msgstr "指钹" + +#: js/utils/musicutils.js:1144 +#: js/utils/synthutils.js:178 +#. TRANS: a musically tuned set of bells +msgid "chime" +msgstr "风铃" + +#: js/utils/musicutils.js:1145 +#: js/utils/synthutils.js:180 +#. TRANS: a musical instrument +msgid "gong" +msgstr "锣" + +#: js/utils/musicutils.js:1146 +#: js/utils/synthutils.js:182 +#. TRANS: sound effect +msgid "clang" +msgstr "叮当声" + +#: js/utils/musicutils.js:1147 +#: js/utils/synthutils.js:184 +#. TRANS: sound effect +msgid "crash" +msgstr "撞击声" + +#: js/utils/musicutils.js:1148 +#: js/utils/synthutils.js:186 +#. TRANS: sound effect +msgid "bottle" +msgstr "瓶子声" + +#: js/utils/musicutils.js:1149 +#: js/utils/synthutils.js:188 +#. TRANS: sound effect +msgid "clap" +msgstr "拍手声" + +#: js/utils/musicutils.js:1150 +#: js/utils/synthutils.js:190 +#. TRANS: sound effect +msgid "slap" +msgstr "拍打声" + +#: js/utils/musicutils.js:1151 +#: js/utils/synthutils.js:192 +#. TRANS: sound effect +msgid "splash" +msgstr "水花声" + +#: js/utils/musicutils.js:1152 +#: js/utils/synthutils.js:194 +#. TRANS: sound effect +msgid "bubbles" +msgstr "气泡声" + +#: js/utils/musicutils.js:1153 +#: js/utils/synthutils.js:196 +#. TRANS: sound effect +msgid "raindrop" +msgstr "雨滴声" + +#: js/utils/musicutils.js:1154 +#: js/utils/synthutils.js:198 +#. TRANS: animal sound effect +msgid "cat" +msgstr "猫" + +#: js/utils/musicutils.js:1155 +#: js/utils/synthutils.js:200 +#. TRANS: animal sound effect +msgid "cricket" +msgstr "蟋蟀声" + +#: js/utils/musicutils.js:1156 +#: js/utils/synthutils.js:202 +#. TRANS: animal sound effect +msgid "dog" +msgstr "狗" + +#: js/utils/musicutils.js:1158 +#: js/utils/synthutils.js:104 +#. TRANS: musical instrument +msgid "banjo" +msgstr "班卓琴" + +#: js/utils/musicutils.js:1159 +#: js/utils/synthutils.js:106 +#. TRANS: musical instrument +msgid "koto" +msgstr "琴" + +#: js/utils/musicutils.js:1160 +#: js/utils/synthutils.js:108 +#. TRANS: musical instrument +msgid "dulcimer" +msgstr "扬琴" + +#: js/utils/musicutils.js:1161 +#: js/utils/synthutils.js:110 +#. TRANS: musical instrument +msgid "electric guitar" +msgstr "电吉他" + +#: js/utils/musicutils.js:1162 +#: js/utils/synthutils.js:112 +#. TRANS: musical instrument +msgid "bassoon" +msgstr "巴松管" + +#: js/utils/musicutils.js:1163 +#: js/utils/synthutils.js:114 +#. TRANS: musical instrument +msgid "celeste" +msgstr "颤音琴" + +#: js/utils/musicutils.js:1165 +#: js/widgets/temperament.js:757 +#. TRANS: musical temperament +msgid "equal" +msgstr "平均律" + +#: js/utils/musicutils.js:1167 +#. TRANS: musical temperament +msgid "Pythagorean" +msgstr "毕达哥拉斯律" + +#: js/utils/musicutils.js:1169 +#. TRANS: musical temperament +msgid "just intonation" +msgstr "纯律" + +#: js/utils/musicutils.js:1171 +#: js/utils/musicutils.js:1607 +#: js/utils/musicutils.js:1608 +#: js/utils/musicutils.js:1623 +#: js/utils/musicutils.js:1624 +#. TRANS: musical temperament +msgid "Meantone" +msgstr "中庸律" + +#: js/utils/musicutils.js:1188 +msgid "major 7th" +msgstr "大七度" + +#: js/utils/musicutils.js:1189 +msgid "minor 7th" +msgstr "小七度" + +#: js/utils/musicutils.js:1190 +msgid "dominant 7th" +msgstr "属七度" + +#: js/utils/musicutils.js:1191 +msgid "minor-major 7th" +msgstr "小大七度" + +#: js/utils/musicutils.js:1192 +msgid "fully-diminished 7th" +msgstr "完全减七度" + +#: js/utils/musicutils.js:1193 +msgid "half-diminished 7th" +msgstr "半减七度" + +#: js/utils/musicutils.js:1600 +#: js/utils/musicutils.js:1616 +msgid "Equal (12EDO)" +msgstr "十二平均律" + +#: js/utils/musicutils.js:1601 +#: js/utils/musicutils.js:1617 +msgid "Equal (5EDO)" +msgstr "五平均律" + +#: js/utils/musicutils.js:1602 +#: js/utils/musicutils.js:1618 +msgid "Equal (7EDO)" +msgstr "七平均律" + +#: js/utils/musicutils.js:1603 +#: js/utils/musicutils.js:1619 +msgid "Equal (19EDO)" +msgstr "十九平均律" + +#: js/utils/musicutils.js:1604 +#: js/utils/musicutils.js:1620 +msgid "Equal (31EDO)" +msgstr "三十一平均律" + +#: js/utils/musicutils.js:1605 +#: js/utils/musicutils.js:1621 +msgid "5-limit Just Intonation" +msgstr "五限纯律" + +#: js/utils/musicutils.js:1606 +#: js/utils/musicutils.js:1622 +msgid "Pythagorean (3-limit JI)" +msgstr "毕达哥拉斯(三级纯律)" + +#: js/utils/musicutils.js:5631 +#: js/utils/musicutils.js:5674 +msgid "current" +msgstr "当前" + +#: js/utils/musicutils.js:5634 +#: js/utils/musicutils.js:5665 +msgid "next" +msgstr "下一个" + +#: js/utils/musicutils.js:5637 +#: js/utils/musicutils.js:5670 +msgid "previous" +msgstr "上一个" + +#: js/utils/synthutils.js:122 +#. TRANS: simple monotone synthesizer +msgid "simple-2" +msgstr "" + +#: js/utils/synthutils.js:124 +#. TRANS: simple monotone synthesizer +msgid "simple-3" +msgstr "" + +#: js/utils/synthutils.js:126 +#. TRANS: simple monotone synthesizer +msgid "simple-4" +msgstr "" + +#: js/utils/synthutils.js:164 +#. TRANS: musical instrument +msgid "taiko" +msgstr "" + +#: js/blocks/BooleanBlocks.js:44 +msgid "The Not block is the logical not operator." +msgstr "Not 块是逻辑非运算符。" + +#: js/blocks/BooleanBlocks.js:62 +msgid "not" +msgstr "否" + +#: js/blocks/BooleanBlocks.js:134 +msgid "The And block is the logical and operator." +msgstr "And 块是逻辑与运算符。" + +#: js/blocks/BooleanBlocks.js:152 +msgid "and" +msgstr "且" + +#: js/blocks/BooleanBlocks.js:218 +msgid "The Or block is the logical or operator." +msgstr "Or 块是逻辑或运算符。" + +#: js/blocks/BooleanBlocks.js:236 +msgid "or" +msgstr "或" + +#: js/blocks/BooleanBlocks.js:302 +msgid "The XOR block is the logical XOR operator." +msgstr "XOR 块是逻辑异或运算符。" + +#: js/blocks/BooleanBlocks.js:320 +msgid "xor" +msgstr "异或" + +#: js/blocks/BooleanBlocks.js:808 +msgid "The Equal block returns True if the two numbers are equal." +msgstr "Equal 块在两个数字相等时返回真。" + +#: js/blocks/BooleanBlocks.js:909 +msgid "The Not-equal-to block returns True if the two numbers are not equal to each other." +msgstr "Not-equal-to 块在两个数字不相等时返回真。" + +#: js/blocks/BooleanBlocks.js:1008 +msgid "The Boolean block is used to specify true or false." +msgstr "Boolean 块用于指定真或假。" + +#: js/blocks/BoxesBlocks.js:53 +#: js/blocks/BoxesBlocks.js:59 +msgid "The Add-to block is used to add to the value stored in a box." +msgstr "Add-to 块用于对盒子中存储的值进行加法。" + +#: js/blocks/BoxesBlocks.js:61 +msgid "It can also be used with other blocks such as Color and Pen size." +msgstr "它也可以与颜色和画笔大小等其他块一起使用。" + +#: js/blocks/BoxesBlocks.js:73 +msgid "add" +msgstr "加" + +#: js/blocks/BoxesBlocks.js:75 +#: js/widgets/temperament.js:825 +msgid "to" +msgstr "到" + +#: js/blocks/BoxesBlocks.js:75 +#: js/blocks/BoxesBlocks.js:595 +#: js/blocks/HeapBlocks.js:544 +msgid "value1" +msgstr "数值1" + +#: js/blocks/BoxesBlocks.js:118 +msgid "Block does not support incrementing." +msgstr "该块不支持递增操作。" + +#: js/blocks/BoxesBlocks.js:152 +msgid "The Add-1-to block adds one to the value stored in a box." +msgstr "Add-1-to 块将盒子中存储的值加一。" + +#: js/blocks/BoxesBlocks.js:163 +msgid "add 1 to" +msgstr "加 1 到" + +#: js/blocks/BoxesBlocks.js:211 +msgid "The Subtract-1-from block subtracts one from the value stored in a box." +msgstr "Subtract-1-from 块从盒子中存储的值中减去一。" + +#: js/blocks/BoxesBlocks.js:222 +msgid "subtract 1 from" +msgstr "从中减去 1" + +#: js/blocks/BoxesBlocks.js:270 +#: js/blocks/BoxesBlocks.js:387 +msgid "The Box block returns the value stored in a box." +msgstr "Box 块返回盒子中存储的值。" + +#: js/blocks/BoxesBlocks.js:500 +#: js/blocks/BoxesBlocks.js:576 +msgid "The Store in block will store a value in a box." +msgstr "Store in 块用于将值存储到盒子中。" + +#: js/blocks/BoxesBlocks.js:595 +#: js/blocks/EnsembleBlocks.js:393 +#: js/blocks/EnsembleBlocks.js:404 +msgid "name1" +msgstr "名称1" + +#: js/blocks/BoxesBlocks.js:652 +msgid "The Box2 block returns the value stored in Box2." +msgstr "Box2 块返回存储在 Box2 中的值。" + +#: js/blocks/BoxesBlocks.js:703 +msgid "The Store in Box2 block is used to store a value in Box2." +msgstr "Store in Box2 块用于将值存储到 Box2 中。" + +#: js/blocks/BoxesBlocks.js:715 +msgid "store in box2" +msgstr "存储到 box2" + +#: js/blocks/BoxesBlocks.js:761 +msgid "The Box1 block returns the value stored in Box1." +msgstr "Box1 块返回存储在 Box1 中的值。" + +#: js/blocks/BoxesBlocks.js:812 +msgid "The Store in Box1 block is used to store a value in Box1." +msgstr "Store in Box1 块用于将值存储到 Box1 中。" + +#: js/blocks/BoxesBlocks.js:826 +msgid "store in box1" +msgstr "存储到 box1" + +#: js/blocks/DictBlocks.js:77 +msgid "show dictionary" +msgstr "显示字典" + +#: js/blocks/DictBlocks.js:80 +#: js/blocks/DictBlocks.js:145 +#: js/blocks/DictBlocks.js:216 +#: js/blocks/DictBlocks.js:290 +#: js/blocks/ProgramBlocks.js:396 +#: js/blocks/ProgramBlocks.js:501 +#: js/blocks/ProgramBlocks.js:664 +msgid "My Dictionary" +msgstr "我的字典" + +#: js/blocks/DictBlocks.js:129 +msgid "The Dictionary block returns a dictionary." +msgstr "Dictionary 块返回一个字典。" + +#: js/blocks/DictBlocks.js:197 +#: js/blocks/DictBlocks.js:339 +msgid "The Get-dict block returns a value in the dictionary for a specified key." +msgstr "Get-dict 块返回字典中指定键的值。" + +#: js/blocks/DictBlocks.js:212 +#: js/blocks/DictBlocks.js:354 +#. TRANS: retrieve a value from the dictionary with a given key +msgid "get value" +msgstr "获取值" + +#: js/blocks/DictBlocks.js:215 +#: js/blocks/DictBlocks.js:216 +#: js/blocks/DictBlocks.js:289 +#: js/blocks/DictBlocks.js:290 +#: js/blocks/DictBlocks.js:357 +#: js/blocks/DictBlocks.js:430 +#: js/blocks/DictBlocks.js:431 +msgid "key2" +msgstr "键2" + +#: js/blocks/DictBlocks.js:215 +#: js/blocks/DictBlocks.js:216 +#: js/blocks/DictBlocks.js:289 +#: js/blocks/DictBlocks.js:290 +#: js/blocks/DictBlocks.js:357 +#: js/blocks/DictBlocks.js:430 +#: js/blocks/DictBlocks.js:431 +#: js/blocks/IntervalsBlocks.js:1462 +#. TRANS: key, e.g., C in C Major +msgid "key" +msgstr "调" + +#: js/blocks/DictBlocks.js:271 +#: js/blocks/DictBlocks.js:411 +msgid "The Set-dict block sets a value in the dictionary for a specified key." +msgstr "Set-dict 块为字典中指定的键设置值。" + +#: js/blocks/DictBlocks.js:286 +#: js/blocks/DictBlocks.js:427 +#. TRANS: set a value in the dictionary for a given key +msgid "set value" +msgstr "设置值" + +#: js/blocks/DrumBlocks.js:59 +msgid "The Noise name block is used to select a noise synthesizer." +msgstr "Noise name 块用于选择噪声合成器。" + +#: js/blocks/DrumBlocks.js:102 +msgid "The Drum name block is used to select a drum." +msgstr "Drum name 块用于选择一个鼓。" + +#: js/blocks/DrumBlocks.js:146 +msgid "The Effects name block is used to select a sound effect." +msgstr "Effects name 块用于选择音效。" + +#: js/blocks/DrumBlocks.js:163 +msgid "noise" +msgstr "噪音" + +#: js/blocks/DrumBlocks.js:177 +msgid "The Play noise block will generate white, pink, or brown noise." +msgstr "Play noise 块将生成白噪声、粉噪声或棕噪声。" + +#: js/blocks/DrumBlocks.js:317 +msgid "Replace every instance of a pitch with a drum sound." +msgstr "将每个音高替换为鼓声。" + +#: js/blocks/DrumBlocks.js:328 +#. TRANS: map a pitch to a drum sound +msgid "map pitch to drum" +msgstr "映射音高到鼓声" + +#: js/blocks/DrumBlocks.js:395 +msgid "In the example above, a kick drum sound will be played instead of sol." +msgstr "上述示例中,将播放踢鼓声代替 sol。" + +#: js/blocks/DrumBlocks.js:407 +#. TRANS: set the current drum sound for playback +msgid "set drum" +msgstr "设置鼓声" + +#: js/blocks/DrumBlocks.js:451 +msgid "sound effect" +msgstr "音效" + +#: js/blocks/DrumBlocks.js:489 +msgid "You can use multiple Drum blocks within a Note block." +msgstr "您可以在 Note 块内使用多个 Drum 块。" + +#: js/blocks/HeapBlocks.js:49 +msgid "The Heap block returns the heap." +msgstr "Heap 块返回堆。" + +#: js/blocks/HeapBlocks.js:133 +msgid "show heap" +msgstr "顯示堆疊" + +#: js/blocks/HeapBlocks.js:181 +msgid "The Heap-length block returns the length of the heap." +msgstr "Heap-length 块返回堆的长度。" + +#: js/blocks/HeapBlocks.js:195 +msgid "heap length" +msgstr "堆长度" + +#: js/blocks/HeapBlocks.js:254 +msgid "The Heap-empty? block returns true if the heap is empty." +msgstr "Heap-empty? 块在堆为空时返回真。" + +#: js/blocks/HeapBlocks.js:268 +#. TRANS: Is the heap empty? +msgid "heap empty?" +msgstr "堆是否为空?" + +#: js/blocks/HeapBlocks.js:317 +msgid "The Empty-heap block empties the heap." +msgstr "Empty-heap 块清空堆。" + +#: js/blocks/HeapBlocks.js:327 +#: js/blocks/HeapBlocks.js:647 +#. TRANS: empty the heap +msgid "empty heap" +msgstr "清除堆疊" + +#: js/blocks/HeapBlocks.js:371 +msgid "The Reverse-heap block reverses the order of the heap." +msgstr "Reverse-heap 块将堆的顺序反转。" + +#: js/blocks/HeapBlocks.js:384 +#. TRANS: reverse the order of the heap +msgid "reverse heap" +msgstr "反转堆" + +#: js/blocks/HeapBlocks.js:428 +msgid "The Index-heap block returns a value in the heap at a specified location." +msgstr "Index-heap 块返回堆中指定位置的值。" + +#: js/blocks/HeapBlocks.js:443 +#. TRANS: retrieve a value from the heap at index position in the heap +msgid "index heap" +msgstr "堆索引" + +#: js/blocks/HeapBlocks.js:474 +#: js/blocks/HeapBlocks.js:572 +#: js/blocks/EnsembleBlocks.js:124 +#: js/blocks/EnsembleBlocks.js:1200 +msgid "Index must be > 0." +msgstr "索引必须大于0。" + +#: js/blocks/HeapBlocks.js:479 +#: js/blocks/HeapBlocks.js:577 +#: js/blocks/EnsembleBlocks.js:129 +msgid "Maximum heap size is 1000." +msgstr "堆的最大大小为1000。" + +#: js/blocks/HeapBlocks.js:523 +msgid "The Set-heap entry block sets a value in he heap at the specified location." +msgstr "Set-heap entry 块在指定位置设置堆中的值。" + +#: js/blocks/HeapBlocks.js:539 +#: js/blocks/ProgramBlocks.js:299 +#. TRANS: load the heap from a JSON encoding +msgid "set heap" +msgstr "设置堆" + +#: js/blocks/HeapBlocks.js:544 +#: js/blocks/EnsembleBlocks.js:96 +#. TRANS: value1 is a numeric value (JAPANESE ONLY) +msgid "index" +msgstr "索引" + +#: js/blocks/HeapBlocks.js:619 +msgid "The Pop block removes the value at the top of the heap." +msgstr "Pop 块移除堆顶的值。" + +#: js/blocks/HeapBlocks.js:633 +#. TRANS: pop a value off the top of the heap +msgid "pop" +msgstr "取出堆疊" + +#: js/blocks/HeapBlocks.js:680 +msgid "The Push block adds a value to the top of the heap." +msgstr "Push 块将一个值添加到堆顶。" + +#: js/blocks/HeapBlocks.js:696 +#. TRANS: push a value onto the top of the heap +msgid "push" +msgstr "存入堆疊" + +#: js/blocks/IntervalsBlocks.js:45 +msgid "set temperament" +msgstr "设置音律" + +#: js/blocks/IntervalsBlocks.js:63 +#: js/blocks/PitchBlocks.js:657 +#: js/blocks/PitchBlocks.js:935 +#: js/blocks/PitchBlocks.js:974 +#: js/blocks/PitchBlocks.js:1007 +#: js/blocks/PitchBlocks.js:1194 +#: js/blocks/PitchBlocks.js:1717 +#: js/blocks/PitchBlocks.js:1758 +#: js/blocks/PitchBlocks.js:1866 +#: js/blocks/ToneBlocks.js:1025 +#: js/blocks/MediaBlocks.js:746 +#: js/turtleactions/IntervalsActions.js:114 +#. TRANS: adjusts the shift up or down by one octave (twelve half-steps in the interval between two notes, one having twice or half the frequency in Hz of the other.) +msgid "octave" +msgstr "八度" + +#: js/blocks/IntervalsBlocks.js:99 +msgid "The Temperament name block is used to select a tuning method." +msgstr "Temperament name 块用于选择调音方法。" + +#: js/blocks/IntervalsBlocks.js:161 +msgid "doubly" +msgstr "双倍" + +#: js/blocks/IntervalsBlocks.js:166 +msgid "The Doubly block will double the size of an interval." +msgstr "Doubly 块会将音程加倍。" + +#: js/blocks/IntervalsBlocks.js:262 +msgid "interval number" +msgstr "音程编号" + +#: js/blocks/IntervalsBlocks.js:317 +msgid "current interval" +msgstr "当前音程" + +#: js/blocks/IntervalsBlocks.js:387 +#. TRANS: measure the distance between two pitches in semi-tones +msgid "semi-tone interval measure" +msgstr "半音程测量" + +#: js/blocks/IntervalsBlocks.js:454 +#: js/blocks/IntervalsBlocks.js:570 +msgid "You must use two pitch blocks when measuring an interval." +msgstr "测量音程时必须使用两个音高块。" + +#: js/blocks/IntervalsBlocks.js:496 +msgid "The Scalar interval block measures the distance between two notes in the current key and mode." +msgstr "Scalar interval 块测量当前调式中两个音符之间的距离。" + +#: js/blocks/IntervalsBlocks.js:502 +#. TRANS: measure the distance between two pitches in steps of musical scale +msgid "scalar interval measure" +msgstr "标量音程测量" + +#: js/blocks/IntervalsBlocks.js:678 +msgid "In the figure, we add sol# to sol." +msgstr "图中,我们将升sol加到sol上。" + +#: js/blocks/IntervalsBlocks.js:684 +#: js/blocks/OrnamentBlocks.js:220 +#. TRANS: calculate a relative step between notes based on semi-tones +msgid "semi-tone interval" +msgstr "半音程" + +#: js/blocks/IntervalsBlocks.js:733 +msgid "The output of the example is: do, mi, sol, sol, ti, mi" +msgstr "示例输出为:do, mi, sol, sol, ti, mi" + +#: js/blocks/IntervalsBlocks.js:740 +#: js/blocks/WidgetBlocks.js:768 +msgid "arpeggio" +msgstr "琶音" + +#: js/blocks/IntervalsBlocks.js:931 +msgid "The Chord block calculates common chords." +msgstr "Chord 块计算常见和弦。" + +#: js/blocks/IntervalsBlocks.js:933 +msgid "In the figure, we generate a C-major chord." +msgstr "图中,我们生成一个C大调和弦。" + +#: js/blocks/IntervalsBlocks.js:938 +msgid "chord" +msgstr "和弦" + +#: js/blocks/IntervalsBlocks.js:990 +msgid "The Ratio Interval block calculates an interval based on a ratio." +msgstr "Ratio Interval 块根据比例计算音程。" + +#: js/blocks/IntervalsBlocks.js:995 +msgid "ratio interval" +msgstr "比例音程" + +#: js/blocks/IntervalsBlocks.js:1064 +msgid "In the figure, we add la to sol." +msgstr "图中,我们将la加到sol上。" + +#: js/blocks/IntervalsBlocks.js:1120 +#. TRANS: define a custom mode +msgid "define mode" +msgstr "定义调式" + +#: js/blocks/IntervalsBlocks.js:1173 +msgid "movable Do" +msgstr "可移调的Do" + +#: js/blocks/IntervalsBlocks.js:1224 +#. TRANS: mode length is the number of notes in the mode, e.g., 7 for major and minor scales; 12 for chromatic scales +msgid "mode length" +msgstr "调式长度" + +#: js/blocks/IntervalsBlocks.js:1233 +msgid "The Mode length block is the number of notes in the current scale." +msgstr "Mode length 块表示当前音阶中的音符数量。" + +#: js/blocks/IntervalsBlocks.js:1235 +msgid "Most Western scales have 7 notes." +msgstr "大多数西方音阶有7个音符。" + +#: js/blocks/IntervalsBlocks.js:1284 +#. TRANS: the mode in music is 'major', 'minor', etc. +msgid "current mode" +msgstr "当前调式" + +#: js/blocks/IntervalsBlocks.js:1337 +#. TRANS: the key is a group of pitches with which a music composition is created +msgid "current key" +msgstr "当前调" + +#: js/blocks/IntervalsBlocks.js:1389 +#: js/blocks/IntervalsBlocks.js:1434 +#. TRANS: set the key and mode, e.g. C Major +msgid "set key" +msgstr "设置调" + +#: js/blocks/IntervalsBlocks.js:1443 +#: js/blocks/IntervalsBlocks.js:1449 +msgid "The Set key block is used to set the key and mode," +msgstr "Set key 块用于设置调和调式," + +#: js/blocks/IntervalsBlocks.js:1449 +msgid "eg C Major" +msgstr "例如 C 大调" + +#: js/blocks/NumberBlocks.js:28 +msgid "The Int block returns an integer." +msgstr "Int 块返回一个整数。" + +#: js/blocks/NumberBlocks.js:34 +msgid "int" +msgstr "整数" + +#: js/blocks/NumberBlocks.js:73 +msgid "The Mod block returns the remainder from a division." +msgstr "Mod 块返回除法的余数。" + +#: js/blocks/NumberBlocks.js:79 +msgid "mod" +msgstr "模數" + +#: js/blocks/NumberBlocks.js:141 +msgid "The Power block calculates a power function." +msgstr "Power 块计算幂函数。" + +#: js/blocks/NumberBlocks.js:196 +msgid "The Sqrt block returns the square root." +msgstr "Sqrt 块返回平方根。" + +#: js/blocks/NumberBlocks.js:202 +msgid "sqrt" +msgstr "平方根" + +#: js/blocks/NumberBlocks.js:248 +msgid "The Abs block returns the absolute value." +msgstr "Abs 块返回绝对值。" + +#: js/blocks/NumberBlocks.js:254 +msgid "abs" +msgstr "绝对值" + +#: js/blocks/NumberBlocks.js:295 +msgid "The Distance block returns the distance between two points. For example, between the mouse and the center of the screen." +msgstr "Distance 块返回两点之间的距离。例如,鼠标与屏幕中心之间的距离。" + +#: js/blocks/NumberBlocks.js:301 +#: plugins/rodi.rtp:310 +msgid "distance" +msgstr "距离" + +#: js/blocks/NumberBlocks.js:361 +msgid "The Divide block is used to divide." +msgstr "Divide 块用于除法运算。" + +#: js/blocks/NumberBlocks.js:441 +msgid "The Multiply block is used to multiply." +msgstr "Multiply 块用于乘法运算。" + +#: js/blocks/NumberBlocks.js:612 +msgid "The Minus block is used to subtract." +msgstr "Minus 块用于减法运算。" + +#: js/blocks/NumberBlocks.js:723 +msgid "The Plus block is used to add." +msgstr "Plus 块用于加法运算。" + +#: js/blocks/NumberBlocks.js:849 +msgid "The One-of block returns one of two choices." +msgstr "One-of 块返回两个选项中的一个。" + +#: js/blocks/NumberBlocks.js:856 +#: js/blocks/PitchBlocks.js:616 +msgid "one of" +msgstr "其中之一" + +#: js/blocks/NumberBlocks.js:858 +msgid "this" +msgstr "此" + +#: js/blocks/NumberBlocks.js:858 +msgid "that" +msgstr "彼" + +#: js/blocks/NumberBlocks.js:913 +msgid "The Random block returns a random number." +msgstr "Random 块返回一个随机数。" + +#: js/blocks/NumberBlocks.js:920 +msgid "random" +msgstr "亂數" + +#: js/blocks/NumberBlocks.js:922 +msgid "min" +msgstr "最小" + +#: js/blocks/NumberBlocks.js:922 +msgid "max" +msgstr "最大" + +#: js/blocks/NumberBlocks.js:986 +msgid "The Number block holds a number." +msgstr "Number 块保存一个数字。" + +#: js/blocks/OrnamentBlocks.js:32 +msgid "staccato factor" +msgstr "断音因子" + +#: js/blocks/OrnamentBlocks.js:108 +msgid "slur factor" +msgstr "连音因子" + +#: js/blocks/OrnamentBlocks.js:217 +#: js/blocks/OrnamentBlocks.js:309 +#. TRANS: the neighbor refers to a neighboring note, e.g., D is a neighbor of C +msgid "neighbor" +msgstr "邻近音" + +#: js/blocks/OrnamentBlocks.js:293 +msgid "The Neighbor block rapidly switches between neighboring pitches." +msgstr "Neighbor 块快速切换相邻音高。" + +#: js/blocks/OrnamentBlocks.js:364 +msgid "glide" +msgstr "滑音" + +#: js/blocks/OrnamentBlocks.js:479 +#: js/blocks/OrnamentBlocks.js:643 +msgid "slur" +msgstr "连音线" + +#: js/blocks/OrnamentBlocks.js:558 +#: js/blocks/OrnamentBlocks.js:710 +#. TRANS: play each note sharply detached from the others +msgid "staccato" +msgstr "断音" + +#: js/blocks/ProgramBlocks.js:33 +msgid "The Load-heap-from-app block loads the heap from a web page." +msgstr "Load-heap-from-app 块从网页加载堆。" + +#: js/blocks/ProgramBlocks.js:44 +#. TRANS: load the heap contents from a URL +msgid "load heap from App" +msgstr "从应用加载堆" + +#: js/blocks/ProgramBlocks.js:95 +msgid "Error parsing JSON data:" +msgstr "解析JSON数据时出错" + +#: js/blocks/ProgramBlocks.js:100 +msgid "404: Page not found" +msgstr "找不到网页" + +#: js/blocks/ProgramBlocks.js:133 +msgid "The Save-heap-to-app block saves the heap to a web page." +msgstr "Save-heap-to-app 块将堆保存到网页。" + +#: js/blocks/ProgramBlocks.js:144 +#. TRANS: save the heap contents to a URL +msgid "save heap to App" +msgstr "保存堆到应用" + +#: js/blocks/ProgramBlocks.js:189 +msgid "Cannot find a valid heap for" +msgstr "找不到有效的堆用于" + +#: js/blocks/ProgramBlocks.js:206 +msgid "The Load-heap block loads the heap from a file." +msgstr "Load-heap 块从文件加载堆。" + +#: js/blocks/ProgramBlocks.js:217 +#. TRANS: load the heap from a file +msgid "load heap" +msgstr "加载堆" + +#: js/blocks/ProgramBlocks.js:270 +msgid "The file you selected does not contain a valid heap." +msgstr "您选择的文件不包含有效的堆。" + +#: js/blocks/ProgramBlocks.js:275 +msgid "The loadHeap block needs a loadFile block." +msgstr "loadHeap 块需要一个 loadFile 块。" + +#: js/blocks/ProgramBlocks.js:291 +msgid "The Set-heap block loads the heap." +msgstr "Set-heap 块加载堆。" + +#: js/blocks/ProgramBlocks.js:340 +msgid "The block you selected does not contain a valid heap." +msgstr "您选择的块不包含有效的堆。" + +#: js/blocks/ProgramBlocks.js:343 +msgid "The Set heap block needs a heap." +msgstr "Set heap 块需要一个堆。" + +#: js/blocks/ProgramBlocks.js:360 +msgid "The Load-dictionary block loads a dictionary from a file." +msgstr "Load-dictionary 块从文件加载字典。" + +#: js/blocks/ProgramBlocks.js:372 +#. TRANS: load a dictionary from a file +msgid "load dictionary" +msgstr "加载字典" + +#: js/blocks/ProgramBlocks.js:390 +#: js/blocks/ProgramBlocks.js:658 +#: js/blocks/ToneBlocks.js:1025 +msgid "file" +msgstr "文件" + +#: js/blocks/ProgramBlocks.js:444 +msgid "The file you selected does not contain a valid dictionary." +msgstr "您选择的文件不包含有效的字典。" + +#: js/blocks/ProgramBlocks.js:449 +msgid "The load dictionary block needs a load file block." +msgstr "load dictionary 块需要一个 load file 块。" + +#: js/blocks/ProgramBlocks.js:466 +msgid "The Set-dictionary block loads a dictionary." +msgstr "Set-dictionary 块加载字典。" + +#: js/blocks/ProgramBlocks.js:477 +#. TRANS: load a dictionary from a JSON +msgid "set dictionary" +msgstr "设置字典" + +#: js/blocks/ProgramBlocks.js:546 +msgid "The block you selected does not contain a valid dictionary." +msgstr "您选择的块不包含有效的字典。" + +#: js/blocks/ProgramBlocks.js:550 +msgid "The set dictionary block needs a dictionary." +msgstr "set dictionary 块需要一个字典。" + +#: js/blocks/ProgramBlocks.js:567 +msgid "The Save-heap block saves the heap to a file." +msgstr "Save-heap 块将堆保存到文件。" + +#: js/blocks/ProgramBlocks.js:578 +#. TRANS: save the heap to a file +msgid "save heap" +msgstr "保存堆" + +#: js/blocks/ProgramBlocks.js:629 +msgid "The Save-dictionary block saves a dictionary to a file." +msgstr "Save-dictionary 块将字典保存到文件。" + +#: js/blocks/ProgramBlocks.js:640 +#. TRANS: save a dictionary to a file +msgid "save dictionary" +msgstr "保存字典" + +#: js/blocks/ProgramBlocks.js:720 +msgid "The Open palette block opens a palette." +msgstr "Open palette 块打开调色板。" + +#: js/blocks/ProgramBlocks.js:727 +msgid "open palette" +msgstr "打开调色板" + +#: js/blocks/ProgramBlocks.js:785 +msgid "The Delete block block removes a block." +msgstr "Delete block 块删除一个块。" + +#: js/blocks/ProgramBlocks.js:797 +#. TRANS: Move this block to the trash. +msgid "delete block" +msgstr "删除块" + +#: js/blocks/ProgramBlocks.js:861 +msgid "The Move block block moves a block." +msgstr "Move block 块用于移动一个块。" + +#: js/blocks/ProgramBlocks.js:869 +#. TRANS: Move the position of a block on the screen. +msgid "move block" +msgstr "移动块" + +#: js/blocks/ProgramBlocks.js:881 +#: js/blocks/ProgramBlocks.js:1048 +msgid "block number" +msgstr "块编号" + +#: js/blocks/ProgramBlocks.js:881 +#: js/blocks/EnsembleBlocks.js:393 +#: js/blocks/EnsembleBlocks.js:404 +#: js/blocks/GraphicsBlocks.js:235 +#: js/blocks/GraphicsBlocks.js:313 +#: js/blocks/GraphicsBlocks.js:427 +#: js/blocks/GraphicsBlocks.js:478 +#: js/blocks/GraphicsBlocks.js:525 +#: js/blocks/GraphicsBlocks.js:741 +msgid "x" +msgstr "X座標" + +#: js/blocks/ProgramBlocks.js:881 +#: js/blocks/EnsembleBlocks.js:393 +#: js/blocks/EnsembleBlocks.js:404 +#: js/blocks/GraphicsBlocks.js:149 +#: js/blocks/GraphicsBlocks.js:313 +#: js/blocks/GraphicsBlocks.js:427 +#: js/blocks/GraphicsBlocks.js:478 +#: js/blocks/GraphicsBlocks.js:525 +#: js/blocks/GraphicsBlocks.js:741 +msgid "y" +msgstr "Y座標" + +#: js/blocks/ProgramBlocks.js:935 +#. TRANS: Run program beginning at this block. +msgid "run block" +msgstr "运行块" + +#: js/blocks/ProgramBlocks.js:1025 +msgid "The Dock block block connections two blocks." +msgstr "Dock block 块连接两个块。" + +#: js/blocks/ProgramBlocks.js:1036 +#. TRANS: We can connect a block to another block. +msgid "connect blocks" +msgstr "连接块" + +#: js/blocks/ProgramBlocks.js:1048 +msgid "target block" +msgstr "目标块" + +#: js/blocks/ProgramBlocks.js:1048 +msgid "connection number" +msgstr "连接编号" + +#: js/blocks/ProgramBlocks.js:1140 +msgid "The Make block block creates a new block." +msgstr "Make block 块用于创建一个新块。" + +#: js/blocks/ProgramBlocks.js:1152 +#. TRANS: Create a new block +msgid "make block" +msgstr "创建块" + +#: js/blocks/ProgramBlocks.js:1186 +#: js/blocks/ProgramBlocks.js:1227 +#: js/blocks/RhythmBlocks.js:1128 +#: js/blocks/PitchBlocks.js:974 +#: js/blocks/PitchBlocks.js:1007 +#: js/widgets/status.js:186 +#: js/widgets/temperament.js:463 +#: js/widgets/temperament.js:481 +#: js/widgets/temperament.js:484 +#: js/widgets/temperament.js:589 +#: plugins/rodi.rtp:192 +#. TRANS: a musical note consisting of pitch and duration +msgid "note" +msgstr "音符" + +#: js/blocks/ProgramBlocks.js:1285 +msgid "Cannot find block" +msgstr "找不到块" + +#: js/blocks/ProgramBlocks.js:1304 +#: js/blocks/ProgramBlocks.js:1313 +msgid "Warning: block argument type mismatch" +msgstr "警告:块参数类型不匹配" + +#: js/blocks/ProgramBlocks.js:1347 +msgid "The Open project block is used to open a project from a web page." +msgstr "Open project 块用于从网页打开项目。" + +#: js/blocks/ProgramBlocks.js:1357 +msgid "open project" +msgstr "打开项目" + +#: js/blocks/ProgramBlocks.js:1410 +msgid "Please enter a valid URL." +msgstr "请输入有效的URL。" + +#: js/blocks/RhythmBlocks.js:182 +#: js/blocks/RhythmBlocks.js:1086 +#: js/blocks/RhythmBlocks.js:1162 +msgid "Note value must be greater than 0." +msgstr "音符值必须大于0。" + +#: js/blocks/RhythmBlocks.js:215 +#: js/blocks/RhythmBlocks.js:278 +#: js/blocks/RhythmBlocks.js:350 +#. TRANS: swing is a rhythmic variation that emphasises the offbeat +msgid "swing" +msgstr "摇摆" + +#: js/blocks/RhythmBlocks.js:355 +#. TRANS: the amount to shift to the offbeat note +msgid "swing value" +msgstr "摆动值" + +#: js/blocks/RhythmBlocks.js:419 +msgid "The Skip notes block will cause notes to be skipped." +msgstr "Skip notes 块会导致音符被跳过。" + +#: js/blocks/RhythmBlocks.js:427 +#. TRANS: substitute rests on notes being skipped +msgid "skip notes" +msgstr "跳过音符" + +#: js/blocks/RhythmBlocks.js:489 +#. TRANS: speed up note duration by some factor, e.g. convert 1/4 to 1/8 notes by using a factor of 2 +msgid "multiply note value" +msgstr "倍乘音符值" + +#: js/blocks/RhythmBlocks.js:542 +msgid "The Tie block works on pairs of notes, combining them into one note." +msgstr "Tie 块作用于成对的音符,将它们合并为一个音符。" + +#: js/blocks/RhythmBlocks.js:550 +#. TRANS: tie notes together into one longer note +msgid "tie" +msgstr "连音" + +#: js/blocks/RhythmBlocks.js:591 +#: js/blocks/RhythmBlocks.js:671 +#. TRANS: a dotted note is played for 1.5x its value, e.g., 1/8. --> 3/16 +msgid "dot" +msgstr "附点" + +#: js/blocks/RhythmBlocks.js:619 +#: js/turtleactions/RhythmActions.js:221 +msgid "An argument of -1 results in a note value of 0." +msgstr "参数为 -1 会导致音符值为 0。" + +#: js/blocks/RhythmBlocks.js:661 +msgid "The Dot block extends the duration of a note by 50%." +msgstr "Dot 块将音符时值延长50%。" + +#: js/blocks/RhythmBlocks.js:663 +msgid "Eg a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat." +msgstr "例如,附点四分音符的时值为3/8拍(1/4 + 1/8)。" + +#: js/blocks/RhythmBlocks.js:765 +#. TRANS: Japanese only: note value block for drum +msgid "note value drum" +msgstr "音符值鼓" + +#: js/blocks/RhythmBlocks.js:829 +msgid "392 hertz" +msgstr "392 赫兹" + +#: js/blocks/RhythmBlocks.js:1119 +msgid "The Note block is a container for one or more Pitch blocks." +msgstr "Note 块是一个或多个 Pitch 块的容器。" + +#: js/blocks/RhythmBlocks.js:1121 +msgid "The Note block specifies the duration (note value) of its contents." +msgstr "Note 块指定其内容的时值(音符值)。" + +#: js/blocks/RhythmBlocks.js:1130 +msgid "value2" +msgstr "值2" + +#: js/blocks/RhythmBlocks.js:1200 +msgid "define frequency" +msgstr "定义频率" + +#: js/blocks/RhythmBlocks.js:1218 +#: js/widgets/temperament.js:757 +#: js/widgets/temperament.js:1522 +msgid "octave space" +msgstr "八度空间" + +#: js/blocks/RhythmBlockPaletteBlocks.js:50 +#: js/blocks/RhythmBlockPaletteBlocks.js:233 +#. TRANS: rhythm block +#. TRANS: translate "rhythm1" as rhythm +msgid "rhythm1" +msgstr "节奏1" + +#: js/blocks/RhythmBlockPaletteBlocks.js:70 +#: js/blocks/RhythmBlockPaletteBlocks.js:252 +#: js/blocks/RhythmBlockPaletteBlocks.js:517 +#: js/blocks/RhythmBlockPaletteBlocks.js:586 +#: js/blocks/RhythmBlockPaletteBlocks.js:907 +msgid "number of notes" +msgstr "音符数量" + +#: js/blocks/RhythmBlockPaletteBlocks.js:126 +msgid "polyphonic rhythm" +msgstr "复音节奏" + +#: js/blocks/RhythmBlockPaletteBlocks.js:219 +msgid "The Rhythm block is used to generate rhythm patterns." +msgstr "Rhythm 块用于生成节奏模式。" + +#: js/blocks/RhythmBlockPaletteBlocks.js:281 +#: js/blocks/RhythmBlockPaletteBlocks.js:286 +msgid "1/64 note" +msgstr "六十四分音符" + +#: js/blocks/RhythmBlockPaletteBlocks.js:312 +#: js/blocks/RhythmBlockPaletteBlocks.js:317 +msgid "1/32 note" +msgstr "三十二分音符" + +#: js/blocks/RhythmBlockPaletteBlocks.js:346 +#: js/blocks/RhythmBlockPaletteBlocks.js:351 +msgid "1/16 note" +msgstr "十六分音符" + +#: js/blocks/RhythmBlockPaletteBlocks.js:380 +msgid "eighth note" +msgstr "八分音符" + +#: js/blocks/RhythmBlockPaletteBlocks.js:408 +msgid "quarter note" +msgstr "四分音符" + +#: js/blocks/RhythmBlockPaletteBlocks.js:436 +#: js/blocks/RhythmBlockPaletteBlocks.js:441 +msgid "half note" +msgstr "二分音符" + +#: js/blocks/RhythmBlockPaletteBlocks.js:470 +#: js/blocks/RhythmBlockPaletteBlocks.js:475 +msgid "whole note" +msgstr "全音符" + +#: js/blocks/RhythmBlockPaletteBlocks.js:514 +#: js/blocks/RhythmBlockPaletteBlocks.js:583 +#: js/blocks/RhythmBlockPaletteBlocks.js:634 +#. TRANS: A tuplet is a note value divided into irregular time values. +msgid "tuplet" +msgstr "复音符组" + +#: js/blocks/RhythmBlockPaletteBlocks.js:800 +msgid "septuplet" +msgstr "七连音" + +#: js/blocks/RhythmBlockPaletteBlocks.js:828 +msgid "quintuplet" +msgstr "五连音" + +#: js/blocks/RhythmBlockPaletteBlocks.js:856 +msgid "triplet" +msgstr "三连音" + +#: js/blocks/RhythmBlockPaletteBlocks.js:883 +msgid "simple tuplet" +msgstr "简单复拍" + +#: js/blocks/RhythmBlockPaletteBlocks.js:893 +msgid "Tuplets are a collection of notes that get scaled to a specific duration." +msgstr "复拍是一组被缩放到特定时值的音符。" + +#: js/blocks/FlowBlocks.js:41 +msgid "The Backward block runs code in reverse order (Musical retrograde)." +msgstr "Backward 块按相反顺序运行代码(音乐倒行)。" + +#: js/blocks/FlowBlocks.js:48 +msgid "backward" +msgstr "后退" + +#: js/blocks/FlowBlocks.js:124 +msgid "The Duplicate block will run each block multiple times." +msgstr "Duplicate 块将多次运行每个块。" + +#: js/blocks/FlowBlocks.js:334 +msgid "The Default block is used inside of a Switch to define the default action." +msgstr "Default 块用于 Switch 内定义默认操作。" + +#: js/blocks/FlowBlocks.js:342 +msgid "default" +msgstr "默认" + +#: js/blocks/FlowBlocks.js:361 +#: js/blocks/FlowBlocks.js:418 +msgid "The Case Block must be used inside of a Switch Block." +msgstr "Case 块必须在 Switch 块内使用。" + +#: js/blocks/FlowBlocks.js:389 +msgid "The Case block is used inside of a Switch to define matches." +msgstr "Case 块用于 Switch 内定义匹配项。" + +#: js/blocks/FlowBlocks.js:397 +msgid "case" +msgstr "情况" + +#: js/blocks/FlowBlocks.js:446 +msgid "The Switch block will run the code in the matching Case." +msgstr "Switch 块将运行匹配 Case 中的代码。" + +#: js/blocks/FlowBlocks.js:454 +msgid "switch" +msgstr "切换" + +#: js/blocks/FlowBlocks.js:595 +msgid "The Stop block will stop a loop" +msgstr "Stop 块将停止循环" + +#: js/blocks/FlowBlocks.js:597 +msgid "Forever, Repeat, While, or Until." +msgstr "Forever、Repeat、While 或 Until。" + +#: js/blocks/FlowBlocks.js:653 +msgid "The Waitfor block will wait until the condition is true." +msgstr "Waitfor 块将等待直到条件为真。" + +#: js/blocks/FlowBlocks.js:661 +msgid "wait for" +msgstr "等待" + +#: js/blocks/FlowBlocks.js:732 +msgid "The Until block will repeat until the condition is true." +msgstr "Until 块将重复直到条件为真。" + +#: js/blocks/FlowBlocks.js:740 +msgid "until" +msgstr "直到" + +#: js/blocks/FlowBlocks.js:742 +#: js/blocks/FlowBlocks.js:822 +msgid "do2" +msgstr "执行2" + +#: js/blocks/FlowBlocks.js:742 +#: js/blocks/FlowBlocks.js:822 +#: js/blocks/MeterBlocks.js:770 +#: js/blocks/ActionBlocks.js:390 +#: js/blocks/ActionBlocks.js:610 +#: js/blocks/ActionBlocks.js:959 +#: js/blocks/ActionBlocks.js:1048 +msgid "do" +msgstr "执行" + +#: js/blocks/FlowBlocks.js:812 +msgid "The While block will repeat while the condition is true." +msgstr "While 块在条件为真时重复执行。" + +#: js/blocks/FlowBlocks.js:820 +msgid "while" +msgstr "同時間" + +#: js/blocks/FlowBlocks.js:903 +#: js/blocks/FlowBlocks.js:968 +#: js/blocks/FlowBlocks.js:979 +msgid "In this example if the mouse button is pressed a snare drum will play." +msgstr "在此示例中,如果按下鼠标按钮,将播放军鼓。" + +#: js/blocks/FlowBlocks.js:925 +#: js/blocks/FlowBlocks.js:988 +msgid "if" +msgstr "若" + +#: js/blocks/FlowBlocks.js:927 +#: js/blocks/FlowBlocks.js:990 +msgid "then" +msgstr "則" + +#: js/blocks/FlowBlocks.js:927 +msgid "else" +msgstr "否則" + +#: js/blocks/FlowBlocks.js:1025 +msgid "The Forever block will repeat the contained blocks forever." +msgstr "Forever 块将无限重复包含的块。" + +#: js/blocks/FlowBlocks.js:1037 +msgid "forever" +msgstr "持續執行" + +#: js/blocks/FlowBlocks.js:1073 +msgid "The Repeat block will repeat the contained blocks." +msgstr "Repeat 块将重复包含的块。" + +#: js/blocks/FlowBlocks.js:1075 +msgid "In this example the note will be played 4 times." +msgstr "在此示例中,该音符将播放 4 次。" + +#: js/blocks/FlowBlocks.js:1083 +msgid "repeat" +msgstr "重複" + +#: js/blocks/FlowBlocks.js:1123 +msgid "duplicate factor" +msgstr "重复因子" + +#: js/blocks/MeterBlocks.js:34 +#. TRANS: musical meter (time signature), e.g., 4:4 +msgid "current meter" +msgstr "当前拍号" + +#: js/blocks/MeterBlocks.js:85 +#. TRANS: number of beats per minute +msgid "beat factor" +msgstr "节拍因子" + +#: js/blocks/MeterBlocks.js:161 +msgid "The Beats per minute block returns the current beats per minute." +msgstr "每分钟节拍数块返回当前的每分钟节拍数。" + +#: js/blocks/MeterBlocks.js:170 +#: js/widgets/status.js:148 +#. TRANS: number of beats played per minute +#. TRANS: in Japanese: "1分当たりの拍の数" +msgid "beats per minute2" +msgstr "每分钟节拍数2" + +#: js/blocks/MeterBlocks.js:170 +#: js/blocks/MeterBlocks.js:1057 +#: js/blocks/MeterBlocks.js:1134 +#: js/blocks/MeterBlocks.js:1212 +#. TRANS: sets tempo by defining a beat and beats per minute +msgid "beats per minute" +msgstr "每分钟节拍数" + +#: js/blocks/MeterBlocks.js:234 +#. TRANS: count of current musical measure in meter +msgid "measure count" +msgstr "小节数" + +#: js/blocks/MeterBlocks.js:242 +msgid "The Measure count block returns the current measure." +msgstr "小节数块返回当前小节。" + +#: js/blocks/MeterBlocks.js:291 +#. TRANS: count of current beat in the meter +msgid "beat count" +msgstr "节拍计数" + +#: js/blocks/MeterBlocks.js:301 +#: js/blocks/MeterBlocks.js:312 +#: js/blocks/MeterBlocks.js:566 +#: js/blocks/MeterBlocks.js:577 +msgid "The Beat count block is the number of the current beat," +msgstr "节拍计数块表示当前节拍数," + +#: js/blocks/MeterBlocks.js:314 +#: js/blocks/MeterBlocks.js:579 +msgid "eg 1, 2, 3, or 4." +msgstr "例如 1、2、3 或 4。" + +#: js/blocks/MeterBlocks.js:369 +#. TRANS: count the number of notes +msgid "sum note values" +msgstr "音符值总和" + +#: js/blocks/MeterBlocks.js:377 +#: js/blocks/MeterBlocks.js:441 +msgid "The Note counter block can be used to count the number of contained notes." +msgstr "音符计数器块可用于计算包含的音符数量。" + +#: js/blocks/MeterBlocks.js:433 +#. TRANS: count the number of notes +msgid "note counter" +msgstr "音符计数器" + +#: js/blocks/MeterBlocks.js:497 +#. TRANS: number of whole notes that have been played +msgid "whole notes played" +msgstr "演奏的全音符数" + +#: js/blocks/MeterBlocks.js:506 +msgid "The Whole notes played block returns the total number of whole notes played." +msgstr "全音符演奏块返回演奏的全音符总数。" + +#: js/blocks/MeterBlocks.js:556 +#: js/turtleactions/DictActions.js:83 +#. TRANS: number of notes that have been played +msgid "notes played" +msgstr "演奏的音符数" + +#: js/blocks/MeterBlocks.js:654 +msgid "The No clock block decouples the notes from the master clock." +msgstr "无时钟块将音符与主时钟解耦。" + +#: js/blocks/MeterBlocks.js:662 +#. TRANS: don't lock notes to master clock +msgid "no clock" +msgstr "无时钟" + +#: js/blocks/MeterBlocks.js:701 +msgid "on weak beat do" +msgstr "在弱拍执行" + +#: js/blocks/MeterBlocks.js:706 +msgid "The On-weak-beat block lets you specify actions to take on weak (off) beats." +msgstr "弱拍块允许您指定在弱拍(弱拍)上执行的操作。" + +#: js/blocks/MeterBlocks.js:751 +msgid "on strong beat" +msgstr "在强拍执行" + +#: js/blocks/MeterBlocks.js:759 +msgid "The On-strong-beat block lets you specify actions to take on specified beats." +msgstr "强拍块允许您指定在特定强拍上执行的操作。" + +#: js/blocks/MeterBlocks.js:770 +msgid "beat" +msgstr "节拍" + +#: js/blocks/MeterBlocks.js:770 +#: js/blocks/ActionBlocks.js:390 +#: js/blocks/ActionBlocks.js:610 +#: js/blocks/ActionBlocks.js:959 +#: js/blocks/ActionBlocks.js:1048 +msgid "do1" +msgstr "做1" + +#: js/blocks/MeterBlocks.js:814 +msgid "on every beat do" +msgstr "在每个拍子执行" + +#: js/blocks/MeterBlocks.js:822 +msgid "The On-every-beat block lets you specify actions to take on every beat." +msgstr "每拍块允许您指定在每个拍子上执行的操作。" + +#: js/blocks/MeterBlocks.js:875 +msgid "on every note do" +msgstr "在每个音符执行" + +#: js/blocks/MeterBlocks.js:883 +msgid "The On-every-note block lets you specify actions to take on every note." +msgstr "每音符块允许您指定在每个音符上执行的操作。" + +#: js/blocks/MeterBlocks.js:929 +#: js/blocks/MeterBlocks.js:1000 +#. TRANS: sets tempo by defining a beat and beats per minute +msgid "master beats per minute" +msgstr "主节拍每分钟数" + +#: js/blocks/MeterBlocks.js:953 +#: js/blocks/MeterBlocks.js:1079 +#: js/blocks/MeterBlocks.js:1136 +msgid "bpm" +msgstr "每分钟节拍数" + +#: js/blocks/MeterBlocks.js:953 +#: js/blocks/MeterBlocks.js:1079 +#: js/blocks/MeterBlocks.js:1136 +msgid "beat value" +msgstr "节拍值" + +#: js/blocks/MeterBlocks.js:1025 +#: js/blocks/MeterBlocks.js:1168 +#: js/blocks/MeterBlocks.js:1242 +msgid "Beats per minute must be > 30." +msgstr "每分钟节拍数必须大于30。" + +#: js/blocks/MeterBlocks.js:1028 +#: js/blocks/MeterBlocks.js:1171 +#: js/blocks/MeterBlocks.js:1245 +msgid "Maximum beats per minute is 1000." +msgstr "最大每分钟节拍数为1000。" + +#: js/blocks/MeterBlocks.js:1069 +msgid "The Beats per minute block sets the number of 1/4 notes per minute." +msgstr "节拍每分钟块设置每分钟四分音符的数量。" + +#: js/blocks/MeterBlocks.js:1280 +#. TRANS: anacrusis +msgid "pickup" +msgstr "前奏拍" + +#: js/blocks/MeterBlocks.js:1368 +msgid "number of beats" +msgstr "拍数" + +#: js/blocks/PitchBlocks.js:141 +#. TRANS: musical transposition (adjustment of pitch up or down) +msgid "transposition" +msgstr "移调" + +#: js/blocks/PitchBlocks.js:168 +#. TRANS: step down one note in current musical scale +msgid "scalar step down" +msgstr "音阶下行" + +#: js/blocks/PitchBlocks.js:172 +msgid "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode." +msgstr "音阶下行块返回当前调式中与前一个音符之间的半音数。" + +#: js/blocks/PitchBlocks.js:190 +#. TRANS: step up one note in current musical scale +msgid "scalar step up" +msgstr "音阶上行" + +#: js/blocks/PitchBlocks.js:194 +msgid "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode." +msgstr "音阶上行块返回当前调式中与下一个音符之间的半音数。" + +#: js/blocks/PitchBlocks.js:212 +#. TRANS: the change measured in half-steps between the current pitch and the previous pitch +msgid "change in pitch" +msgstr "音高变化" + +#: js/blocks/PitchBlocks.js:216 +msgid "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played." +msgstr "音高变化块表示当前播放音高与之前播放音高之间的半音差异。" + +#: js/blocks/PitchBlocks.js:243 +#. TRANS: the change measured in scale-steps between the current pitch and the previous pitch +msgid "scalar change in pitch" +msgstr "音阶音高变化" + +#: js/blocks/PitchBlocks.js:250 +#: js/blocks/PitchBlocks.js:432 +#: js/blocks/PitchBlocks.js:1667 +#: js/turtleactions/DictActions.js:89 +#: js/widgets/temperament.js:582 +#: js/widgets/temperament.js:586 +#: js/widgets/temperament.js:824 +#. TRANS: convert current note to piano key (1-88) +#. TRANS: a mapping of pitch to the 88 piano keys +msgid "pitch number" +msgstr "音高编号" + +#: js/blocks/PitchBlocks.js:256 +msgid "The Pitch number block is the value of the pitch of the note currently being played." +msgstr "音高编号块表示当前正在播放的音符的音高值。" + +#: js/blocks/PitchBlocks.js:329 +#: js/blocks/PitchBlocks.js:433 +#. TRANS: the current pitch expressed in Hertz +msgid "pitch in hertz" +msgstr "以赫兹表示的音高" + +#: js/blocks/PitchBlocks.js:334 +msgid "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played." +msgstr "以赫兹表示的音高块是当前正在播放音符的赫兹值。" + +#: js/blocks/PitchBlocks.js:367 +#: js/turtleactions/DictActions.js:87 +msgid "current pitch" +msgstr "当前音高" + +#: js/blocks/PitchBlocks.js:373 +msgid "The Current Pitch block is used with the Pitch Converter block. In the example above, current pitch, sol 4, is displayed as 392 hertz." +msgstr "当前音高块与音高转换块一起使用。上述示例中,当前音高 sol 4 显示为 392 赫兹。" + +#: js/blocks/PitchBlocks.js:410 +msgid "This block converts the pitch value of the last note played into different formats such as hertz, letter name, pitch number, et al." +msgstr "此块将最后播放音符的音高值转换为赫兹、字母名、音高编号等多种格式。" + +#: js/blocks/PitchBlocks.js:434 +msgid "alphabet" +msgstr "字母表" + +#: js/blocks/PitchBlocks.js:436 +#. TRANS: Translate as "alphabet class" +msgid "letter class" +msgstr "字母类别" + +#: js/blocks/PitchBlocks.js:437 +msgid "solfege class" +msgstr "视唱类别" + +#: js/blocks/PitchBlocks.js:438 +msgid "staff y" +msgstr "五线谱Y坐标" + +#: js/blocks/PitchBlocks.js:439 +msgid "solfege syllable" +msgstr "视唱音节" + +#: js/blocks/PitchBlocks.js:440 +msgid "pitch class" +msgstr "音高类别" + +#: js/blocks/PitchBlocks.js:441 +msgid "scalar class" +msgstr "标量类别" + +#: js/blocks/PitchBlocks.js:443 +msgid "nth degree" +msgstr "第n度音" + +#: js/blocks/PitchBlocks.js:444 +msgid "pitch to shade" +msgstr "音高到阴影" + +#: js/blocks/PitchBlocks.js:445 +msgid "pitch to color" +msgstr "音高到颜色" + +#: js/blocks/PitchBlocks.js:629 +#: js/widgets/musickeyboard.js:753 +#. TRANS: MIDI is a technical standard for electronic music +msgid "MIDI" +msgstr "MIDI" + +#: js/blocks/PitchBlocks.js:642 +#. TRANS: set an offset associated with the numeric piano keyboard mapping +msgid "set pitch number offset" +msgstr "设置音高编号偏移" + +#: js/blocks/PitchBlocks.js:645 +msgid "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave." +msgstr "设置音高编号偏移块用于设置将音高编号映射到音高和八度的偏移量。" + +#: js/blocks/PitchBlocks.js:656 +#: js/blocks/PitchBlocks.js:934 +#: js/blocks/PitchBlocks.js:1866 +#: js/blocks/MediaBlocks.js:746 +#. TRANS: name2 is name as in name of pitch (JAPANESE ONLY) +msgid "name2" +msgstr "名称2" + +#: js/blocks/PitchBlocks.js:679 +#. TRANS: convert piano key number (1-88) to pitch +msgid "number to pitch" +msgstr "数字转音高" + +#: js/blocks/PitchBlocks.js:682 +msgid "The Number to pitch block will convert a pitch number to a pich name." +msgstr "数字转音高块将音高编号转换为音高名称。" + +#: js/blocks/PitchBlocks.js:715 +#. TRANS: convert piano key number (1-88) to octave +msgid "number to octave" +msgstr "数字转八度" + +#: js/blocks/PitchBlocks.js:717 +msgid "The Number to octave block will convert a pitch number to an octave." +msgstr "数字转八度块将音高编号转换为八度。" + +#: js/blocks/PitchBlocks.js:726 +msgid "y to pitch" +msgstr "y坐标转音高" + +#: js/blocks/PitchBlocks.js:729 +msgid "Y to pitch block will convert a staff y position to corresponding pitch notation." +msgstr "Y 到音高模块会将五线谱的 Y 位置转换为对应的音高符号。" + +#: js/blocks/PitchBlocks.js:841 +msgid "accidental selector" +msgstr "变音符号选择器" + +#: js/blocks/PitchBlocks.js:844 +msgid "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat." +msgstr "变音符号选择器块用于选择重升号、升号、还原号、降号和重降号。" + +#: js/blocks/PitchBlocks.js:858 +msgid "Pitch can be specified in terms of ni dha pa ma ga re sa." +msgstr "音高可以用 ni dha pa ma ga re sa 表示。" + +#: js/blocks/PitchBlocks.js:872 +msgid "Pitch can be specified in terms of C D E F G A B." +msgstr "音高可以用 C D E F G A B 表示。" + +#: js/blocks/PitchBlocks.js:884 +msgid "solfege" +msgstr "视唱法" + +#: js/blocks/PitchBlocks.js:887 +msgid "Pitch can be specified in terms of do re mi fa sol la ti." +msgstr "音高可以用 do re mi fa sol la ti 表示。" + +#: js/blocks/PitchBlocks.js:922 +msgid "The Invert block rotates any contained notes around a target note." +msgstr "反转块将包含的音符绕目标音符旋转。" + +#: js/blocks/PitchBlocks.js:929 +#: js/widgets/modewidget.js:137 +#. TRANS: pitch inversion rotates a pitch around another pitch +msgid "Invert" +msgstr "反转" + +#: js/blocks/PitchBlocks.js:968 +#. TRANS: pitch inversion rotates a pitch around another pitch (odd number) +msgid "invert (odd)" +msgstr "反转(奇数)" + +#: js/blocks/PitchBlocks.js:1001 +#. TRANS: pitch inversion rotates a pitch around another pitch (even number) +msgid "invert (even)" +msgstr "反转(偶数)" + +#: js/blocks/PitchBlocks.js:1022 +#. TRANS: register is the octave of the current pitch +msgid "register" +msgstr "音区" + +#: js/blocks/PitchBlocks.js:1026 +msgid "The Register block provides an easy way to modify the register (octave) of the notes that follow it." +msgstr "移调块提供了一种简单的方法来修改后续音符的音区(八度)。" + +#: js/blocks/PitchBlocks.js:1047 +#. TRANS: cents are units used to specify the ratio between pitches. There are 100 cents between successive notes. +msgid "50 cents" +msgstr "50分音" + +#: js/blocks/PitchBlocks.js:1102 +msgid "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps." +msgstr "半音移调块会将Note块内的音高向上(或向下)移动半音。" + +#: js/blocks/PitchBlocks.js:1104 +msgid "In the example shown above, sol is shifted up to sol#." +msgstr "在上例中,sol被移调到了sol#。" + +#: js/blocks/PitchBlocks.js:1110 +#. TRANS: adjust the amount of shift (up or down) of a pitch +msgid "semi-tone transpose" +msgstr "半音移调" + +#: js/blocks/PitchBlocks.js:1143 +msgid "The Transpose by Ratio block will shift the pitches contained inside Note blocks up (or down) by a ratio" +msgstr "按比例移调块会将Note块内的音高按比例向上(或向下)移动。" + +#: js/blocks/PitchBlocks.js:1149 +#. TRANS: adjust the amount of shift (up or down) of a pitch +msgid "transpose by ratio" +msgstr "按比例移调" + +#: js/blocks/PitchBlocks.js:1232 +#. TRANS: down sixth means the note is five scale degrees below current note +msgid "down sixth" +msgstr "下降六度" + +#: js/blocks/PitchBlocks.js:1251 +#. TRANS: down third means the note is two scale degrees below current note +msgid "down third" +msgstr "下降三度" + +#: js/blocks/PitchBlocks.js:1270 +#. TRANS: seventh means the note is the six scale degrees above current note +msgid "seventh" +msgstr "七度" + +#: js/blocks/PitchBlocks.js:1289 +#. TRANS: sixth means the note is the five scale degrees above current note +msgid "sixth" +msgstr "六度" + +#: js/blocks/PitchBlocks.js:1308 +#. TRANS: fifth means the note is the four scale degrees above current note +msgid "fifth" +msgstr "五度" + +#: js/blocks/PitchBlocks.js:1328 +#. TRANS: fourth means the note is three scale degrees above current note +msgid "fourth" +msgstr "四度" + +#: js/blocks/PitchBlocks.js:1347 +#. TRANS: third means the note is two scale degrees above current note +msgid "third" +msgstr "三度" + +#: js/blocks/PitchBlocks.js:1366 +#. TRANS: second means the note is one scale degree above current note +msgid "second" +msgstr "二度" + +#: js/blocks/PitchBlocks.js:1407 +msgid "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale." +msgstr "音阶移调块会将Note块内的音高按音阶向上(或向下)移动。" + +#: js/blocks/PitchBlocks.js:1409 +msgid "In the example shown above, sol is shifted up to la." +msgstr "在上例中,sol被移调到la。" + +#: js/blocks/PitchBlocks.js:1416 +#. TRANS: adjust the amount of shift (up or down) of a pitch by musical scale (scalar) steps +msgid "scalar transpose" +msgstr "音阶移调" + +#: js/blocks/PitchBlocks.js:1451 +msgid "The Accidental block is used to create sharps and flats" +msgstr "临时升降记号块用于创建升音和降音" + +#: js/blocks/PitchBlocks.js:1458 +#. TRANS: An accidental is a modification to a pitch, e.g., sharp or flat. +msgid "accidental override" +msgstr "临时升降记号覆盖" + +#: js/blocks/PitchBlocks.js:1577 +#: js/blocks/MediaBlocks.js:679 +#: js/widgets/musickeyboard.js:1962 +#: js/widgets/phrasemaker.js:1123 +#. TRANS: a measure of frequency: one cycle per second +msgid "hertz" +msgstr "赫兹" + +#: js/blocks/PitchBlocks.js:1581 +msgid "The Hertz block (in combination with a Number block) will play a sound at the specified frequency." +msgstr "赫兹块(与数字块结合使用)将在指定频率播放声音。" + +#: js/blocks/PitchBlocks.js:1671 +msgid "The Pitch Number block will play a pitch associated by its number, e.g. 0 for C and 7 for G." +msgstr "音高编号块将播放与其数字对应的音高,例如0代表C,7代表G。" + +#: js/blocks/PitchBlocks.js:1703 +#: js/blocks/PitchBlocks.js:1745 +#. TRANS: a numeric mapping of the notes in an octave based on the musical mode +#. TRANS: a numeric mapping of the notes in an octave based on the musical mode +msgid "nth modal pitch" +msgstr "第n阶音高" + +#: js/blocks/PitchBlocks.js:1706 +msgid "nth Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode," +msgstr "第n阶调式音高采用模式中以半音为单位的音高模式,并将每个点视为该模式的一个阶。" + +#: js/blocks/PitchBlocks.js:1708 +msgid "starting from 1 and regardless of tonal framework (i.e. not always 8 notes in the octave)" +msgstr "从1开始,不考虑音调框架(即不总是八度内有8个音符)" + +#: js/blocks/PitchBlocks.js:1749 +msgid "Nth Modal Pitch takes a number as an input as the nth degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc." +msgstr "第n阶调式音高以数字作为输入,表示给定模式的第n个阶。0表示第一个位置,1表示第二个,-1表示第一个之前的音符,依此类推。" + +#: js/blocks/PitchBlocks.js:1751 +msgid "The pitches change according to the mode specified without any need for respellings." +msgstr "音高根据指定的调式变化,无需重新拼写。" + +#: js/blocks/PitchBlocks.js:1790 +msgid "Scale Degree is a common convention in music. Scale Degree offers seven possible positions in the scale (1-7) and can be modified via accidentals." +msgstr "音阶度数是音乐中的常用约定。音阶度数提供音阶中的七个可能位置(1-7),并可通过临时升降记号进行修改。" + +#: js/blocks/PitchBlocks.js:1792 +msgid "Scale Degree 1 is always the first pitch in a given scale, regardless of octave." +msgstr "音阶度数1始终是给定音阶中的第一个音高,不论其所在的八度。" + +#: js/blocks/PitchBlocks.js:1814 +#. TRANS: step some number of notes in current musical scale +msgid "scalar step" +msgstr "音阶步长" + +#: js/blocks/PitchBlocks.js:1819 +msgid "The Scalar Step block (in combination with a Number block) will play the next pitch in a scale," +msgstr "音阶步长块(与数字块结合使用)将播放音阶中的下一个音高," + +#: js/blocks/PitchBlocks.js:1821 +msgid "eg if the last note played was sol, Scalar Step 1 will play la." +msgstr "例如,如果上一个播放的音符是sol,音阶步长1将播放la。" + +#: js/blocks/PitchBlocks.js:1857 +msgid "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note." +msgstr "音高块指定一个音符的音名和八度,这两者共同决定该音符的频率。" + +#: js/blocks/ToneBlocks.js:34 +#: js/widgets/timbre.js:783 +msgid "Oscillator" +msgstr "振荡器" + +#: js/blocks/ToneBlocks.js:42 +#: js/blocks/WidgetBlocks.js:179 +#: js/widgets/timbre.js:1550 +#: js/widgets/timbre.js:1800 +#. TRANS: there are different types (sine, triangle, square...) of oscillators. +#. TRANS: type of filter, e.g., lowpass, highpass, etc. +msgid "type" +msgstr "类型" + +#: js/blocks/ToneBlocks.js:44 +#: js/widgets/timbre.js:1554 +#. TRANS: Partials refers to the number of sine waves combined into the sound. +msgid "partials" +msgstr "部分谐波" + +#: js/blocks/ToneBlocks.js:76 +msgid "You are adding multiple oscillator blocks." +msgstr "您正在添加多个振荡器块。" + +#: js/blocks/ToneBlocks.js:144 +#: js/widgets/timbre.js:1217 +#. TRANS: a duo synthesizer combines a synth with a sequencer +msgid "duo synth" +msgstr "duo synth" + +#: js/blocks/ToneBlocks.js:149 +msgid "The Duo synth block is a duo-frequency modulator used to define a timbre." +msgstr "Duo synth块是一个双频率调制器,用于定义音色。" + +#: js/blocks/ToneBlocks.js:157 +#: js/widgets/timbre.js:1468 +msgid "vibrato rate" +msgstr "颤音速率" + +#: js/blocks/ToneBlocks.js:157 +msgid "vibrato intensity" +msgstr "颤音强度" + +#: js/blocks/ToneBlocks.js:185 +#: js/widgets/timbre.js:1215 +#. TRANS: AM (amplitude modulation) synthesizer +msgid "AM synth" +msgstr "AM 合成器" + +#: js/blocks/ToneBlocks.js:189 +msgid "The AM synth block is an amplitude modulator used to define a timbre." +msgstr "AM 合成器块是用于定义音色的振幅调制器。" + +#: js/blocks/ToneBlocks.js:224 +#: js/widgets/timbre.js:1216 +#. TRANS: FM (frequency modulation) synthesizer +msgid "FM synth" +msgstr "FM 合成器" + +#: js/blocks/ToneBlocks.js:228 +msgid "The FM synth block is a frequency modulator used to define a timbre." +msgstr "FM 合成器块是用于定义音色的频率调制器。" + +#: js/blocks/ToneBlocks.js:262 +msgid "partial" +msgstr "部分" + +#: js/blocks/ToneBlocks.js:265 +msgid "The Partial block is used to specify a weight for a specific partial harmonic." +msgstr "Partial块用于指定特定部分泛音的权重。" + +#: js/blocks/ToneBlocks.js:284 +#. TRANS: partials are weighted components in a harmonic series +msgid "Partial weight must be between 0 and 1." +msgstr "部分权重必须在0到1之间。" + +#: js/blocks/ToneBlocks.js:297 +#. TRANS: partials are weighted components in a harmonic series +msgid "Partial block should be used inside of a Weighted-partials block." +msgstr "Partial块应在加权部分块内使用。" + +#: js/blocks/ToneBlocks.js:325 +#. TRANS: partials are weighted components in a harmonic series +msgid "weighted partials" +msgstr "加权泛音" + +#: js/blocks/ToneBlocks.js:383 +msgid "The Harmonic block will add harmonics to the contained notes." +msgstr "Harmonic块将为包含的音符添加泛音。" + +#: js/blocks/ToneBlocks.js:390 +#. TRANS: A harmonic is an overtone. +msgid "harmonic" +msgstr "谐波" + +#: js/blocks/ToneBlocks.js:431 +msgid "The Distortion block adds distortion to the pitch." +msgstr "Distortion块为音高添加失真效果。" + +#: js/blocks/ToneBlocks.js:438 +#: js/widgets/timbre.js:2088 +#. TRANS: distortion is an alteration in the sound +msgid "distortion" +msgstr "失真" + +#: js/blocks/ToneBlocks.js:487 +msgid "The Tremolo block adds a wavering effect." +msgstr "Tremolo块添加颤音效果。" + +#: js/blocks/ToneBlocks.js:495 +#: js/widgets/timbre.js:2084 +#. TRANS: a wavering effect in a musical tone +msgid "tremolo" +msgstr "颤音" + +#: js/blocks/ToneBlocks.js:500 +#: js/blocks/ToneBlocks.js:569 +#: js/blocks/ToneBlocks.js:630 +#: js/blocks/ToneBlocks.js:689 +#: js/widgets/timbre.js:2122 +#: js/widgets/timbre.js:2210 +#: js/widgets/timbre.js:2305 +#: js/widgets/timbre.js:2407 +#. TRANS: rate at which tremolo wavers +msgid "rate" +msgstr "速率" + +#: js/blocks/ToneBlocks.js:502 +#: js/blocks/ToneBlocks.js:630 +#: js/widgets/timbre.js:2125 +#: js/widgets/timbre.js:2316 +#. TRANS: amplitude of tremolo waver +msgid "depth" +msgstr "深度" + +#: js/blocks/ToneBlocks.js:559 +msgid "The Phaser block adds a sweeping sound." +msgstr "Phaser块添加扫频效果。" + +#: js/blocks/ToneBlocks.js:566 +#: js/widgets/timbre.js:2087 +#. TRANS: alter the phase of the sound +msgid "phaser" +msgstr "移相器" + +#: js/blocks/ToneBlocks.js:569 +#: js/turtleactions/IntervalsActions.js:114 +#: js/widgets/timbre.js:2410 +msgid "octaves" +msgstr "八度" + +#: js/blocks/ToneBlocks.js:569 +#: js/widgets/timbre.js:2413 +msgid "base frequency" +msgstr "基频" + +#: js/blocks/ToneBlocks.js:619 +msgid "The Chorus block adds a chorus effect." +msgstr "Chorus块添加合唱效果。" + +#: js/blocks/ToneBlocks.js:627 +#: js/widgets/timbre.js:2086 +#. TRANS: musical effect to simulate a choral sound +msgid "chorus" +msgstr "合唱" + +#: js/blocks/ToneBlocks.js:630 +#: js/widgets/timbre.js:2310 +msgid "delay (MS)" +msgstr "延迟(毫秒)" + +#: js/blocks/ToneBlocks.js:678 +msgid "The Vibrato block adds a rapid, slight variation in pitch." +msgstr "Vibrato块添加快速且轻微的音高变化。" + +#: js/blocks/ToneBlocks.js:686 +#: js/widgets/timbre.js:2085 +#. TRANS: a rapid, slight variation in pitch +msgid "vibrato" +msgstr "颤音" + +#: js/blocks/ToneBlocks.js:689 +#: js/widgets/timbre.js:2209 +msgid "intensity" +msgstr "强度" + +#: js/blocks/ToneBlocks.js:733 +#. TRANS: select synthesizer +msgid "set synth" +msgstr "设置合成器" + +#: js/blocks/ToneBlocks.js:804 +msgid "synth name" +msgstr "合成器名称" + +#: js/blocks/ToneBlocks.js:842 +msgid "set default instrument" +msgstr "设置默认乐器" + +#: js/blocks/ToneBlocks.js:895 +#: js/blocks/ToneBlocks.js:943 +#. TRANS: set the characteristics of a custom instrument +msgid "set instrument" +msgstr "设置乐器" + +#: js/blocks/ToneBlocks.js:898 +#: js/blocks/ToneBlocks.js:926 +#: js/blocks/ToneBlocks.js:932 +msgid "The Set instrument block selects a voice for the synthesizer," +msgstr "Set instrument块用于选择合成器的声音," + +#: js/blocks/ToneBlocks.js:900 +#: js/blocks/ToneBlocks.js:934 +msgid "eg guitar piano violin or cello." +msgstr "例如吉他、钢琴、小提琴或大提琴。" + +#: js/blocks/ToneBlocks.js:1015 +msgid "Import a sound file to use as an instrument and set its pitch center." +msgstr "导入音频文件作为乐器并设置其音高中心。" + +#: js/blocks/ToneBlocks.js:1110 +msgid "Upload a sound file to connect with the sample block." +msgstr "上传音频文件以连接采样块。" + +#: js/blocks/ActionBlocks.js:58 +msgid "The Return block will return a value from an action." +msgstr "Return块将从一个动作返回一个值。" + +#: js/blocks/ActionBlocks.js:75 +msgid "return" +msgstr "返回" + +#: js/blocks/ActionBlocks.js:128 +msgid "The Return to URL block will return a value to a webpage." +msgstr "Return to URL块将值返回到网页。" + +#: js/blocks/ActionBlocks.js:145 +msgid "return to URL" +msgstr "返回到URL" + +#: js/blocks/ActionBlocks.js:233 +#: js/blocks/ActionBlocks.js:290 +#: js/blocks/ActionBlocks.js:501 +#: js/blocks/ActionBlocks.js:688 +msgid "The Calculate block returns a value calculated by an action." +msgstr "Calculate块返回一个动作计算的值。" + +#: js/blocks/ActionBlocks.js:251 +#: js/blocks/ActionBlocks.js:517 +#: js/blocks/ActionBlocks.js:707 +msgid "calculate" +msgstr "计算" + +#: js/blocks/ActionBlocks.js:376 +#: js/blocks/ActionBlocks.js:593 +#: js/blocks/ActionBlocks.js:942 +#: js/blocks/ActionBlocks.js:1389 +#. TRANS: do is the do something or take an action. +msgid "The Do block is used to initiate an action." +msgstr "Do块用于启动一个动作。" + +#: js/blocks/ActionBlocks.js:791 +#: js/blocks/ActionBlocks.js:865 +msgid "The Arg block contains the value of an argument passed to an action." +msgstr "Arg块包含传递给动作的参数值。" + +#: js/blocks/ActionBlocks.js:806 +#: js/blocks/ActionBlocks.js:878 +msgid "arg" +msgstr "参数" + +#: js/blocks/ActionBlocks.js:836 +#: js/blocks/ActionBlocks.js:900 +#: js/blocks/ActionBlocks.js:908 +msgid "Invalid argument" +msgstr "无效参数" + +#: js/blocks/ActionBlocks.js:944 +msgid "In the example, it is used with the One of block to choose a random phase." +msgstr "在示例中,它与One of块一起使用以选择随机阶段。" + +#: js/blocks/ActionBlocks.js:1019 +#: js/blocks/ActionBlocks.js:1026 +msgid "The Listen block is used to listen for an event such as a mouse click." +msgstr "Listen块用于监听事件,例如鼠标点击。" + +#: js/blocks/ActionBlocks.js:1028 +msgid "When the event happens, an action is taken." +msgstr "当事件发生时,会执行一个动作。" + +#: js/blocks/ActionBlocks.js:1045 +msgid "on" +msgstr "开启" + +#: js/blocks/ActionBlocks.js:1048 +#: js/blocks/ActionBlocks.js:1049 +#: js/blocks/ActionBlocks.js:1153 +msgid "event" +msgstr "事件" + +#: js/blocks/ActionBlocks.js:1133 +msgid "The Broadcast block is used to trigger an event." +msgstr "Broadcast块用于触发事件。" + +#: js/blocks/ActionBlocks.js:1151 +msgid "broadcast" +msgstr "广播" + +#: js/blocks/ActionBlocks.js:1208 +msgid "Each Start block is a separate voice." +msgstr "每个Start块是一个独立的声音。" + +#: js/blocks/ActionBlocks.js:1304 +msgid "It is often used for storing a phrase of music that is repeated." +msgstr "它通常用于存储重复的音乐短语。" + +#: js/blocks/ActionBlocks.js:1495 +msgid "define temperament" +msgstr "定义律制" + +#: js/blocks/EnsembleBlocks.js:87 +msgid "mouse index heap" +msgstr "鼠标索引堆" + +#: js/blocks/EnsembleBlocks.js:87 +msgid "turtle index heap" +msgstr "乌龟索引堆" + +#: js/blocks/EnsembleBlocks.js:89 +msgid "The Mouse index heap block returns a value in the heap at a specified location for a specified mouse." +msgstr "Mouse索引堆块返回指定鼠标在堆中指定位置的值。" + +#: js/blocks/EnsembleBlocks.js:90 +msgid "The Turtle index heap block returns a value in the heap at a specified location for a specified turtle." +msgstr "Turtle索引堆块返回指定乌龟在堆中指定位置的值。" + +#: js/blocks/EnsembleBlocks.js:94 +#: js/blocks/EnsembleBlocks.js:169 +#: js/blocks/EnsembleBlocks.js:232 +#: js/blocks/EnsembleBlocks.js:318 +#: js/blocks/EnsembleBlocks.js:364 +#: js/blocks/EnsembleBlocks.js:402 +#: js/blocks/EnsembleBlocks.js:456 +#: js/blocks/EnsembleBlocks.js:506 +#: js/blocks/EnsembleBlocks.js:552 +#: js/blocks/EnsembleBlocks.js:599 +#: js/blocks/EnsembleBlocks.js:653 +#: js/blocks/EnsembleBlocks.js:765 +#: js/blocks/EnsembleBlocks.js:856 +#: js/blocks/EnsembleBlocks.js:917 +#: js/blocks/EnsembleBlocks.js:957 +#: js/blocks/EnsembleBlocks.js:1222 +#: js/blocks/EnsembleBlocks.js:1296 +msgid "Yertle" +msgstr "Yertle" + +#: js/blocks/EnsembleBlocks.js:96 +#: js/blocks/EnsembleBlocks.js:1083 +msgid "mouse name" +msgstr "鼠标名称" + +#: js/blocks/EnsembleBlocks.js:96 +#: js/blocks/EnsembleBlocks.js:1092 +msgid "turtle name" +msgstr "乌龟名称" + +#: js/blocks/EnsembleBlocks.js:147 +msgid "stop mouse" +msgstr "停止鼠标" + +#: js/blocks/EnsembleBlocks.js:149 +msgid "The Stop mouse block stops the specified mouse." +msgstr "停止鼠标块停止指定的鼠标。" + +#: js/blocks/EnsembleBlocks.js:160 +msgid "stop turtle" +msgstr "停止乌龟" + +#: js/blocks/EnsembleBlocks.js:162 +msgid "The Stop turtle block stops the specified turtle." +msgstr "停止乌龟块停止指定的乌龟。" + +#: js/blocks/EnsembleBlocks.js:186 +#: js/blocks/EnsembleBlocks.js:249 +#: js/blocks/EnsembleBlocks.js:415 +#: js/blocks/EnsembleBlocks.js:470 +#: js/blocks/EnsembleBlocks.js:708 +#: js/blocks/EnsembleBlocks.js:810 +#: js/blocks/EnsembleBlocks.js:872 +#: js/blocks/EnsembleBlocks.js:1193 +#: js/blocks/EnsembleBlocks.js:1256 +msgid "Cannot find mouse" +msgstr "找不到鼠标" + +#: js/blocks/EnsembleBlocks.js:188 +#: js/blocks/EnsembleBlocks.js:251 +#: js/blocks/EnsembleBlocks.js:417 +#: js/blocks/EnsembleBlocks.js:472 +#: js/blocks/EnsembleBlocks.js:710 +#: js/blocks/EnsembleBlocks.js:812 +#: js/blocks/EnsembleBlocks.js:874 +#: js/blocks/EnsembleBlocks.js:1195 +#: js/blocks/EnsembleBlocks.js:1258 +msgid "Cannot find turtle" +msgstr "找不到乌龟" + +#: js/blocks/EnsembleBlocks.js:208 +msgid "start mouse" +msgstr "启动鼠标" + +#: js/blocks/EnsembleBlocks.js:211 +msgid "The Start mouse block starts the specified mouse." +msgstr "启动鼠标块启动指定的鼠标。" + +#: js/blocks/EnsembleBlocks.js:222 +msgid "start turtle" +msgstr "启动乌龟" + +#: js/blocks/EnsembleBlocks.js:225 +msgid "The Start turtle block starts the specified turtle." +msgstr "启动乌龟块启动指定的乌龟。" + +#: js/blocks/EnsembleBlocks.js:258 +msgid "Mouse is already running." +msgstr "鼠标已经在运行。" + +#: js/blocks/EnsembleBlocks.js:260 +msgid "Turtle is already running." +msgstr "乌龟已经在运行。" + +#: js/blocks/EnsembleBlocks.js:284 +msgid "Cannot find start block" +msgstr "找不到启动块" + +#: js/blocks/EnsembleBlocks.js:294 +#. TRANS: pen color for this mouse +msgid "mouse color" +msgstr "鼠标颜色" + +#: js/blocks/EnsembleBlocks.js:296 +msgid "The Mouse color block returns the pen color of the specified mouse." +msgstr "鼠标颜色块返回指定鼠标的画笔颜色。" + +#: js/blocks/EnsembleBlocks.js:308 +#. TRANS: pen color for this turtle +msgid "turtle color" +msgstr "乌龟颜色" + +#: js/blocks/EnsembleBlocks.js:310 +msgid "The Turtle color block returns the pen color of the specified turtle." +msgstr "乌龟颜色块返回指定乌龟的画笔颜色。" + +#: js/blocks/EnsembleBlocks.js:340 +#. TRANS: heading (compass direction) for this mouse +msgid "mouse heading" +msgstr "鼠标朝向" + +#: js/blocks/EnsembleBlocks.js:342 +msgid "The Mouse heading block returns the heading of the specified mouse." +msgstr "鼠标朝向块返回指定鼠标的朝向。" + +#: js/blocks/EnsembleBlocks.js:354 +#. TRANS: heading (compass direction) for this turtle +msgid "turtle heading" +msgstr "乌龟朝向" + +#: js/blocks/EnsembleBlocks.js:356 +msgid "The Turtle heading block returns the heading of the specified turtle." +msgstr "乌龟朝向块返回指定乌龟的朝向。" + +#: js/blocks/EnsembleBlocks.js:386 +#: js/blocks/EnsembleBlocks.js:441 +#. TRANS: set xy position for this mouse +msgid "set mouse" +msgstr "设置鼠标" + +#: js/blocks/EnsembleBlocks.js:397 +#: js/blocks/EnsembleBlocks.js:454 +#. TRANS: set xy position for this turtle +msgid "set turtle" +msgstr "设置乌龟" + +#: js/blocks/EnsembleBlocks.js:435 +msgid "The Set mouse block sends a stack of blocks to be run by the specified mouse." +msgstr "设置鼠标块发送一组积木给指定的鼠标执行。" + +#: js/blocks/EnsembleBlocks.js:448 +msgid "The Set turtle block sends a stack of blocks to be run by the specified turtle." +msgstr "设置乌龟块发送一组积木给指定的乌龟执行。" + +#: js/blocks/EnsembleBlocks.js:482 +#. TRANS: y position for this mouse +msgid "mouse y" +msgstr "滑鼠座標 y" + +#: js/blocks/EnsembleBlocks.js:484 +msgid "The Y mouse block returns the Y position of the specified mouse." +msgstr "鼠标 Y 坐标块返回指定鼠标的 Y 位置。" + +#: js/blocks/EnsembleBlocks.js:496 +#. TRANS: y position for this turtle +msgid "turtle y" +msgstr "乌龟 Y 坐标" + +#: js/blocks/EnsembleBlocks.js:498 +msgid "The Y turtle block returns the Y position of the specified turtle." +msgstr "乌龟 Y 坐标块返回指定乌龟的 Y 位置。" + +#: js/blocks/EnsembleBlocks.js:528 +#. TRANS: x position for this mouse +msgid "mouse x" +msgstr "滑鼠座標 x" + +#: js/blocks/EnsembleBlocks.js:530 +msgid "The X mouse block returns the X position of the specified mouse." +msgstr "鼠标 X 坐标块返回指定鼠标的 X 位置。" + +#: js/blocks/EnsembleBlocks.js:542 +#. TRANS: x position for this turtle +msgid "turtle x" +msgstr "乌龟 X 坐标" + +#: js/blocks/EnsembleBlocks.js:544 +msgid "The X turtle block returns the X position of the specified turtle." +msgstr "乌龟 X 坐标块返回指定乌龟的 X 位置。" + +#: js/blocks/EnsembleBlocks.js:575 +#. TRANS: notes played by this mouse +msgid "mouse notes played" +msgstr "鼠标已弹奏的音符数" + +#: js/blocks/EnsembleBlocks.js:577 +msgid "The Mouse elapse notes block returns the number of notes played by the specified mouse." +msgstr "鼠标经过音符块返回指定鼠标已弹奏的音符数量。" + +#: js/blocks/EnsembleBlocks.js:589 +#. TRANS: notes played by this turtle +msgid "turtle notes played" +msgstr "乌龟已弹奏的音符数" + +#: js/blocks/EnsembleBlocks.js:591 +msgid "The Turtle elapse notes block returns the number of notes played by the specified turtle." +msgstr "乌龟经过音符块返回指定乌龟已弹奏的音符数量。" + +#: js/blocks/EnsembleBlocks.js:629 +#. TRANS: convert current note for this turtle to piano key (1-88) +msgid "mouse pitch number" +msgstr "鼠标音高编号" + +#: js/blocks/EnsembleBlocks.js:631 +msgid "The Mouse pitch block returns the current pitch number being played by the specified mouse." +msgstr "鼠标音高块返回指定鼠标当前演奏的音高编号。" + +#: js/blocks/EnsembleBlocks.js:643 +#. TRANS: convert current note for this turtle to piano key (1-88) +msgid "turtle pitch number" +msgstr "乌龟音高编号" + +#: js/blocks/EnsembleBlocks.js:645 +msgid "The Turtle pitch block returns the current pitch number being played by the specified turtle." +msgstr "乌龟音高块返回指定乌龟当前演奏的音高编号。" + +#: js/blocks/EnsembleBlocks.js:749 +#: js/blocks/EnsembleBlocks.js:821 +#. TRANS: note value is the duration of the note played by this mouse +msgid "mouse note value" +msgstr "鼠标音符时值" + +#: js/blocks/EnsembleBlocks.js:759 +#. TRANS: note value is the duration of the note played by this turtle +msgid "turtle note value" +msgstr "乌龟音符时值" + +#: js/blocks/EnsembleBlocks.js:832 +#. TRANS: sync is short for synchronization +msgid "mouse sync" +msgstr "鼠标同步" + +#: js/blocks/EnsembleBlocks.js:834 +msgid "The Mouse sync block aligns the beat count between mice." +msgstr "鼠标同步块用于对齐鼠标之间的节拍计数。" + +#: js/blocks/EnsembleBlocks.js:846 +#. TRANS: sync is short for synchronization +msgid "turtle sync" +msgstr "乌龟同步" + +#: js/blocks/EnsembleBlocks.js:848 +msgid "The Turtle sync block aligns the beat count between turtles." +msgstr "乌龟同步块用于对齐乌龟之间的节拍计数。" + +#: js/blocks/EnsembleBlocks.js:889 +msgid "The Found mouse block will return true if the specified mouse can be found." +msgstr "找到鼠标块在指定鼠标被找到时返回真。" + +#: js/blocks/EnsembleBlocks.js:895 +msgid "found mouse" +msgstr "找到鼠标" + +#: js/blocks/EnsembleBlocks.js:905 +msgid "The Found turtle block will return true if the specified turtle can be found." +msgstr "找到乌龟块在指定乌龟被找到时返回真。" + +#: js/blocks/EnsembleBlocks.js:911 +msgid "found turtle" +msgstr "找到乌龟" + +#: js/blocks/EnsembleBlocks.js:934 +msgid "new mouse" +msgstr "新鼠标" + +#: js/blocks/EnsembleBlocks.js:936 +msgid "The New mouse block will create a new mouse." +msgstr "新鼠标块将创建一个新的鼠标。" + +#: js/blocks/EnsembleBlocks.js:947 +msgid "new turtle" +msgstr "新乌龟" + +#: js/blocks/EnsembleBlocks.js:949 +msgid "The New turtle block will create a new turtle." +msgstr "新乌龟块将创建一个新的乌龟。" + +#: js/blocks/EnsembleBlocks.js:1013 +msgid "set mouse color" +msgstr "设置鼠标颜色" + +#: js/blocks/EnsembleBlocks.js:1016 +msgid "The Set-mouse-color block is used to set the color of a mouse." +msgstr "设置鼠标颜色块用于设置鼠标的颜色。" + +#: js/blocks/EnsembleBlocks.js:1022 +msgid "set turtle color" +msgstr "设置乌龟颜色" + +#: js/blocks/EnsembleBlocks.js:1025 +msgid "The Set-turtle-color block is used to set the color of a turtle." +msgstr "设置乌龟颜色块用于设置乌龟的颜色。" + +#: js/blocks/EnsembleBlocks.js:1086 +msgid "The Mouse-name block returns the name of a mouse." +msgstr "鼠标名称块返回鼠标的名称。" + +#: js/blocks/EnsembleBlocks.js:1095 +msgid "The Turtle-name block returns the name of a turtle." +msgstr "乌龟名称块返回乌龟的名称。" + +#: js/blocks/EnsembleBlocks.js:1118 +msgid "mouse count" +msgstr "鼠标数量" + +#: js/blocks/EnsembleBlocks.js:1121 +msgid "The Mouse-count block returns the number of mice." +msgstr "鼠标计数块返回鼠标的数量。" + +#: js/blocks/EnsembleBlocks.js:1127 +msgid "turtle count" +msgstr "乌龟数量" + +#: js/blocks/EnsembleBlocks.js:1130 +msgid "The Turtle-count block returns the number of turtles." +msgstr "Turtle-count 块返回乌龟的数量。" + +#: js/blocks/EnsembleBlocks.js:1152 +msgid "nth mouse name" +msgstr "表示老鼠名称的音乐元素标签" + +#: js/blocks/EnsembleBlocks.js:1155 +msgid "The Nth-Mouse name block returns the name of the nth mouse." +msgstr "Nth-Mouse 名称块返回第n只老鼠的名称。" + +#: js/blocks/EnsembleBlocks.js:1161 +msgid "nth turtle name" +msgstr "用于识别乐队中特定乌龟的块标签" + +#: js/blocks/EnsembleBlocks.js:1164 +msgid "The Nth-Turtle name block returns the name of the nth turtle." +msgstr "Nth-Turtle 名称块返回第n只乌龟的名称。" + +#: js/blocks/EnsembleBlocks.js:1208 +#: js/blocks/EnsembleBlocks.js:1268 +msgid "set name" +msgstr "设置音乐元素或实体名称的块标签" + +#: js/blocks/EnsembleBlocks.js:1217 +#: js/blocks/EnsembleBlocks.js:1224 +msgid "source" +msgstr "来源" + +#: js/blocks/EnsembleBlocks.js:1217 +#: js/blocks/EnsembleBlocks.js:1224 +msgid "target" +msgstr "目标" + +#: js/blocks/EnsembleBlocks.js:1274 +msgid "The Set-name block is used to name a mouse." +msgstr "Set-name 块用于命名一只老鼠。" + +#: js/blocks/EnsembleBlocks.js:1287 +msgid "The Set-name block is used to name a turtle." +msgstr "Set-name 块用于命名一只乌龟。" + +#: js/blocks/ExtrasBlocks.js:33 +msgid "fraction" +msgstr "分数" + +#: js/blocks/ExtrasBlocks.js:36 +msgid "Convert a float to a fraction" +msgstr "将浮动数转换为分数的工具提示标签" + +#: js/blocks/ExtrasBlocks.js:93 +msgid "save as ABC" +msgstr "保存为 ABC 的块标签" + +#: js/blocks/ExtrasBlocks.js:96 +#: js/blocks/ExtrasBlocks.js:132 +#: js/blocks/ExtrasBlocks.js:168 +msgid "title" +msgstr "标题" + +#: js/blocks/ExtrasBlocks.js:129 +msgid "save as Lilypond" +msgstr "保存为 LilyPond 的块标签" + +#: js/blocks/ExtrasBlocks.js:165 +msgid "save as SVG" +msgstr "保存为 SVG 的块标签" + +#: js/blocks/ExtrasBlocks.js:216 +msgid "no background" +msgstr "移除背景的块标签" + +#: js/blocks/ExtrasBlocks.js:219 +msgid "The No background block eliminates the background from the saved SVG output." +msgstr "No background 块将从保存的 SVG 输出中移除背景。" + +#: js/blocks/ExtrasBlocks.js:247 +msgid "show blocks" +msgstr "顯示區塊" + +#: js/blocks/ExtrasBlocks.js:249 +msgid "The Show blocks block shows the blocks." +msgstr "Show blocks 块显示其他块。" + +#: js/blocks/ExtrasBlocks.js:276 +msgid "The Hide blocks block hides the blocks." +msgstr "Hide blocks 块隐藏其他块。" + +#: js/blocks/ExtrasBlocks.js:305 +#: js/blocks/ExtrasBlocks.js:338 +msgid "The Space block is used to add space between blocks." +msgstr "Space 块用于在块之间添加空格。" + +#: js/blocks/ExtrasBlocks.js:376 +msgid "wait" +msgstr "等待" + +#: js/blocks/ExtrasBlocks.js:379 +msgid "The Wait block pauses the program for a specified number of seconds." +msgstr "Wait 块使程序暂停指定的秒数。" + +#: js/blocks/ExtrasBlocks.js:433 +#: plugins/facebook.rtp:30 +msgid "comment" +msgstr "註記" + +#: js/blocks/ExtrasBlocks.js:469 +msgid "print" +msgstr "顯示" + +#: js/blocks/ExtrasBlocks.js:476 +msgid "The Print block displays text at the top of the screen." +msgstr "Print 块在屏幕顶部显示文本。" + +#: js/blocks/ExtrasBlocks.js:585 +msgid "display grid" +msgstr "显示网格的块标签" + +#: js/blocks/ExtrasBlocks.js:590 +msgid "The Display Grid Block changes the grid type" +msgstr "Display Grid 块更改网格类型" + +#: js/blocks/ExtrasBlocks.js:692 +#: js/blocks/ExtrasBlocks.js:711 +#: js/blocks/ExtrasBlocks.js:734 +#: js/blocks/ExtrasBlocks.js:757 +#: js/blocks/ExtrasBlocks.js:775 +#: js/blocks/ExtrasBlocks.js:794 +#: js/blocks/ExtrasBlocks.js:813 +#: js/blocks/ExtrasBlocks.js:832 +msgid "unknown" +msgstr "未知" + +#: js/blocks/GraphicsBlocks.js:46 +#: js/turtleactions/DictActions.js:77 +#: js/turtleactions/DictActions.js:144 +#: js/turtleactions/DictActions.js:173 +msgid "heading" +msgstr "方向" + +#: js/blocks/GraphicsBlocks.js:56 +msgid "The Heading block returns the orientation of the mouse." +msgstr "Heading 块返回老鼠的朝向。" + +#: js/blocks/GraphicsBlocks.js:62 +msgid "The Heading block returns the orientation of the turtle." +msgstr "Heading 块返回乌龟的朝向。" + +#: js/blocks/GraphicsBlocks.js:133 +msgid "The Y block returns the vertical position of the mouse." +msgstr "Y 块返回老鼠的垂直位置。" + +#: js/blocks/GraphicsBlocks.js:140 +msgid "The Y block returns the vertical position of the turtle." +msgstr "Y 块返回乌龟的垂直位置。" + +#: js/blocks/GraphicsBlocks.js:149 +msgid "y3" +msgstr "y3" + +#: js/blocks/GraphicsBlocks.js:219 +msgid "The X block returns the horizontal position of the mouse." +msgstr "X 块返回老鼠的水平位置。" + +#: js/blocks/GraphicsBlocks.js:226 +msgid "The X block returns the horizontal position of the turtle." +msgstr "X 块返回乌龟的水平位置。" + +#: js/blocks/GraphicsBlocks.js:235 +msgid "x3" +msgstr "x3" + +#: js/blocks/GraphicsBlocks.js:295 +msgid "scroll xy" +msgstr "滚动 xy 块标签" + +#: js/blocks/GraphicsBlocks.js:303 +msgid "The Scroll XY block moves the canvas." +msgstr "Scroll XY 块移动画布。" + +#: js/blocks/GraphicsBlocks.js:313 +msgid "x2" +msgstr "x2" + +#: js/blocks/GraphicsBlocks.js:313 +msgid "y2" +msgstr "y2" + +#: js/blocks/GraphicsBlocks.js:417 +msgid "The Control-point 2 block sets the second control point for the Bezier curve." +msgstr "Control-point 2 块设置贝塞尔曲线的第二个控制点。" + +#: js/blocks/GraphicsBlocks.js:424 +msgid "control point 2" +msgstr "图形控制点 2 的标签" + +#: js/blocks/GraphicsBlocks.js:427 +#: js/blocks/GraphicsBlocks.js:478 +#: js/blocks/GraphicsBlocks.js:525 +#: js/blocks/GraphicsBlocks.js:741 +msgid "x1" +msgstr "x1" + +#: js/blocks/GraphicsBlocks.js:427 +#: js/blocks/GraphicsBlocks.js:478 +#: js/blocks/GraphicsBlocks.js:525 +#: js/blocks/GraphicsBlocks.js:741 +msgid "y1" +msgstr "y1" + +#: js/blocks/GraphicsBlocks.js:468 +msgid "The Control-point 1 block sets the first control point for the Bezier curve." +msgstr "Control-point 1 块设置贝塞尔曲线的第一个控制点。" + +#: js/blocks/GraphicsBlocks.js:475 +msgid "control point 1" +msgstr "图形控制点 1 的标签" + +#: js/blocks/GraphicsBlocks.js:518 +msgid "The Bezier block draws a Bezier curve." +msgstr "Bezier 块绘制贝塞尔曲线。" + +#: js/blocks/GraphicsBlocks.js:522 +msgid "bezier" +msgstr "贝塞尔曲线" + +#: js/blocks/GraphicsBlocks.js:583 +msgid "The Arc block moves the turtle in an arc." +msgstr "Arc 块以弧形移动乌龟。" + +#: js/blocks/GraphicsBlocks.js:591 +msgid "arc" +msgstr "弧度" + +#: js/blocks/GraphicsBlocks.js:594 +msgid "angle" +msgstr "角度" + +#: js/blocks/GraphicsBlocks.js:594 +msgid "radius" +msgstr "半徑" + +#: js/blocks/GraphicsBlocks.js:611 +#: js/blocks/GraphicsBlocks.js:758 +#: js/blocks/GraphicsBlocks.js:1001 +#: js/blocks/GraphicsBlocks.js:1084 +msgid "Value must be within -5000 to 5000 when Wrap Mode is off." +msgstr "当 Wrap Mode 关闭时,值必须在 -5000 到 5000 之间。" + +#: js/blocks/GraphicsBlocks.js:613 +#: js/blocks/GraphicsBlocks.js:760 +#: js/blocks/GraphicsBlocks.js:1003 +#: js/blocks/GraphicsBlocks.js:1086 +msgid "Value must be within -20000 to 20000 when Wrap Mode is on." +msgstr "当 Wrap Mode 开启时,值必须在 -20000 到 20000 之间。" + +#: js/blocks/GraphicsBlocks.js:651 +msgid "set heading" +msgstr "設定標頭" + +#: js/blocks/GraphicsBlocks.js:664 +msgid "The Set heading block sets the heading of the turtle." +msgstr "Set heading 块设置乌龟的朝向。" + +#: js/blocks/GraphicsBlocks.js:724 +msgid "The Set XY block moves the mouse to a specific position on the screen." +msgstr "Set XY 块将鼠标移动到屏幕上的指定位置。" + +#: js/blocks/GraphicsBlocks.js:730 +msgid "The Set XY block moves the turtle to a specific position on the screen." +msgstr "Set XY 块将乌龟移动到屏幕上的指定位置。" + +#: js/blocks/GraphicsBlocks.js:738 +msgid "set xy" +msgstr "指定座標" + +#: js/blocks/GraphicsBlocks.js:810 +msgid "The Right block turns the mouse to the right." +msgstr "Right 块将鼠标向右转。" + +#: js/blocks/GraphicsBlocks.js:817 +msgid "The Right block turns the turtle to the right." +msgstr "Right 块将乌龟向右转。" + +#: js/blocks/GraphicsBlocks.js:826 +msgid "right1" +msgstr "右1" + +#: js/blocks/GraphicsBlocks.js:826 +#: plugins/rodi.rtp:77 +#: plugins/rodi.rtp:340 +#: plugins/rodi.rtp:375 +msgid "right" +msgstr "右轉" + +#: js/blocks/GraphicsBlocks.js:890 +msgid "The Left block turns the mouse to the left." +msgstr "Left 块将鼠标向左转。" + +#: js/blocks/GraphicsBlocks.js:897 +msgid "The Left block turns the turtle to the left." +msgstr "Left 块将乌龟向左转。" + +#: js/blocks/GraphicsBlocks.js:906 +msgid "left1" +msgstr "左1" + +#: js/blocks/GraphicsBlocks.js:906 +#: plugins/rodi.rtp:79 +#: plugins/rodi.rtp:339 +#: plugins/rodi.rtp:362 +msgid "left" +msgstr "左轉" + +#: js/blocks/GraphicsBlocks.js:958 +#: js/widgets/temperament.js:839 +#: js/widgets/temperament.js:1033 +#: plugins/rodi.rtp:69 +#: plugins/rodi.rtp:387 +msgid "back" +msgstr "後退" + +#: js/blocks/GraphicsBlocks.js:967 +msgid "The Back block moves the mouse backward." +msgstr "Back 块使鼠标向后移动。" + +#: js/blocks/GraphicsBlocks.js:974 +msgid "The Back block moves the turtle backward." +msgstr "Back 块使乌龟向后移动。" + +#: js/blocks/GraphicsBlocks.js:1041 +#: plugins/rodi.rtp:71 +#: plugins/rodi.rtp:400 +msgid "forward" +msgstr "前進" + +#: js/blocks/GraphicsBlocks.js:1050 +msgid "The Forward block moves the mouse forward." +msgstr "Forward 块使鼠标向前移动。" + +#: js/blocks/GraphicsBlocks.js:1057 +msgid "The Forward block moves the turtle forward." +msgstr "Forward 块使乌龟向前移动。" + +#: js/blocks/GraphicsBlocks.js:1145 +#: js/blocks/GraphicsBlocks.js:1163 +msgid "wrap" +msgstr "环绕" + +#: js/blocks/MediaBlocks.js:35 +#. TRANS: right side of the screen +msgid "right (screen)" +msgstr "右侧(屏幕)" + +#: js/blocks/MediaBlocks.js:45 +#: js/blocks/MediaBlocks.js:56 +msgid "The Right block returns the position of the right of the canvas." +msgstr "Right 块返回画布右侧的位置。" + +#: js/blocks/MediaBlocks.js:97 +#. TRANS: left side of the screen +msgid "left (screen)" +msgstr "左侧(屏幕)" + +#: js/blocks/MediaBlocks.js:107 +#: js/blocks/MediaBlocks.js:118 +msgid "The Left block returns the position of the left of the canvas." +msgstr "Left 块返回画布左侧的位置。" + +#: js/blocks/MediaBlocks.js:158 +msgid "top (screen)" +msgstr "顶部(屏幕)" + +#: js/blocks/MediaBlocks.js:168 +#: js/blocks/MediaBlocks.js:179 +msgid "The Top block returns the position of the top of the canvas." +msgstr "Top 块返回画布顶部的位置。" + +#: js/blocks/MediaBlocks.js:219 +msgid "bottom (screen)" +msgstr "底部(屏幕)" + +#: js/blocks/MediaBlocks.js:229 +#: js/blocks/MediaBlocks.js:240 +msgid "The Bottom block returns the position of the bottom of the canvas." +msgstr "Bottom 块返回画布底部的位置。" + +#: js/blocks/MediaBlocks.js:282 +msgid "width" +msgstr "宽度" + +#: js/blocks/MediaBlocks.js:291 +msgid "The Width block returns the width of the canvas." +msgstr "Width 块返回画布的宽度。" + +#: js/blocks/MediaBlocks.js:325 +msgid "height" +msgstr "高度" + +#: js/blocks/MediaBlocks.js:334 +msgid "The Height block returns the height of the canvas." +msgstr "Height 块返回画布的高度。" + +#: js/blocks/MediaBlocks.js:369 +#. TRANS: stops playback of an audio recording +msgid "stop play" +msgstr "停止播放" + +#: js/blocks/MediaBlocks.js:404 +#. TRANS: Erases the images and text +msgid "erase media" +msgstr "清除媒体" + +#: js/blocks/MediaBlocks.js:409 +msgid "The Erase Media block erases text and images." +msgstr "Erase Media 块会清除文本和图像。" + +#: js/blocks/MediaBlocks.js:439 +#. TRANS: play an audio recording +msgid "play back" +msgstr "回放" + +#: js/blocks/MediaBlocks.js:487 +msgid "speak" +msgstr "聽我說" + +#: js/blocks/MediaBlocks.js:495 +msgid "The Speak block outputs to the text-to-speech synthesizer" +msgstr "Speak 块输出到文本转语音合成器。" + +#: js/blocks/MediaBlocks.js:546 +msgid "camera" +msgstr "摄像头" + +#: js/blocks/MediaBlocks.js:551 +msgid "The Camera block connects a webcam to the Show block." +msgstr "Camera 块将摄像头连接到 Show 块。" + +#: js/blocks/MediaBlocks.js:574 +msgid "video" +msgstr "视频" + +#: js/blocks/MediaBlocks.js:579 +msgid "The Video block selects video for use with the Show block." +msgstr "Video 块选择用于 Show 块的视频。" + +#: js/blocks/MediaBlocks.js:607 +msgid "The Open file block opens a file for use with the Show block." +msgstr "Open file 块打开一个用于 Show 块的文件。" + +#: js/blocks/MediaBlocks.js:645 +msgid "stop media" +msgstr "停止媒体" + +#: js/blocks/MediaBlocks.js:650 +msgid "The Stop media block stops audio or video playback." +msgstr "Stop media 块停止音频或视频的播放。" + +#: js/blocks/MediaBlocks.js:692 +#: js/blocks/WidgetBlocks.js:182 +#: js/widgets/temperament.js:488 +#: js/widgets/temperament.js:523 +#: js/widgets/temperament.js:582 +#: js/widgets/temperament.js:590 +#: js/widgets/temperament.js:1446 +#: js/widgets/timbre.js:1834 +msgid "frequency" +msgstr "频率" + +#: js/blocks/MediaBlocks.js:692 +#: plugins/rodi.rtp:193 +msgid "duration (MS)" +msgstr "持续时间(毫秒)" + +#: js/blocks/MediaBlocks.js:728 +#. TRANS: translate a note into hertz, e.g., A4 -> 440HZ +msgid "note to frequency" +msgstr "音符转频率" + +#: js/blocks/MediaBlocks.js:736 +msgid "The To frequency block converts a pitch name and octave to Hertz." +msgstr "To frequency 块将音高名称和音阶转换为赫兹。" + +#: js/blocks/MediaBlocks.js:812 +msgid "The Avatar block is used to change the appearance of the mouse." +msgstr "Avatar 块用于更改鼠标的外观。" + +#: js/blocks/MediaBlocks.js:819 +msgid "The Avatar block is used to change the appearance of the turtle." +msgstr "Avatar 块用于更改乌龟的外观。" + +#: js/blocks/MediaBlocks.js:831 +#: js/blocks/MediaBlocks.js:891 +#. TRANS: a media object +msgid "size" +msgstr "大小" + +#: js/blocks/MediaBlocks.js:831 +msgid "image" +msgstr "圖片" + +#: js/blocks/MediaBlocks.js:880 +msgid "The Show block is used to display text or images on the canvas." +msgstr "Show 块用于在画布上显示文本或图像。" + +#: js/blocks/MediaBlocks.js:888 +#. TRANS: show1 is show as in display an image or text on the screen. +msgid "show1" +msgstr "显示1" + +#: js/blocks/MediaBlocks.js:891 +msgid "obj" +msgstr "对象" + +#: js/blocks/MediaBlocks.js:938 +msgid "The Media block is used to import an image." +msgstr "Media 块用于导入图像。" + +#: js/blocks/MediaBlocks.js:973 +msgid "The Text block holds a text string." +msgstr "Text 块包含一段文本字符串。" + +#: js/blocks/PenBlocks.js:30 +msgid "purple" +msgstr "紫色" + +#: js/blocks/PenBlocks.js:48 +#: js/blocks/SensorsBlocks.js:521 +#: plugins/rodi.rtp:219 +msgid "blue" +msgstr "蓝色" + +#: js/blocks/PenBlocks.js:64 +#: js/blocks/SensorsBlocks.js:577 +#: plugins/rodi.rtp:218 +msgid "green" +msgstr "绿色" + +#: js/blocks/PenBlocks.js:80 +msgid "yellow" +msgstr "黄色" + +#: js/blocks/PenBlocks.js:96 +#: plugins/nutrition.rtp:164 +msgid "orange" +msgstr "橘色" + +#: js/blocks/PenBlocks.js:112 +#: js/blocks/SensorsBlocks.js:633 +#: plugins/rodi.rtp:217 +msgid "red" +msgstr "红色" + +#: js/blocks/PenBlocks.js:128 +msgid "white" +msgstr "白色" + +#: js/blocks/PenBlocks.js:144 +msgid "black" +msgstr "黑色" + +#: js/blocks/PenBlocks.js:163 +msgid "begin fill" +msgstr "开始填充" + +#: js/blocks/PenBlocks.js:188 +msgid "end fill" +msgstr "停止填滿" + +#: js/blocks/PenBlocks.js:208 +#: js/blocks/PenBlocks.js:537 +#. TRANS: set the background color +msgid "background" +msgstr "背景" + +#: js/blocks/PenBlocks.js:253 +#: js/turtleactions/DictActions.js:71 +#: js/turtleactions/DictActions.js:138 +#: js/turtleactions/DictActions.js:170 +msgid "grey" +msgstr "灰色" + +#: js/blocks/PenBlocks.js:261 +msgid "The Grey block returns the current pen grey value." +msgstr "Grey 块返回当前画笔的灰度值。" + +#: js/blocks/PenBlocks.js:319 +#: js/turtleactions/DictActions.js:69 +#: js/turtleactions/DictActions.js:136 +#: js/turtleactions/DictActions.js:169 +msgid "shade" +msgstr "形狀" + +#: js/blocks/PenBlocks.js:326 +msgid "The Shade block returns the current pen shade value." +msgstr "Shade 块返回当前画笔的明暗值。" + +#: js/blocks/PenBlocks.js:384 +#: js/turtleactions/DictActions.js:67 +#: js/turtleactions/DictActions.js:134 +#: js/turtleactions/DictActions.js:168 +msgid "color" +msgstr "顏色" + +#: js/blocks/PenBlocks.js:394 +msgid "The Color block returns the current pen color." +msgstr "Color 块返回当前画笔颜色。" + +#: js/blocks/PenBlocks.js:449 +#: js/turtleactions/DictActions.js:73 +#: js/turtleactions/DictActions.js:140 +#: js/turtleactions/DictActions.js:171 +msgid "pen size" +msgstr "畫筆大小" + +#: js/blocks/PenBlocks.js:453 +msgid "The Pen size block returns the current pen size value." +msgstr "Pen size 块返回当前画笔大小的数值。" + +#: js/blocks/PenBlocks.js:492 +msgid "set font" +msgstr "设置字体" + +#: js/blocks/PenBlocks.js:497 +msgid "The Set font block sets the font used by the Show block." +msgstr "Set font 块设置 Show 块使用的字体。" + +#: js/blocks/PenBlocks.js:544 +msgid "The Background block sets the window background color." +msgstr "Background 块设置窗口背景颜色。" + +#: js/blocks/PenBlocks.js:575 +msgid "The Hollow line block creates a line with a hollow center." +msgstr "Hollow line 块创建一条中空的线条。" + +#: js/blocks/PenBlocks.js:583 +#. TRANS: draw a line logo has a hollow space down its center +msgid "hollow line" +msgstr "中空线条" + +#: js/blocks/PenBlocks.js:652 +msgid "The Fill block fills in a shape with a color." +msgstr "Fill 块用颜色填充图形。" + +#: js/blocks/PenBlocks.js:661 +#. TRANS: fill in as a solid color +msgid "fill" +msgstr "填充" + +#: js/blocks/PenBlocks.js:738 +#. TRANS: raise up the pen so logo it does not draw when it is moved +msgid "pen up" +msgstr "提筆" + +#: js/blocks/PenBlocks.js:745 +msgid "The Pen-up block raises the pen so that it does not draw." +msgstr "Pen-up 块抬起画笔,使其不绘图。" + +#: js/blocks/PenBlocks.js:779 +#. TRANS: put down the pen so logo it draws when it is moved +msgid "pen down" +msgstr "落筆" + +#: js/blocks/PenBlocks.js:787 +msgid "The Pen-down block lowers the pen so that it draws." +msgstr "Pen-down 块放下画笔,使其开始绘图。" + +#: js/blocks/PenBlocks.js:821 +#. TRANS: set the width of the line drawn by the pen +msgid "set pen size" +msgstr "設定畫筆大小" + +#: js/blocks/PenBlocks.js:831 +msgid "The Set-pen-size block changes the size of the pen." +msgstr "Set-pen-size 块更改画笔的大小。" + +#: js/blocks/PenBlocks.js:890 +#. TRANS: set degree of translucence of the pen color +msgid "set translucency" +msgstr "设置透明度" + +#: js/blocks/PenBlocks.js:898 +msgid "The Set translucency block changes the opacity of the pen." +msgstr "Set translucency 块更改画笔的不透明度。" + +#: js/blocks/PenBlocks.js:958 +msgid "set hue" +msgstr "设置色相" + +#: js/blocks/PenBlocks.js:966 +msgid "The Set hue block changes the color of the pen." +msgstr "Set hue 块改变画笔的颜色。" + +#: js/blocks/PenBlocks.js:1024 +msgid "set shade" +msgstr "設定填滿顏色" + +#: js/blocks/PenBlocks.js:1034 +msgid "The Set-shade block changes the pen color from dark to light." +msgstr "Set-shade 块改变画笔颜色的明暗度。" + +#: js/blocks/PenBlocks.js:1088 +#. TRANS: set the level of vividness of the pen color +msgid "set grey" +msgstr "设置灰度" + +#: js/blocks/PenBlocks.js:1096 +msgid "The Set grey block changes the vividness of the pen color." +msgstr "Set grey 块改变画笔颜色的鲜艳度。" + +#: js/blocks/PenBlocks.js:1149 +msgid "set color" +msgstr "設定線條顏色" + +#: js/blocks/PenBlocks.js:1159 +msgid "The Set-color block changes the pen color." +msgstr "Set-color 块改变画笔颜色。" + +#: js/blocks/SensorsBlocks.js:36 +msgid "The Input block prompts for keyboard input." +msgstr "Input 块提示键盘输入。" + +#: js/blocks/SensorsBlocks.js:46 +msgid "input" +msgstr "输入" + +#: js/blocks/SensorsBlocks.js:64 +msgid "Input a value" +msgstr "输入一个值" + +#: js/blocks/SensorsBlocks.js:126 +msgid "input value" +msgstr "输入值" + +#: js/blocks/SensorsBlocks.js:131 +msgid "The Input-value block stores the input." +msgstr "Input-value 块存储输入内容。" + +#: js/blocks/SensorsBlocks.js:238 +msgid "loudness" +msgstr "音量" + +#: js/blocks/SensorsBlocks.js:245 +msgid "The Loudness block returns the volume detected by the microphone." +msgstr "Loudness 块返回麦克风检测到的音量。" + +#: js/blocks/SensorsBlocks.js:300 +msgid "click" +msgstr "点击" + +#: js/blocks/SensorsBlocks.js:306 +msgid "The Click block triggers an event if a mouse has been clicked." +msgstr "Click 块在鼠标被点击时触发事件。" + +#: js/blocks/SensorsBlocks.js:313 +msgid "The Click block triggers an event if a turtle has been clicked." +msgstr "Click 块在乌龟被点击时触发事件。" + +#: js/blocks/SensorsBlocks.js:342 +msgid "cursor over" +msgstr "光标悬停" + +#: js/blocks/SensorsBlocks.js:387 +msgid "cursor out" +msgstr "光标移出" + +#: js/blocks/SensorsBlocks.js:433 +msgid "cursor button down" +msgstr "光标按钮按下" + +#: js/blocks/SensorsBlocks.js:477 +msgid "cursor button up" +msgstr "光标按钮抬起" + +#: js/blocks/SensorsBlocks.js:638 +msgid "The Get red block returns the red component of the pixel under the mouse." +msgstr "Get red 块返回鼠标下像素的红色分量。" + +#: js/blocks/SensorsBlocks.js:644 +msgid "The Get red block returns the red component of the pixel under the turtle." +msgstr "Get red 块返回乌龟下方像素的红色分量。" + +#: js/blocks/SensorsBlocks.js:685 +#: plugins/rodi.rtp:216 +msgid "pixel color" +msgstr "像素颜色" + +#: js/blocks/SensorsBlocks.js:690 +msgid "The Get pixel block returns the color of the pixel under the mouse." +msgstr "Get pixel 块返回鼠标下像素的颜色。" + +#: js/blocks/SensorsBlocks.js:696 +msgid "The Get pixel block returns the color of the pixel under the turtle." +msgstr "Get pixel 块返回乌龟下像素的颜色。" + +#: js/blocks/SensorsBlocks.js:759 +msgid "time" +msgstr "時間" + +#: js/blocks/SensorsBlocks.js:805 +msgid "cursor y" +msgstr "光标Y坐标" + +#: js/blocks/SensorsBlocks.js:810 +msgid "The Cursor Y block returns the vertical position of the mouse." +msgstr "Cursor Y 块返回鼠标的垂直位置。" + +#: js/blocks/SensorsBlocks.js:846 +msgid "cursor x" +msgstr "光标X坐标" + +#: js/blocks/SensorsBlocks.js:851 +msgid "The Cursor X block returns the horizontal position of the mouse." +msgstr "Cursor X 块返回鼠标的水平位置。" + +#: js/blocks/SensorsBlocks.js:887 +msgid "mouse button" +msgstr "鼠标按钮" + +#: js/blocks/SensorsBlocks.js:889 +msgid "The Mouse-button block returns True if the mouse button is pressed." +msgstr "Mouse-button 块在鼠标按钮被按下时返回 True。" + +#: js/blocks/SensorsBlocks.js:935 +msgid "to ASCII" +msgstr "转换为 ASCII" + +#: js/blocks/SensorsBlocks.js:939 +msgid "The To ASCII block converts numbers to letters." +msgstr "To ASCII 块将数字转换为字母。" + +#: js/blocks/SensorsBlocks.js:1006 +msgid "The Keyboard block returns computer keyboard input." +msgstr "Keyboard 块返回电脑键盘输入。" + +#: js/blocks/WidgetBlocks.js:81 +#: js/widgets/timbre.js:834 +#. TRANS: sound envelope (ADSR) +msgid "Envelope" +msgstr "包络" + +#: js/blocks/WidgetBlocks.js:89 +#. TRANS: Attack time is the time taken for initial run-up of level from nil to peak, beginning when the key is first pressed. +msgid "attack" +msgstr "起音时间" + +#: js/blocks/WidgetBlocks.js:91 +#. TRANS: Decay time is the time taken for the subsequent run down from the attack level to the designated sustain level. +msgid "decay" +msgstr "衰减时间" + +#: js/blocks/WidgetBlocks.js:93 +#. TRANS: Sustain level is the level during the main sequence of the sound's duration, until the key is released. +msgid "sustain" +msgstr "持续时间" + +#: js/blocks/WidgetBlocks.js:95 +#. TRANS: Release time is the time taken for the level to decay from the sustain level to zero after the key is released. +msgid "release" +msgstr "释放时间" + +#: js/blocks/WidgetBlocks.js:113 +msgid "Attack value should be from 0 to 100." +msgstr "Attack 值应在 0 到 100 之间。" + +#: js/blocks/WidgetBlocks.js:116 +msgid "Decay value should be from 0 to 100." +msgstr "Decay 值应在 0 到 100 之间。" + +#: js/blocks/WidgetBlocks.js:119 +msgid "Sustain value should be from 0 to 100." +msgstr "Sustain 值应在 0 到 100 之间。" + +#: js/blocks/WidgetBlocks.js:122 +msgid "Release value should be from 0-100." +msgstr "Release 值应在 0 到 100 之间。" + +#: js/blocks/WidgetBlocks.js:140 +msgid "You are adding multiple envelope blocks." +msgstr "您正在添加多个包络块。" + +#: js/blocks/WidgetBlocks.js:171 +#: js/widgets/timbre.js:898 +#. TRANS: a filter removes some unwanted components from a signal +msgid "Filter" +msgstr "滤波器" + +#: js/blocks/WidgetBlocks.js:181 +#: js/widgets/timbre.js:1810 +#. TRANS: rolloff is the steepness of a change in frequency. +msgid "rolloff" +msgstr "衰减斜率" + +#: js/blocks/WidgetBlocks.js:213 +#. TRANS: rolloff is the steepness of a change in frequency. +msgid "Rolloff value should be either -12, -24, -48, or -96 decibels/octave." +msgstr "Rolloff 值应为 -12、-24、-48 或 -96 分贝/倍频程。" + +#: js/blocks/WidgetBlocks.js:252 +msgid "The Temperament tool is used to define custom tuning." +msgstr "Temperament 工具用于定义自定义调音。" + +#: js/blocks/WidgetBlocks.js:332 +#: js/blocks/WidgetBlocks.js:1574 +#: js/widgets/sampler.js:501 +msgid "Upload a sample and adjust its pitch center." +msgstr "上传采样并调整其音高中心。" + +#: js/blocks/WidgetBlocks.js:339 +#. TRANS: the speed at music is should be played. +msgid "sampler" +msgstr "采样器" + +#: js/blocks/WidgetBlocks.js:517 +msgid "The Meter block opens a tool to select strong beats for the meter." +msgstr "Meter 块打开一个工具以选择强拍。" + +#: js/blocks/WidgetBlocks.js:573 +msgid "The oscilloscope block opens a tool to visualize waveforms." +msgstr "示波器块打开一个用于可视化波形的工具。" + +#: js/blocks/WidgetBlocks.js:578 +msgid "oscilloscope" +msgstr "示波器" + +#: js/blocks/WidgetBlocks.js:645 +msgid "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale)." +msgstr "Custom mode 块打开一个用于探索音乐调式(音阶中音符间距)的工具。" + +#: js/blocks/WidgetBlocks.js:651 +#. TRANS: musical mode is the pattern of half-steps in an octave, e.g., Major or Minor modes +msgid "custom mode" +msgstr "custom mode" + +#: js/blocks/WidgetBlocks.js:700 +msgid "The Tempo block opens a metronome to visualize the beat." +msgstr "Tempo 块打开节拍器以显示节拍。" + +#: js/blocks/WidgetBlocks.js:762 +msgid "The Arpeggio Widget is used to compose chord sequences." +msgstr "琶音小工具用于编写和弦序列。" + +#: js/blocks/WidgetBlocks.js:837 +msgid "The Pitch drum matrix is used to map pitches to drum sounds." +msgstr "音高鼓矩阵用于将音高映射到鼓声。" + +#: js/blocks/WidgetBlocks.js:842 +#. TRANS: makes a mapping between pitches and drum sounds +msgid "pitch-drum mapper" +msgstr "pitch-drum mapper" + +#: js/blocks/WidgetBlocks.js:891 +msgid "You must have at least one pitch block and one drum block in the matrix." +msgstr "矩阵中必须至少有一个音高块和一个鼓块。" + +#: js/blocks/WidgetBlocks.js:920 +msgid "The Pitch slider tool to is used to generate pitches at selected frequencies." +msgstr "音高滑块工具用于生成选定频率的音高。" + +#: js/blocks/WidgetBlocks.js:925 +#. TRANS: widget to generate pitches using a slider +msgid "pitch slider" +msgstr "音高滑块" + +#: js/blocks/WidgetBlocks.js:977 +msgid "chromatic keyboard" +msgstr "chromatic keyboard" + +#: js/blocks/WidgetBlocks.js:1011 +#: js/blocks/WidgetBlocks.js:1077 +#. TRANS: widget to generate pitches using a slider +msgid "music keyboard" +msgstr "music keyboard" + +#: js/blocks/WidgetBlocks.js:1062 +#: js/blocks/WidgetBlocks.js:1069 +msgid "The Music keyboard block opens a piano keyboard that can be used to create notes." +msgstr "Music keyboard 块打开一个钢琴键盘,可用于创建音符。" + +#: js/blocks/WidgetBlocks.js:1128 +msgid "The Pitch staircase tool to is used to generate pitches from a given ratio." +msgstr "音高阶梯工具用于根据给定比例生成音高。" + +#: js/blocks/WidgetBlocks.js:1135 +#. TRANS: generate a progressive sequence of pitches +msgid "pitch staircase" +msgstr "音高阶梯" + +#: js/blocks/WidgetBlocks.js:1222 +msgid "The Rhythm Maker block opens a tool to create drum machines." +msgstr "Rhythm Maker 块打开一个制作鼓机的工具。" + +#: js/blocks/WidgetBlocks.js:1291 +msgid "G major scale" +msgstr "G大调音阶" + +#: js/blocks/WidgetBlocks.js:1326 +msgid "C major scale" +msgstr "C大调音阶" + +#: js/blocks/WidgetBlocks.js:1366 +msgid "The Phrase Maker block opens a tool to create musical phrases." +msgstr "Phrase Maker 块打开一个创建音乐短语的工具。" + +#: js/blocks/WidgetBlocks.js:1373 +#. TRANS: assigns pitch to a sequence of beats to generate a melody +msgid "phrase maker" +msgstr "短语生成器" + +#: js/blocks/WidgetBlocks.js:1445 +msgid "You must have at least one pitch block and one rhythm block in the matrix." +msgstr "矩阵中必须至少有一个音高块和一个节奏块。" + +#: js/blocks/WidgetBlocks.js:1504 +msgid "The Status block opens a tool for inspecting the status of Music Blocks as it is running." +msgstr "Status 块打开一个工具,用于检查 Music Blocks 运行时的状态。" + +#: js/blocks/WidgetBlocks.js:1581 +#: js/widgets/aiwidget.js:699 +#. TRANS: AI-generated music +msgid "AI Music" +msgstr "AI Music" + +#: js/blocks/VolumeBlocks.js:35 +msgid "synth volume" +msgstr "合成器音量" + +#: js/blocks/VolumeBlocks.js:39 +msgid "The Synth volume block returns the current volume of the current synthesizer." +msgstr "Synth volume 块返回当前合成器的音量。" + +#: js/blocks/VolumeBlocks.js:105 +msgid "master volume" +msgstr "主音量" + +#: js/blocks/VolumeBlocks.js:109 +msgid "The Master volume block returns the master volume." +msgstr "Master volume 块返回主音量。" + +#: js/blocks/VolumeBlocks.js:355 +#: js/blocks/VolumeBlocks.js:524 +msgid "set synth volume" +msgstr "设置合成器音量" + +#: js/blocks/VolumeBlocks.js:362 +#: js/blocks/VolumeBlocks.js:545 +msgid "synth" +msgstr "合成器" + +#: js/blocks/VolumeBlocks.js:403 +#: js/blocks/VolumeBlocks.js:577 +#: js/blocks/VolumeBlocks.js:740 +#: js/turtleactions/VolumeActions.js:173 +msgid "Setting volume to 0." +msgstr "音量设置为0。" + +#: js/blocks/VolumeBlocks.js:440 +msgid "Synth not found" +msgstr "未找到合成器" + +#: js/blocks/VolumeBlocks.js:494 +msgid "set drum volume" +msgstr "设置鼓音量" + +#: js/blocks/VolumeBlocks.js:530 +msgid "The Set synth volume block will change the volume of a particular synth," +msgstr "设置合成器音量模块会改变特定合成器的音量," + +#: js/blocks/VolumeBlocks.js:532 +msgid "eg guitar violin snare drum etc." +msgstr "例如 吉他 小提琴 小军鼓 等等。" + +#: js/blocks/VolumeBlocks.js:534 +msgid "The default volume is 50." +msgstr "默认音量是50。" + +#: js/blocks/VolumeBlocks.js:536 +msgid "The range is 0 for silence to 100 for full volume." +msgstr "范围是0表示静音,100表示最大音量。" + +#: js/blocks/VolumeBlocks.js:597 +msgid "set panning" +msgstr "设置声像" + +#: js/blocks/VolumeBlocks.js:603 +msgid "The Set Panning block sets the panning for all synthesizers." +msgstr "Set Panning 块设置所有合成器的声像。" + +#: js/blocks/VolumeBlocks.js:625 +msgid "Warning: Sound is coming out from only the left or right side." +msgstr "警告:声音仅从左侧或右侧发出。" + +#: js/blocks/VolumeBlocks.js:647 +#: js/blocks/VolumeBlocks.js:695 +msgid "set master volume" +msgstr "设置主音量" + +#: js/blocks/VolumeBlocks.js:653 +msgid "The Set master volume block sets the volume for all synthesizers." +msgstr "Set master volume 块设置所有合成器的音量。" + +#: js/blocks/VolumeBlocks.js:784 +msgid "The Set relative volume block changes the volume of the contained notes." +msgstr "Set relative volume 块改变包含音符的音量。" + +#: js/blocks/VolumeBlocks.js:791 +msgid "set relative volume" +msgstr "设置相对音量" + +#: js/blocks/VolumeBlocks.js:857 +msgid "decrescendo" +msgstr "渐弱" + +#: js/blocks/VolumeBlocks.js:921 +msgid "crescendo" +msgstr "渐强" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "one" +msgstr "一" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "two" +msgstr "二" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "three" +msgstr "三" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "four" +msgstr "四" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "five" +msgstr "五" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "six" +msgstr "六" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "seven" +msgstr "七" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "eight" +msgstr "八" + +#: js/turtleactions/IntervalsActions.js:113 +msgid "nine" +msgstr "九" + +#: js/turtleactions/IntervalsActions.js:120 +#: js/turtleactions/IntervalsActions.js:140 +msgid "below" +msgstr "下方" + +#: js/turtleactions/IntervalsActions.js:124 +msgid "above" +msgstr "上方" + +#: js/turtleactions/IntervalsActions.js:131 +msgid "plus" +msgstr "加" + +#: js/turtleactions/IntervalsActions.js:258 +msgid "Adding missing pitch number 0." +msgstr "添加缺失的音高编号0。" + +#: js/turtleactions/IntervalsActions.js:266 +msgid "Ignoring pitch numbers less than zero or greater than eleven." +msgstr "忽略小于零或大于十一的音高编号。" + +#: js/turtleactions/IntervalsActions.js:272 +msgid "Ignoring duplicate pitch numbers." +msgstr "忽略重复的音高编号。" + +#: js/turtleactions/DictActions.js:75 +#: js/turtleactions/DictActions.js:142 +#: js/turtleactions/DictActions.js:172 +msgid "font" +msgstr "字体" + +#: js/turtleactions/DictActions.js:255 +msgid "Dictionary with this name does not exist" +msgstr "不存在该名称的词典" + +#: js/turtleactions/DictActions.js:259 +msgid "Key with this name does not exist in " +msgstr "" + +#: js/turtleactions/DrumActions.js:227 +msgid "Noise Block: Did you mean to use a Note block?" +msgstr "噪声块:您是否想使用音符块?" + +#: js/turtleactions/ToneActions.js:134 +msgid "Vibrato intensity must be between 1 and 100." +msgstr "震音强度必须在1和100之间" + +#: js/turtleactions/ToneActions.js:139 +msgid "Vibrato rate must be greater than 0." +msgstr "震音率必须大于0" + +#: js/turtleactions/ToneActions.js:192 +#: js/turtleactions/ToneActions.js:265 +#. TRANS: Depth is the intesity of the tremolo or chorus effect. +msgid "Depth is out of range." +msgstr "深度超出范围。" + +#: js/turtleactions/ToneActions.js:301 +msgid "Distortion must be from 0 to 100." +msgstr "失真值必须在0到100之间。" + +#: js/turtleactions/ToneActions.js:332 +#. TRANS: partials components in a harmonic series +msgid "Partial must be greater than or equal to 0." +msgstr "部分必须大于或等于0。" + +#: js/turtleactions/ToneActions.js:378 +#: js/turtleactions/ToneActions.js:417 +#: js/turtleactions/ToneActions.js:456 +#: js/widgets/timbre.js:776 +msgid "Unable to use synth due to existing oscillator" +msgstr "由于存在振荡器,无法使用合成器。" + +#: js/turtleactions/ToneActions.js:388 +#: js/turtleactions/ToneActions.js:427 +msgid "The input cannot be negative." +msgstr "输入不能为负数。" + +#: js/turtleactions/MeterActions.js:101 +#: js/turtleactions/MeterActions.js:139 +msgid "beats per minute must be greater than" +msgstr "每分钟节拍数必须大于" + +#: js/turtleactions/MeterActions.js:111 +#: js/turtleactions/MeterActions.js:149 +msgid "maximum" +msgstr "最大值" + +#: js/turtleactions/MeterActions.js:117 +#: js/turtleactions/MeterActions.js:155 +msgid "beats per minute is" +msgstr "每分钟节拍数是" + +#: js/widgets/help.js:95 +#: js/widgets/help.js:125 +#: js/widgets/help.js:146 +#: js/widgets/help.js:158 +#: js/widgets/help.js:378 +#: js/widgets/help.js:393 +msgid "Take a tour" +msgstr "开始导览" + +#: js/widgets/aiwidget.js:135 +#: js/widgets/aiwidget.js:136 +#: js/widgets/rhythmruler.js:679 +#: js/widgets/rhythmruler.js:680 +#: js/widgets/rhythmruler.js:1856 +#: js/widgets/rhythmruler.js:1857 +#: js/widgets/sampler.js:180 +#: js/widgets/sampler.js:181 +#: js/widgets/tempo.js:78 +#: js/widgets/tempo.js:97 +#: js/widgets/tempo.js:98 +msgid "Pause" +msgstr "暂停" + +#: js/widgets/aiwidget.js:179 +#: js/widgets/sampler.js:225 +msgid "Warning: Sample is bigger than 1MB." +msgstr "警告:样本大于1MB。" + +#: js/widgets/aiwidget.js:538 +msgid "New start block generated" +msgstr "生成了新的开始块" + +#: js/widgets/aiwidget.js:540 +msgid "MIDI loading. This may take some time depending upon the number of notes in the track" +msgstr "MIDI加载中。根据曲目中的音符数量,可能需要一些时间" + +#: js/widgets/aiwidget.js:550 +#: js/widgets/sampler.js:252 +msgid "Upload failed: Sample is not a .wav file." +msgstr "上传失败:样本不是.wav文件。" + +#: js/widgets/aiwidget.js:677 +#: js/widgets/sampler.js:430 +msgid "Save sample" +msgstr "保存样本" + +#: js/widgets/arpeggio.js:241 +msgid "Click in the grid to add steps to the arpeggio." +msgstr "点击网格以添加琶音步骤。" + +#: js/widgets/meterwidget.js:195 +#: js/widgets/meterwidget.js:196 +#: js/widgets/modewidget.js:87 +#: js/widgets/modewidget.js:88 +#: js/widgets/modewidget.js:639 +#: js/widgets/modewidget.js:640 +#: js/widgets/modewidget.js:708 +#: js/widgets/modewidget.js:709 +#: js/widgets/rhythmruler.js:457 +#: js/widgets/rhythmruler.js:1784 +#: js/widgets/rhythmruler.js:1785 +#: js/widgets/rhythmruler.js:1809 +#: js/widgets/rhythmruler.js:1810 +#: js/widgets/temperament.js:2165 +msgid "Play all" +msgstr "全部播放" + +#: js/widgets/meterwidget.js:269 +msgid "Reset" +msgstr "重置" + +#: js/widgets/meterwidget.js:295 +msgid "Click in the circle to select strong beats for the meter." +msgstr "点击圆圈选择强拍。" + +#: js/widgets/modewidget.js:125 +msgid "Rotate counter clockwise" +msgstr "逆时针旋转" + +#: js/widgets/modewidget.js:131 +msgid "Rotate clockwise" +msgstr "顺时针旋转" + +#: js/widgets/modewidget.js:143 +#: js/widgets/pitchstaircase.js:676 +#: js/widgets/rhythmruler.js:578 +#: js/widgets/timbre.js:957 +msgid "Undo" +msgstr "撤销" + +#: js/widgets/modewidget.js:161 +#. TRANS: A circle of notes represents the musical mode. +msgid "Click in the circle to select notes for the mode." +msgstr "点击圆圈选择调式音符。" + +#: js/widgets/modewidget.js:1011 +#: js/widgets/musickeyboard.js:3210 +#: js/widgets/pitchstaircase.js:578 +#: js/widgets/rhythmruler.js:2244 +#: js/widgets/rhythmruler.js:2462 +#: js/widgets/temperament.js:1862 +#: js/widgets/tempo.js:412 +#: js/widgets/phrasemaker.js:5467 +msgid "New action block generated." +msgstr "生成了新的动作块。" + +#: js/widgets/musickeyboard.js:743 +#: js/widgets/phrasemaker.js:595 +msgid "Add note" +msgstr "添加音符" + +#: js/widgets/musickeyboard.js:762 +msgid "Metronome" +msgstr "节拍器" + +#: js/widgets/musickeyboard.js:1574 +msgid "Note value" +msgstr "音符值" + +#: js/widgets/musickeyboard.js:3209 +msgid "New action blocks generated." +msgstr "生成了新的动作块。" + +#: js/widgets/musickeyboard.js:3393 +#: js/widgets/musickeyboard.js:3401 +msgid "MIDI device present." +msgstr "检测到MIDI设备。" + +#: js/widgets/musickeyboard.js:3404 +msgid "No MIDI device found." +msgstr "未找到MIDI设备。" + +#: js/widgets/musickeyboard.js:3414 +msgid "Failed to get MIDI access in browser." +msgstr "浏览器中获取MIDI访问失败。" + +#: js/widgets/pitchdrummatrix.js:356 +#: js/widgets/pitchdrummatrix.js:741 +msgid "Click in the grid to map notes to drums." +msgstr "点击网格将音符映射到鼓声。" + +#: js/widgets/pitchslider.js:103 +msgid "Move up" +msgstr "向上移动" + +#: js/widgets/pitchslider.js:114 +msgid "Move down" +msgstr "向下移动" + +#: js/widgets/pitchslider.js:136 +msgid "Click on the slider to create a note block." +msgstr "点击滑块以创建音符块。" + +#: js/widgets/pitchstaircase.js:622 +msgid "Play chord" +msgstr "播放和弦" + +#: js/widgets/pitchstaircase.js:630 +msgid "Play scale" +msgstr "播放音阶" + +#: js/widgets/pitchstaircase.js:694 +msgid "Click on a note to create a new step." +msgstr "点击音符以创建新步骤。" + +#: js/widgets/rhythmruler.js:486 +msgid "Save rhythms" +msgstr "保存节奏" + +#: js/widgets/rhythmruler.js:512 +msgid "Save drum machine" +msgstr "保存鼓机" + +#: js/widgets/rhythmruler.js:589 +#. TRANS: user can tap out a rhythm by clicking on a ruler. +msgid "Tap a rhythm" +msgstr "敲击节奏" + +#: js/widgets/rhythmruler.js:813 +msgid "Click on the ruler to divide it." +msgstr "点击刻度尺进行分割。" + +#: js/widgets/rhythmruler.js:947 +#: js/widgets/rhythmruler.js:948 +#: js/widgets/rhythmruler.js:1148 +#: js/widgets/rhythmruler.js:1149 +#: js/widgets/rhythmruler.js:1760 +#: js/widgets/rhythmruler.js:1761 +msgid "tap a rhythm" +msgstr "敲击节奏" + +#: js/widgets/rhythmruler.js:1453 +msgid "Maximum value of 256 has been exceeded." +msgstr "已超过最大值256。" + +#: js/widgets/sampler.js:235 +msgid "Recording started" +msgstr "录音开始" + +#: js/widgets/sampler.js:243 +msgid "Recording complete" +msgstr "录音完成" + +#: js/widgets/sampler.js:281 +msgid "A new sample block was generated." +msgstr "生成了新的采样块。" + +#: js/widgets/sampler.js:376 +msgid "Upload sample" +msgstr "上传采样" + +#: js/widgets/sampler.js:397 +msgid "Warning: Your sample cannot be loaded because it is >1MB." +msgstr "警告:您的采样无法加载,因为文件大于1MB。" + +#: js/widgets/sampler.js:446 +msgid "Toggle Mic" +msgstr "切换麦克风" + +#: js/widgets/sampler.js:453 +msgid "Playback" +msgstr "播放" + +#: js/widgets/sampler.js:933 +#. TRANS: The reference tone is a sound used for comparison. +msgid "reference tone" +msgstr "参考音" + +#: js/widgets/temperament.js:319 +msgid "back to 2:1 octave space" +msgstr "返回到2:1倍频程间距" + +#: js/widgets/temperament.js:445 +msgid "edit" +msgstr "编辑" + +#: js/widgets/temperament.js:525 +#: js/widgets/temperament.js:840 +#: js/widgets/temperament.js:844 +#: js/widgets/temperament.js:945 +#: js/widgets/temperament.js:1034 +#: js/widgets/temperament.js:1038 +#: js/widgets/temperament.js:1110 +#: js/widgets/temperament.js:1379 +#: js/widgets/temperament.js:1448 +#: js/widgets/temperament.js:1529 +msgid "done" +msgstr "完成" + +#: js/widgets/temperament.js:582 +#: js/widgets/temperament.js:587 +#: js/widgets/temperament.js:1021 +msgid "ratio" +msgstr "比率" + +#: js/widgets/temperament.js:588 +msgid "interval" +msgstr "音程" + +#: js/widgets/temperament.js:716 +msgid "non scalar" +msgstr "非标量" + +#: js/widgets/temperament.js:757 +msgid "ratios" +msgstr "比率" + +#: js/widgets/temperament.js:757 +msgid "arbitrary" +msgstr "任意" + +#: js/widgets/temperament.js:828 +msgid "number of divisions" +msgstr "分割数量" + +#: js/widgets/temperament.js:843 +#: js/widgets/temperament.js:958 +#: js/widgets/temperament.js:1037 +#: js/widgets/temperament.js:1128 +msgid "preview" +msgstr "预览" + +#: js/widgets/temperament.js:888 +msgid "The Number of divisions is too large." +msgstr "分割数量过大。" + +#: js/widgets/temperament.js:1023 +msgid "recursion" +msgstr "递归" + +#: js/widgets/temperament.js:1549 +msgid "The octave ratio has changed. This changes temperament significantly." +msgstr "倍频比已更改,这会显著改变音律。" + +#: js/widgets/temperament.js:2177 +msgid "Table" +msgstr "表格" + +#: js/widgets/temperament.js:2285 +msgid "Add pitches" +msgstr "添加音高" + +#: js/widgets/tempo.js:111 +msgid "Save tempo" +msgstr "保存节奏" + +#: js/widgets/tempo.js:142 +msgid "speed up" +msgstr "加快速度" + +#: js/widgets/tempo.js:148 +msgid "slow down" +msgstr "减慢速度" + +#: js/widgets/tempo.js:192 +msgid "Adjust the tempo with the buttons." +msgstr "使用按钮调整节奏。" + +#: js/widgets/tempo.js:259 +msgid "Please enter a number between 30 and 1000" +msgstr "请输入30到1000之间的数字" + +#: js/widgets/tempo.js:266 +#: js/widgets/tempo.js:269 +msgid "The beats per minute must be between 30 and 1000." +msgstr "每分钟节拍数必须在30到1000之间。" + +#: js/widgets/tempo.js:285 +msgid "The beats per minute must be below 1000." +msgstr "每分钟节拍数必须低于1000。" + +#: js/widgets/tempo.js:301 +msgid "The beats per minute must be above 30" +msgstr "每分钟节拍数必须高于30" + +#: js/widgets/timbre.js:760 +msgid "Synthesizer" +msgstr "合成器" + +#: js/widgets/timbre.js:880 +#: planet/js/GlobalTag.js:50 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Effects" +msgstr "效果" + +#: js/widgets/timbre.js:940 +msgid "Add filter" +msgstr "添加滤波器" + +#: js/widgets/timbre.js:981 +msgid "Click on buttons to open the timbre design tools." +msgstr "点击按钮打开音色设计工具。" + +#: js/widgets/timbre.js:1265 +msgid "harmonicity" +msgstr "谐波性" + +#: js/widgets/timbre.js:1332 +#: js/widgets/timbre.js:1398 +msgid "modulation index" +msgstr "调制指数" + +#: js/widgets/timbre.js:1476 +msgid "vibrato amount" +msgstr "颤音量" + +#: js/widgets/timbre.js:1911 +msgid "Filter already present." +msgstr "滤波器已存在。" + +#: js/widgets/timbre.js:2495 +msgid "distortion amount" +msgstr "失真量" + +#: js/widgets/oscilloscope.js:79 +msgid "Zoom In" +msgstr "放大" + +#: js/widgets/oscilloscope.js:88 +msgid "Zoom Out" +msgstr "缩小" + +#: js/widgets/phrasemaker.js:585 +msgid "Export" +msgstr "导出" + +#: js/widgets/phrasemaker.js:592 +msgid "Sort" +msgstr "排序" + +#: js/widgets/phrasemaker.js:1061 +msgid "Click on the table to add notes." +msgstr "点击表格添加音符。" + +#: js/widgets/phrasemaker.js:2755 +#: js/widgets/phrasemaker.js:2891 +msgid "tuplet value" +msgstr "复音值" + +#: planet/js/GlobalCard.js:68 +msgid "Share" +msgstr "分享" + +#: planet/js/GlobalCard.js:74 +msgid "Flags" +msgstr "标志" + +#: planet/js/GlobalPlanet.js:35 +msgid "No results found." +msgstr "未找到结果。" + +#: planet/js/GlobalPlanet.js:51 +msgid "Remix of" +msgstr "混音自" + +#: planet/js/GlobalPlanet.js:509 +msgid "Cannot connect to server" +msgstr "无法连接到服务器" + +#: planet/js/GlobalTag.js:28 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "All Projects" +msgstr "所有项目" + +#: planet/js/GlobalTag.js:30 +#: planet/js/StringHelper.js:37 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "My Projects" +msgstr "我的项目" + +#: planet/js/GlobalTag.js:32 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Examples" +msgstr "示例" + +#: planet/js/GlobalTag.js:36 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Art" +msgstr "艺术" + +#: planet/js/GlobalTag.js:38 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Math" +msgstr "数学" + +#: planet/js/GlobalTag.js:40 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Interactive" +msgstr "互动" + +#: planet/js/GlobalTag.js:42 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Design" +msgstr "设计" + +#: planet/js/GlobalTag.js:44 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Game" +msgstr "游戏" + +#: planet/js/GlobalTag.js:52 +#. TRANS: On the Planet, we use labels to tag projects. +msgid "Code Snippet" +msgstr "代码片段" + +#: planet/js/LocalCard.js:36 +msgid "View published project" +msgstr "查看已发布项目" + +#: planet/js/LocalCard.js:42 +#: planet/js/StringHelper.js:38 +msgid "Publish project" +msgstr "发布项目" + +#: planet/js/LocalCard.js:51 +msgid "Edit project" +msgstr "编辑项目" + +#: planet/js/LocalCard.js:52 +msgid "Delete project" +msgstr "删除项目" + +#: planet/js/LocalCard.js:53 +msgid "Download project" +msgstr "下载项目" + +#: planet/js/LocalCard.js:55 +msgid "Duplicate project" +msgstr "复制项目" + +#: planet/js/ProjectStorage.js:243 +msgid "anonymous" +msgstr "匿名" + +#: planet/js/ProjectViewer.js:30 +msgid "Error: Report could not be submitted. Try again later." +msgstr "错误:无法提交报告。请稍后再试。" + +#: planet/js/ProjectViewer.js:31 +msgid "Thank you for reporting this project. A moderator will review the project shortly, to verify violation of the Sugar Labs Code of Conduct." +msgstr "感谢您举报此项目。版主将很快审核该项目,以确认是否违反了 Sugar Labs 行为准则。" + +#: planet/js/ProjectViewer.js:32 +#: planet/js/StringHelper.js:62 +#: planet/js/StringHelper.js:64 +#: planet/js/StringHelper.js:68 +msgid "Report Project" +msgstr "举报项目" + +#: planet/js/ProjectViewer.js:33 +#: planet/js/StringHelper.js:63 +msgid "Project Reported" +msgstr "项目已被举报" + +#: planet/js/ProjectViewer.js:34 +msgid "Report description required" +msgstr "必须填写举报描述" + +#: planet/js/ProjectViewer.js:35 +msgid "Report description too long" +msgstr "举报描述过长" + +#: planet/js/Publisher.js:30 +msgid "Feature unavailable - cannot connect to server. Reload Music Blocks to try again." +msgstr "功能不可用 - 无法连接到服务器。请重新加载 Music Blocks 再试一次。" + +#: planet/js/Publisher.js:220 +#: planet/js/Publisher.js:237 +msgid "This field is required" +msgstr "此字段为必填项" + +#: planet/js/Publisher.js:227 +msgid "Title too long" +msgstr "标题过长" + +#: planet/js/Publisher.js:244 +msgid "Description too long" +msgstr "描述过长" + +#: planet/js/Publisher.js:341 +msgid "Server Error" +msgstr "服务器错误" + +#: planet/js/Publisher.js:341 +msgid "Try Again" +msgstr "重试" + +#: planet/js/SaveInterface.js:34 +msgid "Open in Music Blocks" +msgstr "在 Music Blocks 中打开" + +#: planet/js/SaveInterface.js:35 +msgid "Open in Turtle Blocks" +msgstr "在 Turtle Blocks 中打开" + +#: planet/js/helper.js:149 +#: planet/js/StringHelper.js:49 +msgid "Show more tags" +msgstr "显示更多标签" + +#: planet/js/helper.js:150 +msgid "Show fewer tags" +msgstr "显示较少标签" + +#: planet/js/StringHelper.js:30 +msgid "Planet" +msgstr "星球" + +#: planet/js/StringHelper.js:31 +msgid "Close Planet" +msgstr "关闭星球" + +#: planet/js/StringHelper.js:32 +msgid "Open project from file" +msgstr "从文件打开项目" + +#: planet/js/StringHelper.js:34 +msgid "Local" +msgstr "本地" + +#: planet/js/StringHelper.js:35 +msgid "Global" +msgstr "全局" + +#: planet/js/StringHelper.js:36 +msgid "Search for a project" +msgstr "搜索项目" + +#: planet/js/StringHelper.js:40 +msgid "Tags (max 5)" +msgstr "标签(最多 5 个)" + +#: planet/js/StringHelper.js:41 +#: planet/js/StringHelper.js:61 +msgid "Description" +msgstr "描述" + +#: planet/js/StringHelper.js:42 +#: planet/js/StringHelper.js:67 +msgid "Submit" +msgstr "提交" + +#: planet/js/StringHelper.js:43 +#: planet/js/StringHelper.js:47 +msgid "Cancel" +msgstr "取消" + +#: planet/js/StringHelper.js:44 +msgid "Delete \\"\\"?" +msgstr "" + +#: planet/js/StringHelper.js:45 +msgid "Permanently delete project \\"\\"?" +msgstr "" + +#: planet/js/StringHelper.js:48 +msgid "Explore Projects" +msgstr "探索项目" + +#: planet/js/StringHelper.js:50 +msgid "Most recent" +msgstr "最新" + +#: planet/js/StringHelper.js:51 +msgid "Most liked" +msgstr "最受喜爱" + +#: planet/js/StringHelper.js:52 +msgid "Most downloaded" +msgstr "下载最多" + +#: planet/js/StringHelper.js:53 +msgid "A-Z" +msgstr "按字母排序" + +#: planet/js/StringHelper.js:54 +msgid "Sort by" +msgstr "排序方式" + +#: planet/js/StringHelper.js:55 +msgid "Load More Projects" +msgstr "加载更多项目" + +#: planet/js/StringHelper.js:56 +msgid "Last Updated" +msgstr "最后更新" + +#: planet/js/StringHelper.js:57 +msgid "Creation Date" +msgstr "创建日期" + +#: planet/js/StringHelper.js:58 +msgid "Number of Downloads:" +msgstr "下载次数:" + +#: planet/js/StringHelper.js:59 +msgid "Number of Likes:" +msgstr "点赞数:" + +#: planet/js/StringHelper.js:60 +msgid "Tags:" +msgstr "标签:" + +#: planet/js/StringHelper.js:65 +msgid "Report projects which violate the Sugar Labs Code of Conduct." +msgstr "" + +#: planet/js/StringHelper.js:66 +msgid "Reason for reporting project" +msgstr "举报项目原因" + +#: planet/js/StringHelper.js:70 +msgid "Download as File" +msgstr "下载为文件" + +#: plugins/accelerometer.rtp:48 +msgid "motion x" +msgstr "运动 x" + +#: plugins/accelerometer.rtp:56 +msgid "motion y" +msgstr "运动 y" + +#: plugins/accelerometer.rtp:64 +msgid "motion z" +msgstr "运动 z" + +#: plugins/facebook.rtp:27 +msgid "publish" +msgstr "发布" + +#: plugins/maths.rtp:62 +msgid "power" +msgstr "乘方" + +#: plugins/maths.rtp:62 +msgid "base" +msgstr "底数" + +#: plugins/maths.rtp:62 +msgid "exp" +msgstr "指数" + +#: plugins/maths.rtp:99 +msgid "floor" +msgstr "向下取整" + +#: plugins/maths.rtp:104 +msgid "ceiling" +msgstr "向上取整" + +#: plugins/maths.rtp:109 +msgid "to degrees" +msgstr "转为角度" + +#: plugins/maths.rtp:114 +msgid "to radians" +msgstr "转为弧度" + +#: plugins/nutrition.rtp:104 +msgid "get calories" +msgstr "获取卡路里" + +#: plugins/nutrition.rtp:107 +msgid "get protein" +msgstr "获取蛋白质" + +#: plugins/nutrition.rtp:110 +msgid "get carbs" +msgstr "获取碳水化合物" + +#: plugins/nutrition.rtp:113 +msgid "get fiber" +msgstr "获取纤维" + +#: plugins/nutrition.rtp:116 +msgid "get fat" +msgstr "获取脂肪" + +#: plugins/nutrition.rtp:119 +msgid "get name" +msgstr "获取名称" + +#: plugins/nutrition.rtp:122 +msgid "calories" +msgstr "卡路里" + +#: plugins/nutrition.rtp:128 +msgid "protein" +msgstr "蛋白质" + +#: plugins/nutrition.rtp:134 +msgid "carbs" +msgstr "碳水化合物" + +#: plugins/nutrition.rtp:140 +msgid "fiber" +msgstr "纤维" + +#: plugins/nutrition.rtp:146 +msgid "fat" +msgstr "脂肪" + +#: plugins/nutrition.rtp:152 +msgid "eat" +msgstr "吃" + +#: plugins/nutrition.rtp:155 +msgid "digest meal" +msgstr "消化餐食" + +#: plugins/nutrition.rtp:158 +msgid "apple" +msgstr "苹果" + +#: plugins/nutrition.rtp:161 +msgid "banana" +msgstr "香蕉" + +#: plugins/nutrition.rtp:167 +msgid "wheat bread" +msgstr "全麦面包" + +#: plugins/nutrition.rtp:170 +msgid "corn" +msgstr "玉米" + +#: plugins/nutrition.rtp:173 +msgid "potato" +msgstr "土豆" + +#: plugins/nutrition.rtp:176 +msgid "sweet potato" +msgstr "红薯" + +#: plugins/nutrition.rtp:179 +msgid "tomato" +msgstr "番茄" + +#: plugins/nutrition.rtp:182 +msgid "broccoli" +msgstr "西兰花" + +#: plugins/nutrition.rtp:185 +msgid "rice and beans" +msgstr "米饭和豆子" + +#: plugins/nutrition.rtp:188 +msgid "tamale" +msgstr "塔玛莱" + +#: plugins/nutrition.rtp:191 +msgid "cheese" +msgstr "奶酪" + +#: plugins/nutrition.rtp:194 +msgid "chicken" +msgstr "鸡肉" + +#: plugins/nutrition.rtp:197 +msgid "fish" +msgstr "鱼" + +#: plugins/nutrition.rtp:200 +msgid "beef" +msgstr "牛肉" + +#: plugins/nutrition.rtp:203 +msgid "cake" +msgstr "蛋糕" + +#: plugins/nutrition.rtp:206 +msgid "cookie" +msgstr "饼干" + +#: plugins/nutrition.rtp:209 +msgid "water" +msgstr "水" + +#: plugins/weather.rtp:68 +#: plugins/weather.rtp:97 +msgid "Days ahead must be in the range of -1 to 5." +msgstr "" + +#: plugins/weather.rtp:122 +msgid "forecast" +msgstr "天气预报" + +#: plugins/weather.rtp:123 +#: plugins/weather.rtp:137 +#: plugins/weather.rtp:150 +msgid "city" +msgstr "城市" + +#: plugins/weather.rtp:124 +#: plugins/weather.rtp:138 +#: plugins/weather.rtp:151 +msgid "day" +msgstr "天" + +#: plugins/weather.rtp:136 +msgid "high" +msgstr "高" + +#: plugins/weather.rtp:149 +msgid "low" +msgstr "低" + +#: plugins/rodi.rtp:172 +msgid "blink" +msgstr "闪烁" + +#: plugins/rodi.rtp:246 +msgid "led" +msgstr "LED" + +#: plugins/rodi.rtp:265 +msgid "light intensity" +msgstr "光照强度" + +#: plugins/rodi.rtp:282 +msgid "infrared light (left)" +msgstr "红外光(左)" + +#: plugins/rodi.rtp:296 +msgid "infrared light (right)" +msgstr "红外光(右)" + +#: plugins/rodi.rtp:338 +msgid "move" +msgstr "移动" + +#: js/activity.js:3323 + +#~ msgid "Nothing in the trash to restore." +#~ msgstr "" + +#: js/turtledefs.js:584 + +#~ msgid "Save audio from your project as WAV." +#~ msgstr "" + +#: js/turtledefs.js:588 + +#~ msgid "Save your project to as an ABC file." +#~ msgstr "" + +#: js/turtledefs.js:592 + +#~ msgid "Save your project to as a Lilypond file." +#~ msgstr "" + +#: js/turtledefs.js:620 + +#~ msgid "Show or hide a coordinate grid." +#~ msgstr "" + +#: js/turtledefs.js:649 + +#~ msgid "Expand/collapse collapsable blocks" +#~ msgstr "" + +#: js/turtledefs.js:752 + +#~ msgid "Show these messages." +#~ msgstr "" + +#: js/rubrics.js:531 + +#: js/turtledefs.js:136 + +#: js/turtledefs.js:237 + +#~ msgid "sensors" +#~ msgstr "" + +#: js/rubrics.js:532 + +#: js/turtledefs.js:135 + +#: js/turtledefs.js:236 + +#: js/blocks/MediaBlocks.js:930 + +#~ msgid "media" +#~ msgstr "" + +#: js/block-verbose.js:3837 + +#: js/block-verbose.js:3850 + +#: js/block.js:3758 + +#: js/block.js:3771 + +#: js/blocks/ExtrasBlocks.js:623 + +#~ msgid "Cartesian+polar" +#~ msgstr "" + +#: js/blocks.js:5091 + +#: js/blocks/MediaBlocks.js:888 + +#~ msgid "show" +#~ msgstr "顯示" + +#: js/activity.js:5680 + +#~ msgid "Show/hide block" +#~ msgstr "" + +#: js/palette.js:619 + +#~ msgid "grid" +#~ msgstr "" + +#: js/piemenus.js:3854 + +#~ msgid "You have chosen key " +#~ msgstr "" + +#: js/piemenus.js:3858 + +#~ msgid " for your pitch preview." +#~ msgstr "" + +#: js/toolbar.js:113 + +#: js/toolbar.js:114 + +#: js/toolbar.js:178 + +#: js/toolbar.js:179 + +#: js/toolbar.js:234 + +#: js/toolbar.js:235 + +#~ msgid "Full Screen" +#~ msgstr "" + +#: js/toolbar.js:1060 + +#~ msgid "New Project" +#~ msgstr "" + +#: js/turtledefs.js:185 + +#: js/turtledefs.js:280 + +#~ msgid "music" +#~ msgstr "" + +#: js/turtledefs.js:548 + +#: js/turtledefs.js:569 + +#~ msgid "save" +#~ msgstr "" + +#: js/turtledefs.js:625 + +#: js/turtles.js:953 + +#~ msgid "Clean" +#~ msgstr "清除畫面" + +#: js/turtledefs.js:675 + +#~ msgid "Run slow" +#~ msgstr "" + +#: js/turtles.js:900 + +#~ msgid "Clear Workspace" +#~ msgstr "" + +#: js/turtles.js:905 + +#~ msgid "Are you sure you want to clear the workspace ?" +#~ msgstr "" + +#: js/utils/musicutils.js:1176 + +#~ msgid "meantone" +#~ msgstr "" + +#: js/utils/musicutils.js:1582 + +#~ msgid "Custom" +#~ msgstr "" + +#: js/blocks/ExtrasBlocks.js:274 + +#~ msgid "hide blocks" +#~ msgstr "隱藏區塊" + +#: js/blocks/FlowBlocks.js:136 + +#~ msgid "duplicate" +#~ msgstr "" + +#: js/blocks/FlowBlocks.js:604 + +#: js/widgets/timbre.js:417 + +#: js/widgets/timbre.js:419 + +#: js/widgets/phrasemaker.js:4202 + +#: js/widgets/musickeyboard.js:819 + +#: js/widgets/musickeyboard.js:821 + +#: plugins/rodi.rtp:29 + +#: plugins/rodi.rtp:73 + +#: plugins/rodi.rtp:413 + +#~ msgid "stop" +#~ msgstr "停止" + +#: js/blocks/MediaBlocks.js:692 + +#~ msgid "duration (ms)" +#~ msgstr "" + +#: js/blocks/GraphicsBlocks.js:373 + +#: js/widgets/temperament.js:319 + +#: js/widgets/temperament.js:347 + +#~ msgid "clear" +#~ msgstr "" + +#: js/blocks/PitchBlocks.js:929 + +#~ msgid "invert" +#~ msgstr "" + +#: js/blocks/PitchBlocks.js:1706 + +#~ msgid "n^th Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode," +#~ msgstr "" + +#: js/blocks/PitchBlocks.js:1749 + +#~ msgid "N^th Modal Pitch takes a number as an input as the n^th degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc." +#~ msgstr "" + +#: js/blocks/ToneBlocks.js:34 + +#~ msgid "oscillator" +#~ msgstr "" + +#: js/blocks/ToneBlocks.js:630 + +#~ msgid "delay" +#~ msgstr "" + +#: js/blocks/WidgetBlocks.js:81 + +#~ msgid "envelope" +#~ msgstr "" + +#: js/blocks/WidgetBlocks.js:171 + +#~ msgid "filter" +#~ msgstr "" + +#: js/blocks/WidgetBlocks.js:1580 + +#~ msgid "aimusic" +#~ msgstr "" + +#: js/turtleactions/IntervalsActions.js:119 + +#~ msgid "a" +#~ msgstr "" + +#: js/turtleactions/IntervalsActions.js:139 + +#~ msgid " below" +#~ msgstr "" + +#: js/widgets/modewidget.js:1017 + +#: js/widgets/pitchstaircase.js:580 + +#: js/widgets/tempo.js:414 + +#: js/widgets/phrasemaker.js:5356 + +#: js/widgets/rhythmruler.js:2254 + +#: js/widgets/rhythmruler.js:2472 + +#: js/widgets/temperament.js:1929 + +#~ msgid "New action block generated!" +#~ msgstr "" + +#: js/widgets/sampler.js:237 + +#~ msgid "Recording started..." +#~ msgstr "" + +#: js/widgets/sampler.js:245 + +#~ msgid "Recording complete..." +#~ msgstr "" + +#: js/widgets/musickeyboard.js:1549 + +#: plugins/rodi.rtp:193 + +#~ msgid "duration" +#~ msgstr "時間長度" + +#: js/widgets/temperament.js:454 + +#: js/widgets/temperament.js:456 + +#: js/widgets/temperament.js:1493 + +#: js/widgets/temperament.js:1495 + +#~ msgid "close" +#~ msgstr "" + +#: planet/js/StringHelper.js:38 + +#~ msgid "Publish Project" +#~ msgstr "" + +#: plugins/rodi.rtp:191 + +#~ msgid "play" +#~ msgstr "" + +#: js/notation.js:353 + +#~ msgid "Lilypond cannot process pickup of " +#~ msgstr "" + +#: js/activity.js:1413 + +#~ msgid "Refresh your browser to change to advanced mode." +#~ msgstr "" + +#: js/activity.js:1418 + +#~ msgid "Refresh your browser to change to beginner mode." +#~ msgstr "" + +#: js/widgets/musickeyboard.js:3179 + +#~ msgid "New action blocks generated" +#~ msgstr "" + +#: js/widgets/musickeyboard.js:3180 + +#~ msgid "New action block generated" +#~ msgstr "" + +#: js/toolbar.js:70 + +#: js/toolbar.js:130 + +#: js/toolbar.js:194 + +#: js/toolbar.js:249 + +#~ msgid "Toggle JavaScript Editor" +#~ msgstr "" + +#: js/EnsembleBlocks.js:643 + +#~ msgid "The Turrle pitch block returns the current pitch number being played by the specified turtle." +#~ msgstr "" + +#: js/PitchActions.js:88 + +#~ msgid "The Scalar Step Block must be used inside of a Note Block." +#~ msgstr "" + +#: js/PitchActions.js:107 + +#~ msgid "The Scalar Step Block must be preceded by a Pitch Block." +#~ msgstr "" + +#: js/musickeyboard.js:2840 + +#~ msgid "New action blocks generated!" +#~ msgstr "" + +#: js/toolbar.js:110 + +#: js/toolbar.js:204 + +#~ msgid "FullScreen" +#~ msgstr "" + +#: js/turtledefs.js:506 + +#~ msgid "Toggle full screen mode." +#~ msgstr "" + +#: js/RhythmBlockPaletteBlocks.js:386 + +#~ msgid "The Tuplet block is used to generate a group of notes played in a condensed amount of time." +#~ msgstr "" + +#: js/RhythmBlockPaletteBlocks.js:601 + +#~ msgid "Using tuplets makes it easy to create groups of notes that are not based on a power of 2." +#~ msgstr "" + +#: js/IntervalsBlocks.js:43 + +#~ msgid "The Set temperament block is used to choose the tuning system used by Music Blocks." +#~ msgstr "" + +#: js/IntervalsBlocks.js:175 + +#~ msgid "The Interval number block returns the number of scalar steps in the current interval." +#~ msgstr "" + +#: js/IntervalsBlocks.js:203 + +#~ msgid "The Semi-tone interval block measures the distance between two notes in semi-tones." +#~ msgstr "" + +#: js/IntervalsBlocks.js:484 + +#~ msgid "The Semi-tone interval block calculates a relative interval based on half steps." +#~ msgstr "" + +#: js/IntervalsBlocks.js:522 + +#~ msgid "The Arpeggio block will run each note block multiple times, adding a transposition based on the specified chord." +#~ msgstr "" + +#: js/IntervalsBlocks.js:811 + +#~ msgid "The Scalar interval block calculates a relative interval based on the current mode, skipping all notes outside of the mode." +#~ msgstr "" + +#: js/IntervalsBlocks.js:845 + +#~ msgid "The Define mode block allows you define a custom mode by specifiying pitch numbers." +#~ msgstr "" + +#: js/IntervalsBlocks.js:894 + +#~ msgid "When Movable do is false, the solfege note names are always tied to specific pitches," +#~ msgstr "" + +#: js/IntervalsBlocks.js:896 + +#~ msgid "eg \"do\" is always \"C-natural\" when Movable do is true, the solfege note names are assigned to scale degrees \"do\" is always the first degree of the major scale." +#~ msgstr "" + +#: js/ActionBlocks.js:750 + +#~ msgid "The Action block is used to group together blocks so that they can be used more than once." +#~ msgstr "" + +#: js/BooleanBlocks.js:188 + +#~ msgid "The Greater-than block returns True if the top number is greater than the bottom number." +#~ msgstr "" + +#: js/BooleanBlocks.js:237 + +#~ msgid "The Less-than block returns True if the top number is less than the bottom number." +#~ msgstr "" + +#: js/MediaBlocks.js:34 + +#: js/MediaBlocks.js:72 + +#~ msgid "In this example, the mouse moves right until it reaches the right edge of the canvas; then it reappears at the left of the canvas." +#~ msgstr "" + +#: js/MediaBlocks.js:43 + +#: js/MediaBlocks.js:81 + +#~ msgid "In this example, the turtle moves right until it reaches the right edge of the canvas; then it reappears at the left of the canvas." +#~ msgstr "" + +#: js/MediaBlocks.js:112 + +#: js/MediaBlocks.js:150 + +#~ msgid "In this example, the mouse moves upward until it reaches the top edge of the canvas; then it reappears at the bottom of the canvas." +#~ msgstr "" + +#: js/MediaBlocks.js:121 + +#: js/MediaBlocks.js:159 + +#~ msgid "In this example, the turtle moves upward until it reaches the top edge of the canvas; then it reappears at the bottom of the canvas." +#~ msgstr "" + +#: js/MediaBlocks.js:579 + +#~ msgid "video material" +#~ msgstr "" + +#: js/ProgramBlocks.js:581 + +#~ msgid "The Run block block runs a block. It accepts two types of arguments: block number or block name." +#~ msgstr "" + +#: js/DrumBlocks.js:188 + +#: js/DrumBlocks.js:195 + +#~ msgid "The Set drum block will select a drum sound to replace the pitch of any contained notes." +#~ msgstr "" + +#: js/RhythmBlocks.js:30 + +#~ msgid "The Note value block is the value of the duration of the note currently being played." +#~ msgstr "" + +#: js/RhythmBlocks.js:83 + +#~ msgid "The Milliseconds block is similar to a Note block except that it uses time (in MS) to specify the note duration." +#~ msgstr "" + +#: js/RhythmBlocks.js:235 + +#~ msgid "The Swing block works on pairs of notes (specified by note value), adding some duration (specified by swing value) to the first note and taking the same amount from the second note." +#~ msgstr "" + +#: js/RhythmBlocks.js:335 + +#~ msgid "The Multiply note value block changes the duration of notes by changing their note values." +#~ msgstr "" + +#: js/RhythmBlocks.js:506 + +#~ msgid "A rest of the specified note value duration can be constructed using a Silence block." +#~ msgstr "" + +#: js/HeapBlocks.js:60 + +#~ msgid "The Show-heap block displays the contents of the heap at the top of the screen." +#~ msgstr "" + +#: js/FlowBlocks.js:81 + +#~ msgid "The output of the example is: Sol, Sol, Sol, Sol, Re, Re, Re, Re, Sol, Sol, Sol, Sol." +#~ msgstr "" + +#: js/FlowBlocks.js:679 + +#: js/FlowBlocks.js:688 + +#: js/FlowBlocks.js:722 + +#: js/FlowBlocks.js:731 + +#~ msgid "Conditionals lets your program take different actions depending on the condition." +#~ msgstr "" + +#: js/FlowBlocks.js:690 + +#~ msgid "In this example if the mouse button is pressed a snare drum will play, else a kick drum will play." +#~ msgstr "" + +#: js/FlowBlocks.js:764 + +#~ msgid "In this example of a simple drum machine a kick drum will play 1/4 notes forever." +#~ msgstr "" + +#: js/GraphicsBlocks.js:401 + +#~ msgid "The Arc block moves the mouse in a arc." +#~ msgstr "" + +#: js/GraphicsBlocks.js:408 + +#~ msgid "The Arc block moves the turtle in a arc." +#~ msgstr "" + +#: js/GraphicsBlocks.js:464 + +#~ msgid "The Set heading block sets the heading of the mouse." +#~ msgstr "" + +#: js/GraphicsBlocks.js:810 + +#~ msgid "The Wrap block enables or disables screen wrapping for the graphics actions within it." +#~ msgstr "" + +#: js/OrnamentBlocks.js:295 + +#~ msgid "The Slur block lengthens the sustain of notes while maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/OrnamentBlocks.js:324 + +#~ msgid "The Staccato block shortens the length of the actual note while maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/VolumeBlocks.js:592 + +#~ msgid "The Decrescendo block will decrease the volume of the contained notes by a specified amount for every note played." +#~ msgstr "" + +#: js/VolumeBlocks.js:594 + +#~ msgid "For example if you have 7 notes in sequence contained in a Decrescendo block with a value of 5 the final note will be at 35% less than the starting volume." +#~ msgstr "" + +#: js/VolumeBlocks.js:632 + +#~ msgid "The Crescendo block will increase the volume of the contained notes by a specified amount for every note played." +#~ msgstr "" + +#: js/VolumeBlocks.js:634 + +#~ msgid "For example if you have 7 notes in sequence contained in a Crescendo block with a value of 5 the final note will be at 35% more than the starting volume." +#~ msgstr "" + +#: js/ToneBlocks.js:176 + +#~ msgid "The Partial block is used to specify a weight for a specific partical harmonic." +#~ msgstr "" + +#: js/ToneBlocks.js:213 + +#~ msgid "The Weighted partials block is used to specify the partials associated with a timbre." +#~ msgstr "" + +#: js/ToneBlocks.js:588 + +#~ msgid "The set default instrument block changes the default instrument from electronic synth to the instrument of your choice." +#~ msgstr "" + +#: js/MeterBlocks.js:54 + +#~ msgid "The Beat factor block returns the ratio of the note value to meter note value." +#~ msgstr "" + +#: js/MeterBlocks.js:168 + +#: js/MeterBlocks.js:179 + +#~ msgid "In the figure, it is used to take an action on the first beat of each measure." +#~ msgstr "" + +#: js/MeterBlocks.js:317 + +#~ msgid "(By default, it counts quarter notes.)" +#~ msgstr "" + +#: js/DictBlocks.js:29 + +#~ msgid "The Show-dictionary block displays the contents of the dictionary at the top of the screen." +#~ msgstr "" + +#: js/ExtrasBlocks.js:268 + +#~ msgid "The Comment block prints a comment at the top of the screen when the program is running in slow mode." +#~ msgstr "" + +#: js/SensorsBlocks.js:235 + +#~ msgid "The Cursor over block triggers an event when the cursor is moved over a mouse." +#~ msgstr "" + +#: js/SensorsBlocks.js:242 + +#~ msgid "The Cursor over block triggers an event when the cursor is moved over a turtle." +#~ msgstr "" + +#: js/SensorsBlocks.js:264 + +#~ msgid "The Cursor out block triggers an event when the cursor is moved off of a mouse." +#~ msgstr "" + +#: js/SensorsBlocks.js:272 + +#~ msgid "The Cursor out block triggers an event when the cursor is moved off of a turtle." +#~ msgstr "" + +#: js/SensorsBlocks.js:292 + +#~ msgid "The Cursor button down block triggers an event when the curson button is press on a mouse." +#~ msgstr "" + +#: js/SensorsBlocks.js:299 + +#~ msgid "The Cursor button down block triggers an event when the curson button is press on a turtle." +#~ msgstr "" + +#: js/SensorsBlocks.js:319 + +#~ msgid "The Cursor button up block triggers an event when the cursor button is released while over a mouse." +#~ msgstr "" + +#: js/SensorsBlocks.js:326 + +#~ msgid "The Cursor button up block triggers an event when the cursor button is released while over a turtle." +#~ msgstr "" + +#: js/SensorsBlocks.js:346 + +#~ msgid "The Get blue block returns the blue component of the pixel under the mouse." +#~ msgstr "" + +#: js/SensorsBlocks.js:352 + +#~ msgid "The Get blue block returns the blue component of the pixel under the turtle." +#~ msgstr "" + +#: js/SensorsBlocks.js:379 + +#~ msgid "The Get green block returns the green component of the pixel under the mouse." +#~ msgstr "" + +#: js/SensorsBlocks.js:385 + +#~ msgid "The Get green block returns the green component of the pixel under the turtle." +#~ msgstr "" + +#: js/SensorsBlocks.js:500 + +#~ msgid "The Time block returns the number of seconds that the program has been running." +#~ msgstr "" + +#: js/GlobalCard.js:48 + +#~ msgid "More Details" +#~ msgstr "" + +#: js/GlobalCard.js:54 + +#~ msgid "Share project" +#~ msgstr "" + +#: js/GlobalCard.js:60 + +#~ msgid "Copy link to clipboard" +#~ msgstr "" + +#: js/GlobalCard.js:63 + +#~ msgid "Run project on startup." +#~ msgstr "" + +#: js/GlobalCard.js:64 + +#~ msgid "Show code blocks on startup." +#~ msgstr "" + +#: js/GlobalCard.js:65 + +#~ msgid "Collapse code blocks on startup." +#~ msgstr "" + +#: js/GlobalCard.js:70 + +#~ msgid "Advanced Options" +#~ msgstr "" + +#: js/PitchBlocks.js:1540 + +#~ msgid "Hertz Block: Did you mean to use a Note block?" +#~ msgstr "" + +#: js/GlobalCard.js:48 + +#~ msgid "Unlike project" +#~ msgstr "" + +#: js/GlobalCard.js:51 + +#~ msgid "Like project" +#~ msgstr "" + +#: js/GlobalPlanet.js:30 + +#~ msgid "Feature unavailable - cannot connect to server. Reload Turtle Blocks to try again." +#~ msgstr "" + +#: js/Publisher.js:179 + +#~ msgid "Republish Project" +#~ msgstr "" + +#: js/blocks.js:2379 + +#~ msgid "audio file1" +#~ msgstr "" + +#: js/blocks.js:2387 + +#~ msgid "audio file2" +#~ msgstr "" + +#: js/turtle-singer.js:1793 + +#~ msgid "Warning: Note value greater than 2." +#~ msgstr "" + +#: js/IntervalsBlocks.js:537 + +#~ msgid "chord5" +#~ msgstr "" + +#: js/IntervalsBlocks.js:543 + +#~ msgid "chord4" +#~ msgstr "" + +#: js/IntervalsBlocks.js:549 + +#~ msgid "chord1" +#~ msgstr "" + +#: js/SensorsBlocks.js:535 + +#~ msgid "The Cursor Y block returns the vertical position of the turtle." +#~ msgstr "" + +#: js/SensorsBlocks.js:567 + +#~ msgid "The Cursor X block returns the horizontal position of the turtle." +#~ msgstr "" + +#: js/EnsembleBlocks.js:1174 + +#~ msgid "The Nth-Turtlee name block returns the name of the nth turtle." +#~ msgstr "" + +#: js/turtledefs.js:538 + +#~ msgid "Run fast" +#~ msgstr "" + +#: js/turtledefs.js:652 + +#~ msgid "Expand/collapse collapsible blocks" +#~ msgstr "" + +#: js/EnsembleBlocks.js:819 + +#~ msgid "The Nth-Mouse name block returns the name of the nth mice." +#~ msgstr "" + +#: js/activity.js:364 + +#~ msgid "search for blocks" +#~ msgstr "" + +#: js/activity.js:3298 + +#~ msgid "Please set browser zoom level to 100%" +#~ msgstr "" + +#: js/toolbar.js:54 + +#: js/toolbar.js:110 + +#: js/toolbar.js:147 + +#: js/toolbar.js:197 + +#~ msgid "Auxilary menu" +#~ msgstr "" + +#: js/SaveInterface.js:47 + +#~ msgid "To run this project, open Music Blocks in a web browser and drag and drop this file into the browser window." +#~ msgstr "" + +#: js/blocks.js:6143 + +#~ msgid "You must always have at least one start block." +#~ msgstr "" + +#: js/sampler.js:406 + +#~ msgid "pitch up" +#~ msgstr "" + +#: js/sampler.js:416 + +#~ msgid "pitch down" +#~ msgstr "" + +#: js/sampler.js:424 + +#~ msgid "accidental up" +#~ msgstr "" + +#: js/sampler.js:434 + +#~ msgid "accidental down" +#~ msgstr "" + +#: js/sampler.js:441 + +#~ msgid "octave up" +#~ msgstr "" + +#: js/sampler.js:451 + +#~ msgid "octave down" +#~ msgstr "" + +#: plugins/finance.rtp:28 + +#~ msgid "currency" +#~ msgstr "" + +#: plugins/finance.rtp:28 + +#: plugins/bitcoin.rtp:27 + +#~ msgid "from" +#~ msgstr "" + +#: plugins/finance.rtp:69 + +#~ msgid "stock price" +#~ msgstr "" + +#: plugins/translate.rtp:73 + +#~ msgid "translate" +#~ msgstr "" + +#: plugins/translate.rtp:78 + +#: plugins/translate.rtp:89 + +#~ msgid "hello" +#~ msgstr "您好" + +#: plugins/translate.rtp:84 + +#~ msgid "detect lang" +#~ msgstr "" + +#: plugins/translate.rtp:95 + +#~ msgid "set lang" +#~ msgstr "" + +#: plugins/gmap.rtp:30 + +#~ msgid "city latitude" +#~ msgstr "" + +#: plugins/gmap.rtp:40 + +#~ msgid "city longitude" +#~ msgstr "" + +#: plugins/gmap.rtp:71 + +#: plugins/gmap.rtp:74 + +#: plugins/gmap.rtp:104 + +#: plugins/gmap.rtp:107 + +#~ msgid "Coordinate data not available." +#~ msgstr "" + +#: plugins/gmap.rtp:116 + +#~ msgid "Google map" +#~ msgstr "" + +#: plugins/gmap.rtp:116 + +#: plugins/gmap.rtp:160 + +#~ msgid "coordinates" +#~ msgstr "" + +#: plugins/gmap.rtp:116 + +#~ msgid "zoom factor" +#~ msgstr "" + +#: plugins/gmap.rtp:144 + +#~ msgid "zoom" +#~ msgstr "" + +#: plugins/gmap.rtp:160 + +#~ msgid "latitude" +#~ msgstr "" + +#: plugins/gmap.rtp:160 + +#~ msgid "longitude" +#~ msgstr "" + +#: plugins/maths.rtp:74 + +#~ msgid "degrees" +#~ msgstr "" + +#: plugins/maths.rtp:76 + +#~ msgid "radians" +#~ msgstr "" + +#: plugins/dictionary.rtp:25 + +#~ msgid "define" +#~ msgstr "" + +#: plugins/bitcoin.rtp:27 + +#~ msgid "bitcoin" +#~ msgstr "" + +#: plugins/heap.rtp:81 + +#: plugins/heap.rtp:85 + +#~ msgid "You need to select a file." +#~ msgstr "" + +#: js/activity.js:1618 + +#~ msgid "show treble" +#~ msgstr "" + +#: js/activity.js:1621 + +#~ msgid "hide Polar" +#~ msgstr "" + +#: js/activity.js:1628 + +#: js/activity.js:1652 + +#~ msgid "show bass" +#~ msgstr "" + +#: js/activity.js:1637 + +#~ msgid "show mezzo-soprano" +#~ msgstr "" + +#: js/activity.js:1642 + +#~ msgid "show alto" +#~ msgstr "" + +#: js/activity.js:1647 + +#~ msgid "show tenor" +#~ msgstr "" + +#: js/activity.js:1657 + +#~ msgid "hide bass" +#~ msgstr "" + +#: js/activity.js:1664 + +#~ msgid "show Polar" +#~ msgstr "" + +#: js/activity.js:1668 + +#~ msgid "hide Cartesian" +#~ msgstr "" + +#: js/notation.js:296 + +#~ msgid "Lilypond cannot process tempo of " +#~ msgstr "" + +#: js/SaveInterface.js:283 + +#~ msgid "Save as PDF" +#~ msgstr "" + +#: js/lilypond.js:263 + +#~ msgid "Lilypond ignoring mode" +#~ msgstr "" + +#: js/oscilloscope.js:49 + +#~ msgid "ZOOM IN" +#~ msgstr "" + +#: js/oscilloscope.js:61 + +#~ msgid "ZOOM OUT" +#~ msgstr "" + +#: js/palette.js:1188 + +#~ msgid "Click to select a block." +#~ msgstr "" + +#: js/palette.js:1205 + +#: js/palette.js:1208 + +#: js/palette.js:1236 + +#: js/palette.js:1239 + +#~ msgid "hide" +#~ msgstr "" + +#: js/palette.js:1214 + +#: js/palette.js:1217 + +#~ msgid "show2" +#~ msgstr "" + +#: js/palette.js:1222 + +#: js/palette.js:1225 + +#: js/palette.js:1250 + +#: js/palette.js:1253 + +#~ msgid "popout" +#~ msgstr "" + +#: js/palette.js:2423 + +#~ msgid "myblocks" +#~ msgstr "" + +#: js/SaveInterface.js:504 + +#~ msgid "Do you want to save your project?" +#~ msgstr "" + +#: js/DrumBlocks.js:416 + +#~ msgid "Drum Block: Did you mean to use a Note block?" +#~ msgstr "" + +#: js/pitchtracker.js:181 + +#: js/pitchtracker.js:200 + +#: js/pitchtracker.js:208 + +#: js/pitchtracker.js:210 + +#~ msgid "Start Recording" +#~ msgstr "" + +#: js/pitchtracker.js:188 + +#: js/pitchtracker.js:222 + +#: js/pitchtracker.js:224 + +#~ msgid "Stop Recording" +#~ msgstr "" + +#: js/pitchtracker.js:312 + +#~ msgid "save rhythms" +#~ msgstr "" + +#: js/pitchtracker.js:475 + +#~ msgid "drag" +#~ msgstr "" + +#: js/PitchBlocks.js:934 + +#~ msgid "Pitch Block: Did you mean to use a Note block?" +#~ msgstr "" + +#: js/EnsembleBlocks.js:295 + +#~ msgid "Mr. Mouse\", 0, 0)]" +#~ msgstr "" + +#: js/SensorsBlocks.js:195 + +#~ msgid "The Click block returns True if a mouse has been clicked." +#~ msgstr "" + +#: js/BoxesBlocks.js:318 + +#~ msgid "The box2 block returns the value stored in box2." +#~ msgstr "" + +#: js/BoxesBlocks.js:365 + +#~ msgid "The box1 block returns the value stored in box1." +#~ msgstr "" + +#: js/activity.js:2054 + +#~ msgid "Hide blocks." +#~ msgstr "" + +#: js/activity.js:3319 + +#~ msgid "Cannot be further decreased" +#~ msgstr "" + +#: js/activity.js:3327 + +#~ msgid "Cannot be further increased" +#~ msgstr "" + +#: js/activity.js:4263 + +#~ msgid "Error: Unable to save because you ran out of local storage. Try deleting some saved projects." +#~ msgstr "" + +#: js/logo.js:386 + +#~ msgid "Turning off mouse blink; setting FPS to 10." +#~ msgstr "" + +#: js/logo.js:391 + +#~ msgid "Turning on mouse blink; setting FPS to 30." +#~ msgstr "" + +#: js/logo.js:4764 + +#~ msgid "Scalar transpositions are equal to Semitone transpositions for custom temperament." +#~ msgstr "" + +#: js/logo.js:8405 + +#~ msgid "You can only tie notes of the same pitch. Did you mean to use slur?" +#~ msgstr "" + +#: js/logo.js:8794 + +#~ msgid "Warning: Note value is greater than 2." +#~ msgstr "" + +#: js/logo.js:11589 + +#~ msgid "Note name must be one of A, A♯, B♭, B, C, C♯, D♭, D, D♯, E♭, E, F, F♯, G♭, G, G♯ or A♭." +#~ msgstr "" + +#: js/palette.js:2009 + +#: js/palette.js:2066 + +#~ msgid "Do you want to remove all the stacks from your \"%s\" palette?" +#~ msgstr "" + +#: js/turtledefs.js:204 + +#~ msgid "This button opens a viewer for sharing projects and for finding example projects." +#~ msgstr "" + +#: js/turtledefs.js:257 + +#~ msgid "Click this button to expand or collapse the auxiliary toolbar." +#~ msgstr "" + +#: js/turtledefs.js:286 + +#~ msgid "The beat of the music is determined by the Meter block (by default, 4 1/4 notes per measure)." +#~ msgstr "" + +#: js/turtledefs.js:287 + +#~ msgid "The Master beats per minute block sets the number of 1/4 notes per minute for every voice." +#~ msgstr "" + +#: js/turtledefs.js:289 + +#~ msgid "The On-every-note block let you specify actions to take on every note." +#~ msgstr "" + +#: js/turtledefs.js:291 + +#~ msgid "The Notes played block is the number of notes that have been played." +#~ msgstr "" + +#: js/turtledefs.js:296 + +#~ msgid "The Pitch Number block will play a pitch associated by its number eg 0 for C and 7 for G." +#~ msgstr "" + +#: js/turtledefs.js:328 + +#~ msgid "The Pitch-slider block opens a tool to generate arbitray pitches." +#~ msgstr "" + +#: js/turtledefs.js:343 + +#~ msgid "All of the Start blocks run at the same time when the Play button is pressed." +#~ msgstr "" + +#: js/turtledefs.js:348 + +#~ msgid "The Store in box1 block is used to store a value in box1." +#~ msgstr "" + +#: js/turtledefs.js:350 + +#~ msgid "The Store in box2 block is used to store a value in box2." +#~ msgstr "" + +#: js/turtledefs.js:389 + +#~ msgid "The Shell block is used to change the appearance of the mouse." +#~ msgstr "" + +#: js/turtledefs.js:414 + +#~ msgid "The Pickup block is used to accommodate any notes that come in before the beat." +#~ msgstr "" + +#: js/turtledefs.js:415 + +#~ msgid "The Beats per minute block changes the beats per minute of any contained notes." +#~ msgstr "" + +#: js/turtledefs.js:416 + +#~ msgid "The On-strong-beat block let you specify actions to take on specified beats." +#~ msgstr "" + +#: js/turtledefs.js:417 + +#~ msgid "The On-weak-beat block let you specify actions to take on weak (off) beats." +#~ msgstr "" + +#: js/turtledefs.js:439 + +#~ msgid "eg \"do\" is always \"C-natural\"); when Movable do is true, the solfege note names are assigned to scale degrees (\"do\" is always the first degree of the major scale)." +#~ msgstr "" + +#: js/turtledefs.js:459 + +#~ msgid "The Note volume block returns the current volume of the current synthesizer." +#~ msgstr "" + +#: js/turtledefs.js:479 + +#~ msgid "The Default block is used inside of a Switch to define a default action." +#~ msgstr "" + +#: js/turtledefs.js:573 + +#~ msgid "The Mouse note block returns the current note value being played by the specified mouse." +#~ msgstr "" + +#: js/basicblocks.js:2352 + +#: js/basicblocks.js:2363 + +#~ msgid "down minor" +#~ msgstr "" + +#: js/basicblocks.js:2418 + +#: js/basicblocks.js:2429 + +#~ msgid "down major" +#~ msgstr "" + +#: js/basicblocks.js:3713 + +#~ msgid "eval" +#~ msgstr "" + +#: js/basicblocks.js:4057 + +#~ msgid "100" +#~ msgstr "" + +#: js/playback.js:87 + +#: js/musickeyboard.js:419 + +#: js/pitchdrummatrix.js:177 + +#: js/meterwidget.js:108 + +#: js/timbre.js:771 + +#: js/temperament.js:1751 + +#: js/modewidget.js:132 + +#~ msgid "Drag" +#~ msgstr "" + +#: js/playbackbox.js:83 + +#: js/playbackbox.js:91 + +#~ msgid "playback music" +#~ msgstr "" + +#: js/playbackbox.js:96 + +#~ msgid "pause playback" +#~ msgstr "" + +#: js/playbackbox.js:107 + +#: js/playbackbox.js:116 + +#~ msgid "restart playback" +#~ msgstr "" + +#: js/playbackbox.js:123 + +#~ msgid "prepare music for playback" +#~ msgstr "" + +#: js/help.js:217 + +#~ msgid "Load blocks" +#~ msgstr "" + +#: js/turtledefs.js:304 + +#: js/turtledefs.js:439 + +#: js/turtledefs.js:584 + +#~ msgid "The Set timbre block selects a voice for the synthesizer," +#~ msgstr "" + +#: js/turtledefs.js:525 + +#~ msgid "The Run block block runs a block." +#~ msgstr "" + +#: js/basicblocks.js:2018 + +#~ msgid "set timbre" +#~ msgstr "" + +#: js/basicblocks.js:4413 + +#~ msgid "right2" +#~ msgstr "" + +#: js/basicblocks.js:4429 + +#~ msgid "left2" +#~ msgstr "" + +#: js/pitchtimematrix.js:323 + +#: js/pitchtimematrix.js:331 + +#: js/pitchtimematrix.js:331 + +#: js/rhythmruler.js:1698 + +#: js/rhythmruler.js:1711 + +#: js/rhythmruler.js:1711 + +#~ msgid "expand" +#~ msgstr "" + +#: js/pitchtimematrix.js:338 + +#: js/pitchtimematrix.js:338 + +#: js/rhythmruler.js:1721 + +#: js/rhythmruler.js:1721 + +#~ msgid "collapse" +#~ msgstr "" + +#~ msgid "crescendo factor" +#~ msgstr "" + +#: js/turtledefs.js:181 + +#~ msgid "At the heart of Music Blocks is the Note block. The Note block is a container for a Pitch block that specifies the duration (note value) of the pitch." +#~ msgstr "" + +#: js/turtledefs.js:466 + +#~ msgid "The Time block returns the number of seconds that the program has been running." +#~ msgstr "" + +#: js/turtledefs.js:253 + +#~ msgid "The Store in box1 block is used to store a value in box1." +#~ msgstr "" + +#: js/turtledefs.js:265 + +#~ msgid "The Multiply block is used to multiply." +#~ msgstr "" + +#: js/blocks.js:2837 + +#: js/blocks.js:2863 + +#~ msgid "There is no block is selected." +#~ msgstr "" + +#: js/turtledefs.js:209 + +#~ msgid "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale. In the example shown above, sol is shifted up to la." +#~ msgstr "" + +#: js/turtledefs.js:132 + +#~ msgid "Initialise a new project." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:339 + +#~ msgid "japanese" +#~ msgstr "" + +#: js/block.js:1312 + +#~ msgid "7th" +#~ msgstr "" + +#: js/basicblocks.js:2440 + +#~ msgid "chord' + ' ' + 'V" +#~ msgstr "" + +#: js/musicutils.js:345 + +#: js/basicblocks.js:1635 + +#: js/macros.js:38 + +#~ msgid "chine" +#~ msgstr "" + +#: js/timbre.js:743 + +#: js/rhythmruler.js:1481 + +#: js/modewidget.js:95 + +#: js/pitchstaircase.js:534 + +#~ msgid "undo" +#~ msgstr "" + +#: js/basicblocks.js:2464 + +#~ msgid "chord' + ' ' + 'I" +#~ msgstr "" + +#: js/StringHelper.js:22 + +#~ msgid "placeholder" +#~ msgstr "" + +#: js/turtledefs.js:436 + +#~ msgid "The Move block block moves a block." +#~ msgstr "" + +#: js/turtledefs.js:327 + +#: js/turtledefs.js:329 + +#~ msgid "The Accidental block is used to create sharps and flats" +#~ msgstr "" + +#: js/turtledefs.js:430 + +#~ msgid "The Hide blocks block hides the blocks." +#~ msgstr "" + +#: js/turtledefs.js:378 + +#~ msgid "The Waitfor block will wait until the condition is true." +#~ msgstr "" + +#: js/basicblocks.js:3142 + +#: js/basicblocks.js:3151 + +#~ msgid "set volume" +#~ msgstr "" + +#: js/turtledefs.js:366 + +#~ msgid "The Play noise block will generate white, pink, or brown noise." +#~ msgstr "" + +#: js/turtledefs.js:441 + +#~ msgid "The Bezier block draws a Bezier curve." +#~ msgstr "" + +#: plugins/impact.rtp:32 + +#~ msgid "hours ago" +#~ msgstr "" + +#: js/musicutils.js:243 + +#~ msgid "Major Blues" +#~ msgstr "" + +#: js/turtledefs.js:273 + +#~ msgid "The Back block moves the mouse backward." +#~ msgstr "" + +#: js/turtledefs.js:307 + +#~ msgid "The Set-name block is used to name a mouse." +#~ msgstr "" + +#: js/turtledefs.js:231 + +#~ msgid "The Status block opens a tool for inspecting the status of Music Blocks as it is running." +#~ msgstr "" + +#: js/pitchstaircase.js:480 + +#~ msgid "play scale" +#~ msgstr "" + +#~ msgid "This toolbar contains the palette buttons Matrix, Note, Tone, Turtle, and more. Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them." +#~ msgstr "" + +#: js/turtledefs.js:326 + +#~ msgid "The Beats per minute block returns the current beats per minute." +#~ msgstr "" + +#: js/turtledefs.js:222 + +#~ msgid "The Scaler Step block (in combination with a Number block) will play the next pitch in a scale," +#~ msgstr "" + +#: js/turtledefs.js:336 + +#~ msgid "Pitch can be specified in terms of ni dha pa ma ga re sa." +#~ msgstr "" + +#: js/musicutils.js:229 + +#~ msgid "Enigmatic" +#~ msgstr "" + +#: js/basicblocks.js:612 + +#~ msgid "fifths" +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "ml" +#~ msgstr "" + +#: js/palette.js:1771 + +#: js/palette.js:1796 + +#~ msgid "mi" +#~ msgstr "" + +#: js/turtledefs.js:251 + +#: js/turtledefs.js:388 + +#: js/turtledefs.js:390 + +#~ msgid "The Do block is used to initiate an action." +#~ msgstr "" + +#: js/turtledefs.js:422 + +#~ msgid "The Indexheap block returns a value in the heap at a specified location." +#~ msgstr "" + +#: js/turtledefs.js:284 + +#~ msgid "The Pen-up block raises the pen so that it does not draw." +#~ msgstr "" + +#: js/turtledefs.js:473 + +#~ msgid "The New mouse block will create a new mouse." +#~ msgstr "" + +#: js/activity.js:4353 + +#~ msgid "playback" +#~ msgstr "" + +#: js/activity.js:4435 + +#: js/activity.js:4470 + +#~ msgid "Merge project from file" +#~ msgstr "" + +#: js/turtledefs.js:299 + +#~ msgid "The Left block returns the position of the left of the canvas." +#~ msgstr "" + +#~ msgid "eatme" +#~ msgstr "" + +#: js/turtledefs.js:323 + +#~ msgid "The Whole notes played block returns the total number of whole notes played." +#~ msgstr "" + +#: js/basicblocks.js:1946 + +#~ msgid "movable" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/synthutils.js:46 + +#~ msgid "brown-noise" +#~ msgstr "" + +#: js/musicutils.js:251 + +#~ msgid "Japanese" +#~ msgstr "" + +#: js/synthutils.js:90 + +#~ msgid "triangle-bell" +#~ msgstr "" + +#: js/activity.js:1216 + +#~ msgid "Hide grid" +#~ msgstr "" + +#: js/turtledefs.js:358 + +#~ msgid "The FM synth block is a frequency modulator used to define a timbre." +#~ msgstr "" + +#: js/turtledefs.js:429 + +#~ msgid "The Show heap block displays the contents of the heap at the top of the screen." +#~ msgstr "" + +#: js/turtledefs.js:260 + +#~ msgid "The Number block holds a number." +#~ msgstr "" + +#: js/turtledefs.js:381 + +#~ msgid "The Case block is used inside of a Switch to define matches." +#~ msgstr "" + +#: js/turtledefs.js:539 + +#~ msgid "The Background block sets the background color." +#~ msgstr "" + +#: js/help.js:53 + +#~ msgid "Previous page" +#~ msgstr "" + +#: js/turtledefs.js:458 + +#~ msgid "The Open file block opens a file for use with the Show block." +#~ msgstr "" + +#: js/turtledefs.js:287 + +#~ msgid "The Set-color block changes the pen color." +#~ msgstr "" + +#: js/basicblocks.js:2452 + +#~ msgid "chord' + ' ' + 'IV" +#~ msgstr "" + +#: js/timbre.js:682 + +#~ msgid "effects" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#~ msgid "floor-tom" +#~ msgstr "" + +#: js/turtledefs.js:295 + +#~ msgid "The Height block returns the height of the canvas." +#~ msgstr "" + +#: js/savebox.js:129 + +#~ msgid "Share on Facebook" +#~ msgstr "" + +#: js/turtledefs.js:452 + +#~ msgid "The Shade block returns the current pen shade value." +#~ msgstr "" + +#: js/turtledefs.js:215 + +#~ msgid "The On-every-beat block let you specify actions to take on every beat." +#~ msgstr "" + +#: js/turtledefs.js:76 + +#~ msgid "Mr. Mouse is our Music Blocks conductor. Mr. Mouse encourages you to explore Music Blocks. Let us start our tour!" +#~ msgstr "" + +#: js/palette.js:1771 + +#: js/palette.js:1796 + +#~ msgid "re" +#~ msgstr "" + +#: js/musicutils.js:237 + +#~ msgid "Spanish Gypsy" +#~ msgstr "" + +#: js/basicblocks.js:893 + +#~ msgid "divide note value" +#~ msgstr "" + +#: js/turtledefs.js:220 + +#~ msgid "e.g., C Major" +#~ msgstr "" + +#: js/activity.js:3743 + +#~ msgid "extra-long press to run music slowly" +#~ msgstr "" + +#: js/rhythmruler.js:1442 + +#~ msgid "save drum machine" +#~ msgstr "" + +#: js/activity.js:4373 + +#~ msgid "enable horizontal scrolling" +#~ msgstr "" + +#: js/turtledefs.js:318 + +#~ msgid "The Pickup block is used to accommodate any notes that come in before the beat." +#~ msgstr "" + +#: js/turtledefs.js:449 + +#~ msgid "The Hollow line block creates a line with a hollow center." +#~ msgstr "" + +#: js/turtledefs.js:185 + +#~ msgid "To copy a stack to the clipboard, right-click on the stack." +#~ msgstr "" + +#: js/turtledefs.js:462 + +#~ msgid "The Stopplayback block" +#~ msgstr "" + +#: js/toolbar.js:342 + +#: js/toolbar.js:390 + +#~ msgid "Save as abc" +#~ msgstr "" + +#: js/turtledefs.js:456 + +#~ msgid "The To frequency block converts a pitch name and octave to Hertz." +#~ msgstr "" + +#: js/basicblocks.js:4422 + +#~ msgid "top" +#~ msgstr "" + +#: js/turtledefs.js:144 + +#: js/turtledefs.js:189 + +#~ msgid "Open a panel for configuring Music Blocks." +#~ msgstr "" + +#: js/turtledefs.js:407 + +#~ msgid "The And block is the logical and operator." +#~ msgstr "" + +#: js/activity.js:3533 + +#~ msgid "Save as .wav" +#~ msgstr "" + +#: js/savebox.js:113 + +#~ msgid "The Planet is unavailable." +#~ msgstr "" + +#: js/turtledefs.js:194 + +#~ msgid "You can use multiple Drum blocks within a Note block." +#~ msgstr "" + +#: js/turtledefs.js:186 + +#~ msgid "You can also use Alt+V to paste a stack of blocks. " +#~ msgstr "" + +#: js/turtledefs.js:459 + +#~ msgid "The Video block selects video for use with the Show block. " +#~ msgstr "" + +#: js/turtledefs.js:343 + +#~ msgid "When Movable do is false, the solfege note names are always tied to specific pitches (e.g. \"do\" is always \"C-natural\"); when Movable do is true, the solfege note names are assigned to scale degrees (\"do\" is always the first degree of the major scale)." +#~ msgstr "" + +#: js/turtledefs.js:412 + +#~ msgid "The Pop block removes the value at the top of the heap." +#~ msgstr "" + +#: js/turtledefs.js:225 + +#~ msgid "The Decrescendo block will decrease the volume of the contained notes by a specified amount for every note played. For example, if you have 7 notes in sequence contained in a Decrescendo block with a value of 5, the final note will be at 35% less than the starting volume." +#~ msgstr "" + +#: js/turtledefs.js:99 + +#~ msgid "The save-stack button saves a stack onto a custom palette." +#~ msgstr "" + +#: js/musicutils.js:248 + +#~ msgid "Egyptian" +#~ msgstr "" + +#: js/turtledefs.js:186 + +#~ msgid "The paste button is enabled when there are blocks copied onto the clipboard." +#~ msgstr "" + +#: js/musicutils.js:198 + +#~ msgid "Algerian" +#~ msgstr "" + +#: js/basicblocks.js:831 + +#~ msgid "denominator" +#~ msgstr "" + +#: js/turtledefs.js:426 + +#~ msgid "The Emptyheap block empties the heap." +#~ msgstr "" + +#: js/turtledefs.js:352 + +#~ msgid "The Phaser block adds a sweeping sound." +#~ msgstr "" + +#: js/turtledefs.js:429 + +#~ msgid "The Open project block is used to open a project from a web page." +#~ msgstr "" + +#: plugins/impact.rtp:63 + +#: plugins/impact.rtp:127 + +#~ msgid "Impact data not available." +#~ msgstr "" + +#: js/turtledefs.js:168 + +#~ msgid "Extra-long press the run button to run the music in slow mode." +#~ msgstr "" + +#~ msgid "mashape" +#~ msgstr "" + +#: js/basicblocks.js:589 + +#~ msgid "thirds" +#~ msgstr "" + +#: js/turtledefs.js:279 + +#~ msgid "The X block returns the horizontal position of the mouse." +#~ msgstr "" + +#: js/turtledefs.js:437 + +#~ msgid "The Delete block block removes a block." +#~ msgstr "" + +#: js/turtledefs.js:278 + +#~ msgid "The Scroll XY block moves the canvas." +#~ msgstr "" + +#: js/turtledefs.js:393 + +#~ msgid "The Return to URL block will return a value to a webpage." +#~ msgstr "" + +#: js/turtledefs.js:274 + +#~ msgid "The Left block turns the mouse to the left." +#~ msgstr "" + +#: js/activity.js:4395 + +#~ msgid "Run" +#~ msgstr "" + +#: js/turtledefs.js:169 + +#~ msgid "You can load new blocks from the file system." +#~ msgstr "" + +#: js/turtledefs.js:144 + +#: js/turtledefs.js:189 + +#~ msgid "Settings" +#~ msgstr "" + +#: js/turtledefs.js:409 + +#~ msgid "The Boolean block is used to specify true or false." +#~ msgstr "" + +#: js/turtledefs.js:320 + +#~ msgid "The On-strong-beat block let you specify actions to take on specified beats." +#~ msgstr "" + +#: js/turtledefs.js:414 + +#~ msgid "The Indexheap block returns a value in the heap at a specified location." +#~ msgstr "" + +#: js/turtledefs.js:385 + +#: js/turtledefs.js:386 + +#~ msgid "The Arg block contains the value of an argument passed to an action." +#~ msgstr "" + +#: js/pitchslider.js:394 + +#~ msgid "move down" +#~ msgstr "" + +#: js/basicblocks.js:153 + +#~ msgid "consonant step up" +#~ msgstr "" + +#: js/turtledefs.js:418 + +#~ msgid "The Emptyheap block empties the heap." +#~ msgstr "" + +#: js/turtledefs.js:382 + +#~ msgid "The Default block is used inside of a Switch to define a default action." +#~ msgstr "" + +#: js/turtledefs.js:340 + +#~ msgid "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode." +#~ msgstr "" + +#: js/turtledefs.js:233 + +#~ msgid "The Rhythm Maker block opens a tool to create drum machines." +#~ msgstr "" + +#: js/turtledefs.js:482 + +#~ msgid "The Mouse heading block returns the heading of the specified mouse." +#~ msgstr "" + +#: js/basicblocks.js:505 + +#~ msgid "pitchslider" +#~ msgstr "" + +#: js/StringHelper.js:35 + +#~ msgid "View More" +#~ msgstr "" + +#: js/pitchtimematrix.js:305 + +#: js/rhythmruler.js:1625 + +#~ msgid "collpase" +#~ msgstr "" + +#: js/turtledefs.js:498 + +#~ msgid "The Heap-empty? block returns true if the heap is emptry." +#~ msgstr "" + +#: js/musicutils.js:253 + +#~ msgid "Fibonacci" +#~ msgstr "" + +#: js/activity.js:4425 + +#~ msgid "Run music slowly" +#~ msgstr "" + +#: js/turtledefs.js:447 + +#~ msgid "The Set translucency block changes the opacity of the pen." +#~ msgstr "" + +#: js/turtledefs.js:200 + +#~ msgid "The Pitch block specifies the pitch name and pitch octave of a note that determine the frequency of the note." +#~ msgstr "" + +#: js/turtledefs.js:218 + +#~ msgid "The Staccato block shortens the length of the actual note—making them tighter bursts—while maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/pitchslider.js:402 + +#~ msgid "Use the slider to change the pitch." +#~ msgstr "" + +#: js/turtledefs.js:300 + +#~ msgid "The Right block returns the position of the right of the canvas." +#~ msgstr "" + +#: js/turtledefs.js:226 + +#~ msgid "The Set synth volume block will change the volume of a particular synth, e.g., guitar, violin, snare drum, etc. The default volume is 50; the range is 0 (silence) to 100 (full volume)." +#~ msgstr "" + +#: js/turtledefs.js:224 + +#~ msgid "The Crescendo block will increase the volume of the contained notes by a specified amount for every note played. For example, if you have 7 notes in sequence contained in a Crescendo block with a value of 5, the final note will be at 35% more than the starting volume." +#~ msgstr "" + +#: js/basicblocks.js:3078 + +#~ msgid "note volume" +#~ msgstr "" + +#: js/synthutils.js:92 + +#~ msgid "finger-cymbals" +#~ msgstr "" + +#: js/basicblocks.js:489 + +#~ msgid "pitch-drum matrix" +#~ msgstr "" + +#: js/logo.js:6101 + +#: js/logo.js:6125 + +#~ msgid "Tuplet Block: Did you mean to use a Matrix block?" +#~ msgstr "" + +#~ msgid "set beats per minute" +#~ msgstr "" + +#: js/activity.js:3887 + +#~ msgid "Delete all" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/synthutils.js:48 + +#~ msgid "pink-noise" +#~ msgstr "" + +#: plugins/impact.rtp:32 + +#~ msgid "UID" +#~ msgstr "" + +#: js/musicutils.js:197 + +#~ msgid "Chromatic" +#~ msgstr "" + +#: js/modewidget.js:83 + +#~ msgid "rotate clockwise" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:334 + +#~ msgid "hirajoshi (Japan)" +#~ msgstr "" + +#: js/logo.js:5040 + +#: js/logo.js:5061 + +#~ msgid "Input to Minor Block must be 2, 3, 6, or 7" +#~ msgstr "" + +#: js/basicblocks.js:4432 + +#~ msgid "bottom" +#~ msgstr "" + +#: js/turtledefs.js:213 + +#~ msgid "The Set key block is used to set the key and mode, e.g., C Major" +#~ msgstr "" + +#: js/turtledefs.js:313 + +#~ msgid "The Multiply note value block changes the duration of notes by changing their note values." +#~ msgstr "" + +#: js/turtledefs.js:280 + +#~ msgid "The Y block returns the vertical position of the mouse." +#~ msgstr "" + +#: js/basicblocks.js:831 + +#~ msgid "numerator" +#~ msgstr "" + +#: js/synthutils.js:80 + +#~ msgid "cup-drum" +#~ msgstr "" + +#: js/synthutils.js:84 + +#~ msgid "hi-hat" +#~ msgstr "" + +#: js/palette.js:1763 + +#: js/palette.js:1764 + +#: js/palette.js:1771 + +#: js/palette.js:1796 + +#~ msgid "sol" +#~ msgstr "" + +#: js/turtledefs.js:276 + +#~ msgid "The Arc block moves the mouse in a arc." +#~ msgstr "" + +#: js/turtledefs.js:370 + +#~ msgid "The Pitch staircase tool to is used to generate pitches from a given ratio." +#~ msgstr "" + +#: js/turtledefs.js:364 + +#~ msgid "The Note volume block returns the current volume of the current synthesizer." +#~ msgstr "" + +#: js/turtledefs.js:198 + +#~ msgid "The beat of the music is determined by the Meter block (by default, 4 1/4 notes per measure)." +#~ msgstr "" + +#: js/turtledefs.js:337 + +#~ msgid "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat." +#~ msgstr "" + +#: js/musicutils.js:211 + +#~ msgid "Phrygian" +#~ msgstr "" + +#: js/turtledefs.js:344 + +#~ msgid "The Define mode block allows you define a custom mode by specifiying pitch numbers." +#~ msgstr "" + +#: js/activity.js:2166 + +#~ msgid "Run fast / long press to run slow / extra-long press to run music slow" +#~ msgstr "" + +#: js/turtledefs.js:28 + +#~ msgid "Music Blocks is a collection of manipulative tools for exploring fundamental musical concepts in an integrative and fun way." +#~ msgstr "" + +#: js/palette.js:1682 + +#~ msgid "la" +#~ msgstr "" + +#: plugins/rodi.rtp:203 + +#~ msgid "see distance" +#~ msgstr "" + +#: js/turtledefs.js:374 + +#~ msgid "The Tuplet block is used to generate a group of notes played in a condensed amount of time." +#~ msgstr "" + +#: js/turtledefs.js:459 + +#~ msgid "The Switch block will run the code in the matchin Case." +#~ msgstr "" + +#: js/basicblocks.js:1457 + +#~ msgid "relative interval" +#~ msgstr "" + +#: js/turtledefs.js:199 + +#~ msgid "The Beats per minute block sets the number of 1/4 notes per minute." +#~ msgstr "" + +#: js/turtledefs.js:296 + +#~ msgid "The Width block returns the width of the canvas." +#~ msgstr "" + +#: js/turtledefs.js:110 + +#: js/turtledefs.js:148 + +#~ msgid "Stop the music (and the turtles)." +#~ msgstr "" + +#: js/synthutils.js:78 + +#~ msgid "floor-tom-tom" +#~ msgstr "" + +#: js/turtledefs.js:312 + +#~ msgid "The Tie block works on pairs of notes, combining them into one note." +#~ msgstr "" + +#: js/turtledefs.js:205 + +#~ msgid "Pitch can be specified in terms of do re mi fa sol la ti." +#~ msgstr "" + +#: js/turtledefs.js:292 + +#~ msgid "The Show block is used to display text or images on the canvas." +#~ msgstr "" + +#: js/turtledefs.js:450 + +#~ msgid "The Background block sets the background color." +#~ msgstr "" + +#: js/basicblocks.js:298 + +#~ msgid "turtle note" +#~ msgstr "" + +#: js/turtledefs.js:79 + +#~ msgid "This toolbar contains the palette buttons, including Rhythm Pitch Tone Turtle and more." +#~ msgstr "" + +#: js/turtledefs.js:376 + +#~ msgid "The While block will repeat while the condition is true." +#~ msgstr "" + +#: js/turtledefs.js:264 + +#~ msgid "The Minus block is used to subtract." +#~ msgstr "" + +#: js/savebox.js:159 + +#~ msgid "block artwork" +#~ msgstr "" + +#: js/turtledefs.js:222 + +#~ msgid "The Neighbor block rapidly switches between neighboring pitches." +#~ msgstr "" + +#: js/turtledefs.js:353 + +#~ msgid "The Distortion block adds distortion to the pitch." +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "br" +#~ msgstr "" + +#: js/block.js:1306 + +#~ msgid "1st" +#~ msgstr "" + +#: js/logo.js:2177 + +#: js/logo.js:7716 + +#: js/logo.js:7851 + +#: js/logo.js:7911 + +#: js/logo.js:8031 + +#: js/logo.js:8059 + +#~ msgid "Could not find turtle" +#~ msgstr "" + +#: js/turtledefs.js:218 + +#~ msgid "The Slur block lengthens the sustain of noteswhile maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/musicutils.js:234 + +#~ msgid "Hungarian" +#~ msgstr "" + +#: js/pitchstaircase.js:475 + +#~ msgid "play chord" +#~ msgstr "" + +#: js/utilitybox.js:154 + +#~ msgid "Optimize feedback" +#~ msgstr "" + +#: js/turtledefs.js:187 + +#: js/toolbar.js:378 + +#: js/toolbar.js:426 + +#~ msgid "Save block artwork" +#~ msgstr "" + +#: js/turtledefs.js:234 + +#~ msgid "The Pitch-slider block opens a tool to generate arbitray pitches." +#~ msgstr "" + +#: js/logo.js:3711 + +#~ msgid "The Scaler Step Block must be used inside of a Note Block." +#~ msgstr "" + +#: js/turtledefs.js:154 + +#: js/turtledefs.js:200 + +#~ msgid "Music Blocks is an open source collection of tools for exploring musical concepts. A full list of contributors can be found in the Music Blocks GitHub repository. Music Blocks is licensed under the AGPL. The current version is:" +#~ msgstr "" + +#: js/basicblocks.js:596 + +#~ msgid "fourths" +#~ msgstr "" + +#: js/turtledefs.js:304 + +#~ msgid "The Cursor Y block returns the veritcal position of the mouse." +#~ msgstr "" + +#: js/turtledefs.js:220 + +#~ msgid "The Crescendo block will increase (or decrease) the volume of the contained notes by a specified amount for every note played. For example, if you have 7 notes in sequence contained in a Crescendo block with a value of 5, the final note will be at 35% more than the starting volume." +#~ msgstr "" + +#: js/turtledefs.js:464 + +#~ msgid "The Keyboard block returns computer keyboard input." +#~ msgstr "" + +#~ msgid "Save your project to a server." +#~ msgstr "" + +#: js/basicblocks.js:892 + +#~ msgid "multiply beat value" +#~ msgstr "" + +#: js/musicutils.js:244 + +#~ msgid "Whole Tone" +#~ msgstr "" + +#: js/turtledefs.js:404 + +#~ msgid "The Int block returns an integer." +#~ msgstr "" + +#: js/turtledefs.js:256 + +#~ msgid "The box2 block returns the value stored in box2." +#~ msgstr "" + +#: js/turtledefs.js:82 + +#~ msgid "Click to run just the music in slow mode." +#~ msgstr "" + +#: js/turtledefs.js:294 + +#~ msgid "The Speak block outputs to the text-to-speech synthesizer" +#~ msgstr "" + +#: js/turtledefs.js:451 + +#~ msgid "The Grey block returns the current pen grey value." +#~ msgstr "" + +#: js/block.js:1311 + +#~ msgid "6th" +#~ msgstr "" + +#: js/logo.js:4945 + +#: js/logo.js:4966 + +#~ msgid "Input to Augmented Block must be 1, 2, 3, 4, 5, 6, 7, or 8" +#~ msgstr "" + +#: js/turtledefs.js:367 + +#~ msgid "The Drum name block is used to select a drum." +#~ msgstr "" + +#: js/activity.js:2699 + +#~ msgid "Run fast / long press to run slowly / extra-long press to run music slowly" +#~ msgstr "" + +#: js/basicblocks.js:4872 + +#~ msgid "save as lilypond" +#~ msgstr "" + +#: js/turtledefs.js:266 + +#~ msgid "The Divide block is used to divide." +#~ msgstr "" + +#: js/turtledefs.js:357 + +#~ msgid "The Partial block is used to specify a weight for a specific partical harmonic." +#~ msgstr "" + +#: js/turtledefs.js:373 + +#~ msgid "The Temperament name block is used to select a tuning method." +#~ msgstr "" + +#: js/musicutils.js:200 + +#~ msgid "Diminished" +#~ msgstr "" + +#~ msgid "Expand/collapse toolbar" +#~ msgstr "" + +#: js/turtledefs.js:187 + +#: js/toolbar.js:373 + +#: js/toolbar.js:421 + +#~ msgid "Save as SVG" +#~ msgstr "" + +#: js/turtledefs.js:424 + +#~ msgid "The Loadheap block loads the heap from a file." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:335 + +#~ msgid "in (Japan)" +#~ msgstr "" + +#: js/turtledefs.js:165 + +#~ msgid "Alternatively, you can hit the ENTER or RETURN key." +#~ msgstr "" + +#: js/turtledefs.js:218 + +#: js/turtledefs.js:350 + +#~ msgid "The Set timbre block selects a voice for the synthesizer, e.g., guitar, piano, violin, or cello." +#~ msgstr "" + +#: js/turtledefs.js:21 + +#: js/analytics.js:316 + +#~ msgid "turtle" +#~ msgstr "小烏龜" + +#: js/turtledefs.js:480 + +#~ msgid "The Y mouse block returns the Y position of the specified mouse." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:336 + +#~ msgid "minyo (Japan)" +#~ msgstr "" + +#: plugins/impact.rtp:124 + +#~ msgid "Impact Time not found." +#~ msgstr "" + +#: js/turtledefs.js:319 + +#~ msgid "The Beats per minute block changes the beats per minute of any contained notes." +#~ msgstr "" + +#: js/turtledefs.js:485 + +#~ msgid "The Stop mouse block stops the specified mouse." +#~ msgstr "" + +#: js/block.js:1308 + +#~ msgid "3rd" +#~ msgstr "" + +#: js/turtledefs.js:383 + +#~ msgid "The Duplicate block will run each block multiple times. The output of the example is: Sol, Sol, Sol, Sol, Re, Re, Re, Re, Sol, Sol, Sol, Sol." +#~ msgstr "" + +#: js/turtledefs.js:348 + +#~ msgid "The Doubly block will double the size of an interval." +#~ msgstr "" + +#: js/turtledefs.js:435 + +#~ msgid "The Run block block runs a block." +#~ msgstr "" + +#: js/basicblocks.js:510 + +#~ msgid "play forward" +#~ msgstr "" + +#: js/musicutils.js:308 + +#~ msgid "basse" +#~ msgstr "" + +#: js/turtledefs.js:208 + +#~ msgid "The Hertz block (in combination with a Number block) will play a sound at the specified frequency." +#~ msgstr "" + +#: js/turtledefs.js:219 + +#~ msgid "The Staccato block shortens the length of the actual note while maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/turtledefs.js:465 + +#~ msgid "The To ASCII block converts numbers to letters." +#~ msgstr "" + +#: js/turtledefs.js:214 + +#~ msgid "The Mode length block is the number of notes in the current scale. Most Western scales have 7 notes." +#~ msgstr "" + +#: js/turtledefs.js:258 + +#~ msgid "The Add-1-to block adds one to the value stored in a box." +#~ msgstr "" + +#: js/basicblocks.js:579 + +#~ msgid "440 hertz" +#~ msgstr "" + +#: js/turtledefs.js:277 + +#~ msgid "The Set XY block moves the mouse to a specific position on the screen." +#~ msgstr "" + +#: js/utilitybox.js:153 + +#~ msgid "Optimize performance" +#~ msgstr "" + +#: js/playback.js:31 + +#: js/playback.js:31 + +#: js/rhythmruler.js:827 + +#: js/rhythmruler.js:827 + +#~ msgid "play all" +#~ msgstr "" + +#: js/turtledefs.js:460 + +#~ msgid "The Camera block connects a webcam to the Show block." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#~ msgid "finger cymbols" +#~ msgstr "" + +#: js/synthutils.js:36 + +#~ msgid "simple-1" +#~ msgstr "" + +#: js/basicblocks.js:145 + +#~ msgid "consonant step down" +#~ msgstr "" + +#: js/synthutils.js:86 + +#~ msgid "ride-bell" +#~ msgstr "" + +#: js/turtledefs.js:23 + +#~ msgid "Music Blocks is a collection of tools for exploring musical concepts." +#~ msgstr "" + +#: js/logo-test.js:9708 + +#~ msgid "Cannot read pixel color" +#~ msgstr "" + +#: js/turtledefs.js:235 + +#~ msgid "The Rhythm Ruler block opens a tool to create drum machines." +#~ msgstr "" + +#: js/turtledefs.js:401 + +#~ msgid "The Sqrt block returns the square root." +#~ msgstr "" + +#: js/turtledefs.js:324 + +#~ msgid "The Note counter block can be used to count the number of contained notes." +#~ msgstr "" + +#: js/turtledefs.js:419 + +#~ msgid "The Heap empty? block returns true if the heap is emptry." +#~ msgstr "" + +#: js/musicutils.js:213 + +#~ msgid "Lydian" +#~ msgstr "" + +#: js/turtledefs.js:368 + +#~ msgid "The Noise name block is used to select a noise synthesizer." +#~ msgstr "" + +#: js/turtledefs.js:371 + +#~ msgid "The Pitch drum matrix is used to map pitches to drum sounds." +#~ msgstr "" + +#: js/turtledefs.js:311 + +#~ msgid "The Dot block extends the duration of a note by 50%. E.g., a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat." +#~ msgstr "" + +#: js/turtledefs.js:256 + +#~ msgid "The box2 returns the value stored on box2." +#~ msgstr "" + +#: js/turtledefs.js:213 + +#~ msgid "The Pitch Number block will play a pitch associated by its number, e.g, 1 for C, 7 for G." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:285 + +#~ msgid "harmonic-major" +#~ msgstr "" + +#: js/activity.js:4385 + +#~ msgid "Auxillary menu" +#~ msgstr "" + +#: js/samplesviewer.js:75 + +#: js/samplesviewer.js:75 + +#~ msgid "Publish" +#~ msgstr "" + +#: js/turtledefs.js:411 + +#~ msgid "The Push block adds a value to the top of the heap." +#~ msgstr "" + +#: js/musicutils.js:236 + +#~ msgid "Romanian Minor" +#~ msgstr "" + +#: js/turtledefs.js:251 + +#~ msgid "In the example, it is used with the One of block to choose a random phase." +#~ msgstr "" + +#: js/activity.js:2433 + +#: js/activity.js:2444 + +#: js/activity.js:2459 + +#~ msgid "untitled" +#~ msgstr "" + +#: js/samplesviewer.js:700 + +#~ msgid "Worldwide" +#~ msgstr "" + +#: js/turtledefs.js:320 + +#~ msgid "E.g., a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat." +#~ msgstr "" + +#: js/activity.js:3743 + +#: js/activity.js:3759 + +#~ msgid "long press to run slowly" +#~ msgstr "" + +#: js/turtledefs.js:430 + +#~ msgid "The Save heap to app block saves the heap to a web page." +#~ msgstr "" + +#: js/basicblocks.js:1370 + +#~ msgid "pluck" +#~ msgstr "" + +#: js/turtledefs.js:476 + +#~ msgid "The Mouse note block returns the current note value being played by the specified mouse." +#~ msgstr "" + +#: js/turtledefs.js:219 + +#~ msgid "The Slur block lengthens the sustain of notes—running longer than the noted duration and blending it into the next note—while maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/basicblocks.js:1545 + +#: js/basicblocks.js:1550 + +#~ msgid "on weak beat" +#~ msgstr "" + +#: js/turtledefs.js:322 + +#~ msgid "The No clock block decouples the notes from the master clock." +#~ msgstr "" + +#: js/turtledefs.js:283 + +#~ msgid "The Set-pen-size block changes the size of the pen." +#~ msgstr "" + +#~ msgid "end hollow line" +#~ msgstr "" + +#: js/turtledefs.js:448 + +#~ msgid "The Fill block fills in a shape with a color." +#~ msgstr "" + +#: js/basicblocks.js:622 + +#~ msgid "skip factor" +#~ msgstr "" + +#: js/turtledefs.js:221 + +#~ msgid "The Vibrato block adds a rapid, slight variation in pitch." +#~ msgstr "" + +#: js/turtledefs.js:311 + +#~ msgid "The Mouse-sync block aligns the beat count between mice." +#~ msgstr "" + +#: js/samplesviewer.js:73 + +#: js/samplesviewer.js:73 + +#~ msgid "Open" +#~ msgstr "" + +#: js/turtledefs.js:207 + +#~ msgid "The Scaler Step block (in combination with a Number block) will play the next pitch in a scale, e.g., if the last note played was sol, Scalar Step 1 will play la." +#~ msgstr "" + +#: js/basicblocks.js:1933 + +#~ msgid "define temperamentX" +#~ msgstr "" + +#: js/turtledefs.js:315 + +#~ msgid "The Swing block works on pairs of notes (specified by note value), adding some duration (specified by swing value) to the first note and taking the same amount from the second note." +#~ msgstr "" + +#: js/basicblocks.js:703 + +#~ msgid "set voice" +#~ msgstr "" + +#: js/turtledefs.js:331 + +#~ msgid "Else a kick drum will play." +#~ msgstr "" + +#: js/toolbar.js:340 + +#: js/toolbar.js:388 + +#~ msgid "Save as wav" +#~ msgstr "" + +#: js/activity.js:3859 + +#: js/activity.js:3870 + +#~ msgid "Click here to paste." +#~ msgstr "" + +#: js/turtledefs.js:204 + +#~ msgid "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note." +#~ msgstr "" + +#: js/synthutils.js:76 + +#~ msgid "tom-tom" +#~ msgstr "" + +#: js/musicutils.js:207 + +#~ msgid "Ionian" +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "ch" +#~ msgstr "" + +#: js/turtledefs.js:220 + +#~ msgid "The Slur block lengthens the sustain of notes while maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/temperament.js:1700 + +#~ msgid "add pitches" +#~ msgstr "" + +#: js/turtledefs.js:479 + +#~ msgid "The X mouse block returns the X position of the specified mouse." +#~ msgstr "" + +#: js/turtledefs.js:154 + +#: js/turtledefs.js:200 + +#~ msgid "Music Blocks is an open source collection of tools for exploring musical concepts. A full list of contributors can be found in the Music Blocks GitHub repository. Music Blocks is licensed under the AGPL. The current version is:' + ' ' + VERSION), 'images/logo.svg', 'https://github.com/sugarlabs/musicblocks', " +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "cb" +#~ msgstr "" + +#: js/basicblocks.js:1896 + +#~ msgid "reference pitch" +#~ msgstr "" + +#: js/turtledefs.js:165 + +#: js/turtledefs.js:170 + +#~ msgid "Click to run the music note by note." +#~ msgstr "" + +#: js/musicutils.js:310 + +#~ msgid "poly" +#~ msgstr "" + +#: js/StringHelper.js:22 + +#~ msgid "Search for a project\"," +#~ msgstr "" + +#: js/pitchslider.js:388 + +#~ msgid "move up" +#~ msgstr "" + +#: js/activity.js:3565 + +#~ msgid "confirm" +#~ msgstr "" + +#: js/turtledefs.js:427 + +#: js/turtledefs.js:428 + +#~ msgid "The Space block is used to add space between blocks." +#~ msgstr "" + +#: js/turtledefs.js:475 + +#~ msgid "The Mouse sync block aligns the beat count between mice." +#~ msgstr "" + +#: js/musicutils.js:239 + +#~ msgid "Maqam" +#~ msgstr "" + +#: js/musicutils.js:219 + +#~ msgid "Aeolian" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:289 + +#~ msgid "harmonic-minor" +#~ msgstr "" + +#: js/turtledefs.js:241 + +#~ msgid "For example, if you have 7 notes in sequence contained in a Decrescendo block with a value of 5, the final note will be at 35% less than the starting volume." +#~ msgstr "" + +#: js/turtledefs.js:268 + +#~ msgid "The Greater-than block returns True if the top number is greater than the bottom number." +#~ msgstr "" + +#: js/turtledefs.js:257 + +#~ msgid "The Add-to block is used to add to the value stored in a box. It can also be used with other blocks, such as Color, Pen-size. etc." +#~ msgstr "" + +#: js/turtledefs.js:423 + +#~ msgid "The Reverseheap block reverses the order of the heap." +#~ msgstr "" + +#: js/turtledefs.js:262 + +#~ msgid "The One-of block returns one of two choices." +#~ msgstr "" + +#: js/musicutils.js:221 + +#~ msgid "Locrian" +#~ msgstr "" + +#: js/turtledefs.js:445 + +#~ msgid "The Set hue block changes the color of the pen." +#~ msgstr "" + +#: js/turtledefs.js:396 + +#: js/turtledefs.js:397 + +#~ msgid "The Store in block will store a value in a box." +#~ msgstr "" + +#: js/activity.js:3524 + +#~ msgid "Save as .svg" +#~ msgstr "" + +#: js/musicutils.js:241 + +#~ msgid "Blues" +#~ msgstr "" + +#: js/turtledefs.js:152 + +#: js/turtledefs.js:198 + +#~ msgid "You can type \"d\" to create a \"do\" block, \"r\" to create a \"re\" block, etc." +#~ msgstr "" + +#: plugins/impact.rtp:69 + +#~ msgid "Cannot parse Impact data." +#~ msgstr "" + +#: js/turtledefs.js:233 + +#~ msgid "e.g., guitar, violin, snare drum, etc." +#~ msgstr "" + +#: js/turtledefs.js:238 + +#~ msgid "The Tempo block opens a metronome to visualize the beat." +#~ msgstr "" + +#: js/turtledefs.js:332 + +#~ msgid "The Invert block rotates any contained notes around a target note." +#~ msgstr "" + +#: plugins/impact.rtp:32 + +#~ msgid "field" +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "m" +#~ msgstr "" + +#: js/turtledefs.js:200 + +#~ msgid "The On-every-beat block let you specify actions to take on every beat." +#~ msgstr "" + +#: js/SaveInterface.js:24 + +#~ msgid "For more information, please consult the Music Blocks guide." +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "rs" +#~ msgstr "" + +#: js/turtledefs.js:305 + +#~ msgid "The Click block returns True if a mouse has been clicked." +#~ msgstr "" + +#: plugins/impact.rtp:100 + +#: plugins/impact.rtp:114 + +#~ msgid "Impact field not found." +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "gs" +#~ msgstr "" + +#: js/musicutils.js:217 + +#~ msgid "Minor" +#~ msgstr "" + +#: js/utilitybox.js:172 + +#~ msgid " " +#~ msgstr "" + +#: js/musicutils.js:227 + +#~ msgid "Byzantine" +#~ msgstr "" + +#: js/musicutils.js:223 + +#~ msgid "Jazz Minor" +#~ msgstr "" + +#: js/turtledefs.js:251 + +#~ msgid "The Do block is used to initiate an action. In the example, it is used with the One of block to choose a random phase." +#~ msgstr "" + +#: js/toolbar.js:372 + +#: js/toolbar.js:420 + +#~ msgid "Save as HTML" +#~ msgstr "" + +#: js/basicblocks.js:1156 + +#~ msgid "on beat" +#~ msgstr "" + +#: js/activity.js:3857 + +#: js/activity.js:3868 + +#: js/activity.js:3881 + +#: js/turtledefs.js:118 + +#: js/turtledefs.js:156 + +#~ msgid "Load project from files" +#~ msgstr "" + +#: js/turtledefs.js:216 + +#~ msgid "The Set temperament block is used to choose the tuning system used by Music Blocks." +#~ msgstr "" + +#: js/turtledefs.js:250 + +#~ msgid "The Dispatch block is used to trigger an event." +#~ msgstr "" + +#: js/turtledefs.js:87 + +#~ msgid "Hide or show the block palettes." +#~ msgstr "" + +#: js/activity.js:2712 + +#~ msgid "Run fast / long press to run slowly" +#~ msgstr "" + +#: js/activity.js:913 + +#~ msgid "hide grid" +#~ msgstr "" + +#: js/synthutils.js:72 + +#~ msgid "snare-drum" +#~ msgstr "" + +#: js/turtledefs.js:325 + +#~ msgid "The Measure count block returns the current measure." +#~ msgstr "" + +#: js/turtledefs.js:474 + +#~ msgid "The Found mouse block will return true if the specified mouse can be found." +#~ msgstr "" + +#: js/turtledefs.js:267 + +#~ msgid "The Dispatch block is used to trigger an event." +#~ msgstr "" + +#: js/turtledefs.js:107 + +#: js/utilitybox.js:239 + +#~ msgid "Search" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/synthutils.js:44 + +#~ msgid "white-noise" +#~ msgstr "" + +#: js/musicutils.js:203 + +#~ msgid "Octatonic" +#~ msgstr "" + +#: js/turtledefs.js:309 + +#~ msgid "The Pitch-time Matrix block opens a tool to create musical phrases." +#~ msgstr "" + +#: js/turtledefs.js:297 + +#~ msgid "The Top block returns the position of the top of the canvas." +#~ msgstr "" + +#: js/turtledefs.js:249 + +#~ msgid "The Listen block is used to listen for an event such as a mouse click. When the event happens, an action is taken." +#~ msgstr "" + +#: plugins/rodi.rtp:91 + +#~ msgid "sense left" +#~ msgstr "" + +#: js/turtledefs.js:237 + +#~ msgid "The Music keyboard block opens a piano keyboard that can be used to create notes." +#~ msgstr "" + +#: js/turtledefs.js:413 + +#~ msgid "The Setheapentry block sets a value in he heap at the specified location." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:307 + +#~ msgid "jazz-minor" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:325 + +#~ msgid "minor-blues" +#~ msgstr "" + +#: js/help.js:53 + +#~ msgid "previous page" +#~ msgstr "" + +#: js/turtledefs.js:285 + +#~ msgid "The Pen-down block lowers the pen so that it draws." +#~ msgstr "" + +#: js/turtledefs.js:330 + +#~ msgid "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps. In the example shown above, sol is shifted up to sol#." +#~ msgstr "" + +#: js/turtledefs.js:107 + +#~ msgid "You can search for blocks by name." +#~ msgstr "" + +#: js/synthutils.js:88 + +#~ msgid "cow-bell" +#~ msgstr "" + +#: js/block.js:1307 + +#~ msgid "2nd" +#~ msgstr "" + +#: js/turtledefs.js:291 + +#~ msgid "The Media block is used to import an image." +#~ msgstr "" + +#: js/activity.js:3527 + +#~ msgid "Offline. Sharing is unavailable." +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "fs" +#~ msgstr "" + +#: js/turtledefs.js:470 + +#~ msgid "The Stopplayback block" +#~ msgstr "" + +#: js/turtledefs.js:243 + +#: js/turtledefs.js:244 + +#~ msgid "Conditionals lets your program take different actions depending on the condition. In this example, if the mouse button is pressed, a snare drum will play. Otherwise (else) a kick drum will play." +#~ msgstr "" + +#: js/turtledefs.js:471 + +#~ msgid "The Loudness block returns the volume detected by the microphone." +#~ msgstr "" + +#: js/turtledefs.js:431 + +#~ msgid "The Show blocks block shows the blocks." +#~ msgstr "" + +#~ msgid "food" +#~ msgstr "" + +#: js/basicblocks.js:874 + +#~ msgid "osctime" +#~ msgstr "" + +#: js/basicblocks.js:901 + +#~ msgid "divide beat value" +#~ msgstr "" + +#: js/turtledefs.js:187 + +#: js/toolbar.js:374 + +#: js/toolbar.js:422 + +#~ msgid "Save as PNG" +#~ msgstr "" + +#: js/turtledefs.js:425 + +#~ msgid "The Comment block prints a comment at the top of the screen when the program is running in slow mode." +#~ msgstr "" + +#: js/turtledefs.js:457 + +#~ msgid "The Stop media block stops audio or video playback." +#~ msgstr "" + +#: js/turtledefs.js:302 + +#~ msgid "The Mouse-button block returns True if the mouse button is pressed." +#~ msgstr "" + +#: js/musicutils.js:286 + +#~ msgid "blues" +#~ msgstr "" + +#: js/activity.js:4401 + +#~ msgid "More" +#~ msgstr "" + +#: js/turtledefs.js:304 + +#~ msgid "The Cursor Y block returns the vertical position of the mouse." +#~ msgstr "" + +#~ msgid "maths" +#~ msgstr "" + +#: js/turtledefs.js:260 + +#: js/turtledefs.js:261 + +#~ msgid "Otherwise (else) a kick drum will play." +#~ msgstr "" + +#: js/StringHelper.js:18 + +#~ msgid "Open project from file\"," +#~ msgstr "" + +#: js/basicblocks.js:605 + +#~ msgid "tritone" +#~ msgstr "" + +#: js/musicutils.js:209 + +#~ msgid "Dorian" +#~ msgstr "" + +#: js/turtledefs.js:79 + +#~ msgid "This toolbar contains the palette buttons Matrix Notes Tone Turtle and more." +#~ msgstr "" + +#: js/synthutils.js:74 + +#~ msgid "kick-drum" +#~ msgstr "" + +#: js/block.js:1310 + +#~ msgid "5th" +#~ msgstr "" + +#: js/turtledefs.js:478 + +#~ msgid "The Mouse elapse notes block returns the number of notes played by the specified mouse." +#~ msgstr "" + +#: js/turtledefs.js:477 + +#~ msgid "The Mouse pitch block returns the current pitch number being played by the specified mouse." +#~ msgstr "" + +#: js/turtledefs.js:129 + +#: js/turtledefs.js:164 + +#~ msgid "This toolbar contains the palette buttons, including Rhythm Pitch Tone Action and more." +#~ msgstr "" + +#: js/help.js:72 + +#~ msgid "next page" +#~ msgstr "" + +#: js/turtledefs.js:241 + +#~ msgid "The Repeat block will repeat the contained blocks. In this example, the note will be played 4 times." +#~ msgstr "" + +#: js/turtledefs.js:97 + +#~ msgid "The save-stack button saves a stack onto a custom palette. It appears after a \"long press\" on a stack." +#~ msgstr "" + +#: js/basicblocks.js:4785 + +#~ msgid "Rhythm" +#~ msgstr "" + +#: js/turtledefs.js:338 + +#~ msgid "The Number to octave block will convert a pitch number to an octave." +#~ msgstr "" + +#: js/turtledefs.js:95 + +#~ msgid "To copy a stack to the clipboard, do a \"long press\" on the stack. The Paste Button will highlight." +#~ msgstr "" + +#~ msgid "hspace" +#~ msgstr "" + +#: js/activity.js:2789 + +#~ msgid "Long press on block(s) to copy. Click here to paste." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:291 + +#~ msgid "melodic-minor" +#~ msgstr "" + +#: js/turtledefs.js:427 + +#~ msgid "The Heap empty? block returns true if the heap is emptry." +#~ msgstr "" + +#: js/turtledefs.js:469 + +#~ msgid "The Playback block" +#~ msgstr "" + +#: js/turtledefs.js:196 + +#~ msgid "The Note value block is the value of the duration of the note currently being played." +#~ msgstr "" + +#: js/turtledefs.js:187 + +#: js/toolbar.js:375 + +#: js/toolbar.js:423 + +#~ msgid "Save as WAV" +#~ msgstr "" + +#: js/turtledefs.js:354 + +#~ msgid "The Tremolo block adds a wavering effect." +#~ msgstr "" + +#: js/turtledefs.js:446 + +#~ msgid "The Set grey block changes the vividness of the pen color." +#~ msgstr "" + +#: js/turtledefs.js:290 + +#~ msgid "The Text block holds a text string." +#~ msgstr "" + +#: js/turtledefs.js:21 + +#~ msgid "actions" +#~ msgstr "" + +#: js/turtledefs.js:331 + +#~ msgid "The Register block provides an easy way to modify the register (octave) of the notes that follow it." +#~ msgstr "" + +#: js/logo.js:3384 + +#~ msgid "Note value must be greater than 0" +#~ msgstr "" + +#: js/turtledefs.js:236 + +#~ msgid "Tuplets are a collection of notes that get scaled to a specific duration. Using tuplets makes it easy to create groups of notes that are not based on a power of 2." +#~ msgstr "" + +#: js/basicblocks.js:1398 + +#~ msgid "pitch-time matrix" +#~ msgstr "" + +#: js/turtledefs.js:233 + +#~ msgid "eg guitar, violin, snare drum, etc." +#~ msgstr "" + +#: js/turtledefs.js:347 + +#~ msgid "The Scalar interval block measures the distance between two notes in semi-tones." +#~ msgstr "" + +#: js/turtledefs.js:144 + +#~ msgid "Long press the run button to run the project in slow mode." +#~ msgstr "" + +#: js/turtledefs.js:339 + +#~ msgid "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave." +#~ msgstr "" + +#: js/turtledefs.js:188 + +#~ msgid "Show or hide a polar-coordinate grid." +#~ msgstr "" + +#: js/turtledefs.js:344 + +#~ msgid "It can also be used with other blocks, such as Color, Pen-size." +#~ msgstr "" + +#: js/samplesviewer.js:80 + +#~ msgid "Copy this link to share your project." +#~ msgstr "" + +#: js/turtledefs.js:111 + +#: js/turtledefs.js:149 + +#~ msgid "Clear the screen and return the turtles to their initial positions." +#~ msgstr "" + +#: js/turtledefs.js:254 + +#~ msgid "The box1 returns the value stored on box1." +#~ msgstr "" + +#: js/logo.js:3705 + +#~ msgid "The Step Pitch Block must be used inside of a Note Block." +#~ msgstr "" + +#: plugins/rodi.rtp:30 + +#~ msgid "blink (ms)" +#~ msgstr "" + +#: js/turtledefs.js:360 + +#~ msgid "The Duo synth block is a duo-frequency modulator used to define a timbre." +#~ msgstr "" + +#~ msgid "begin hollow line" +#~ msgstr "" + +#: js/musicutils.js:232 + +#~ msgid "Geez" +#~ msgstr "" + +#~ msgid "Rhythm Block: Did you mean to use a Note block?" +#~ msgstr "" + +#: js/turtledefs.js:260 + +#: js/turtledefs.js:261 + +#~ msgid "In this example, if the mouse button is pressed, a snare drum will play." +#~ msgstr "" + +#: js/turtledefs.js:77 + +#~ msgid "This toolbar contains the palette buttons Matrix, Notes, Tone, Turtle, and more. Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them." +#~ msgstr "" + +#: js/turtledefs.js:434 + +#~ msgid "The Dock block block connections two blocks." +#~ msgstr "" + +#: js/turtledefs.js:203 + +#~ msgid "The Step pitch block (in combination with a Number block) will play the next pitch in a scale, e.g., if the last note played was sol, Step pitch 1 will play la." +#~ msgstr "" + +#: js/turtledefs.js:245 + +#~ msgid "The Backward block runs code in reverse order (Musical retrograde)." +#~ msgstr "" + +#: js/basicblocks.js:583 + +#~ msgid "deprecated note value" +#~ msgstr "" + +#: js/musicutils.js:226 + +#~ msgid "Arabic" +#~ msgstr "" + +#: js/turtledefs.js:259 + +#~ msgid "In this example, a simple drum machine, a kick drum will play 1/4 notes forever." +#~ msgstr "" + +#: js/logo.js:6824 + +#~ msgid "Hertz Block: Did you mean to use a Note block3?" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:327 + +#~ msgid "major-blues" +#~ msgstr "" + +#: js/turtledefs.js:403 + +#~ msgid "The Mod block returns the remainder from a division." +#~ msgstr "" + +#: js/turtledefs.js:206 + +#~ msgid "Pitch can be specified in terms of C D E F G A B." +#~ msgstr "" + +#: js/musicutils.js:233 + +#~ msgid "Hindu" +#~ msgstr "" + +#: js/turtledefs.js:316 + +#~ msgid "The Milliseconds block is similar to a Note block except that it uses time (in MS) to specify the note duration." +#~ msgstr "" + +#: js/turtledefs.js:406 + +#~ msgid "The Not block is the logical not operator." +#~ msgstr "" + +#: js/StringHelper.js:19 + +#~ msgid "New project\"," +#~ msgstr "" + +#: js/basicblocks.js:1299 + +#~ msgid "step pitch" +#~ msgstr "" + +#: js/turtledefs.js:255 + +#~ msgid "The Store in box2 block is used to store a value in box2." +#~ msgstr "" + +#: js/toolbar.js:339 + +#: js/toolbar.js:387 + +#~ msgid "Save as png" +#~ msgstr "" + +#: js/turtledefs.js:314 + +#~ msgid "The Skip notes block will cause notes to be skipped." +#~ msgstr "" + +#: js/turtledefs.js:215 + +#~ msgid "The Scalar interval block calculates a relative interval based on the current mode, skipping all notes outside of the mode. In the figure, we add la to sol." +#~ msgstr "" + +#: js/basicblocks.js:519 + +#~ msgid "play backward" +#~ msgstr "" + +#: js/turtledefs.js:333 + +#~ msgid "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played." +#~ msgstr "" + +#: js/turtledefs.js:442 + +#~ msgid "The Control-point 1 block sets the first control point for the Bezier curve." +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "bk" +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "bt" +#~ msgstr "" + +#: js/logo.js:2175 + +#: js/logo.js:7714 + +#: js/logo.js:7849 + +#: js/logo.js:7909 + +#: js/logo.js:8029 + +#: js/logo.js:8057 + +#~ msgid "Could not find mouse" +#~ msgstr "" + +#: js/turtledefs.js:469 + +#~ msgid "The Get green block returns the green component of the pixel under the mouse." +#~ msgstr "" + +#: js/turtledefs.js:235 + +#~ msgid "The Rhythm block is used to generate rhythm patterns." +#~ msgstr "" + +#: js/turtledefs.js:213 + +#~ msgid "???" +#~ msgstr "" + +#: js/turtledefs.js:303 + +#~ msgid "The Cursor X block returns the horizontal position of the mouse." +#~ msgstr "" + +#: js/activity.js:3444 + +#~ msgid "Save Project" +#~ msgstr "" + +#: js/turtledefs.js:454 + +#~ msgid "The Set font block sets the font used by the Show block." +#~ msgstr "" + +#~ msgid "do re mi fa sol la ti" +#~ msgstr "" + +#: js/turtledefs.js:377 + +#~ msgid "The Until block will repeat until the condition is true." +#~ msgstr "" + +#: js/turtledefs.js:408 + +#~ msgid "The Or block is the logical or operator." +#~ msgstr "" + +#: js/modewidget.js:77 + +#~ msgid "rotate counter clockwise" +#~ msgstr "" + +#: js/turtledefs.js:344 + +#~ msgid "etc." +#~ msgstr "" + +#: js/pitchtimematrix.js:203 + +#~ msgid "sort" +#~ msgstr "" + +#: js/logo.js:5000 + +#~ msgid "Pitch Block: Did you mean to use a Note block2?" +#~ msgstr "" + +#: js/logo.js:3606 + +#~ msgid "Distortion not in range" +#~ msgstr "" + +#: js/turtledefs.js:453 + +#~ msgid "The Pen size block returns the current pen size value." +#~ msgstr "" + +#: js/turtledefs.js:422 + +#~ msgid "The Save heap to app block saves the heap to a web page." +#~ msgstr "" + +#: js/turtledefs.js:261 + +#~ msgid "The Random block returns a random number." +#~ msgstr "" + +#: js/turtledefs.js:143 + +#: js/turtledefs.js:180 + +#~ msgid "Polar" +#~ msgstr "" + +#: js/basicblocks.js:74 + +#~ msgid "current pitch name" +#~ msgstr "" + +#: js/turtledefs.js:134 + +#~ msgid "Show or hide a Cartesian-coordinate grid." +#~ msgstr "" + +#: js/turtledefs.js:421 + +#~ msgid "The Show heap block displays the contents of the heap at the top of the screen." +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "gp" +#~ msgstr "" + +#: js/turtledefs.js:308 + +#~ msgid "The Mouse-name block returns the name of a mouse." +#~ msgstr "" + +#: js/activity.js:3528 + +#~ msgid "Save as .png" +#~ msgstr "" + +#: js/musicutils.js:215 + +#~ msgid "Mixolydian" +#~ msgstr "" + +#: js/block.js:909 + +#~ msgid "mKeyboard" +#~ msgstr "" + +#: js/turtledefs.js:379 + +#~ msgid "The Stop block will stop a loop (e.g., Forever, Repeat, While, or Until)." +#~ msgstr "" + +#: js/turtledefs.js:211 + +#~ msgid "The Pitch number block is the value of the pitch of the note currently being played." +#~ msgstr "" + +#: js/turtledefs.js:293 + +#~ msgid "The Shell block is used to change the appearance of the mouse." +#~ msgstr "" + +#: js/turtledefs.js:270 + +#~ msgid "The Equal block returns True if the two numbers are equal." +#~ msgstr "" + +#: js/savebox.js:105 + +#~ msgid "Upload to Planet" +#~ msgstr "" + +#: js/turtledefs.js:341 + +#~ msgid "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode." +#~ msgstr "" + +#: js/turtledefs.js:467 + +#~ msgid "The Get pixel block returns the color of the pixel under the mouse." +#~ msgstr "" + +#: js/activity.js:3607 + +#~ msgid "Load plugin from file" +#~ msgstr "" + +#: js/turtledefs.js:461 + +#~ msgid "The Playback block" +#~ msgstr "" + +#: js/activity.js:3541 + +#~ msgid "Save as .abc" +#~ msgstr "" + +#: js/logo.js:10269 + +#~ msgid "Lilypond cannot process partial of " +#~ msgstr "" + +#: js/turtledefs.js:210 + +#~ msgid "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played." +#~ msgstr "" + +#: js/block.js:1453 + +#~ msgid "degree" +#~ msgstr "" + +#: plugins/rodi.rtp:169 + +#~ msgid "sing" +#~ msgstr "" + +#: js/turtledefs.js:443 + +#~ msgid "The Control-point 2 block sets the second control point for the Bezier curve." +#~ msgstr "" + +#: js/musicutils.js:247 + +#~ msgid "Chinese" +#~ msgstr "" + +#: js/turtledefs.js:165 + +#~ msgid "Play music" +#~ msgstr "" + +#: js/samplesviewer.js:91 + +#: js/samplesviewer.js:91 + +#: js/samplesviewer.js:115 + +#: js/samplesviewer.js:115 + +#~ msgid "Download" +#~ msgstr "" + +#: js/synthutils.js:82 + +#~ msgid "darbuka-drum" +#~ msgstr "" + +#: js/turtledefs.js:345 + +#~ msgid "The Semi-tone interval block calculates a relative interval based on half steps. In the figure, we add sol# to sol." +#~ msgstr "" + +#: js/turtledefs.js:263 + +#~ msgid "The Plus block is used to add." +#~ msgstr "" + +#: js/turtledefs.js:207 + +#~ msgid "e.g., 1, 2, 3, or 4." +#~ msgstr "" + +#: js/turtledefs.js:416 + +#~ msgid "The Loadheap block loads the heap from a file." +#~ msgstr "" + +#~ msgid "cloud" +#~ msgstr "" + +#: js/turtledefs.js:298 + +#~ msgid "The Bottom block returns the position of the bottom of the canvas." +#~ msgstr "" + +#: js/toolbar.js:338 + +#: js/toolbar.js:386 + +#~ msgid "Save as svg" +#~ msgstr "" + +#: plugins/impact.rtp:122 + +#~ msgid "Impact UID not found." +#~ msgstr "" + +#: js/pitchdrummatrix.js:141 + +#~ msgid "Solfa" +#~ msgstr "" + +#: js/timbre.js:727 + +#~ msgid "add filter" +#~ msgstr "" + +#: js/logo.js:2688 + +#~ msgid "turtleHeaps does not contain a valid heap for" +#~ msgstr "" + +#: js/turtledefs.js:98 + +#~ msgid "You can also use Alt+C to copy a stack of blocks. " +#~ msgstr "" + +#: js/activity.js:3523 + +#~ msgid "Show/hide palettes" +#~ msgstr "" + +#: js/activity.js:3066 + +#~ msgid "Home' + ' [HOME]" +#~ msgstr "" + +#: js/turtledefs.js:484 + +#~ msgid "The Start mouse block starts the specified mouse." +#~ msgstr "" + +#: plugins/impact.rtp:32 + +#~ msgid "fetch" +#~ msgstr "" + +#: js/turtledefs.js:398 + +#~ msgid "The Box block returns the value stored in a box." +#~ msgstr "" + +#~ msgid "rodi" +#~ msgstr "" + +#: js/turtledefs.js:481 + +#~ msgid "The Set mouse block sends a stack of blocks to be run by the specified mouse." +#~ msgstr "" + +#: js/turtledefs.js:254 + +#~ msgid "The box1 block returns the value stored in box1." +#~ msgstr "" + +#: js/turtledefs.js:99 + +#~ msgid "You can also use Alt+P to paste a stack of blocks. " +#~ msgstr "" + +#: js/musicutils.js:291 + +#~ msgid "pentatonic" +#~ msgstr "" + +#~ msgid "blocks" +#~ msgstr "" + +#: js/turtledefs.js:232 + +#~ msgid "The Pitch-time Matrix block opens a tool to create musical phrases." +#~ msgstr "" + +#: js/turtledefs.js:281 + +#~ msgid "The Heading block returns the orientation of the mouse." +#~ msgstr "" + +#: js/turtledefs.js:400 + +#~ msgid "The Abs block returns the absolute value." +#~ msgstr "" + +#: js/turtledefs.js:240 + +#~ msgid "For example, if you have 7 notes in sequence contained in a Crescendo block with a value of 5, the final note will be at 35% more than the starting volume." +#~ msgstr "" + +#: js/block.js:962 + +#: js/basicblocks.js:1022 + +#: js/basicblocks.js:1034 + +#~ msgid "rhythm ruler" +#~ msgstr "" + +#: js/logo.js:3626 + +#: js/logo.js:3675 + +#~ msgid "Depth entered is out of range" +#~ msgstr "" + +#: js/turtledefs.js:346 + +#~ msgid "The Scalar interval block measures the distance between two notes in the current key and mode." +#~ msgstr "" + +#: js/turtledefs.js:272 + +#~ msgid "The Forward block moves the mouse forward." +#~ msgstr "" + +#: js/musicutils.js:246 + +#~ msgid "Pentatonic" +#~ msgstr "" + +#: js/turtledefs.js:372 + +#~ msgid "The Temperament tool is used to define custom tuning." +#~ msgstr "" + +#: js/logo.js:4992 + +#: js/logo.js:5014 + +#~ msgid "Input to Major Block must be 2, 3, 6, or 7" +#~ msgstr "" + +#: js/turtledefs.js:289 + +#~ msgid "The Print block displays text at the top of the screen." +#~ msgstr "" + +#: js/turtledefs.js:356 + +#~ msgid "The Weighted partials block is used to specify the partials associated with a timbre." +#~ msgstr "" + +#: js/basicblocks.js:712 + +#~ msgid "articulation" +#~ msgstr "" + +#: js/turtledefs.js:387 + +#: js/turtledefs.js:389 + +#: js/turtledefs.js:391 + +#: js/turtledefs.js:392 + +#~ msgid "The Calculate block returns a value calculated by an action." +#~ msgstr "" + +#: js/samplesviewer.js:81 + +#: js/samplesviewer.js:84 + +#~ msgid "Advanced options" +#~ msgstr "" + +#: js/turtledefs.js:394 + +#~ msgid "The Return block will return a value from an action." +#~ msgstr "" + +#: js/turtledefs.js:247 + +#~ msgid "The Action block is used to group together blocks so that they can be used more than once. It is often used for storing a phrase of music that is repeated." +#~ msgstr "" + +#: js/turtledefs.js:470 + +#~ msgid "The Get blue block returns the blue component of the pixel under the mouse." +#~ msgstr "" + +#: js/turtledefs.js:187 + +#: js/toolbar.js:377 + +#: js/toolbar.js:425 + +#~ msgid "Save sheet music" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:320 + +#~ msgid "romanian-minor" +#~ msgstr "" + +#: js/block.js:1309 + +#~ msgid "4th" +#~ msgstr "" + +#: js/turtledefs.js:362 + +#~ msgid "The Set relative volume block changes the volume of the contained notes." +#~ msgstr "" + +#: js/turtledefs.js:380 + +#~ msgid "The Switch block will run the code in the matchin Case." +#~ msgstr "" + +#: js/basicblocks.js:282 + +#~ msgid "adjust transposition" +#~ msgstr "" + +#: js/turtledefs.js:80 + +#~ msgid "Click to run the project in fast mode." +#~ msgstr "" + +#: js/turtledefs.js:170 + +#~ msgid "Run note by note" +#~ msgstr "" + +#: js/logo.js:5092 + +#~ msgid "Partial block should be used inside of a Weighted-partisls block." +#~ msgstr "" + +#: js/turtledefs.js:428 + +#~ msgid "The Heap length block returns the length of the heap." +#~ msgstr "" + +#: js/basicblocks.js:4324 + +#~ msgid "shell" +#~ msgstr "" + +#: js/StringHelper.js:17 + +#~ msgid "Close Planet\"," +#~ msgstr "" + +#: js/help.js:72 + +#~ msgid "Next page" +#~ msgstr "" + +#: js/activity.js:3859 + +#: js/activity.js:3870 + +#~ msgid "Long press on blocks to copy." +#~ msgstr "" + +#: js/turtledefs.js:351 + +#~ msgid "The Chorus block adds a chorus effect." +#~ msgstr "" + +#: js/turtledefs.js:239 + +#~ msgid "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale)." +#~ msgstr "" + +#: js/logo.js:2317 + +#~ msgid "Please close the current matrix before opening a new one." +#~ msgstr "" + +#: js/turtledefs.js:426 + +#~ msgid "The Wait block pauses the program for a specified number of seconds." +#~ msgstr "" + +#: js/turtledefs.js:229 + +#~ msgid "The Set drum block will select a drum sound to replace the pitch of any contained notes. In the example above, a kick drum sound will be played instead of sol." +#~ msgstr "" + +#: js/turtledefs.js:420 + +#~ msgid "The Heap length block returns the length of the heap." +#~ msgstr "" + +#: js/basicblocks.js:1146 + +#~ msgid "on offbeat do" +#~ msgstr "" + +#: js/StringHelper.js:17 + +#: js/StringHelper.js:18 + +#: js/StringHelper.js:19 + +#~ msgid "data-tooltip" +#~ msgstr "" + +#: js/playback.js:28 + +#: js/playback.js:28 + +#~ msgid "pause" +#~ msgstr "" + +#: js/turtledefs.js:195 + +#~ msgid "A rest of the specified note value duration can be constructed using a Silence block." +#~ msgstr "" + +#: js/turtledefs.js:225 + +#~ msgid "e.g., guitar, piano, violin, or cello." +#~ msgstr "" + +#: js/activity.js:4118 + +#~ msgid "Hard stop" +#~ msgstr "" + +#: js/turtledefs.js:468 + +#~ msgid "The Get red block returns the red component of the pixel under the mouse." +#~ msgstr "" + +#: js/basicblocks.js:808 + +#~ msgid "free time" +#~ msgstr "" + +#: js/turtledefs.js:214 + +#~ msgid "e.g., if the last note played was sol, Scalar Step 1 will play la." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:328 + +#~ msgid "whole-tone" +#~ msgstr "" + +#: js/turtledefs.js:185 + +#~ msgid "You can also use Alt+C to copy a stack of blocks." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:287 + +#~ msgid "natural-minor" +#~ msgstr "" + +#: js/activity.js:4437 + +#: js/activity.js:4472 + +#~ msgid "Click here to paste" +#~ msgstr "" + +#~ msgid "This button opens and closes the primary toolbar." +#~ msgstr "" + +#: js/activity.js:4426 + +#~ msgid "Run music step by step" +#~ msgstr "" + +#: js/turtledefs.js:417 + +#~ msgid "The Saveheap block saves the heap to a file." +#~ msgstr "" + +#: js/musicutils.js:230 + +#~ msgid "Ethiopian" +#~ msgstr "" + +#: js/turtledefs.js:99 + +#~ msgid "It appears after a long press on a stack." +#~ msgstr "" + +#: js/logo.js:4851 + +#: js/logo.js:4872 + +#~ msgid "Input to Perfect Block must be 1, 4, 5, or 8" +#~ msgstr "" + +#: js/temperament.js:1621 + +#~ msgid "table" +#~ msgstr "" + +#: js/savebox.js:116 + +#~ msgid "Save as .tb" +#~ msgstr "" + +#: js/lilypond.js:21 + +#~ msgid "cp" +#~ msgstr "" + +#: js/turtledefs.js:321 + +#~ msgid "The On-weak-beat block let you specify actions to take on weak (off) beats." +#~ msgstr "" + +#: plugins/rodi.rtp:130 + +#~ msgid "sense right" +#~ msgstr "" + +#: js/turtledefs.js:423 + +#~ msgid "The Load heap from app block loads the heap from a web page." +#~ msgstr "" + +#~ msgid "vspace" +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:321 + +#~ msgid "spanish-gypsy" +#~ msgstr "" + +#: js/turtledefs.js:286 + +#~ msgid "The Color block returns the current pen color." +#~ msgstr "" + +#: js/musicutils.js:225 + +#~ msgid "Bebop" +#~ msgstr "" + +#: js/turtledefs.js:185 + +#~ msgid "The Paste Button will highlight." +#~ msgstr "" + +#: js/turtledefs.js:431 + +#~ msgid "The Load heap from app block loads the heap from a web page." +#~ msgstr "" + +#: js/logo.js:1982 + +#~ msgid "The Step Pitch Block must be used insdie of a Note Block." +#~ msgstr "" + +#: js/turtledefs.js:118 + +#~ msgid "Remove all content on the canvas, including the blocks." +#~ msgstr "" + +#: js/basicblocks.js:4883 + +#~ msgid "save svg" +#~ msgstr "" + +#: js/samplesviewer.js:699 + +#~ msgid "On my device" +#~ msgstr "" + +#: js/turtledefs.js:432 + +#~ msgid "The No background block eliminates the background from the saved SVG output." +#~ msgstr "" + +#: js/activity.js:2527 + +#~ msgid "My Music Blocks Creation" +#~ msgstr "" + +#: js/turtledefs.js:438 + +#~ msgid "The Open palette block opens a palette." +#~ msgstr "" + +#: js/turtledefs.js:242 + +#~ msgid "The Forever block will repeat the contained blocks forever. In this example, a simple drum machine, a kick drum will play 1/4 notes forever." +#~ msgstr "" + +#: js/logo.js:4898 + +#: js/logo.js:4919 + +#~ msgid "Input to Diminished Block must be 1, 2, 3, 4, 5, 6, 7, or 8" +#~ msgstr "" + +#: js/turtledefs.js:168 + +#~ msgid "Run music slow" +#~ msgstr "" + +#: js/turtledefs.js:120 + +#: js/turtledefs.js:159 + +#~ msgid "To copy a stack to the clipboard, do a long press on the stack." +#~ msgstr "" + +#: js/turtledefs.js:359 + +#~ msgid "eg guitar, piano, violin, or cello." +#~ msgstr "" + +#: js/turtledefs.js:29 + +#: js/musicutils.js:330 + +#~ msgid "minor-pentatonic" +#~ msgstr "" + +#: js/turtledefs.js:359 + +#~ msgid "The AM synth block is an amplitude modulator used to define a timbre." +#~ msgstr "" + +#: js/turtledefs.js:275 + +#~ msgid "The Right block turns the mouse to the right." +#~ msgstr "" + +#: js/turtledefs.js:355 + +#~ msgid "The Harmonic block will add harmonics to the contained notes." +#~ msgstr "" + +#: js/turtledefs.js:217 + +#~ msgid "The Staccato block shortens the length of the actual notewhile maintaining the specified rhythmic value of the notes." +#~ msgstr "" + +#: js/pitchtimematrix.js:198 + +#~ msgid "export" +#~ msgstr "" + +#: js/turtledefs.js:402 + +#~ msgid "The Power block calculates a power function." +#~ msgstr "" + +#: js/turtledefs.js:440 + +#~ msgid "The Set heading block sets the heading of the mouse." +#~ msgstr "" + +#: js/turtledefs.js:193 + +#~ msgid "The Note block is a container for one or more Pitch blocks. The Note block specifies the duration (note value) of its contents." +#~ msgstr "" + +#: js/turtledefs.js:269 + +#~ msgid "The Less-than block returns True if the top number is less than the bottom number." +#~ msgstr "" + +#: js/turtledefs.js:201 + +#~ msgid "The Beat count block is the number of the current beat, e.g., 1, 2, 3, or 4.\n In the figure, it is used to take an action on the first beat of each measure." +#~ msgstr "" + +#: js/turtledefs.js:483 + +#~ msgid "The Mouse color block returns the pen color of the specified mouse." +#~ msgstr "" + +#: js/turtledefs.js:187 + +#: js/toolbar.js:376 + +#: js/toolbar.js:424 + +#~ msgid "Save as ABC" +#~ msgstr "" + +#: js/timbre.js:591 + +#~ msgid "synthesizer" +#~ msgstr "" + +#: js/logo.js:630 + +#: js/palette.js:1808 + +#: js/musicutils.js:205 + +#~ msgid "Major" +#~ msgstr "" + +#: js/turtledefs.js:425 + +#~ msgid "The Saveheap block saves the heap to a file." +#~ msgstr "" + +#: js/turtledefs.js:363 + +#~ msgid "The Set master volume block sets the volume for all synthesizers." +#~ msgstr "" + +#: js/basicblocks.js:883 + +#~ msgid "duplicate notes" +#~ msgstr "" + +#: js/turtledefs.js:421 + +#~ msgid "The Setheapentry block sets a value in he heap at the specified location." +#~ msgstr "" + +#: js/utilitybox.js:281 + +#~ msgid "Disable scrolling" +#~ msgstr "" + +#: js/turtledefs.js:425 + +#~ msgid "The Scalar interval block measures the distance between two notes in semi-tones." +#~ msgstr "" + +#: js/logo.js:4259 + +#~ msgid "Rhythm Block: Did you mean to use a Matrix block?" +#~ msgstr "" + +#: js/turtledefs.js:202 + +#~ msgid "The Notes played block is the number of notes that have been played. (By default, it counts quarter notes.)" +#~ msgstr "" + +#: js/turtledefs.js:242 + +#~ msgid "The default volume is 50; the range is 0 (silence) to 100 (full volume)." +#~ msgstr "" + +#: js/turtledefs.js:248 + +#~ msgid "Each Start block is a separate voice. All of the Start blocks run at the same time when the Play button is pressed." +#~ msgstr "" + +#: js/turtledefs.js:352 + +#~ msgid "e.g. \"do\" is always \"C-natural\"); when Movable do is true, the solfege note names are assigned to scale degrees (\"do\" is always the first degree of the major scale)." +#~ msgstr "" + +#: js/basicblocks.js:83 + +#~ msgid "current pitch octave" +#~ msgstr "" + +#: js/turtledefs.js:415 + +#~ msgid "The Reverseheap block reverses the order of the heap." +#~ msgstr "" + +#: js/musicutils.js:250 + +#~ msgid "Hirajoshi" +#~ msgstr "" + +#: js/turtledefs.js:433 + +#~ msgid "The Make block block creates a new block." +#~ msgstr "" + +#: js/musicutils.js:201 + +#~ msgid "Spanish" +#~ msgstr "" + From f13e94b4d94133ef324be188b917f896ee7a726c Mon Sep 17 00:00:00 2001 From: "Aman Chadha(IVIXMMI)" <79802170+ac-mmi@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:30:43 +0530 Subject: [PATCH 2/6] changed the - to _ for chinese language From 00b439ed62cc38b5bf4ba41f4e2b02d8b80bcb35 Mon Sep 17 00:00:00 2001 From: "Aman Chadha(IVIXMMI)" <79802170+ac-mmi@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:33:09 +0530 Subject: [PATCH 3/6] changed the - to _ for chinese language --- js/__tests__/languagebox.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/__tests__/languagebox.test.js b/js/__tests__/languagebox.test.js index 125bc52ff0..b6e7ae7260 100644 --- a/js/__tests__/languagebox.test.js +++ b/js/__tests__/languagebox.test.js @@ -171,12 +171,12 @@ describe("LanguageBox Class", () => { expect(hideSpy).toHaveBeenCalled(); }); - it("should set language to zhCN and call hide when zhCN_onclick is called", () => { + it("should set language to zh_CN and call hide when zhCN_onclick is called", () => { const hideSpy = jest.spyOn(languageBox, "hide").mockImplementation(); languageBox.zhCN_onclick(); - expect(languageBox._language).toBe("zhCN"); + expect(languageBox._language).toBe("zh_CN"); expect(hideSpy).toHaveBeenCalled(); }); From b2b5c0941a940100d09ffc162fde7b09a3f2d131 Mon Sep 17 00:00:00 2001 From: "Aman Chadha(IVIXMMI)" <79802170+ac-mmi@users.noreply.github.com> Date: Tue, 7 Oct 2025 17:33:48 +0530 Subject: [PATCH 4/6] changed the - to _ for chinese language --- js/languagebox.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/languagebox.js b/js/languagebox.js index bef0ddb0ba..5a9856745e 100644 --- a/js/languagebox.js +++ b/js/languagebox.js @@ -93,7 +93,7 @@ class LanguageBox { * @returns {void} */ zhCN_onclick() { - this._language = "zhCN"; + this._language = "zh_CN"; this.hide(); } @@ -218,7 +218,7 @@ class LanguageBox { ko: "언어 기본 설정을 변경하려면 브라우저를 새로 고치십시오.", es: "Actualice su navegador para cambiar su preferencia de idioma.", pt: "Atualize seu navegador para alterar sua preferência de idioma.", - zhCN: "刷新浏览器以更改您的语言偏好", + zh_CN: "刷新浏览器以更改您的语言偏好", th: "รีเฟรชเบราเซอร์เพื่อเปลี่ยนการตั้งค่าภาษาของคุณ", hi: "अपनी भाषा की वरीयता बदलने के लिए अपना ब्राउज़र ताज़ा करें", te: "మీ భాష ప్రాధాన్యతను మార్చడానికి మీ బ్రౌజర్‌ని రిఫ్రెష్ చేయండి.", From 67f2b0124584d929923b0d2f842b321beaabdd22 Mon Sep 17 00:00:00 2001 From: "Aman Chadha(IVIXMMI)" <79802170+ac-mmi@users.noreply.github.com> Date: Tue, 14 Oct 2025 19:58:04 +0530 Subject: [PATCH 5/6] Add files via upload --- locales/zh_CN.json | 3076 ++++++++++++++++++++++---------------------- 1 file changed, 1538 insertions(+), 1538 deletions(-) diff --git a/locales/zh_CN.json b/locales/zh_CN.json index 23332ef94b..b1c7de9749 100644 --- a/locales/zh_CN.json +++ b/locales/zh_CN.json @@ -1,1539 +1,1539 @@ -{ - "": "", - "Refresh your browser to change your language preference.": "刷新你的浏览器以更改语言偏好。", - "Music Blocks is already set to this language.": "Music Blocks 已经设置为此语言", - "project undefined": "项目未定义", - "action": "動作", - "duck": " 鸭子", - "Music Blocks is already set to this theme.": "Music Blocks 已经设置为此主题。", - "Music Blocks Project": "Music Blocks 项目", - "This project was created in Music Blocks": "此项目是在 Music Blocks 中创建的", - "Music Blocks is a Free/Libre Software application.": " Music Blocks 是一个自由/开源软件应用程序。", - "The source code can be accessed at": "源代码可在以下位置访问", - "For more information, please consult the": "如需更多信息,请查阅", - "Music Blocks Guide": "Music Blocks 指南", - "Alternatively, open the file in Music Blocks using the Load project button.": "或者,使用“加载项目”按钮在 Music Blocks 中打开该文件", - "Project Code": "项目代码", - "This code stores data about the blocks in a project.": "此代码用于存储项目中模块的数据", - "Show": "显示", - "Hide": "隐藏", - "My Project": "我的项目", - "No description provided": "未提供描述", - "Your recording is in progress.": "您的录音正在进行中", - "File name": "文件名", - "Project title": "项目标题", - "Project author": "项目作者", - "Include MIDI output?": "包含 MIDI 输出?", - "Include guitar tablature output?": "包含吉他六线谱输出?", - "Save as Lilypond": "另存为 Lilypond 文件", - "Mr. Mouse": "先生.Mouse", - "The Lilypond code is copied to clipboard. You can paste it here: ": "Lilypond 代码已复制到剪贴板。你可以将其粘贴到此处:", - "Search for blocks": "搜索模块", - "Are you sure you want to clear the workspace?": "您确定要清空工作区吗?", - "Enter file name": "输入文件名", - "File save canceled": "文件保存已取消", - "Click on stop saving": "点击“停止保存”", - "Catching mice": " 捉老鼠", - "Cleaning the instruments": "清洁乐器", - "Testing key pieces": "测试关键部件", - "Sight-reading": "视奏", - "Combining math and music": "将数学与音乐相结合", - "Generating more blocks": "生成更多模块", - "Do Re Mi Fa Sol La Ti Do": "哆 来 米 发 唆 拉 西 哆", - "Tuning string instruments": "调音弦乐器", - "Pressing random keys": "随机按键", - "plugins will be removed upon restart.": "插件将在重启后被移除", - "show Cartesian": "显示笛卡尔坐标系", - "scale degree": "音级", - "voice name": "声部名称", - "invert mode": "反转模式", - "output tools": "输出工具", - "custom note": "自定义音符", - "accidental name": "升降音符名称", - "east indian solfege": "东印度首调系统", - "note name": "音符名称", - "temperament name": "音律名称", - "mode name": "调式名称", - "chord name": "和弦名称", - "interval name": "音程名称", - "filter type": "滤波器类型", - "oscillator type": "振荡器类型", - "audio file": "音频文件", - "noise name": "噪声名称", - "drum name": "鼓名称", - "effects name": "效果名称", - "wrap mode": "包装模式", - "load file": "加载文件", - "This block is deprecated.": "此模块已弃用", - "Block cannot be found.": "无法找到模块", - "Saving block artwork": "保存模块艺术作品", - "Copy": "复制", - "Erase": "擦除", - "Play": "播放", - "Stop": "停止", - "Paste": "貼上", - "Save block help": "保存模块帮助", - "ti la sol fa mi re do": "ti la sol fa mi re do", - "Jumping to the bottom of the page.": "跳转到页面底部", - "Scrolling up.": "向上滚动", - "Scrolling down.": "向下滚动", - "Extracting block": "提取模块", - "Moving block up.": "将模块向上移动", - "Moving block down.": "将模块向下移动", - "Moving block left.": "将模块向左移动", - "Moving block right.": "将模块向右移动", - "Jump to home position.": "跳转到首页位置", - "Hide blocks": "隐藏模块", - "Trash can is empty.": "垃圾桶是空的", - "Item restored from the trash.": "项目从垃圾桶中恢复", - "Restore last item": "恢复最后一个项目", - "Restore all items": "恢复所有项目", - "Click the run button to run the project.": "点击运行按钮以运行项目", - "Home": "主页", - "Show/hide blocks": "顯示/隱藏區塊", - "Expand/collapse blocks": "展开/折叠模块", - "Decrease block size": "减小模块大小", - "Increase block size": "增加模块大小", - "Could not parse JSON input.": "无法解析 JSON 输入", - "Select is enabled.": "选择已启用", - "Select is disabled.": "选择已禁用", - "Cannot load project from the file. Please check the file type.": "无法从文件加载项目。请检查文件类型。", - "Invalid parameters": "参数无效", - "Error regenerating palettes. Please refresh the page.": "重新生成调色板时出错。请刷新页面", - "temperament": "音律", - "start": "开始", - "matrix": " 矩阵", - "status": "状态", - "drum mapper": "鼓映射器", - "ruler": "尺子", - "timbre": "音色", - "stair": "楼梯", - "tempo": "速度", - "mode": "调式", - "slider": "滑块", - "keyboard": "查询键盘", - "drum": "鼓", - "rhythm maker": "节奏制作器", - "note value": "音符时值", - "scalar interval": "音阶音程", - "milliseconds": "毫秒", - "silence": "沉默", - "down": "向下", - "up": "向上", - "pitch": "音高", - "Silence block cannot be removed.": "无法移除静音模块", - "You can restore deleted blocks from the trash with the Restore From Trash button.": "您可以通过“从垃圾桶恢复”按钮恢复已删除的模块", - "true": "真", - "false": "假", - "Cartesian": "笛卡爾", - "polar": "极坐标", - "Cartesian/Polar": "笛卡尔/极坐标", - "none": "无", - "treble": "高音", - "grand staff": "大五线谱", - "mezzo-soprano": "中高音", - "alto": " 女低音", - "tenor": "男高音", - "bass": "低音", - "on2": "开", - "off": "关闭", - "Not a number": "不是数字", - "Octave value must be between 1 and 8.": "八度值必须在1到8之间", - "Numbers can have at most 10 digits.": "数字最多只能有10位", - "box": "盒子", - "Consider breaking this stack into parts.": "考虑将这个堆栈拆分成几个部分", - "open file": "打开文件.", - "text": "文本.", - "store in box": " 存储在盒子里", - "box1": "盒子1", - "box2": "盒子2", - "store in": "放入", - "name": "名称", - "value": "值", - "Forever loop detected inside a note value block. Unexpected things may happen.": "在音符时值模块中检测到永久循环。可能会发生意外情况", - "There is no block selected.": "没有选择任何模块", - "avatar": "头像", - "sample": "样本", - "mouse": "鼠标", - "brown rat": "棕色老鼠", - "mole": " 鼹鼠", - "chipmunk": "花栗鼠", - "red squirrel": "红松鼠", - "guinea pig": "豚鼠", - "capybara": "水豚", - "coypu": " 豪猪", - "black rat": "黑色老鼠", - "grey squirrel": "灰松鼠", - "flying squirrel": "飞鼠", - "bat": "蝙蝠", - "start drum": "开始鼓声", - "rhythm": "节奏", - "tone": "音调", - "pen": "钢笔", - "number": "數字", - "flow": "流动", - "Sensors": "传感器", - "Media": "Media", - "mice": "mice", - "About Music Blocks": "关于音乐模块", - "Record": "录音", - "Full screen": "全屏", - "Toggle Fullscreen": "切换全屏", - "New project": "新项目", - "Load project from file": "从文件加载项目", - "Save project": "保存项目", - "Save project as HTML": "将项目保存为HTML", - "Find and share projects": "查找并分享项目", - "Offline. Sharing is unavailable": " 离线。共享不可用", - "Auxiliary menu": "辅助菜单", - "Help": "幫助", - "Run slowly": "慢速运行", - "Run step by step": "逐步运行", - "Display statistics": "显示统计信息", - "Load plugin": "加载插件", - "Delete plugin": "删除插件", - "Enable horizontal scrolling": "启用横向滚动", - "Disable horizontal scrolling": "禁用横向滚动", - "Change theme": "更改主题", - "Light Mode": "浅色模式", - "Dark Mode": "深色模式", - "Merge with current project": "与当前项目合并", - "Set Pitch Preview": "设置音高预览", - "JavaScript Editor": "JavaScript 编辑器", - "Restore": "恢复", - "Switch to beginner mode": "切换到初学者模式", - "Switch to advanced mode": "切换到高级模式", - "Select language": "选择语言", - "Save mouse artwork as PNG": "将鼠标图像保存为PNG", - "Save mouse artwork as SVG": "将鼠标图像保存为SVG", - "Save music as WAV": "将音乐保存为WAV", - "Save sheet music as ABC": "将乐谱保存为ABC", - "Save sheet music as Lilypond": "将乐谱保存为LilyPond", - "Save sheet music as MusicXML": "将乐谱保存为MusicXML", - "Save block artwork as SVG": "将块图形保存为SVG", - "Save block artwork as PNG": "将块图形保存为PNG", - "Confirm": "确认", - "English (United States)": "English (United States)", - "English (United Kingdom)": "English (United Kingdom)", - "日本語": "日本語", - "한국어": "한국어", - "español": "español", - "português": "português", - "にほんご": "にほんご", - "中文": "中文", - "ภาษาไทย": "ภาษาไทย", - "aymara": "aymara", - "quechua": "quechua", - "guarani": "guarani", - "हिंदी": "हिंदी", - "igbo": "igbo", - "عربى": "عربى", - "తెలుగు": "తెలుగు", - "עִברִית": "עִברִית", - "اردو": "اردو", - "Save turtle artwork as PNG": "将海龟图形保存为PNG", - "Save turtle artwork as SVG": "将海龟图形保存为SVG", - "한국인": "한국인", - "About Turtle Blocks": "关于海龟图形块", - "Turtle Wrap Off": "关闭海龟包装", - "Turtle Wrap On": "开启海龟包装", - "Are you sure you want to create a new project?": "您确定要创建一个新项目吗?", - "Not a valid pitch name": "无效的音高名称", - "You must select a file.": "你必须选择一个文件", - "Playback is ready.": "播放准备好了。", - "double sharp": "双升音符", - "sharp": "升号", - "natural": "还原音符", - "flat": "降号", - "double flat": "双降音符", - "unison": "同音", - "major": "大调音阶", - "ionian": "艾奥尼安调式", - "minor": "小调音阶", - "aeolian": "伊奥利安调式", - "Duplicate": "复制", - "Extract": "提取", - "Move to trash": "移到垃圾桶", - "Close": "关闭", - "Save stack": "保存堆栈", - "In order to copy a sample, you must reload the widget, import the sample again, and export it.": "为了复制样本,您必须重新加载小部件,重新导入样本,然后再导出。", - "You have chosen key for your pitch preview.": "您已选择音调预览的音调。", - "You must have at least one Partial block inside of a Weighted-partial block": "您必须在加权部分块内至少包含一个部分块", - "synth cannot play chords.": "合成器无法播放和弦", - "guide url": "指南网址", - "Turtle Blocks": "海龟图形块", - "search": "搜索", - "meter": "节拍", - "intervals": "音程", - "ornament": "装饰音", - "volume": "音量", - "boxes": "框框", - "widgets": "小部件", - "graphics": "图像", - "boolean": "布尔值", - "heap": "堆积", - "dictionary": "字典", - "ensemble": "乐团 ", - "extras": "额外内容", - "program": "程序", - "my blocks": "我的块", - "artwork": "艺术作品", - "logic": "逻辑", - "Music": "音乐", - "Music Blocks": "音乐块", - "Welcome to Turtle Blocks": "欢迎来到海龟图形块", - "Turtle Blocks is a Logo-inspired turtle that draws colorful pictures with snap-together visual-programming blocks.": "海龟图形块是一个受Logo启发的海龟,它通过拼接的可视编程块绘制色彩斑斓的图画。", - "The current version is": "当前版本是", - "Click the run button to run the project in fast mode.": "点击运行按钮以在快速模式下运行项目", - "Stop the turtle.": "停止海龟", - "You can also type Alt-S to stop.": "您也可以按 Alt-S 停止。", - "Welcome to Music Blocks": "欢迎来到音乐块", - "Music Blocks is a collection of tools for exploring fundamental musical concepts in a fun way.": "音乐块是一个工具集,用于以有趣的方式探索基本的音乐概念。", - "Meet Mr. Mouse!": "会面 Mr. Mouse!", - "Mr Mouse is our Music Blocks conductor.": "Mr Mouse 是我们的音乐块指挥。", - "Mr Mouse encourages you to explore Music Blocks.": "Mr Mouse 鼓励您探索音乐块。", - "Let us start our tour!": "让我们开始我们的旅程!", - "Guide": "指南", - "A detailed guide to Music Blocks is available.": "提供了详细的音乐块指南。", - "Stop the music (and the mice).": "停止音乐 (and the mice)", - "Record your project as video.": "将您的项目录制为视频", - "Toggle Fullscreen mode.": "切换全屏模式", - "Initialize a new project.": "初始化一个新项目", - "You can also load projects from the file system.": "您也可以从文件系统加载项目", - "Save": "Save", - "Save your project to a file.": "将您的项目保存到文件", - "Save graphics from your project to as SVG.": "将项目中的图形保存为SVG", - "Save graphics from your project as PNG.": "将项目中的图形保存为PNG", - "Save block artwork as an SVG file.": "将块图形保存为SVG文件", - "Save sheet music as ABC, Lilypond or MusicXML": "将乐谱保存为ABC、LilyPond或MusicXML格式", - "Save block artwork as SVG or PNG": "将块图形保存为SVG或PNG", - "Load samples from server": "从服务器加载样本", - "This button opens a viewer for loading example projects.": "此按钮打开一个查看器,用于加载示例项目", - "Expand/collapse option toolbar": "展开/收起选项工具栏", - "Click this button to expand or collapse the auxillary toolbar.": "点击此按钮以展开或收起辅助工具栏", - "Displays help messages for the main and auxiliary toolbar, right-click contextual menu for blocks and canvas, and palettes.": "显示主工具栏和辅助工具栏的帮助信息,块和画布的右键上下文菜单,以及调色板的帮助信息", - "Click to run the project in slow mode.": "点击以在慢速模式下运行项目", - "Click to run the project step by step.": "点击按步骤运行项目", - "Display statistics about your Music project.": "显示有关您音乐项目的统计信息", - "Load a selected plugin.": "加载选定的插件", - "Delete a selected plugin.": "删除选定的插件", - "Enable scrolling": "启用滚动", - "You can scroll the blocks on the canvas.": "您可以在画布上滚动这些块", - "Switch between dark and light mode.": "在暗模式和亮模式之间切换", - "Click to add another project into the current one.": "点击将另一个项目添加到当前项目中", - "Wrap Turtle": "包裹海龟", - "Turn Turtle wrapping On or Off.": "开启或关闭海龟包裹", - "Click to set the current pitch.": "点击设置当前音高", - "Converts Music Block programs to JavaScript.": "将音乐块程序转换为JavaScript", - "Restore blocks from the trash.": "从垃圾桶恢复块", - "Switch mode": "切换模式", - "Switch between beginner and advance modes.": "在初学者模式和高级模式之间切换", - "Select your language preference.": "选择您的语言偏好", - "Contextual Menu for Blocks": "块的上下文菜单", - "Right-click on a block to access common actions.": "右键点击一个块以访问常见操作", - "Delete": "删除", - "To delete a block, right-click on it. You will see the delete option.": "要删除一个模块,请右键点击它。你会看到“删除”选项。", - "To copy a block, right-click on it. You will see the copy option.": "要复制一个模块,请右键点击它。你会看到“复制”选项。", - "To extract a block, right-click on it. You will see the extract option.": "要提取一个模块,请右键点击它。你会看到“提取”选项。", - "Keyboard shortcuts": "键盘快捷键", - "You can type d to create a do block and r to create a re block etc.": "你可以输入 d 来创建一个 do 模块,输入 r 来创建一个 re 模块,等等。", - "Contextual Menu for Canvas": "画布的上下文菜单", - "Right-click on the canvas to perform additional canvas-related tasks.": "右键点击画布以执行更多与画布相关的操作。", - "Grid": "网格", - "Turn on/off lines for cartesian or polar grids.": "打开或关闭笛卡尔网格或极坐标网格的线条。", - "Turn on/off music staffs.": "打开或关闭五线谱。", - "Clear": "清除", - "Clear the screen and return the mice to their initial positions.": "清除屏幕并将鼠标返回到初始位置。", - "Collapse": "折叠", - "Collapse the graphics window.": "Collapse the graphics window.", - "Return all blocks to the center of the screen.": "将所有模块返回到屏幕中心。", - "Hide or show the blocks and the palettes.": "隐藏或显示模块和调色板。", - "Expand or collapse start and action stacks.": "展开或折叠开始和动作堆栈。", - "Decrease the size of the blocks.": "减小模块的大小。", - "Increase the size of the blocks.": "增大模块的大小。", - "Select": "选择", - "Left-click and drag on workspace to select multiple blocks.": "左键点击并拖动工作区以选择多个模块。", - "Palette buttons": "调色板按钮", - "This toolbar contains the palette buttons including Rhythm Pitch Tone Action and more.": "此工具栏包含调色板按钮,包括节奏、音高、音调、动作等。", - "Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them.": "点击显示模块调色板,将模块从调色板拖到画布上使用。", - "A detailed guide to Turtle Blocks is available.": "提供了 Turtle Blocks 的详细指南。", - "Turtle Blocks Guide": "Turtle Blocks 指南", - "About": "关于", - "Turtle Blocks is an open source collection of tools for exploring musical concepts.": "Turtle Blocks 是一个开源工具集,用于探索音乐概念。", - "A full list of contributors can be found in the Turtle Blocks GitHub repository.": "完整的贡献者列表可以在 Turtle Blocks 的 GitHub 仓库中找到。", - "Turtle Blocks is licensed under the AGPL.": "Turtle Blocks 授权使用 AGPL 许可协议。", - "Turtle Blocks GitHub repository": "Turtle Blocks GitHub 仓库", - "Congratulations.": "恭喜", - "You have finished the tour. Please enjoy Turtle Blocks!": "您已完成导览。请尽情享受 Turtle Blocks!", - "Music Blocks is an open source collection of tools for exploring musical concepts.": "Music Blocks 是一个开源工具集,用于探索音乐概念。", - "A full list of contributors can be found in the Music Blocks GitHub repository.": "完整的贡献者列表可以在 Music Blocks 的 GitHub 仓库中找到。", - "Music Blocks is licensed under the AGPL.": "Music Blocks 授权使用 AGPL 许可协议。", - "Music Blocks GitHub repository": "Music Blocks GitHub 仓库", - "Congratulations!": "恭喜", - "You have finished the tour. Please enjoy Music Blocks!": "您已完成导览。请尽情享受 Music Blocks!", - "Expand": "展开", - "effect": "效果", - "sargam": "萨尔甘", - "custom pitch": "自定义音高", - "accidental": "意外音符", - "pitch converter": "音高转换器", - "rest": "休止符", - "Perfect unison": "完全同音", - "Diminished second": "减二度", - "Minor second": "小二度", - "Augmented unison": "增同音", - "Major second": "大二度", - "Diminished third": "减三度", - "Minor third": "小三度", - "Augmented second": "增二度", - "Major third": "大三度", - "Diminished fourth": "减四度", - "Perfect fourth": "完全四度", - "Augmented third": "增三度", - "Diminished fifth": "减五度", - "Augmented fourth": "增四度", - "Perfect fifth": "完全五度", - "Diminished sixth": "减六度", - "Minor sixth": "小六度", - "Augmented fifth": "增五度", - "Major sixth": "大六度", - "Diminished seventh": "减七度", - "Minor seventh": "小七度", - "Augmented sixth": "增六度", - "Major seventh": "大七度", - "Diminished octave": "减八度", - "Perfect octave": "完全八度", - " perfect octave": "完全八度", - "完全八度": "完全八度", - "Augmented octave": "Augmented octave", - "Major ninth": "Major ninth", - "Diminished tenth": "Diminished tenth", - "Minor tenth": "Minor tenth", - "Augmented ninth": "Augmented ninth", - "Major tenth": "Major tenth", - "Diminished eleventh": "Diminished eleventh", - "Perfect eleventh": "Perfect eleventh", - "Augmented tenth": "Augmented tenth", - "Diminished twelfth": "Diminished twelfth", - "Augmented eleventh": "Augmented eleventh", - "Perfect twelfth": "Perfect twelfth", - "Diminished thirteenth": "Diminished thirteenth", - "Minor thirteenth": "Minor thirteenth", - "Augmented fifth, plus an octave": "Augmented fifth, plus an octave", - "Major thirteenth": "Major thirteenth", - "Diminished seventh, plus an octave": "Diminished seventh, plus an octave", - "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th": "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th", - "augmented": "augmented", - "diminished": "diminished", - "perfect": "perfect", - "chromatic": "chromatic", - "algerian": "algerian", - "spanish": "spanish", - "octatonic": "octatonic", - "harmonic major": "harmonic major", - "natural minor": "natural minor", - "harmonic minor": "harmonic minor", - "melodic minor": "melodic minor", - "dorian": "dorian", - "phrygian": "phrygian", - "lydian": "lydian", - "mixolydian": "mixolydian", - "locrian": "locrian", - "jazz minor": "jazz minor", - "bebop": "bebop", - "arabic": "arabic", - "byzantine": "byzantine", - "enigmatic": "enigmatic", - "ethiopian": "ethiopian", - "geez": "geez", - "hindu": "hindu", - "hungarian": "hungarian", - "romanian minor": "romanian minor", - "spanish gypsy": "spanish gypsy", - "maqam": "maqam", - "minor blues": "minor blues", - "major blues": "major blues", - "whole tone": "whole tone", - "minor pentatonic": "minor pentatonic", - "major pentatonic": "major pentatonic", - "chinese": "chinese", - "egyptian": "egyptian", - "hirajoshi": "hirajoshi", - "Japan": "Japan", - "in": "in", - "minyo": "minyo", - "fibonacci": "fibonacci", - "custom": "custom", - "highpass": "highpass", - "lowpass": "lowpass", - "bandpass": "bandpass", - "highshelf": "highshelf", - "lowshelf": "lowshelf", - "notch": "notch", - "allpass": "allpass", - "peaking": "peaking", - "sine": "sine", - "square": "square", - "triangle": "triangle", - "sawtooth": "sawtooth", - "even": "even", - "odd": "odd", - "scalar": "scalar", - "piano": "piano", - "violin": "violin", - "viola": "viola", - "xylophone": "xylophone", - "vibraphone": "vibraphone", - "cello": "cello", - "double bass": "double bass", - "guitar": "guitar", - "sitar": "sitar", - "acoustic guitar": "acoustic guitar", - "flute": "flute", - "clarinet": "clarinet", - "saxophone": "saxophone", - "tuba": "tuba", - "trumpet": "trumpet", - "oboe": "oboe", - "trombone": "trombone", - "electronic synth": "electronic synth", - "simple 1": "simple 1", - "simple 2": "simple 2", - "simple 3": "simple 3", - "simple 4": "simple 4", - "white noise": "white noise", - "brown noise": "brown noise", - "pink noise": "pink noise", - "snare drum": "snare drum", - "kick drum": "kick drum", - "tom tom": "tom tom", - "floor tom": "floor tom", - "bass drum": "bass drum", - "cup drum": "cup drum", - "darbuka drum": "darbuka drum", - "hi hat": "hi hat", - "ride bell": "ride bell", - "cow bell": "cow bell", - "japanese drum": "japanese drum", - "japanese bell": "japanese bell", - "triangle bell": "triangle bell", - "finger cymbals": "finger cymbals", - "chime": "chime", - "gong": "gong", - "clang": "clang", - "crash": "crash", - "bottle": "bottle", - "clap": "clap", - "slap": "slap", - "splash": "splash", - "bubbles": "bubbles", - "raindrop": "raindrop", - "cat": "cat", - "cricket": "cricket", - "dog": "dog", - "banjo": "banjo", - "koto": "koto", - "dulcimer": "dulcimer", - "electric guitar": "electric guitar", - "bassoon": "bassoon", - "celeste": "celeste", - "equal": "equal", - "Pythagorean": "Pythagorean", - "just intonation": "just intonation", - "Meantone": "Meantone", - "major 7th": "major 7th", - "minor 7th": "minor 7th", - "dominant 7th": "dominant 7th", - "minor-major 7th": "minor-major 7th", - "fully-diminished 7th": "fully-diminished 7th", - "half-diminished 7th": "half-diminished 7th", - "Equal (12EDO)": "Equal (12EDO)", - "Equal (5EDO)": "Equal (5EDO)", - "Equal (7EDO)": "Equal (7EDO)", - "Equal (19EDO)": "Equal (19EDO)", - "Equal (31EDO)": "Equal (31EDO)", - "5-limit Just Intonation": "5-limit Just Intonation", - "Pythagorean (3-limit JI)": "Pythagorean (3-limit JI)", - "current": "current", - "next": "next", - "previous": "previous", - "simple-2": "simple-2", - "simple-3": "simple-3", - "simple-4": "simple-4", - "taiko": "taiko", - "The Not block is the logical not operator.": "The Not block is the logical not operator.", - "not": "否", - "The And block is the logical and operator.": "The And block is the logical and operator.", - "and": "且", - "The Or block is the logical or operator.": "The Or block is the logical or operator.", - "or": "或", - "The XOR block is the logical XOR operator.": "The XOR block is the logical XOR operator.", - "xor": "xor", - "The Equal block returns True if the two numbers are equal.": "The Equal block returns True if the two numbers are equal.", - "The Not-equal-to block returns True if the two numbers are not equal to each other.": "The Not-equal-to block returns True if the two numbers are not equal to each other.", - "The Boolean block is used to specify true or false.": "The Boolean block is used to specify true or false.", - "The Add-to block is used to add to the value stored in a box.": "The Add-to block is used to add to the value stored in a box.", - "It can also be used with other blocks such as Color and Pen size.": "It can also be used with other blocks such as Color and Pen size.", - "add": "add", - "to": "to", - "value1": "value1", - "Block does not support incrementing.": "Block does not support incrementing.", - "The Add-1-to block adds one to the value stored in a box.": "The Add-1-to block adds one to the value stored in a box.", - "add 1 to": "add 1 to", - "The Subtract-1-from block subtracts one from the value stored in a box.": "The Subtract-1-from block subtracts one from the value stored in a box.", - "subtract 1 from": "subtract 1 from", - "The Box block returns the value stored in a box.": "The Box block returns the value stored in a box.", - "The Store in block will store a value in a box.": "The Store in block will store a value in a box.", - "name1": "name1", - "The Box2 block returns the value stored in Box2.": "The Box2 block returns the value stored in Box2.", - "The Store in Box2 block is used to store a value in Box2.": "The Store in Box2 block is used to store a value in Box2.", - "store in box2": "store in box2", - "The Box1 block returns the value stored in Box1.": "The Box1 block returns the value stored in Box1.", - "The Store in Box1 block is used to store a value in Box1.": "The Store in Box1 block is used to store a value in Box1.", - "store in box1": "store in box1", - "show dictionary": "show dictionary", - "My Dictionary": "My Dictionary", - "The Dictionary block returns a dictionary.": "The Dictionary block returns a dictionary.", - "The Get-dict block returns a value in the dictionary for a specified key.": "The Get-dict block returns a value in the dictionary for a specified key.", - "get value": "get value", - "key2": "key2", - "key": "key", - "The Set-dict block sets a value in the dictionary for a specified key.": "The Set-dict block sets a value in the dictionary for a specified key.", - "set value": "set value", - "The Noise name block is used to select a noise synthesizer.": "The Noise name block is used to select a noise synthesizer.", - "The Drum name block is used to select a drum.": "The Drum name block is used to select a drum.", - "The Effects name block is used to select a sound effect.": "The Effects name block is used to select a sound effect.", - "noise": "noise", - "The Play noise block will generate white, pink, or brown noise.": "The Play noise block will generate white, pink, or brown noise.", - "Replace every instance of a pitch with a drum sound.": "Replace every instance of a pitch with a drum sound.", - "map pitch to drum": "map pitch to drum", - "In the example above, a kick drum sound will be played instead of sol.": "In the example above, a kick drum sound will be played instead of sol.", - "set drum": "set drum", - "sound effect": "sound effect", - "You can use multiple Drum blocks within a Note block.": "You can use multiple Drum blocks within a Note block.", - "The Heap block returns the heap.": "The Heap block returns the heap.", - "show heap": "顯示堆疊", - "The Heap-length block returns the length of the heap.": "The Heap-length block returns the length of the heap.", - "heap length": "heap length", - "The Heap-empty? block returns true if the heap is empty.": "The Heap-empty? block returns true if the heap is empty.", - "heap empty?": "heap empty?", - "The Empty-heap block empties the heap.": "The Empty-heap block empties the heap.", - "empty heap": "清除堆疊", - "The Reverse-heap block reverses the order of the heap.": "The Reverse-heap block reverses the order of the heap.", - "reverse heap": "reverse heap", - "The Index-heap block returns a value in the heap at a specified location.": "The Index-heap block returns a value in the heap at a specified location.", - "index heap": "index heap", - "Index must be > 0.": "Index must be > 0.", - "Maximum heap size is 1000.": "Maximum heap size is 1000.", - "The Set-heap entry block sets a value in he heap at the specified location.": "The Set-heap entry block sets a value in he heap at the specified location.", - "set heap": "set heap", - "index": "index", - "The Pop block removes the value at the top of the heap.": "The Pop block removes the value at the top of the heap.", - "pop": "取出堆疊", - "The Push block adds a value to the top of the heap.": "The Push block adds a value to the top of the heap.", - "push": "存入堆疊", - "set temperament": "set temperament", - "octave": "octave", - "The Temperament name block is used to select a tuning method.": "The Temperament name block is used to select a tuning method.", - "doubly": "doubly", - "The Doubly block will double the size of an interval.": "The Doubly block will double the size of an interval.", - "interval number": "interval number", - "current interval": "current interval", - "semi-tone interval measure": "semi-tone interval measure", - "You must use two pitch blocks when measuring an interval.": "You must use two pitch blocks when measuring an interval.", - "The Scalar interval block measures the distance between two notes in the current key and mode.": "The Scalar interval block measures the distance between two notes in the current key and mode.", - "scalar interval measure": "scalar interval measure", - "In the figure, we add sol# to sol.": "In the figure, we add sol# to sol.", - "semi-tone interval": "semi-tone interval", - "The output of the example is: do, mi, sol, sol, ti, mi": "The output of the example is: do, mi, sol, sol, ti, mi", - "arpeggio": "arpeggio", - "The Chord block calculates common chords.": "The Chord block calculates common chords.", - "In the figure, we generate a C-major chord.": "In the figure, we generate a C-major chord.", - "chord": "chord", - "The Ratio Interval block calculates an interval based on a ratio.": "The Ratio Interval block calculates an interval based on a ratio.", - "ratio interval": "ratio interval", - "In the figure, we add la to sol.": "In the figure, we add la to sol.", - "define mode": "define mode", - "movable Do": "movable Do", - "mode length": "mode length", - "The Mode length block is the number of notes in the current scale.": "The Mode length block is the number of notes in the current scale.", - "Most Western scales have 7 notes.": "Most Western scales have 7 notes.", - "current mode": "current mode", - "current key": "current key", - "set key": "set key", - "The Set key block is used to set the key and mode,": "The Set key block is used to set the key and mode,", - "eg C Major": "eg C Major", - "The Int block returns an integer.": "The Int block returns an integer.", - "int": "int", - "The Mod block returns the remainder from a division.": "The Mod block returns the remainder from a division.", - "mod": "模數", - "The Power block calculates a power function.": "The Power block calculates a power function.", - "The Sqrt block returns the square root.": "The Sqrt block returns the square root.", - "sqrt": "sqrt", - "The Abs block returns the absolute value.": "The Abs block returns the absolute value.", - "abs": "abs", - "The Distance block returns the distance between two points. For example, between the mouse and the center of the screen.": "The Distance block returns the distance between two points. For example, between the mouse and the center of the screen.", - "distance": "distance", - "The Divide block is used to divide.": "The Divide block is used to divide.", - "The Multiply block is used to multiply.": "The Multiply block is used to multiply.", - "The Minus block is used to subtract.": "The Minus block is used to subtract.", - "The Plus block is used to add.": "The Plus block is used to add.", - "The One-of block returns one of two choices.": "The One-of block returns one of two choices.", - "one of": "one of", - "this": "this", - "that": "that", - "The Random block returns a random number.": "The Random block returns a random number.", - "random": "亂數", - "min": "最小", - "max": "最大", - "The Number block holds a number.": "The Number block holds a number.", - "staccato factor": "staccato factor", - "slur factor": "slur factor", - "neighbor": "neighbor", - "The Neighbor block rapidly switches between neighboring pitches.": "The Neighbor block rapidly switches between neighboring pitches.", - "glide": "glide", - "slur": "slur", - "staccato": "staccato", - "The Load-heap-from-app block loads the heap from a web page.": "The Load-heap-from-app block loads the heap from a web page.", - "load heap from App": "load heap from App", - "Error parsing JSON data:": "解析JSON数据时出错", - "404: Page not found": "找不到网页", - "The Save-heap-to-app block saves the heap to a web page.": "The Save-heap-to-app block saves the heap to a web page.", - "save heap to App": "save heap to App", - "Cannot find a valid heap for": "Cannot find a valid heap for", - "The Load-heap block loads the heap from a file.": "The Load-heap block loads the heap from a file.", - "load heap": "load heap", - "The file you selected does not contain a valid heap.": "The file you selected does not contain a valid heap.", - "The loadHeap block needs a loadFile block.": "The loadHeap block needs a loadFile block.", - "The Set-heap block loads the heap.": "The Set-heap block loads the heap.", - "The block you selected does not contain a valid heap.": "The block you selected does not contain a valid heap.", - "The Set heap block needs a heap.": "The Set heap block needs a heap.", - "The Load-dictionary block loads a dictionary from a file.": "The Load-dictionary block loads a dictionary from a file.", - "load dictionary": "load dictionary", - "file": "file", - "The file you selected does not contain a valid dictionary.": "The file you selected does not contain a valid dictionary.", - "The load dictionary block needs a load file block.": "The load dictionary block needs a load file block.", - "The Set-dictionary block loads a dictionary.": "The Set-dictionary block loads a dictionary.", - "set dictionary": "set dictionary", - "The block you selected does not contain a valid dictionary.": "The block you selected does not contain a valid dictionary.", - "The set dictionary block needs a dictionary.": "The set dictionary block needs a dictionary.", - "The Save-heap block saves the heap to a file.": "The Save-heap block saves the heap to a file.", - "save heap": "save heap", - "The Save-dictionary block saves a dictionary to a file.": "The Save-dictionary block saves a dictionary to a file.", - "save dictionary": "save dictionary", - "The Open palette block opens a palette.": "The Open palette block opens a palette.", - "open palette": "open palette", - "The Delete block block removes a block.": "The Delete block block removes a block.", - "delete block": "delete block", - "The Move block block moves a block.": "The Move block block moves a block.", - "move block": "move block", - "block number": "block number", - "x": "X座標", - "y": "Y座標", - "run block": "run block", - "The Dock block block connections two blocks.": "The Dock block block connections two blocks.", - "connect blocks": "connect blocks", - "target block": "target block", - "connection number": "connection number", - "The Make block block creates a new block.": "The Make block block creates a new block.", - "make block": "make block", - "note": "音符", - "Cannot find block": "Cannot find block", - "Warning: block argument type mismatch": "Warning: block argument type mismatch", - "The Open project block is used to open a project from a web page.": "The Open project block is used to open a project from a web page.", - "open project": "open project", - "Please enter a valid URL.": "Please enter a valid URL.", - "Note value must be greater than 0.": "Note value must be greater than 0.", - "swing": "swing", - "swing value": "swing value", - "The Skip notes block will cause notes to be skipped.": "The Skip notes block will cause notes to be skipped.", - "skip notes": "skip notes", - "multiply note value": "multiply note value", - "The Tie block works on pairs of notes, combining them into one note.": "The Tie block works on pairs of notes, combining them into one note.", - "tie": "tie", - "dot": "dot", - "An argument of -1 results in a note value of 0.": "An argument of -1 results in a note value of 0.", - "The Dot block extends the duration of a note by 50%.": "The Dot block extends the duration of a note by 50%.", - "Eg a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat.": "Eg a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat.", - "note value drum": "note value drum", - "392 hertz": "392 hertz", - "The Note block is a container for one or more Pitch blocks.": "The Note block is a container for one or more Pitch blocks.", - "The Note block specifies the duration (note value) of its contents.": "The Note block specifies the duration (note value) of its contents.", - "value2": "value2", - "define frequency": "define frequency", - "octave space": "octave space", - "rhythm1": "rhythm1", - "number of notes": "number of notes", - "polyphonic rhythm": "polyphonic rhythm", - "The Rhythm block is used to generate rhythm patterns.": "The Rhythm block is used to generate rhythm patterns.", - "1/64 note": "1/64 note", - "1/32 note": "1/32 note", - "1/16 note": "1/16 note", - "eighth note": "eighth note", - "quarter note": "quarter note", - "half note": "half note", - "whole note": "whole note", - "tuplet": "tuplet", - "septuplet": "septuplet", - "quintuplet": "quintuplet", - "triplet": "triplet", - "simple tuplet": "simple tuplet", - "Tuplets are a collection of notes that get scaled to a specific duration.": "Tuplets are a collection of notes that get scaled to a specific duration.", - "The Backward block runs code in reverse order (Musical retrograde).": "The Backward block runs code in reverse order (Musical retrograde).", - "backward": "backward", - "The Duplicate block will run each block multiple times.": "The Duplicate block will run each block multiple times.", - "The Default block is used inside of a Switch to define the default action.": "The Default block is used inside of a Switch to define the default action.", - "default": "default", - "The Case Block must be used inside of a Switch Block.": "The Case Block must be used inside of a Switch Block.", - "The Case block is used inside of a Switch to define matches.": "The Case block is used inside of a Switch to define matches.", - "case": "case", - "The Switch block will run the code in the matching Case.": "The Switch block will run the code in the matching Case.", - "switch": "switch", - "The Stop block will stop a loop": "The Stop block will stop a loop", - "Forever, Repeat, While, or Until.": "Forever, Repeat, While, or Until.", - "The Waitfor block will wait until the condition is true.": "The Waitfor block will wait until the condition is true.", - "wait for": "wait for", - "The Until block will repeat until the condition is true.": "The Until block will repeat until the condition is true.", - "until": "直到", - "do2": "do2", - "do": "do", - "The While block will repeat while the condition is true.": "The While block will repeat while the condition is true.", - "while": "同時間", - "In this example if the mouse button is pressed a snare drum will play.": "In this example if the mouse button is pressed a snare drum will play.", - "if": "若", - "then": "則", - "else": "否則", - "The Forever block will repeat the contained blocks forever.": "The Forever block will repeat the contained blocks forever.", - "forever": "持續執行", - "The Repeat block will repeat the contained blocks.": "The Repeat block will repeat the contained blocks.", - "In this example the note will be played 4 times.": "In this example the note will be played 4 times.", - "repeat": "重複", - "duplicate factor": "duplicate factor", - "current meter": "current meter", - "beat factor": "beat factor", - "The Beats per minute block returns the current beats per minute.": "The Beats per minute block returns the current beats per minute.", - "beats per minute2": "beats per minute2", - "beats per minute": "beats per minute", - "measure count": "measure count", - "The Measure count block returns the current measure.": "The Measure count block returns the current measure.", - "beat count": "beat count", - "The Beat count block is the number of the current beat,": "The Beat count block is the number of the current beat,", - "eg 1, 2, 3, or 4.": "eg 1, 2, 3, or 4.", - "sum note values": "sum note values", - "The Note counter block can be used to count the number of contained notes.": "The Note counter block can be used to count the number of contained notes.", - "note counter": "note counter", - "whole notes played": "whole notes played", - "The Whole notes played block returns the total number of whole notes played.": "The Whole notes played block returns the total number of whole notes played.", - "notes played": "notes played", - "The No clock block decouples the notes from the master clock.": "The No clock block decouples the notes from the master clock.", - "no clock": "no clock", - "on weak beat do": "on weak beat do", - "The On-weak-beat block lets you specify actions to take on weak (off) beats.": "The On-weak-beat block lets you specify actions to take on weak (off) beats.", - "on strong beat": "on strong beat", - "The On-strong-beat block lets you specify actions to take on specified beats.": "The On-strong-beat block lets you specify actions to take on specified beats.", - "beat": "beat", - "do1": "do1", - "on every beat do": "on every beat do", - "The On-every-beat block lets you specify actions to take on every beat.": "The On-every-beat block lets you specify actions to take on every beat.", - "on every note do": "on every note do", - "The On-every-note block lets you specify actions to take on every note.": "The On-every-note block lets you specify actions to take on every note.", - "master beats per minute": "master beats per minute", - "bpm": "bpm", - "beat value": "beat value", - "Beats per minute must be > 30.": "Beats per minute must be > 30.", - "Maximum beats per minute is 1000.": "Maximum beats per minute is 1000.", - "The Beats per minute block sets the number of 1/4 notes per minute.": "The Beats per minute block sets the number of 1/4 notes per minute.", - "pickup": "pickup", - "number of beats": "number of beats", - "transposition": "transposition", - "scalar step down": "scalar step down", - "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode.": "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode.", - "scalar step up": "scalar step up", - "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode.": "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode.", - "change in pitch": "change in pitch", - "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played.": "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played.", - "scalar change in pitch": "scalar change in pitch", - "pitch number": "pitch number", - "The Pitch number block is the value of the pitch of the note currently being played.": "The Pitch number block is the value of the pitch of the note currently being played.", - "pitch in hertz": "pitch in hertz", - "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played.": "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played.", - "current pitch": "current pitch", - "The Current Pitch block is used with the Pitch Converter block. In the example above, current pitch, sol 4, is displayed as 392 hertz.": "The Current Pitch block is used with the Pitch Converter block. In the example above, current pitch, sol 4, is displayed as 392 hertz.", - "This block converts the pitch value of the last note played into different formats such as hertz, letter name, pitch number, et al.": "This block converts the pitch value of the last note played into different formats such as hertz, letter name, pitch number, et al.", - "alphabet": "alphabet", - "letter class": "letter class", - "solfege class": "solfege class", - "staff y": "staff y", - "solfege syllable": "solfege syllable", - "pitch class": "pitch class", - "scalar class": "scalar class", - "nth degree": "nth degree", - "pitch to shade": "pitch to shade", - "pitch to color": "pitch to color", - "MIDI": "MIDI", - "set pitch number offset": "set pitch number offset", - "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave.": "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave.", - "name2": "name2", - "number to pitch": "number to pitch", - "The Number to pitch block will convert a pitch number to a pich name.": "The Number to pitch block will convert a pitch number to a pich name.", - "number to octave": "number to octave", - "The Number to octave block will convert a pitch number to an octave.": "The Number to octave block will convert a pitch number to an octave.", - "y to pitch": "y to pitch", - "Y to pitch block will convert a staff y position to corresponding pitch notation.": "Y to pitch block will convert a staff y position to corresponding pitch notation.", - "accidental selector": "accidental selector", - "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat.": "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat.", - "Pitch can be specified in terms of ni dha pa ma ga re sa.": "Pitch can be specified in terms of ni dha pa ma ga re sa.", - "Pitch can be specified in terms of C D E F G A B.": "Pitch can be specified in terms of C D E F G A B.", - "solfege": "solfege", - "Pitch can be specified in terms of do re mi fa sol la ti.": "Pitch can be specified in terms of do re mi fa sol la ti.", - "The Invert block rotates any contained notes around a target note.": "The Invert block rotates any contained notes around a target note.", - "Invert": "Invert", - "invert (odd)": "invert (odd)", - "invert (even)": "invert (even)", - "register": "register", - "The Register block provides an easy way to modify the register (octave) of the notes that follow it.": "The Register block provides an easy way to modify the register (octave) of the notes that follow it.", - "50 cents": "50 cents", - "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps.": "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps.", - "In the example shown above, sol is shifted up to sol#.": "In the example shown above, sol is shifted up to sol#.", - "semi-tone transpose": "semi-tone transpose", - "The Transpose by Ratio block will shift the pitches contained inside Note blocks up (or down) by a ratio": "The Transpose by Ratio block will shift the pitches contained inside Note blocks up (or down) by a ratio", - "transpose by ratio": "transpose by ratio", - "down sixth": "down sixth", - "down third": "down third", - "seventh": "seventh", - "sixth": "sixth", - "fifth": "fifth", - "fourth": "fourth", - "third": "third", - "second": "second", - "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale.": "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale.", - "In the example shown above, sol is shifted up to la.": "In the example shown above, sol is shifted up to la.", - "scalar transpose": "scalar transpose", - "The Accidental block is used to create sharps and flats": "The Accidental block is used to create sharps and flats", - "accidental override": "accidental override", - "hertz": "hertz", - "The Hertz block (in combination with a Number block) will play a sound at the specified frequency.": "The Hertz block (in combination with a Number block) will play a sound at the specified frequency.", - "The Pitch Number block will play a pitch associated by its number, e.g. 0 for C and 7 for G.": "The Pitch Number block will play a pitch associated by its number, e.g. 0 for C and 7 for G.", - "nth modal pitch": "nth modal pitch", - "nth Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode,": "nth Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode,", - "starting from 1 and regardless of tonal framework (i.e. not always 8 notes in the octave)": "starting from 1 and regardless of tonal framework (i.e. not always 8 notes in the octave)", - "Nth Modal Pitch takes a number as an input as the nth degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc.": "Nth Modal Pitch takes a number as an input as the nth degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc.", - "The pitches change according to the mode specified without any need for respellings.": "The pitches change according to the mode specified without any need for respellings.", - "Scale Degree is a common convention in music. Scale Degree offers seven possible positions in the scale (1-7) and can be modified via accidentals.": "Scale Degree is a common convention in music. Scale Degree offers seven possible positions in the scale (1-7) and can be modified via accidentals.", - "Scale Degree 1 is always the first pitch in a given scale, regardless of octave.": "Scale Degree 1 is always the first pitch in a given scale, regardless of octave.", - "scalar step": "scalar step", - "The Scalar Step block (in combination with a Number block) will play the next pitch in a scale,": "The Scalar Step block (in combination with a Number block) will play the next pitch in a scale,", - "eg if the last note played was sol, Scalar Step 1 will play la.": "eg if the last note played was sol, Scalar Step 1 will play la.", - "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note.": "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note.", - "Oscillator": "Oscillator", - "type": "type", - "partials": "partials", - "You are adding multiple oscillator blocks.": "You are adding multiple oscillator blocks.", - "duo synth": "duo synth", - "The Duo synth block is a duo-frequency modulator used to define a timbre.": "The Duo synth block is a duo-frequency modulator used to define a timbre.", - "vibrato rate": "vibrato rate", - "vibrato intensity": "vibrato intensity", - "AM synth": "AM synth", - "The AM synth block is an amplitude modulator used to define a timbre.": "The AM synth block is an amplitude modulator used to define a timbre.", - "FM synth": "FM synth", - "The FM synth block is a frequency modulator used to define a timbre.": "The FM synth block is a frequency modulator used to define a timbre.", - "partial": "partial", - "The Partial block is used to specify a weight for a specific partial harmonic.": "The Partial block is used to specify a weight for a specific partial harmonic.", - "Partial weight must be between 0 and 1.": "Partial weight must be between 0 and 1.", - "Partial block should be used inside of a Weighted-partials block.": "Partial block should be used inside of a Weighted-partials block.", - "weighted partials": "weighted partials", - "The Harmonic block will add harmonics to the contained notes.": "The Harmonic block will add harmonics to the contained notes.", - "harmonic": "harmonic", - "The Distortion block adds distortion to the pitch.": "The Distortion block adds distortion to the pitch.", - "distortion": "distortion", - "The Tremolo block adds a wavering effect.": "The Tremolo block adds a wavering effect.", - "tremolo": "tremolo", - "rate": "rate", - "depth": "depth", - "The Phaser block adds a sweeping sound.": "The Phaser block adds a sweeping sound.", - "phaser": "phaser", - "octaves": "octaves", - "base frequency": "base frequency", - "The Chorus block adds a chorus effect.": "The Chorus block adds a chorus effect.", - "chorus": "chorus", - "delay (MS)": "delay (MS)", - "The Vibrato block adds a rapid, slight variation in pitch.": "The Vibrato block adds a rapid, slight variation in pitch.", - "vibrato": "vibrato", - "intensity": "intensity", - "set synth": "set synth", - "synth name": "synth name", - "set default instrument": "set default instrument", - "set instrument": "set instrument", - "The Set instrument block selects a voice for the synthesizer,": "The Set instrument block selects a voice for the synthesizer,", - "eg guitar piano violin or cello.": "eg guitar piano violin or cello.", - "Import a sound file to use as an instrument and set its pitch center.": "Import a sound file to use as an instrument and set its pitch center.", - "Upload a sound file to connect with the sample block.": "Upload a sound file to connect with the sample block.", - "The Return block will return a value from an action.": "The Return block will return a value from an action.", - "return": "return", - "The Return to URL block will return a value to a webpage.": "The Return to URL block will return a value to a webpage.", - "return to URL": "return to URL", - "The Calculate block returns a value calculated by an action.": "The Calculate block returns a value calculated by an action.", - "calculate": "calculate", - "The Do block is used to initiate an action.": "The Do block is used to initiate an action.", - "The Arg block contains the value of an argument passed to an action.": "The Arg block contains the value of an argument passed to an action.", - "arg": "arg", - "Invalid argument": "Invalid argument", - "In the example, it is used with the One of block to choose a random phase.": "In the example, it is used with the One of block to choose a random phase.", - "The Listen block is used to listen for an event such as a mouse click.": "The Listen block is used to listen for an event such as a mouse click.", - "When the event happens, an action is taken.": "When the event happens, an action is taken.", - "on": "on", - "event": "event", - "The Broadcast block is used to trigger an event.": "The Broadcast block is used to trigger an event.", - "broadcast": "broadcast", - "Each Start block is a separate voice.": "Each Start block is a separate voice.", - "It is often used for storing a phrase of music that is repeated.": "It is often used for storing a phrase of music that is repeated.", - "define temperament": "define temperament", - "mouse index heap": "mouse index heap", - "turtle index heap": "turtle index heap", - "The Mouse index heap block returns a value in the heap at a specified location for a specified mouse.": "The Mouse index heap block returns a value in the heap at a specified location for a specified mouse.", - "The Turtle index heap block returns a value in the heap at a specified location for a specified turtle.": "The Turtle index heap block returns a value in the heap at a specified location for a specified turtle.", - "Yertle": "Yertle", - "mouse name": "mouse name", - "turtle name": "turtle name", - "stop mouse": "stop mouse", - "The Stop mouse block stops the specified mouse.": "The Stop mouse block stops the specified mouse.", - "stop turtle": "stop turtle", - "The Stop turtle block stops the specified turtle.": "The Stop turtle block stops the specified turtle.", - "Cannot find mouse": "Cannot find mouse", - "Cannot find turtle": "Cannot find turtle", - "start mouse": "start mouse", - "The Start mouse block starts the specified mouse.": "The Start mouse block starts the specified mouse.", - "start turtle": "start turtle", - "The Start turtle block starts the specified turtle.": "The Start turtle block starts the specified turtle.", - "Mouse is already running.": "Mouse is already running.", - "Turtle is already running.": "Turtle is already running.", - "Cannot find start block": "Cannot find start block", - "mouse color": "mouse color", - "The Mouse color block returns the pen color of the specified mouse.": "The Mouse color block returns the pen color of the specified mouse.", - "turtle color": "turtle color", - "The Turtle color block returns the pen color of the specified turtle.": "The Turtle color block returns the pen color of the specified turtle.", - "mouse heading": "mouse heading", - "The Mouse heading block returns the heading of the specified mouse.": "The Mouse heading block returns the heading of the specified mouse.", - "turtle heading": "turtle heading", - "The Turtle heading block returns the heading of the specified turtle.": "The Turtle heading block returns the heading of the specified turtle.", - "set mouse": "set mouse", - "set turtle": "set turtle", - "The Set mouse block sends a stack of blocks to be run by the specified mouse.": "The Set mouse block sends a stack of blocks to be run by the specified mouse.", - "The Set turtle block sends a stack of blocks to be run by the specified turtle.": "The Set turtle block sends a stack of blocks to be run by the specified turtle.", - "mouse y": "滑鼠座標 y", - "The Y mouse block returns the Y position of the specified mouse.": "The Y mouse block returns the Y position of the specified mouse.", - "turtle y": "turtle y", - "The Y turtle block returns the Y position of the specified turtle.": "The Y turtle block returns the Y position of the specified turtle.", - "mouse x": "滑鼠座標 x", - "The X mouse block returns the X position of the specified mouse.": "The X mouse block returns the X position of the specified mouse.", - "turtle x": "turtle x", - "The X turtle block returns the X position of the specified turtle.": "The X turtle block returns the X position of the specified turtle.", - "mouse notes played": "mouse notes played", - "The Mouse elapse notes block returns the number of notes played by the specified mouse.": "The Mouse elapse notes block returns the number of notes played by the specified mouse.", - "turtle notes played": "turtle notes played", - "The Turtle elapse notes block returns the number of notes played by the specified turtle.": "The Turtle elapse notes block returns the number of notes played by the specified turtle.", - "mouse pitch number": "mouse pitch number", - "The Mouse pitch block returns the current pitch number being played by the specified mouse.": "The Mouse pitch block returns the current pitch number being played by the specified mouse.", - "turtle pitch number": "turtle pitch number", - "The Turtle pitch block returns the current pitch number being played by the specified turtle.": "The Turtle pitch block returns the current pitch number being played by the specified turtle.", - "mouse note value": "mouse note value", - "turtle note value": "turtle note value", - "mouse sync": "mouse sync", - "The Mouse sync block aligns the beat count between mice.": "The Mouse sync block aligns the beat count between mice.", - "turtle sync": "turtle sync", - "The Turtle sync block aligns the beat count between turtles.": "The Turtle sync block aligns the beat count between turtles.", - "The Found mouse block will return true if the specified mouse can be found.": "The Found mouse block will return true if the specified mouse can be found.", - "found mouse": "found mouse", - "The Found turtle block will return true if the specified turtle can be found.": "The Found turtle block will return true if the specified turtle can be found.", - "found turtle": "found turtle", - "new mouse": "new mouse", - "The New mouse block will create a new mouse.": "The New mouse block will create a new mouse.", - "new turtle": "new turtle", - "The New turtle block will create a new turtle.": "The New turtle block will create a new turtle.", - "set mouse color": "set mouse color", - "The Set-mouse-color block is used to set the color of a mouse.": "The Set-mouse-color block is used to set the color of a mouse.", - "set turtle color": "set turtle color", - "The Set-turtle-color block is used to set the color of a turtle.": "The Set-turtle-color block is used to set the color of a turtle.", - "The Mouse-name block returns the name of a mouse.": "The Mouse-name block returns the name of a mouse.", - "The Turtle-name block returns the name of a turtle.": "The Turtle-name block returns the name of a turtle.", - "mouse count": "mouse count", - "The Mouse-count block returns the number of mice.": "The Mouse-count block returns the number of mice.", - "turtle count": "turtle count", - "The Turtle-count block returns the number of turtles.": "The Turtle-count block returns the number of turtles.", - "nth mouse name": "nth mouse name", - "The Nth-Mouse name block returns the name of the nth mouse.": "The Nth-Mouse name block returns the name of the nth mouse.", - "nth turtle name": "nth turtle name", - "The Nth-Turtle name block returns the name of the nth turtle.": "The Nth-Turtle name block returns the name of the nth turtle.", - "set name": "set name", - "source": "source", - "target": "target", - "The Set-name block is used to name a mouse.": "The Set-name block is used to name a mouse.", - "The Set-name block is used to name a turtle.": "The Set-name block is used to name a turtle.", - "fraction": "fraction", - "Convert a float to a fraction": "Convert a float to a fraction", - "save as ABC": "save as ABC", - "title": "title", - "save as Lilypond": "save as Lilypond", - "save as SVG": "save as SVG", - "no background": "no background", - "The No background block eliminates the background from the saved SVG output.": "The No background block eliminates the background from the saved SVG output.", - "show blocks": "顯示區塊", - "The Show blocks block shows the blocks.": "The Show blocks block shows the blocks.", - "The Hide blocks block hides the blocks.": "The Hide blocks block hides the blocks.", - "The Space block is used to add space between blocks.": "The Space block is used to add space between blocks.", - "wait": "等待", - "The Wait block pauses the program for a specified number of seconds.": "The Wait block pauses the program for a specified number of seconds.", - "comment": "註記", - "print": "顯示", - "The Print block displays text at the top of the screen.": "The Print block displays text at the top of the screen.", - "display grid": "display grid", - "The Display Grid Block changes the grid type": "The Display Grid Block changes the grid type", - "unknown": "unknown", - "heading": "方向", - "The Heading block returns the orientation of the mouse.": "The Heading block returns the orientation of the mouse.", - "The Heading block returns the orientation of the turtle.": "The Heading block returns the orientation of the turtle.", - "The Y block returns the vertical position of the mouse.": "The Y block returns the vertical position of the mouse.", - "The Y block returns the vertical position of the turtle.": "The Y block returns the vertical position of the turtle.", - "y3": "y3", - "The X block returns the horizontal position of the mouse.": "The X block returns the horizontal position of the mouse.", - "The X block returns the horizontal position of the turtle.": "The X block returns the horizontal position of the turtle.", - "x3": "x3", - "scroll xy": "scroll xy", - "The Scroll XY block moves the canvas.": "The Scroll XY block moves the canvas.", - "x2": "x2", - "y2": "y2", - "The Control-point 2 block sets the second control point for the Bezier curve.": "The Control-point 2 block sets the second control point for the Bezier curve.", - "control point 2": "control point 2", - "x1": "x1", - "y1": "y1", - "The Control-point 1 block sets the first control point for the Bezier curve.": "The Control-point 1 block sets the first control point for the Bezier curve.", - "control point 1": "control point 1", - "The Bezier block draws a Bezier curve.": "The Bezier block draws a Bezier curve.", - "bezier": "bezier", - "The Arc block moves the turtle in an arc.": "The Arc block moves the turtle in an arc.", - "arc": "弧度", - "angle": "角度", - "radius": "半徑", - "Value must be within -5000 to 5000 when Wrap Mode is off.": "Value must be within -5000 to 5000 when Wrap Mode is off.", - "Value must be within -20000 to 20000 when Wrap Mode is on.": "Value must be within -20000 to 20000 when Wrap Mode is on.", - "set heading": "設定標頭", - "The Set heading block sets the heading of the turtle.": "The Set heading block sets the heading of the turtle.", - "The Set XY block moves the mouse to a specific position on the screen.": "The Set XY block moves the mouse to a specific position on the screen.", - "The Set XY block moves the turtle to a specific position on the screen.": "The Set XY block moves the turtle to a specific position on the screen.", - "set xy": "指定座標", - "The Right block turns the mouse to the right.": "The Right block turns the mouse to the right.", - "The Right block turns the turtle to the right.": "The Right block turns the turtle to the right.", - "right1": "right1", - "right": "右轉", - "The Left block turns the mouse to the left.": "The Left block turns the mouse to the left.", - "The Left block turns the turtle to the left.": "The Left block turns the turtle to the left.", - "left1": "left1", - "left": "左轉", - "back": "後退", - "The Back block moves the mouse backward.": "The Back block moves the mouse backward.", - "The Back block moves the turtle backward.": "The Back block moves the turtle backward.", - "forward": "前進", - "The Forward block moves the mouse forward.": "The Forward block moves the mouse forward.", - "The Forward block moves the turtle forward.": "The Forward block moves the turtle forward.", - "wrap": "wrap", - "right (screen)": "right (screen)", - "The Right block returns the position of the right of the canvas.": "The Right block returns the position of the right of the canvas.", - "left (screen)": "left (screen)", - "The Left block returns the position of the left of the canvas.": "The Left block returns the position of the left of the canvas.", - "top (screen)": "top (screen)", - "The Top block returns the position of the top of the canvas.": "The Top block returns the position of the top of the canvas.", - "bottom (screen)": "bottom (screen)", - "The Bottom block returns the position of the bottom of the canvas.": "The Bottom block returns the position of the bottom of the canvas.", - "width": "width", - "The Width block returns the width of the canvas.": "The Width block returns the width of the canvas.", - "height": "height", - "The Height block returns the height of the canvas.": "The Height block returns the height of the canvas.", - "stop play": "stop play", - "erase media": "erase media", - "The Erase Media block erases text and images.": "The Erase Media block erases text and images.", - "play back": "play back", - "speak": "聽我說", - "The Speak block outputs to the text-to-speech synthesizer": "The Speak block outputs to the text-to-speech synthesizer", - "camera": "camera", - "The Camera block connects a webcam to the Show block.": "The Camera block connects a webcam to the Show block.", - "video": "video", - "The Video block selects video for use with the Show block.": "The Video block selects video for use with the Show block.", - "The Open file block opens a file for use with the Show block.": "The Open file block opens a file for use with the Show block.", - "stop media": "stop media", - "The Stop media block stops audio or video playback.": "The Stop media block stops audio or video playback.", - "frequency": "frequency", - "duration (MS)": "duration (MS)", - "note to frequency": "note to frequency", - "The To frequency block converts a pitch name and octave to Hertz.": "The To frequency block converts a pitch name and octave to Hertz.", - "The Avatar block is used to change the appearance of the mouse.": "The Avatar block is used to change the appearance of the mouse.", - "The Avatar block is used to change the appearance of the turtle.": "The Avatar block is used to change the appearance of the turtle.", - "size": "size", - "image": "圖片", - "The Show block is used to display text or images on the canvas.": "The Show block is used to display text or images on the canvas.", - "show1": "show1", - "obj": "obj", - "The Media block is used to import an image.": "The Media block is used to import an image.", - "The Text block holds a text string.": "The Text block holds a text string.", - "purple": "purple", - "blue": "blue", - "green": "green", - "yellow": "yellow", - "orange": "橘色", - "red": "red", - "white": "white", - "black": "black", - "begin fill": "begin fill", - "end fill": "停止填滿", - "background": "background", - "grey": "grey", - "The Grey block returns the current pen grey value.": "The Grey block returns the current pen grey value.", - "shade": "形狀", - "The Shade block returns the current pen shade value.": "The Shade block returns the current pen shade value.", - "color": "顏色", - "The Color block returns the current pen color.": "The Color block returns the current pen color.", - "pen size": "畫筆大小", - "The Pen size block returns the current pen size value.": "The Pen size block returns the current pen size value.", - "set font": "set font", - "The Set font block sets the font used by the Show block.": "The Set font block sets the font used by the Show block.", - "The Background block sets the window background color.": "The Background block sets the window background color.", - "The Hollow line block creates a line with a hollow center.": "The Hollow line block creates a line with a hollow center.", - "hollow line": "hollow line", - "The Fill block fills in a shape with a color.": "The Fill block fills in a shape with a color.", - "fill": "fill", - "pen up": "提筆", - "The Pen-up block raises the pen so that it does not draw.": "The Pen-up block raises the pen so that it does not draw.", - "pen down": "落筆", - "The Pen-down block lowers the pen so that it draws.": "The Pen-down block lowers the pen so that it draws.", - "set pen size": "設定畫筆大小", - "The Set-pen-size block changes the size of the pen.": "The Set-pen-size block changes the size of the pen.", - "set translucency": "set translucency", - "The Set translucency block changes the opacity of the pen.": "The Set translucency block changes the opacity of the pen.", - "set hue": "set hue", - "The Set hue block changes the color of the pen.": "The Set hue block changes the color of the pen.", - "set shade": "設定填滿顏色", - "The Set-shade block changes the pen color from dark to light.": "The Set-shade block changes the pen color from dark to light.", - "set grey": "set grey", - "The Set grey block changes the vividness of the pen color.": "The Set grey block changes the vividness of the pen color.", - "set color": "設定線條顏色", - "The Set-color block changes the pen color.": "The Set-color block changes the pen color.", - "The Input block prompts for keyboard input.": "The Input block prompts for keyboard input.", - "input": "input", - "Input a value": "Input a value", - "input value": "input value", - "The Input-value block stores the input.": "The Input-value block stores the input.", - "loudness": "音量", - "The Loudness block returns the volume detected by the microphone.": "The Loudness block returns the volume detected by the microphone.", - "click": "click", - "The Click block triggers an event if a mouse has been clicked.": "The Click block triggers an event if a mouse has been clicked.", - "The Click block triggers an event if a turtle has been clicked.": "The Click block triggers an event if a turtle has been clicked.", - "cursor over": "cursor over", - "cursor out": "cursor out", - "cursor button down": "cursor button down", - "cursor button up": "cursor button up", - "The Get red block returns the red component of the pixel under the mouse.": "The Get red block returns the red component of the pixel under the mouse.", - "The Get red block returns the red component of the pixel under the turtle.": "The Get red block returns the red component of the pixel under the turtle.", - "pixel color": "pixel color", - "The Get pixel block returns the color of the pixel under the mouse.": "The Get pixel block returns the color of the pixel under the mouse.", - "The Get pixel block returns the color of the pixel under the turtle.": "The Get pixel block returns the color of the pixel under the turtle.", - "time": "時間", - "cursor y": "cursor y", - "The Cursor Y block returns the vertical position of the mouse.": "The Cursor Y block returns the vertical position of the mouse.", - "cursor x": "cursor x", - "The Cursor X block returns the horizontal position of the mouse.": "The Cursor X block returns the horizontal position of the mouse.", - "mouse button": "mouse button", - "The Mouse-button block returns True if the mouse button is pressed.": "The Mouse-button block returns True if the mouse button is pressed.", - "to ASCII": "to ASCII", - "The To ASCII block converts numbers to letters.": "The To ASCII block converts numbers to letters.", - "The Keyboard block returns computer keyboard input.": "The Keyboard block returns computer keyboard input.", - "Envelope": "Envelope", - "attack": "attack", - "decay": "decay", - "sustain": "sustain", - "release": "release", - "Attack value should be from 0 to 100.": "Attack value should be from 0 to 100.", - "Decay value should be from 0 to 100.": "Decay value should be from 0 to 100.", - "Sustain value should be from 0 to 100.": "Sustain value should be from 0 to 100.", - "Release value should be from 0-100.": "Release value should be from 0-100.", - "You are adding multiple envelope blocks.": "You are adding multiple envelope blocks.", - "Filter": "Filter", - "rolloff": "rolloff", - "Rolloff value should be either -12, -24, -48, or -96 decibels/octave.": "Rolloff value should be either -12, -24, -48, or -96 decibels/octave.", - "The Temperament tool is used to define custom tuning.": "The Temperament tool is used to define custom tuning.", - "Upload a sample and adjust its pitch center.": "Upload a sample and adjust its pitch center.", - "sampler": "sampler", - "The Meter block opens a tool to select strong beats for the meter.": "The Meter block opens a tool to select strong beats for the meter.", - "The oscilloscope block opens a tool to visualize waveforms.": "The oscilloscope block opens a tool to visualize waveforms.", - "oscilloscope": "oscilloscope", - "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale).": "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale).", - "custom mode": "custom mode", - "The Tempo block opens a metronome to visualize the beat.": "The Tempo block opens a metronome to visualize the beat.", - "The Arpeggio Widget is used to compose chord sequences.": "The Arpeggio Widget is used to compose chord sequences.", - "The Pitch drum matrix is used to map pitches to drum sounds.": "The Pitch drum matrix is used to map pitches to drum sounds.", - "pitch-drum mapper": "pitch-drum mapper", - "You must have at least one pitch block and one drum block in the matrix.": "You must have at least one pitch block and one drum block in the matrix.", - "The Pitch slider tool to is used to generate pitches at selected frequencies.": "The Pitch slider tool to is used to generate pitches at selected frequencies.", - "pitch slider": "pitch slider", - "chromatic keyboard": "chromatic keyboard", - "music keyboard": "music keyboard", - "The Music keyboard block opens a piano keyboard that can be used to create notes.": "The Music keyboard block opens a piano keyboard that can be used to create notes.", - "The Pitch staircase tool to is used to generate pitches from a given ratio.": "The Pitch staircase tool to is used to generate pitches from a given ratio.", - "pitch staircase": "pitch staircase", - "The Rhythm Maker block opens a tool to create drum machines.": "The Rhythm Maker block opens a tool to create drum machines.", - "G major scale": "G major scale", - "C major scale": "C major scale", - "The Phrase Maker block opens a tool to create musical phrases.": "The Phrase Maker block opens a tool to create musical phrases.", - "phrase maker": "phrase maker", - "You must have at least one pitch block and one rhythm block in the matrix.": "You must have at least one pitch block and one rhythm block in the matrix.", - "The Status block opens a tool for inspecting the status of Music Blocks as it is running.": "The Status block opens a tool for inspecting the status of Music Blocks as it is running.", - "AI Music": "AI Music", - "synth volume": "synth volume", - "The Synth volume block returns the current volume of the current synthesizer.": "The Synth volume block returns the current volume of the current synthesizer.", - "master volume": "master volume", - "The Master volume block returns the master volume.": "The Master volume block returns the master volume.", - "set synth volume": "set synth volume", - "synth": "synth", - "Setting volume to 0.": "Setting volume to 0.", - "Synth not found": "Synth not found", - "set drum volume": "set drum volume", - "The Set synth volume block will change the volume of a particular synth,": "The Set synth volume block will change the volume of a particular synth,", - "eg guitar violin snare drum etc.": "eg guitar violin snare drum etc.", - "The default volume is 50.": "The default volume is 50.", - "The range is 0 for silence to 100 for full volume.": "The range is 0 for silence to 100 for full volume.", - "set panning": "set panning", - "The Set Panning block sets the panning for all synthesizers.": "The Set Panning block sets the panning for all synthesizers.", - "Warning: Sound is coming out from only the left or right side.": "Warning: Sound is coming out from only the left or right side.", - "set master volume": "set master volume", - "The Set master volume block sets the volume for all synthesizers.": "The Set master volume block sets the volume for all synthesizers.", - "The Set relative volume block changes the volume of the contained notes.": "The Set relative volume block changes the volume of the contained notes.", - "set relative volume": "set relative volume", - "decrescendo": "decrescendo", - "crescendo": "crescendo", - "one": "one", - "two": "two", - "three": "three", - "four": "four", - "five": "five", - "six": "six", - "seven": "seven", - "eight": "eight", - "nine": "nine", - "below": "below", - "above": "above", - "plus": "plus", - "Adding missing pitch number 0.": "Adding missing pitch number 0.", - "Ignoring pitch numbers less than zero or greater than eleven.": "Ignoring pitch numbers less than zero or greater than eleven.", - "Ignoring duplicate pitch numbers.": "Ignoring duplicate pitch numbers.", - "font": "font", - "Dictionary with this name does not exist": "Dictionary with this name does not exist", - "Key with this name does not exist in ": "Key with this name does not exist in ", - "Noise Block: Did you mean to use a Note block?": "Noise Block: Did you mean to use a Note block?", - "Vibrato intensity must be between 1 and 100.": "震音强度必须在1和100之间", - "Vibrato rate must be greater than 0.": "震音率必须大于0", - "Depth is out of range.": "Depth is out of range.", - "Distortion must be from 0 to 100.": "Distortion must be from 0 to 100.", - "Partial must be greater than or equal to 0.": "Partial must be greater than or equal to 0.", - "Unable to use synth due to existing oscillator": "Unable to use synth due to existing oscillator", - "The input cannot be negative.": "The input cannot be negative.", - "beats per minute must be greater than": "beats per minute must be greater than", - "maximum": "maximum", - "beats per minute is": "beats per minute is", - "Take a tour": "Take a tour", - "Pause": "Pause", - "Warning: Sample is bigger than 1MB.": "Warning: Sample is bigger than 1MB.", - "New start block generated": "New start block generated", - "MIDI loading. This may take some time depending upon the number of notes in the track": "MIDI loading. This may take some time depending upon the number of notes in the track", - "Upload failed: Sample is not a .wav file.": "Upload failed: Sample is not a .wav file.", - "Save sample": "Save sample", - "Click in the grid to add steps to the arpeggio.": "Click in the grid to add steps to the arpeggio.", - "Play all": "Play all", - "Reset": "Reset", - "Click in the circle to select strong beats for the meter.": "Click in the circle to select strong beats for the meter.", - "Rotate counter clockwise": "Rotate counter clockwise", - "Rotate clockwise": "Rotate clockwise", - "Undo": "Undo", - "Click in the circle to select notes for the mode.": "Click in the circle to select notes for the mode.", - "New action block generated.": "New action block generated.", - "Add note": "Add note", - "Metronome": "Metronome", - "Note value": "Note value", - "New action blocks generated.": "New action blocks generated.", - "MIDI device present.": "MIDI device present.", - "No MIDI device found.": "No MIDI device found.", - "Failed to get MIDI access in browser.": "Failed to get MIDI access in browser.", - "Click in the grid to map notes to drums.": "Click in the grid to map notes to drums.", - "Move up": "Move up", - "Move down": "Move down", - "Click on the slider to create a note block.": "Click on the slider to create a note block.", - "Play chord": "Play chord", - "Play scale": "Play scale", - "Click on a note to create a new step.": "Click on a note to create a new step.", - "Save rhythms": "Save rhythms", - "Save drum machine": "Save drum machine", - "Tap a rhythm": "Tap a rhythm", - "Click on the ruler to divide it.": "Click on the ruler to divide it.", - "tap a rhythm": "tap a rhythm", - "Maximum value of 256 has been exceeded.": "Maximum value of 256 has been exceeded.", - "Recording started": "Recording started", - "Recording complete": "Recording complete", - "A new sample block was generated.": "A new sample block was generated.", - "Upload sample": "Upload sample", - "Warning: Your sample cannot be loaded because it is >1MB.": "Warning: Your sample cannot be loaded because it is >1MB.", - "Toggle Mic": "Toggle Mic", - "Playback": "Playback", - "reference tone": "reference tone", - "back to 2:1 octave space": "back to 2:1 octave space", - "edit": "edit", - "done": "done", - "ratio": "ratio", - "interval": "interval", - "non scalar": "non scalar", - "ratios": "ratios", - "arbitrary": "arbitrary", - "number of divisions": "number of divisions", - "preview": "preview", - "The Number of divisions is too large.": "The Number of divisions is too large.", - "recursion": "recursion", - "The octave ratio has changed. This changes temperament significantly.": "The octave ratio has changed. This changes temperament significantly.", - "Table": "Table", - "Add pitches": "Add pitches", - "Save tempo": "Save tempo", - "speed up": "speed up", - "slow down": "slow down", - "Adjust the tempo with the buttons.": "Adjust the tempo with the buttons.", - "Please enter a number between 30 and 1000": "Please enter a number between 30 and 1000", - "The beats per minute must be between 30 and 1000.": "The beats per minute must be between 30 and 1000.", - "The beats per minute must be below 1000.": "The beats per minute must be below 1000.", - "The beats per minute must be above 30": "The beats per minute must be above 30", - "Synthesizer": "Synthesizer", - "Effects": "Effects", - "Add filter": "Add filter", - "Click on buttons to open the timbre design tools.": "Click on buttons to open the timbre design tools.", - "harmonicity": "harmonicity", - "modulation index": "modulation index", - "vibrato amount": "vibrato amount", - "Filter already present.": "Filter already present.", - "distortion amount": "distortion amount", - "Zoom In": "Zoom In", - "Zoom Out": "Zoom Out", - "Export": "Export", - "Sort": "Sort", - "Click on the table to add notes.": "Click on the table to add notes.", - "tuplet value": "tuplet value", - "Share": "Share", - "Flags": "Flags", - "No results found.": "No results found.", - "Remix of": "Remix of", - "Cannot connect to server": "Cannot connect to server", - "All Projects": "All Projects", - "My Projects": "My Projects", - "Examples": "Examples", - "Art": "Art", - "Math": "Math", - "Interactive": "Interactive", - "Design": "Design", - "Game": "Game", - "Code Snippet": "Code Snippet", - "View published project": "View published project", - "Publish project": "Publish project", - "Edit project": "Edit project", - "Delete project": "Delete project", - "Download project": "Download project", - "Duplicate project": "Duplicate project", - "anonymous": "anonymous", - "Error: Report could not be submitted. Try again later.": "Error: Report could not be submitted. Try again later.", - "Thank you for reporting this project. A moderator will review the project shortly, to verify violation of the Sugar Labs Code of Conduct.": "Thank you for reporting this project. A moderator will review the project shortly, to verify violation of the Sugar Labs Code of Conduct.", - "Report Project": "Report Project", - "Project Reported": "Project Reported", - "Report description required": "Report description required", - "Report description too long": "Report description too long", - "Feature unavailable - cannot connect to server. Reload Music Blocks to try again.": "Feature unavailable - cannot connect to server. Reload Music Blocks to try again.", - "This field is required": "This field is required", - "Title too long": "Title too long", - "Description too long": "Description too long", - "Server Error": "Server Error", - "Try Again": "Try Again", - "Open in Music Blocks": "Open in Music Blocks", - "Open in Turtle Blocks": "Open in Turtle Blocks", - "Show more tags": "Show more tags", - "Show fewer tags": "Show fewer tags", - "Planet": "Planet", - "Close Planet": "Close Planet", - "Open project from file": "Open project from file", - "Local": "Local", - "Global": "Global", - "Search for a project": "Search for a project", - "Tags (max 5)": "Tags (max 5)", - "Description": "Description", - "Submit": "Submit", - "Cancel": "Cancel", - "Delete \\\\\"\\\\\"?": "Delete \\\\\"\\\\\"?", - "Permanently delete project \\\\\"\\\\\"?": "Permanently delete project \\\\\"\\\\\"?", - "Explore Projects": "Explore Projects", - "Most recent": "Most recent", - "Most liked": "Most liked", - "Most downloaded": "Most downloaded", - "A-Z": "A-Z", - "Sort by": "Sort by", - "Load More Projects": "Load More Projects", - "Last Updated": "Last Updated", - "Creation Date": "Creation Date", - "Number of Downloads:": "Number of Downloads:", - "Number of Likes:": "Number of Likes:", - "Tags:": "Tags:", - "Report projects which violate the Sugar Labs Code of Conduct.": "Report projects which violate the Sugar Labs Code of Conduct.", - "Reason for reporting project": "Reason for reporting project", - "Download as File": "Download as File", - "motion x": "motion x", - "motion y": "motion y", - "motion z": "motion z", - "publish": "publish", - "power": "power", - "base": "base", - "exp": "exp", - "floor": "floor", - "ceiling": "ceiling", - "to degrees": "to degrees", - "to radians": "to radians", - "get calories": "get calories", - "get protein": "get protein", - "get carbs": "get carbs", - "get fiber": "get fiber", - "get fat": "get fat", - "get name": "get name", - "calories": "calories", - "protein": "protein", - "carbs": "carbs", - "fiber": "fiber", - "fat": "fat", - "eat": "eat", - "digest meal": "digest meal", - "apple": "apple", - "banana": "banana", - "wheat bread": "wheat bread", - "corn": "corn", - "potato": "potato", - "sweet potato": "sweet potato", - "tomato": "tomato", - "broccoli": "broccoli", - "rice and beans": "rice and beans", - "tamale": "tamale", - "cheese": "cheese", - "chicken": "chicken", - "fish": "fish", - "beef": "beef", - "cake": "cake", - "cookie": "cookie", - "water": "water", - "Days ahead must be in the range of -1 to 5.": "Days ahead must be in the range of -1 to 5.", - "forecast": "forecast", - "city": "city", - "day": "day", - "high": "high", - "low": "low", - "blink": "blink", - "led": "led", - "light intensity": "light intensity", - "infrared light (left)": "infrared light (left)", - "infrared light (right)": "infrared light (right)", - "move": "move" +{ + "": "", + "Refresh your browser to change your language preference.": "刷新你的浏览器以更改语言偏好。", + "Music Blocks is already set to this language.": "Music Blocks 已经设置为此语言", + "project undefined": "项目未定义", + "action": "动作", + "duck": " 鸭子", + "Music Blocks is already set to this theme.": "Music Blocks 已经设置为此主题。", + "Music Blocks Project": "Music Blocks 项目", + "This project was created in Music Blocks": "此项目是在 Music Blocks 中创建的", + "Music Blocks is a Free/Libre Software application.": " Music Blocks 是一个自由/开源软件应用程序。", + "The source code can be accessed at": "源代码可在以下位置访问", + "For more information, please consult the": "如需更多信息,请查阅", + "Music Blocks Guide": "Music Blocks 指南", + "Alternatively, open the file in Music Blocks using the Load project button.": "或者,使用“加载项目”按钮在 Music Blocks 中打开该文件", + "Project Code": "项目代码", + "This code stores data about the blocks in a project.": "此代码用于存储项目中模块的数据", + "Show": "显示", + "Hide": "隐藏", + "My Project": "我的项目", + "No description provided": "未提供描述", + "Your recording is in progress.": "您的录音正在进行中", + "File name": "文件名", + "Project title": "项目标题", + "Project author": "项目作者", + "Include MIDI output?": "包含 MIDI 输出?", + "Include guitar tablature output?": "包含吉他六线谱输出?", + "Save as Lilypond": "另存为 Lilypond 文件", + "Mr. Mouse": "先生.Mouse", + "The Lilypond code is copied to clipboard. You can paste it here: ": "Lilypond 代码已复制到剪贴板。你可以将其粘贴到此处:", + "Search for blocks": "搜索模块", + "Are you sure you want to clear the workspace?": "您确定要清空工作区吗?", + "Enter file name": "输入文件名", + "File save canceled": "文件保存已取消", + "Click on stop saving": "点击“停止保存”", + "Catching mice": " 捉老鼠", + "Cleaning the instruments": "清洁乐器", + "Testing key pieces": "测试关键部件", + "Sight-reading": "视奏", + "Combining math and music": "将数学与音乐相结合", + "Generating more blocks": "生成更多模块", + "Do Re Mi Fa Sol La Ti Do": "哆 来 米 发 唆 拉 西 哆", + "Tuning string instruments": "调音弦乐器", + "Pressing random keys": "随机按键", + "plugins will be removed upon restart.": "插件将在重启后被移除", + "show Cartesian": "显示笛卡尔坐标系", + "scale degree": "音级", + "voice name": "声部名称", + "invert mode": "反转模式", + "output tools": "输出工具", + "custom note": "自定义音符", + "accidental name": "升降音符名称", + "east indian solfege": "东印度首调系统", + "note name": "音符名称", + "temperament name": "音律名称", + "mode name": "调式名称", + "chord name": "和弦名称", + "interval name": "音程名称", + "filter type": "滤波器类型", + "oscillator type": "振荡器类型", + "audio file": "音频文件", + "noise name": "噪声名称", + "drum name": "鼓名称", + "effects name": "效果名称", + "wrap mode": "包装模式", + "load file": "加载文件", + "This block is deprecated.": "此模块已弃用", + "Block cannot be found.": "无法找到模块", + "Saving block artwork": "保存模块艺术作品", + "Copy": "复制", + "Erase": "擦除", + "Play": "播放", + "Stop": "停止", + "Paste": "貼上", + "Save block help": "保存模块帮助", + "ti la sol fa mi re do": "ti la sol fa mi re do", + "Jumping to the bottom of the page.": "跳转到页面底部", + "Scrolling up.": "向上滚动", + "Scrolling down.": "向下滚动", + "Extracting block": "提取模块", + "Moving block up.": "将模块向上移动", + "Moving block down.": "将模块向下移动", + "Moving block left.": "将模块向左移动", + "Moving block right.": "将模块向右移动", + "Jump to home position.": "跳转到首页位置", + "Hide blocks": "隐藏模块", + "Trash can is empty.": "垃圾桶是空的", + "Item restored from the trash.": "项目从垃圾桶中恢复", + "Restore last item": "恢复最后一个项目", + "Restore all items": "恢复所有项目", + "Click the run button to run the project.": "点击运行按钮以运行项目", + "Home": "主页", + "Show/hide blocks": "顯示/隱藏區塊", + "Expand/collapse blocks": "展开/折叠模块", + "Decrease block size": "减小模块大小", + "Increase block size": "增加模块大小", + "Could not parse JSON input.": "无法解析 JSON 输入", + "Select is enabled.": "选择已启用", + "Select is disabled.": "选择已禁用", + "Cannot load project from the file. Please check the file type.": "无法从文件加载项目。请检查文件类型。", + "Invalid parameters": "参数无效", + "Error regenerating palettes. Please refresh the page.": "重新生成调色板时出错。请刷新页面", + "temperament": "音律", + "start": "开始", + "matrix": " 矩阵", + "status": "状态", + "drum mapper": "鼓映射器", + "ruler": "尺子", + "timbre": "音色", + "stair": "楼梯", + "tempo": "速度", + "mode": "调式", + "slider": "滑块", + "keyboard": "查询键盘", + "drum": "鼓", + "rhythm maker": "节奏制作器", + "note value": "音符时值", + "scalar interval": "音阶音程", + "milliseconds": "毫秒", + "silence": "沉默", + "down": "向下", + "up": "向上", + "pitch": "音高", + "Silence block cannot be removed.": "无法移除静音模块", + "You can restore deleted blocks from the trash with the Restore From Trash button.": "您可以通过“从垃圾桶恢复”按钮恢复已删除的模块", + "true": "真", + "false": "假", + "Cartesian": "笛卡爾", + "polar": "极坐标", + "Cartesian/Polar": "笛卡尔/极坐标", + "none": "无", + "treble": "高音", + "grand staff": "大五线谱", + "mezzo-soprano": "中高音", + "alto": " 女低音", + "tenor": "男高音", + "bass": "低音", + "on2": "开", + "off": "关闭", + "Not a number": "不是数字", + "Octave value must be between 1 and 8.": "八度值必须在1到8之间", + "Numbers can have at most 10 digits.": "数字最多只能有10位", + "box": "盒子", + "Consider breaking this stack into parts.": "考虑将这个堆栈拆分成几个部分", + "open file": "打开文件.", + "text": "文本.", + "store in box": " 存储在盒子里", + "box1": "盒子1", + "box2": "盒子2", + "store in": "放入", + "name": "名称", + "value": "值", + "Forever loop detected inside a note value block. Unexpected things may happen.": "在音符时值模块中检测到永久循环。可能会发生意外情况", + "There is no block selected.": "没有选择任何模块", + "avatar": "头像", + "sample": "样本", + "mouse": "鼠标", + "brown rat": "棕色老鼠", + "mole": " 鼹鼠", + "chipmunk": "花栗鼠", + "red squirrel": "红松鼠", + "guinea pig": "豚鼠", + "capybara": "水豚", + "coypu": " 豪猪", + "black rat": "黑色老鼠", + "grey squirrel": "灰松鼠", + "flying squirrel": "飞鼠", + "bat": "蝙蝠", + "start drum": "开始鼓声", + "rhythm": "节奏", + "tone": "音调", + "pen": "钢笔", + "number": "數字", + "flow": "流动", + "Sensors": "传感器", + "Media": "媒体", + "mice": "鼠标", + "About Music Blocks": "关于音乐模块", + "Record": "录音", + "Full screen": "全屏", + "Toggle Fullscreen": "切换全屏", + "New project": "新项目", + "Load project from file": "从文件加载项目", + "Save project": "保存项目", + "Save project as HTML": "将项目保存为HTML", + "Find and share projects": "查找并分享项目", + "Offline. Sharing is unavailable": " 离线。共享不可用", + "Auxiliary menu": "辅助菜单", + "Help": "幫助", + "Run slowly": "慢速运行", + "Run step by step": "逐步运行", + "Display statistics": "显示统计信息", + "Load plugin": "加载插件", + "Delete plugin": "删除插件", + "Enable horizontal scrolling": "启用横向滚动", + "Disable horizontal scrolling": "禁用横向滚动", + "Change theme": "更改主题", + "Light Mode": "浅色模式", + "Dark Mode": "深色模式", + "Merge with current project": "与当前项目合并", + "Set Pitch Preview": "设置音高预览", + "JavaScript Editor": "JavaScript 编辑器", + "Restore": "恢复", + "Switch to beginner mode": "切换到初学者模式", + "Switch to advanced mode": "切换到高级模式", + "Select language": "选择语言", + "Save mouse artwork as PNG": "将鼠标图像保存为PNG", + "Save mouse artwork as SVG": "将鼠标图像保存为SVG", + "Save music as WAV": "将音乐保存为WAV", + "Save sheet music as ABC": "将乐谱保存为ABC", + "Save sheet music as Lilypond": "将乐谱保存为LilyPond", + "Save sheet music as MusicXML": "将乐谱保存为MusicXML", + "Save block artwork as SVG": "将块图形保存为SVG", + "Save block artwork as PNG": "将块图形保存为PNG", + "Confirm": "确认", + "English (United States)": "English (United States)", + "English (United Kingdom)": "English (United Kingdom)", + "日本語": "日本語", + "한국어": "한국어", + "español": "español", + "português": "português", + "にほんご": "にほんご", + "中文": "中文", + "ภาษาไทย": "ภาษาไทย", + "aymara": "aymara", + "quechua": "quechua", + "guarani": "guarani", + "हिंदी": "हिंदी", + "igbo": "igbo", + "عربى": "عربى", + "తెలుగు": "తెలుగు", + "עִברִית": "עִברִית", + "اردو": "اردو", + "Save turtle artwork as PNG": "将海龟图形保存为PNG", + "Save turtle artwork as SVG": "将海龟图形保存为SVG", + "한국인": "한국인", + "About Turtle Blocks": "关于海龟图形块", + "Turtle Wrap Off": "关闭海龟包装", + "Turtle Wrap On": "开启海龟包装", + "Are you sure you want to create a new project?": "您确定要创建一个新项目吗?", + "Not a valid pitch name": "无效的音高名称", + "You must select a file.": "你必须选择一个文件", + "Playback is ready.": "播放准备好了。", + "double sharp": "双升音符", + "sharp": "升号", + "natural": "还原音符", + "flat": "降号", + "double flat": "双降音符", + "unison": "同音", + "major": "大调音阶", + "ionian": "艾奥尼安调式", + "minor": "小调音阶", + "aeolian": "伊奥利安调式", + "Duplicate": "复制", + "Extract": "提取", + "Move to trash": "移到垃圾桶", + "Close": "关闭", + "Save stack": "保存堆栈", + "In order to copy a sample, you must reload the widget, import the sample again, and export it.": "为了复制样本,您必须重新加载小部件,重新导入样本,然后再导出。", + "You have chosen key for your pitch preview.": "您已选择音调预览的音调。", + "You must have at least one Partial block inside of a Weighted-partial block": "您必须在加权部分块内至少包含一个部分块", + "synth cannot play chords.": "合成器无法播放和弦", + "guide url": "指南网址", + "Turtle Blocks": "海龟图形块", + "search": "搜索", + "meter": "节拍", + "intervals": "音程", + "ornament": "装饰音", + "volume": "音量", + "boxes": "框框", + "widgets": "小部件", + "graphics": "图像", + "boolean": "布尔值", + "heap": "堆积", + "dictionary": "字典", + "ensemble": "乐团 ", + "extras": "额外内容", + "program": "程序", + "my blocks": "我的块", + "artwork": "艺术作品", + "logic": "逻辑", + "Music": "音乐", + "Music Blocks": "音乐块", + "Welcome to Turtle Blocks": "欢迎来到海龟图形块", + "Turtle Blocks is a Logo-inspired turtle that draws colorful pictures with snap-together visual-programming blocks.": "海龟图形块是一个受Logo启发的海龟,它通过拼接的可视编程块绘制色彩斑斓的图画。", + "The current version is": "当前版本是", + "Click the run button to run the project in fast mode.": "点击运行按钮以在快速模式下运行项目", + "Stop the turtle.": "停止海龟", + "You can also type Alt-S to stop.": "您也可以按 Alt-S 停止。", + "Welcome to Music Blocks": "欢迎来到音乐块", + "Music Blocks is a collection of tools for exploring fundamental musical concepts in a fun way.": "音乐块是一个工具集,用于以有趣的方式探索基本的音乐概念。", + "Meet Mr. Mouse!": "会面 Mr. Mouse!", + "Mr Mouse is our Music Blocks conductor.": "Mr Mouse 是我们的音乐块指挥。", + "Mr Mouse encourages you to explore Music Blocks.": "Mr Mouse 鼓励您探索音乐块。", + "Let us start our tour!": "让我们开始我们的旅程!", + "Guide": "指南", + "A detailed guide to Music Blocks is available.": "提供了详细的音乐块指南。", + "Stop the music (and the mice).": "停止音乐 (and the mice)", + "Record your project as video.": "将您的项目录制为视频", + "Toggle Fullscreen mode.": "切换全屏模式", + "Initialize a new project.": "初始化一个新项目", + "You can also load projects from the file system.": "您也可以从文件系统加载项目", + "Save": "保存", + "Save your project to a file.": "将您的项目保存到文件", + "Save graphics from your project to as SVG.": "将项目中的图形保存为SVG", + "Save graphics from your project as PNG.": "将项目中的图形保存为PNG", + "Save block artwork as an SVG file.": "将块图形保存为SVG文件", + "Save sheet music as ABC, Lilypond or MusicXML": "将乐谱保存为ABC、LilyPond或MusicXML格式", + "Save block artwork as SVG or PNG": "将块图形保存为SVG或PNG", + "Load samples from server": "从服务器加载样本", + "This button opens a viewer for loading example projects.": "此按钮打开一个查看器,用于加载示例项目", + "Expand/collapse option toolbar": "展开/收起选项工具栏", + "Click this button to expand or collapse the auxillary toolbar.": "点击此按钮以展开或收起辅助工具栏", + "Displays help messages for the main and auxiliary toolbar, right-click contextual menu for blocks and canvas, and palettes.": "显示主工具栏和辅助工具栏的帮助信息,块和画布的右键上下文菜单,以及调色板的帮助信息", + "Click to run the project in slow mode.": "点击以在慢速模式下运行项目", + "Click to run the project step by step.": "点击按步骤运行项目", + "Display statistics about your Music project.": "显示有关您音乐项目的统计信息", + "Load a selected plugin.": "加载选定的插件", + "Delete a selected plugin.": "删除选定的插件", + "Enable scrolling": "启用滚动", + "You can scroll the blocks on the canvas.": "您可以在画布上滚动这些块", + "Switch between dark and light mode.": "在暗模式和亮模式之间切换", + "Click to add another project into the current one.": "点击将另一个项目添加到当前项目中", + "Wrap Turtle": "包裹海龟", + "Turn Turtle wrapping On or Off.": "开启或关闭海龟包裹", + "Click to set the current pitch.": "点击设置当前音高", + "Converts Music Block programs to JavaScript.": "将音乐块程序转换为JavaScript", + "Restore blocks from the trash.": "从垃圾桶恢复块", + "Switch mode": "切换模式", + "Switch between beginner and advance modes.": "在初学者模式和高级模式之间切换", + "Select your language preference.": "选择您的语言偏好", + "Contextual Menu for Blocks": "块的上下文菜单", + "Right-click on a block to access common actions.": "右键点击一个块以访问常见操作", + "Delete": "删除", + "To delete a block, right-click on it. You will see the delete option.": "要删除一个模块,请右键点击它。你会看到“删除”选项。", + "To copy a block, right-click on it. You will see the copy option.": "要复制一个模块,请右键点击它。你会看到“复制”选项。", + "To extract a block, right-click on it. You will see the extract option.": "要提取一个模块,请右键点击它。你会看到“提取”选项。", + "Keyboard shortcuts": "键盘快捷键", + "You can type d to create a do block and r to create a re block etc.": "你可以输入 d 来创建一个 do 模块,输入 r 来创建一个 re 模块,等等。", + "Contextual Menu for Canvas": "画布的上下文菜单", + "Right-click on the canvas to perform additional canvas-related tasks.": "右键点击画布以执行更多与画布相关的操作。", + "Grid": "网格", + "Turn on/off lines for cartesian or polar grids.": "打开或关闭笛卡尔网格或极坐标网格的线条。", + "Turn on/off music staffs.": "打开或关闭五线谱。", + "Clear": "清除", + "Clear the screen and return the mice to their initial positions.": "清除屏幕并将鼠标返回到初始位置。", + "Collapse": "折叠", + "Collapse the graphics window.": "折叠图形窗口。", + "Return all blocks to the center of the screen.": "将所有模块返回到屏幕中心。", + "Hide or show the blocks and the palettes.": "隐藏或显示模块和调色板。", + "Expand or collapse start and action stacks.": "展开或折叠开始和动作堆栈。", + "Decrease the size of the blocks.": "减小模块的大小。", + "Increase the size of the blocks.": "增大模块的大小。", + "Select": "选择", + "Left-click and drag on workspace to select multiple blocks.": "左键点击并拖动工作区以选择多个模块。", + "Palette buttons": "调色板按钮", + "This toolbar contains the palette buttons including Rhythm Pitch Tone Action and more.": "此工具栏包含调色板按钮,包括节奏、音高、音调、动作等。", + "Click to show the palettes of blocks and drag blocks from the palettes onto the canvas to use them.": "点击显示模块调色板,将模块从调色板拖到画布上使用。", + "A detailed guide to Turtle Blocks is available.": "提供了 Turtle Blocks 的详细指南。", + "Turtle Blocks Guide": "Turtle Blocks 指南", + "About": "关于", + "Turtle Blocks is an open source collection of tools for exploring musical concepts.": "Turtle Blocks 是一个开源工具集,用于探索音乐概念。", + "A full list of contributors can be found in the Turtle Blocks GitHub repository.": "完整的贡献者列表可以在 Turtle Blocks 的 GitHub 仓库中找到。", + "Turtle Blocks is licensed under the AGPL.": "Turtle Blocks 授权使用 AGPL 许可协议。", + "Turtle Blocks GitHub repository": "Turtle Blocks GitHub 仓库", + "Congratulations.": "恭喜", + "You have finished the tour. Please enjoy Turtle Blocks!": "您已完成导览。请尽情享受 Turtle Blocks!", + "Music Blocks is an open source collection of tools for exploring musical concepts.": "Music Blocks 是一个开源工具集,用于探索音乐概念。", + "A full list of contributors can be found in the Music Blocks GitHub repository.": "完整的贡献者列表可以在 Music Blocks 的 GitHub 仓库中找到。", + "Music Blocks is licensed under the AGPL.": "Music Blocks 授权使用 AGPL 许可协议。", + "Music Blocks GitHub repository": "Music Blocks GitHub 仓库", + "Congratulations!": "恭喜", + "You have finished the tour. Please enjoy Music Blocks!": "您已完成导览。请尽情享受 Music Blocks!", + "Expand": "展开", + "effect": "效果", + "sargam": "萨尔甘", + "custom pitch": "自定义音高", + "accidental": "意外音符", + "pitch converter": "音高转换器", + "rest": "休止符", + "Perfect unison": "完全同音", + "Diminished second": "减二度", + "Minor second": "小二度", + "Augmented unison": "增同音", + "Major second": "大二度", + "Diminished third": "减三度", + "Minor third": "小三度", + "Augmented second": "增二度", + "Major third": "大三度", + "Diminished fourth": "减四度", + "Perfect fourth": "完全四度", + "Augmented third": "增三度", + "Diminished fifth": "减五度", + "Augmented fourth": "增四度", + "Perfect fifth": "完全五度", + "Diminished sixth": "减六度", + "Minor sixth": "小六度", + "Augmented fifth": "增五度", + "Major sixth": "大六度", + "Diminished seventh": "减七度", + "Minor seventh": "小七度", + "Augmented sixth": "增六度", + "Major seventh": "大七度", + "Diminished octave": "减八度", + "Perfect octave": "完全八度", + " perfect octave": "完全八度", + "完全八度": "完全八度", + "Augmented octave": "增八度", + "Major ninth": "大九度", + "Diminished tenth": "减十度", + "Minor tenth": "小十度", + "Augmented ninth": "增九度", + "Major tenth": "大十度", + "Diminished eleventh": "减十一度", + "Perfect eleventh": "纯十一度", + "Augmented tenth": "增十度", + "Diminished twelfth": "减十二度", + "Augmented eleventh": "增十一度", + "Perfect twelfth": "纯十二度", + "Diminished thirteenth": "减十三度", + "Minor thirteenth": "小十三度", + "Augmented fifth, plus an octave": "增五度加八度", + "Major thirteenth": "大十三度", + "Diminished seventh, plus an octave": "减七度加八度", + "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th": "第一 第二 第三 第四 第五 第六 第七 第八 第九 第十 第十一 第十二", + "augmented": "增音程", + "diminished": "减音程", + "perfect": "纯音程", + "chromatic": "半音阶", + "algerian": "algerian", + "spanish": "西班牙调式", + "octatonic": "八音阶", + "harmonic major": "和声大调", + "natural minor": "自然小调", + "harmonic minor": "和声小调", + "melodic minor": "旋律小调", + "dorian": "多利安调式", + "phrygian": "弗利几亚调式", + "lydian": "利底亚调式", + "mixolydian": "米克索利底亚调式", + "locrian": "洛克利亚调式", + "jazz minor": "爵士小调", + "bebop": "bebop", + "arabic": "阿拉伯调式", + "byzantine": "拜占庭调式", + "enigmatic": "谜样调式", + "ethiopian": "埃塞俄比亚调式", + "geez": "geez", + "hindu": "印度调式", + "hungarian": "匈牙利调式", + "romanian minor": "罗马尼亚小调", + "spanish gypsy": "西班牙吉普赛调式", + "maqam": "maqam", + "minor blues": "小调布鲁斯", + "major blues": "大调布鲁斯", + "whole tone": "全音音阶", + "minor pentatonic": "小调五声音阶", + "major pentatonic": "大调五声音阶", + "chinese": "中国调式", + "egyptian": "埃及调式", + "hirajoshi": "平调式", + "Japan": "日本调式", + "in": "in", + "minyo": "民谣调式", + "fibonacci": "斐波那契", + "custom": "自定义", + "highpass": "高通滤波器", + "lowpass": "低通滤波器", + "bandpass": "带通滤波器", + "highshelf": "高架滤波器", + "lowshelf": "低架滤波器", + "notch": "陷波滤波器", + "allpass": "全通滤波器", + "peaking": "峰值滤波器", + "sine": "正弦波", + "square": "方波", + "triangle": "三角波", + "sawtooth": "锯齿波", + "even": "偶数", + "odd": "奇数", + "scalar": "标量", + "piano": "钢琴", + "violin": "小提琴", + "viola": "中提琴", + "xylophone": "木琴", + "vibraphone": "颤音琴", + "cello": "大提琴", + "double bass": "低音提琴", + "guitar": "吉他", + "sitar": "锡塔尔琴", + "acoustic guitar": "原声吉他", + "flute": "长笛", + "clarinet": "单簧管", + "saxophone": "萨克斯管", + "tuba": "大号", + "trumpet": "小号", + "oboe": "双簧管", + "trombone": "长号", + "electronic synth": "电子合成器", + "simple 1": "简单1", + "simple 2": "简单2", + "simple 3": "简单3", + "simple 4": "简单4", + "white noise": "白噪音", + "brown noise": "棕色噪音", + "pink noise": "粉红噪音", + "snare drum": "军鼓", + "kick drum": "大鼓", + "tom tom": "通通鼓", + "floor tom": "落地鼓", + "bass drum": "低音鼓", + "cup drum": "杯鼓", + "darbuka drum": "达布卡鼓", + "hi hat": "踩镲", + "ride bell": "骑铃", + "cow bell": "牛铃", + "japanese drum": "日本鼓", + "japanese bell": "日本铃", + "triangle bell": "三角铃", + "finger cymbals": "指钹", + "chime": "风铃", + "gong": "锣", + "clang": "叮当声", + "crash": "撞击声", + "bottle": "瓶子声", + "clap": "拍手声", + "slap": "拍打声", + "splash": "水花声", + "bubbles": "气泡声", + "raindrop": "雨滴声", + "cat": "猫", + "cricket": "蟋蟀声", + "dog": "狗", + "banjo": "班卓琴", + "koto": "琴", + "dulcimer": "扬琴", + "electric guitar": "电吉他", + "bassoon": "巴松管", + "celeste": "颤音琴", + "equal": "平均律", + "Pythagorean": "毕达哥拉斯律", + "just intonation": "纯律", + "Meantone": "中庸律", + "major 7th": "大七度", + "minor 7th": "小七度", + "dominant 7th": "属七度", + "minor-major 7th": "小大七度", + "fully-diminished 7th": "完全减七度", + "half-diminished 7th": "半减七度", + "Equal (12EDO)": "十二平均律", + "Equal (5EDO)": "五平均律", + "Equal (7EDO)": "七平均律", + "Equal (19EDO)": "十九平均律", + "Equal (31EDO)": "三十一平均律", + "5-limit Just Intonation": "五限纯律", + "Pythagorean (3-limit JI)": "毕达哥拉斯(三级纯律)", + "current": "当前", + "next": "下一个", + "previous": "上一个", + "simple-2": "simple-2", + "simple-3": "simple-3", + "simple-4": "simple-4", + "taiko": "taiko", + "The Not block is the logical not operator.": "Not 块是逻辑非运算符。", + "not": "否", + "The And block is the logical and operator.": "And 块是逻辑与运算符。", + "and": "且", + "The Or block is the logical or operator.": "Or 块是逻辑或运算符。", + "or": "或", + "The XOR block is the logical XOR operator.": "XOR 块是逻辑异或运算符。", + "xor": "异或", + "The Equal block returns True if the two numbers are equal.": "Equal 块在两个数字相等时返回真。", + "The Not-equal-to block returns True if the two numbers are not equal to each other.": "Not-equal-to 块在两个数字不相等时返回真。", + "The Boolean block is used to specify true or false.": "Boolean 块用于指定真或假。", + "The Add-to block is used to add to the value stored in a box.": "Add-to 块用于对盒子中存储的值进行加法。", + "It can also be used with other blocks such as Color and Pen size.": "它也可以与颜色和画笔大小等其他块一起使用。", + "add": "加", + "to": "到", + "value1": "数值1", + "Block does not support incrementing.": "该块不支持递增操作。", + "The Add-1-to block adds one to the value stored in a box.": "Add-1-to 块将盒子中存储的值加一。", + "add 1 to": "加 1 到", + "The Subtract-1-from block subtracts one from the value stored in a box.": "Subtract-1-from 块从盒子中存储的值中减去一。", + "subtract 1 from": "从中减去 1", + "The Box block returns the value stored in a box.": "Box 块返回盒子中存储的值。", + "The Store in block will store a value in a box.": "Store in 块用于将值存储到盒子中。", + "name1": "名称1", + "The Box2 block returns the value stored in Box2.": "Box2 块返回存储在 Box2 中的值。", + "The Store in Box2 block is used to store a value in Box2.": "Store in Box2 块用于将值存储到 Box2 中。", + "store in box2": "存储到 box2", + "The Box1 block returns the value stored in Box1.": "Box1 块返回存储在 Box1 中的值。", + "The Store in Box1 block is used to store a value in Box1.": "Store in Box1 块用于将值存储到 Box1 中。", + "store in box1": "存储到 box1", + "show dictionary": "显示字典", + "My Dictionary": "我的字典", + "The Dictionary block returns a dictionary.": "Dictionary 块返回一个字典。", + "The Get-dict block returns a value in the dictionary for a specified key.": "Get-dict 块返回字典中指定键的值。", + "get value": "获取值", + "key2": "键2", + "key": "调", + "The Set-dict block sets a value in the dictionary for a specified key.": "Set-dict 块为字典中指定的键设置值。", + "set value": "设置值", + "The Noise name block is used to select a noise synthesizer.": "Noise name 块用于选择噪声合成器。", + "The Drum name block is used to select a drum.": "Drum name 块用于选择一个鼓。", + "The Effects name block is used to select a sound effect.": "Effects name 块用于选择音效。", + "noise": "噪音", + "The Play noise block will generate white, pink, or brown noise.": "Play noise 块将生成白噪声、粉噪声或棕噪声。", + "Replace every instance of a pitch with a drum sound.": "将每个音高替换为鼓声。", + "map pitch to drum": "映射音高到鼓声", + "In the example above, a kick drum sound will be played instead of sol.": "上述示例中,将播放踢鼓声代替 sol。", + "set drum": "设置鼓声", + "sound effect": "音效", + "You can use multiple Drum blocks within a Note block.": "您可以在 Note 块内使用多个 Drum 块。", + "The Heap block returns the heap.": "Heap 块返回堆。", + "show heap": "顯示堆疊", + "The Heap-length block returns the length of the heap.": "Heap-length 块返回堆的长度。", + "heap length": "堆长度", + "The Heap-empty? block returns true if the heap is empty.": "Heap-empty? 块在堆为空时返回真。", + "heap empty?": "堆是否为空?", + "The Empty-heap block empties the heap.": "Empty-heap 块清空堆。", + "empty heap": "清除堆疊", + "The Reverse-heap block reverses the order of the heap.": "Reverse-heap 块将堆的顺序反转。", + "reverse heap": "反转堆", + "The Index-heap block returns a value in the heap at a specified location.": "Index-heap 块返回堆中指定位置的值。", + "index heap": "堆索引", + "Index must be > 0.": "索引必须大于0。", + "Maximum heap size is 1000.": "堆的最大大小为1000。", + "The Set-heap entry block sets a value in he heap at the specified location.": "Set-heap entry 块在指定位置设置堆中的值。", + "set heap": "设置堆", + "index": "索引", + "The Pop block removes the value at the top of the heap.": "Pop 块移除堆顶的值。", + "pop": "取出堆疊", + "The Push block adds a value to the top of the heap.": "Push 块将一个值添加到堆顶。", + "push": "存入堆疊", + "set temperament": "设置音律", + "octave": "八度", + "The Temperament name block is used to select a tuning method.": "Temperament name 块用于选择调音方法。", + "doubly": "双倍", + "The Doubly block will double the size of an interval.": "Doubly 块会将音程加倍。", + "interval number": "音程编号", + "current interval": "当前音程", + "semi-tone interval measure": "半音程测量", + "You must use two pitch blocks when measuring an interval.": "测量音程时必须使用两个音高块。", + "The Scalar interval block measures the distance between two notes in the current key and mode.": "Scalar interval 块测量当前调式中两个音符之间的距离。", + "scalar interval measure": "标量音程测量", + "In the figure, we add sol# to sol.": "图中,我们将升sol加到sol上。", + "semi-tone interval": "半音程", + "The output of the example is: do, mi, sol, sol, ti, mi": "示例输出为:do, mi, sol, sol, ti, mi", + "arpeggio": "琶音", + "The Chord block calculates common chords.": "Chord 块计算常见和弦。", + "In the figure, we generate a C-major chord.": "图中,我们生成一个C大调和弦。", + "chord": "和弦", + "The Ratio Interval block calculates an interval based on a ratio.": "Ratio Interval 块根据比例计算音程。", + "ratio interval": "比例音程", + "In the figure, we add la to sol.": "图中,我们将la加到sol上。", + "define mode": "定义调式", + "movable Do": "可移调的Do", + "mode length": "调式长度", + "The Mode length block is the number of notes in the current scale.": "Mode length 块表示当前音阶中的音符数量。", + "Most Western scales have 7 notes.": "大多数西方音阶有7个音符。", + "current mode": "当前调式", + "current key": "当前调", + "set key": "设置调", + "The Set key block is used to set the key and mode,": "Set key 块用于设置调和调式,", + "eg C Major": "例如 C 大调", + "The Int block returns an integer.": "Int 块返回一个整数。", + "int": "整数", + "The Mod block returns the remainder from a division.": "Mod 块返回除法的余数。", + "mod": "模數", + "The Power block calculates a power function.": "Power 块计算幂函数。", + "The Sqrt block returns the square root.": "Sqrt 块返回平方根。", + "sqrt": "平方根", + "The Abs block returns the absolute value.": "Abs 块返回绝对值。", + "abs": "绝对值", + "The Distance block returns the distance between two points. For example, between the mouse and the center of the screen.": "Distance 块返回两点之间的距离。例如,鼠标与屏幕中心之间的距离。", + "distance": "距离", + "The Divide block is used to divide.": "Divide 块用于除法运算。", + "The Multiply block is used to multiply.": "Multiply 块用于乘法运算。", + "The Minus block is used to subtract.": "Minus 块用于减法运算。", + "The Plus block is used to add.": "Plus 块用于加法运算。", + "The One-of block returns one of two choices.": "One-of 块返回两个选项中的一个。", + "one of": "其中之一", + "this": "此", + "that": "彼", + "The Random block returns a random number.": "Random 块返回一个随机数。", + "random": "亂數", + "min": "最小", + "max": "最大", + "The Number block holds a number.": "Number 块保存一个数字。", + "staccato factor": "断音因子", + "slur factor": "连音因子", + "neighbor": "邻近音", + "The Neighbor block rapidly switches between neighboring pitches.": "Neighbor 块快速切换相邻音高。", + "glide": "滑音", + "slur": "连音线", + "staccato": "断音", + "The Load-heap-from-app block loads the heap from a web page.": "Load-heap-from-app 块从网页加载堆。", + "load heap from App": "从应用加载堆", + "Error parsing JSON data:": "解析JSON数据时出错", + "404: Page not found": "找不到网页", + "The Save-heap-to-app block saves the heap to a web page.": "Save-heap-to-app 块将堆保存到网页。", + "save heap to App": "保存堆到应用", + "Cannot find a valid heap for": "找不到有效的堆用于", + "The Load-heap block loads the heap from a file.": "Load-heap 块从文件加载堆。", + "load heap": "加载堆", + "The file you selected does not contain a valid heap.": "您选择的文件不包含有效的堆。", + "The loadHeap block needs a loadFile block.": "loadHeap 块需要一个 loadFile 块。", + "The Set-heap block loads the heap.": "Set-heap 块加载堆。", + "The block you selected does not contain a valid heap.": "您选择的块不包含有效的堆。", + "The Set heap block needs a heap.": "Set heap 块需要一个堆。", + "The Load-dictionary block loads a dictionary from a file.": "Load-dictionary 块从文件加载字典。", + "load dictionary": "加载字典", + "file": "文件", + "The file you selected does not contain a valid dictionary.": "您选择的文件不包含有效的字典。", + "The load dictionary block needs a load file block.": "load dictionary 块需要一个 load file 块。", + "The Set-dictionary block loads a dictionary.": "Set-dictionary 块加载字典。", + "set dictionary": "设置字典", + "The block you selected does not contain a valid dictionary.": "您选择的块不包含有效的字典。", + "The set dictionary block needs a dictionary.": "set dictionary 块需要一个字典。", + "The Save-heap block saves the heap to a file.": "Save-heap 块将堆保存到文件。", + "save heap": "保存堆", + "The Save-dictionary block saves a dictionary to a file.": "Save-dictionary 块将字典保存到文件。", + "save dictionary": "保存字典", + "The Open palette block opens a palette.": "Open palette 块打开调色板。", + "open palette": "打开调色板", + "The Delete block block removes a block.": "Delete block 块删除一个块。", + "delete block": "删除块", + "The Move block block moves a block.": "Move block 块用于移动一个块。", + "move block": "移动块", + "block number": "块编号", + "x": "X座標", + "y": "Y座標", + "run block": "运行块", + "The Dock block block connections two blocks.": "Dock block 块连接两个块。", + "connect blocks": "连接块", + "target block": "目标块", + "connection number": "连接编号", + "The Make block block creates a new block.": "Make block 块用于创建一个新块。", + "make block": "创建块", + "note": "音符", + "Cannot find block": "找不到块", + "Warning: block argument type mismatch": "警告:块参数类型不匹配", + "The Open project block is used to open a project from a web page.": "Open project 块用于从网页打开项目。", + "open project": "打开项目", + "Please enter a valid URL.": "请输入有效的URL。", + "Note value must be greater than 0.": "音符值必须大于0。", + "swing": "摇摆", + "swing value": "摆动值", + "The Skip notes block will cause notes to be skipped.": "Skip notes 块会导致音符被跳过。", + "skip notes": "跳过音符", + "multiply note value": "倍乘音符值", + "The Tie block works on pairs of notes, combining them into one note.": "Tie 块作用于成对的音符,将它们合并为一个音符。", + "tie": "连音", + "dot": "附点", + "An argument of -1 results in a note value of 0.": "参数为 -1 会导致音符值为 0。", + "The Dot block extends the duration of a note by 50%.": "Dot 块将音符时值延长50%。", + "Eg a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat.": "例如,附点四分音符的时值为3/8拍(1/4 + 1/8)。", + "note value drum": "音符值鼓", + "392 hertz": "392 赫兹", + "The Note block is a container for one or more Pitch blocks.": "Note 块是一个或多个 Pitch 块的容器。", + "The Note block specifies the duration (note value) of its contents.": "Note 块指定其内容的时值(音符值)。", + "value2": "值2", + "define frequency": "定义频率", + "octave space": "八度空间", + "rhythm1": "节奏1", + "number of notes": "音符数量", + "polyphonic rhythm": "复音节奏", + "The Rhythm block is used to generate rhythm patterns.": "Rhythm 块用于生成节奏模式。", + "1/64 note": "六十四分音符", + "1/32 note": "三十二分音符", + "1/16 note": "十六分音符", + "eighth note": "八分音符", + "quarter note": "四分音符", + "half note": "二分音符", + "whole note": "全音符", + "tuplet": "复音符组", + "septuplet": "七连音", + "quintuplet": "五连音", + "triplet": "三连音", + "simple tuplet": "简单复拍", + "Tuplets are a collection of notes that get scaled to a specific duration.": "复拍是一组被缩放到特定时值的音符。", + "The Backward block runs code in reverse order (Musical retrograde).": "Backward 块按相反顺序运行代码(音乐倒行)。", + "backward": "后退", + "The Duplicate block will run each block multiple times.": "Duplicate 块将多次运行每个块。", + "The Default block is used inside of a Switch to define the default action.": "Default 块用于 Switch 内定义默认操作。", + "default": "默认", + "The Case Block must be used inside of a Switch Block.": "Case 块必须在 Switch 块内使用。", + "The Case block is used inside of a Switch to define matches.": "Case 块用于 Switch 内定义匹配项。", + "case": "情况", + "The Switch block will run the code in the matching Case.": "Switch 块将运行匹配 Case 中的代码。", + "switch": "切换", + "The Stop block will stop a loop": "Stop 块将停止循环", + "Forever, Repeat, While, or Until.": "Forever、Repeat、While 或 Until。", + "The Waitfor block will wait until the condition is true.": "Waitfor 块将等待直到条件为真。", + "wait for": "等待", + "The Until block will repeat until the condition is true.": "Until 块将重复直到条件为真。", + "until": "直到", + "do2": "执行2", + "do": "执行", + "The While block will repeat while the condition is true.": "While 块在条件为真时重复执行。", + "while": "同時間", + "In this example if the mouse button is pressed a snare drum will play.": "在此示例中,如果按下鼠标按钮,将播放军鼓。", + "if": "若", + "then": "則", + "else": "否則", + "The Forever block will repeat the contained blocks forever.": "Forever 块将无限重复包含的块。", + "forever": "持續執行", + "The Repeat block will repeat the contained blocks.": "Repeat 块将重复包含的块。", + "In this example the note will be played 4 times.": "在此示例中,该音符将播放 4 次。", + "repeat": "重複", + "duplicate factor": "重复因子", + "current meter": "当前拍号", + "beat factor": "节拍因子", + "The Beats per minute block returns the current beats per minute.": "每分钟节拍数块返回当前的每分钟节拍数。", + "beats per minute2": "每分钟节拍数2", + "beats per minute": "每分钟节拍数", + "measure count": "小节数", + "The Measure count block returns the current measure.": "小节数块返回当前小节。", + "beat count": "节拍计数", + "The Beat count block is the number of the current beat,": "节拍计数块表示当前节拍数,", + "eg 1, 2, 3, or 4.": "例如 1、2、3 或 4。", + "sum note values": "音符值总和", + "The Note counter block can be used to count the number of contained notes.": "音符计数器块可用于计算包含的音符数量。", + "note counter": "音符计数器", + "whole notes played": "演奏的全音符数", + "The Whole notes played block returns the total number of whole notes played.": "全音符演奏块返回演奏的全音符总数。", + "notes played": "演奏的音符数", + "The No clock block decouples the notes from the master clock.": "无时钟块将音符与主时钟解耦。", + "no clock": "无时钟", + "on weak beat do": "在弱拍执行", + "The On-weak-beat block lets you specify actions to take on weak (off) beats.": "弱拍块允许您指定在弱拍(弱拍)上执行的操作。", + "on strong beat": "在强拍执行", + "The On-strong-beat block lets you specify actions to take on specified beats.": "强拍块允许您指定在特定强拍上执行的操作。", + "beat": "节拍", + "do1": "做1", + "on every beat do": "在每个拍子执行", + "The On-every-beat block lets you specify actions to take on every beat.": "每拍块允许您指定在每个拍子上执行的操作。", + "on every note do": "在每个音符执行", + "The On-every-note block lets you specify actions to take on every note.": "每音符块允许您指定在每个音符上执行的操作。", + "master beats per minute": "主节拍每分钟数", + "bpm": "每分钟节拍数", + "beat value": "节拍值", + "Beats per minute must be > 30.": "每分钟节拍数必须大于30。", + "Maximum beats per minute is 1000.": "最大每分钟节拍数为1000。", + "The Beats per minute block sets the number of 1/4 notes per minute.": "节拍每分钟块设置每分钟四分音符的数量。", + "pickup": "前奏拍", + "number of beats": "拍数", + "transposition": "移调", + "scalar step down": "音阶下行", + "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode.": "音阶下行块返回当前调式中与前一个音符之间的半音数。", + "scalar step up": "音阶上行", + "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode.": "音阶上行块返回当前调式中与下一个音符之间的半音数。", + "change in pitch": "音高变化", + "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played.": "音高变化块表示当前播放音高与之前播放音高之间的半音差异。", + "scalar change in pitch": "音阶音高变化", + "pitch number": "音高编号", + "The Pitch number block is the value of the pitch of the note currently being played.": "音高编号块表示当前正在播放的音符的音高值。", + "pitch in hertz": "以赫兹表示的音高", + "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played.": "以赫兹表示的音高块是当前正在播放音符的赫兹值。", + "current pitch": "当前音高", + "The Current Pitch block is used with the Pitch Converter block. In the example above, current pitch, sol 4, is displayed as 392 hertz.": "当前音高块与音高转换块一起使用。上述示例中,当前音高 sol 4 显示为 392 赫兹。", + "This block converts the pitch value of the last note played into different formats such as hertz, letter name, pitch number, et al.": "此块将最后播放音符的音高值转换为赫兹、字母名、音高编号等多种格式。", + "alphabet": "字母表", + "letter class": "字母类别", + "solfege class": "视唱类别", + "staff y": "五线谱Y坐标", + "solfege syllable": "视唱音节", + "pitch class": "音高类别", + "scalar class": "标量类别", + "nth degree": "第n度音", + "pitch to shade": "音高到阴影", + "pitch to color": "音高到颜色", + "MIDI": "MIDI", + "set pitch number offset": "设置音高编号偏移", + "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave.": "设置音高编号偏移块用于设置将音高编号映射到音高和八度的偏移量。", + "name2": "名称2", + "number to pitch": "数字转音高", + "The Number to pitch block will convert a pitch number to a pich name.": "数字转音高块将音高编号转换为音高名称。", + "number to octave": "数字转八度", + "The Number to octave block will convert a pitch number to an octave.": "数字转八度块将音高编号转换为八度。", + "y to pitch": "y坐标转音高", + "Y to pitch block will convert a staff y position to corresponding pitch notation.": "Y 到音高模块会将五线谱的 Y 位置转换为对应的音高符号。", + "accidental selector": "变音符号选择器", + "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat.": "变音符号选择器块用于选择重升号、升号、还原号、降号和重降号。", + "Pitch can be specified in terms of ni dha pa ma ga re sa.": "音高可以用 ni dha pa ma ga re sa 表示。", + "Pitch can be specified in terms of C D E F G A B.": "音高可以用 C D E F G A B 表示。", + "solfege": "视唱法", + "Pitch can be specified in terms of do re mi fa sol la ti.": "音高可以用 do re mi fa sol la ti 表示。", + "The Invert block rotates any contained notes around a target note.": "反转块将包含的音符绕目标音符旋转。", + "Invert": "反转", + "invert (odd)": "反转(奇数)", + "invert (even)": "反转(偶数)", + "register": "音区", + "The Register block provides an easy way to modify the register (octave) of the notes that follow it.": "移调块提供了一种简单的方法来修改后续音符的音区(八度)。", + "50 cents": "50分音", + "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps.": "半音移调块会将Note块内的音高向上(或向下)移动半音。", + "In the example shown above, sol is shifted up to sol#.": "在上例中,sol被移调到了sol#。", + "semi-tone transpose": "半音移调", + "The Transpose by Ratio block will shift the pitches contained inside Note blocks up (or down) by a ratio": "按比例移调块会将Note块内的音高按比例向上(或向下)移动。", + "transpose by ratio": "按比例移调", + "down sixth": "下降六度", + "down third": "下降三度", + "seventh": "七度", + "sixth": "六度", + "fifth": "五度", + "fourth": "四度", + "third": "三度", + "second": "二度", + "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale.": "音阶移调块会将Note块内的音高按音阶向上(或向下)移动。", + "In the example shown above, sol is shifted up to la.": "在上例中,sol被移调到la。", + "scalar transpose": "音阶移调", + "The Accidental block is used to create sharps and flats": "临时升降记号块用于创建升音和降音", + "accidental override": "临时升降记号覆盖", + "hertz": "赫兹", + "The Hertz block (in combination with a Number block) will play a sound at the specified frequency.": "赫兹块(与数字块结合使用)将在指定频率播放声音。", + "The Pitch Number block will play a pitch associated by its number, e.g. 0 for C and 7 for G.": "音高编号块将播放与其数字对应的音高,例如0代表C,7代表G。", + "nth modal pitch": "第n阶音高", + "nth Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode,": "第n阶调式音高采用模式中以半音为单位的音高模式,并将每个点视为该模式的一个阶。", + "starting from 1 and regardless of tonal framework (i.e. not always 8 notes in the octave)": "从1开始,不考虑音调框架(即不总是八度内有8个音符)", + "Nth Modal Pitch takes a number as an input as the nth degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc.": "第n阶调式音高以数字作为输入,表示给定模式的第n个阶。0表示第一个位置,1表示第二个,-1表示第一个之前的音符,依此类推。", + "The pitches change according to the mode specified without any need for respellings.": "音高根据指定的调式变化,无需重新拼写。", + "Scale Degree is a common convention in music. Scale Degree offers seven possible positions in the scale (1-7) and can be modified via accidentals.": "音阶度数是音乐中的常用约定。音阶度数提供音阶中的七个可能位置(1-7),并可通过临时升降记号进行修改。", + "Scale Degree 1 is always the first pitch in a given scale, regardless of octave.": "音阶度数1始终是给定音阶中的第一个音高,不论其所在的八度。", + "scalar step": "音阶步长", + "The Scalar Step block (in combination with a Number block) will play the next pitch in a scale,": "音阶步长块(与数字块结合使用)将播放音阶中的下一个音高,", + "eg if the last note played was sol, Scalar Step 1 will play la.": "例如,如果上一个播放的音符是sol,音阶步长1将播放la。", + "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note.": "音高块指定一个音符的音名和八度,这两者共同决定该音符的频率。", + "Oscillator": "振荡器", + "type": "类型", + "partials": "部分谐波", + "You are adding multiple oscillator blocks.": "您正在添加多个振荡器块。", + "duo synth": "duo synth", + "The Duo synth block is a duo-frequency modulator used to define a timbre.": "Duo synth块是一个双频率调制器,用于定义音色。", + "vibrato rate": "颤音速率", + "vibrato intensity": "颤音强度", + "AM synth": "AM 合成器", + "The AM synth block is an amplitude modulator used to define a timbre.": "AM 合成器块是用于定义音色的振幅调制器。", + "FM synth": "FM 合成器", + "The FM synth block is a frequency modulator used to define a timbre.": "FM 合成器块是用于定义音色的频率调制器。", + "partial": "部分", + "The Partial block is used to specify a weight for a specific partial harmonic.": "Partial块用于指定特定部分泛音的权重。", + "Partial weight must be between 0 and 1.": "部分权重必须在0到1之间。", + "Partial block should be used inside of a Weighted-partials block.": "Partial块应在加权部分块内使用。", + "weighted partials": "加权泛音", + "The Harmonic block will add harmonics to the contained notes.": "Harmonic块将为包含的音符添加泛音。", + "harmonic": "谐波", + "The Distortion block adds distortion to the pitch.": "Distortion块为音高添加失真效果。", + "distortion": "失真", + "The Tremolo block adds a wavering effect.": "Tremolo块添加颤音效果。", + "tremolo": "颤音", + "rate": "速率", + "depth": "深度", + "The Phaser block adds a sweeping sound.": "Phaser块添加扫频效果。", + "phaser": "移相器", + "octaves": "八度", + "base frequency": "基频", + "The Chorus block adds a chorus effect.": "Chorus块添加合唱效果。", + "chorus": "合唱", + "delay (MS)": "延迟(毫秒)", + "The Vibrato block adds a rapid, slight variation in pitch.": "Vibrato块添加快速且轻微的音高变化。", + "vibrato": "颤音", + "intensity": "强度", + "set synth": "设置合成器", + "synth name": "合成器名称", + "set default instrument": "设置默认乐器", + "set instrument": "设置乐器", + "The Set instrument block selects a voice for the synthesizer,": "Set instrument块用于选择合成器的声音,", + "eg guitar piano violin or cello.": "例如吉他、钢琴、小提琴或大提琴。", + "Import a sound file to use as an instrument and set its pitch center.": "导入音频文件作为乐器并设置其音高中心。", + "Upload a sound file to connect with the sample block.": "上传音频文件以连接采样块。", + "The Return block will return a value from an action.": "Return块将从一个动作返回一个值。", + "return": "返回", + "The Return to URL block will return a value to a webpage.": "Return to URL块将值返回到网页。", + "return to URL": "返回到URL", + "The Calculate block returns a value calculated by an action.": "Calculate块返回一个动作计算的值。", + "calculate": "计算", + "The Do block is used to initiate an action.": "Do块用于启动一个动作。", + "The Arg block contains the value of an argument passed to an action.": "Arg块包含传递给动作的参数值。", + "arg": "参数", + "Invalid argument": "无效参数", + "In the example, it is used with the One of block to choose a random phase.": "在示例中,它与One of块一起使用以选择随机阶段。", + "The Listen block is used to listen for an event such as a mouse click.": "Listen块用于监听事件,例如鼠标点击。", + "When the event happens, an action is taken.": "当事件发生时,会执行一个动作。", + "on": "开启", + "event": "事件", + "The Broadcast block is used to trigger an event.": "Broadcast块用于触发事件。", + "broadcast": "广播", + "Each Start block is a separate voice.": "每个Start块是一个独立的声音。", + "It is often used for storing a phrase of music that is repeated.": "它通常用于存储重复的音乐短语。", + "define temperament": "定义律制", + "mouse index heap": "鼠标索引堆", + "turtle index heap": "乌龟索引堆", + "The Mouse index heap block returns a value in the heap at a specified location for a specified mouse.": "Mouse索引堆块返回指定鼠标在堆中指定位置的值。", + "The Turtle index heap block returns a value in the heap at a specified location for a specified turtle.": "Turtle索引堆块返回指定乌龟在堆中指定位置的值。", + "Yertle": "Yertle", + "mouse name": "鼠标名称", + "turtle name": "乌龟名称", + "stop mouse": "停止鼠标", + "The Stop mouse block stops the specified mouse.": "停止鼠标块停止指定的鼠标。", + "stop turtle": "停止乌龟", + "The Stop turtle block stops the specified turtle.": "停止乌龟块停止指定的乌龟。", + "Cannot find mouse": "找不到鼠标", + "Cannot find turtle": "找不到乌龟", + "start mouse": "启动鼠标", + "The Start mouse block starts the specified mouse.": "启动鼠标块启动指定的鼠标。", + "start turtle": "启动乌龟", + "The Start turtle block starts the specified turtle.": "启动乌龟块启动指定的乌龟。", + "Mouse is already running.": "鼠标已经在运行。", + "Turtle is already running.": "乌龟已经在运行。", + "Cannot find start block": "找不到启动块", + "mouse color": "鼠标颜色", + "The Mouse color block returns the pen color of the specified mouse.": "鼠标颜色块返回指定鼠标的画笔颜色。", + "turtle color": "乌龟颜色", + "The Turtle color block returns the pen color of the specified turtle.": "乌龟颜色块返回指定乌龟的画笔颜色。", + "mouse heading": "鼠标朝向", + "The Mouse heading block returns the heading of the specified mouse.": "鼠标朝向块返回指定鼠标的朝向。", + "turtle heading": "乌龟朝向", + "The Turtle heading block returns the heading of the specified turtle.": "乌龟朝向块返回指定乌龟的朝向。", + "set mouse": "设置鼠标", + "set turtle": "设置乌龟", + "The Set mouse block sends a stack of blocks to be run by the specified mouse.": "设置鼠标块发送一组积木给指定的鼠标执行。", + "The Set turtle block sends a stack of blocks to be run by the specified turtle.": "设置乌龟块发送一组积木给指定的乌龟执行。", + "mouse y": "滑鼠座標 y", + "The Y mouse block returns the Y position of the specified mouse.": "鼠标 Y 坐标块返回指定鼠标的 Y 位置。", + "turtle y": "乌龟 Y 坐标", + "The Y turtle block returns the Y position of the specified turtle.": "乌龟 Y 坐标块返回指定乌龟的 Y 位置。", + "mouse x": "滑鼠座標 x", + "The X mouse block returns the X position of the specified mouse.": "鼠标 X 坐标块返回指定鼠标的 X 位置。", + "turtle x": "乌龟 X 坐标", + "The X turtle block returns the X position of the specified turtle.": "乌龟 X 坐标块返回指定乌龟的 X 位置。", + "mouse notes played": "鼠标已弹奏的音符数", + "The Mouse elapse notes block returns the number of notes played by the specified mouse.": "鼠标经过音符块返回指定鼠标已弹奏的音符数量。", + "turtle notes played": "乌龟已弹奏的音符数", + "The Turtle elapse notes block returns the number of notes played by the specified turtle.": "乌龟经过音符块返回指定乌龟已弹奏的音符数量。", + "mouse pitch number": "鼠标音高编号", + "The Mouse pitch block returns the current pitch number being played by the specified mouse.": "鼠标音高块返回指定鼠标当前演奏的音高编号。", + "turtle pitch number": "乌龟音高编号", + "The Turtle pitch block returns the current pitch number being played by the specified turtle.": "乌龟音高块返回指定乌龟当前演奏的音高编号。", + "mouse note value": "鼠标音符时值", + "turtle note value": "乌龟音符时值", + "mouse sync": "鼠标同步", + "The Mouse sync block aligns the beat count between mice.": "鼠标同步块用于对齐鼠标之间的节拍计数。", + "turtle sync": "乌龟同步", + "The Turtle sync block aligns the beat count between turtles.": "乌龟同步块用于对齐乌龟之间的节拍计数。", + "The Found mouse block will return true if the specified mouse can be found.": "找到鼠标块在指定鼠标被找到时返回真。", + "found mouse": "找到鼠标", + "The Found turtle block will return true if the specified turtle can be found.": "找到乌龟块在指定乌龟被找到时返回真。", + "found turtle": "找到乌龟", + "new mouse": "新鼠标", + "The New mouse block will create a new mouse.": "新鼠标块将创建一个新的鼠标。", + "new turtle": "新乌龟", + "The New turtle block will create a new turtle.": "新乌龟块将创建一个新的乌龟。", + "set mouse color": "设置鼠标颜色", + "The Set-mouse-color block is used to set the color of a mouse.": "设置鼠标颜色块用于设置鼠标的颜色。", + "set turtle color": "设置乌龟颜色", + "The Set-turtle-color block is used to set the color of a turtle.": "设置乌龟颜色块用于设置乌龟的颜色。", + "The Mouse-name block returns the name of a mouse.": "鼠标名称块返回鼠标的名称。", + "The Turtle-name block returns the name of a turtle.": "乌龟名称块返回乌龟的名称。", + "mouse count": "鼠标数量", + "The Mouse-count block returns the number of mice.": "鼠标计数块返回鼠标的数量。", + "turtle count": "乌龟数量", + "The Turtle-count block returns the number of turtles.": "Turtle-count 块返回乌龟的数量。", + "nth mouse name": "表示老鼠名称的音乐元素标签", + "The Nth-Mouse name block returns the name of the nth mouse.": "Nth-Mouse 名称块返回第n只老鼠的名称。", + "nth turtle name": "用于识别乐队中特定乌龟的块标签", + "The Nth-Turtle name block returns the name of the nth turtle.": "Nth-Turtle 名称块返回第n只乌龟的名称。", + "set name": "设置音乐元素或实体名称的块标签", + "source": "来源", + "target": "目标", + "The Set-name block is used to name a mouse.": "Set-name 块用于命名一只老鼠。", + "The Set-name block is used to name a turtle.": "Set-name 块用于命名一只乌龟。", + "fraction": "分数", + "Convert a float to a fraction": "将浮动数转换为分数的工具提示标签", + "save as ABC": "保存为 ABC 的块标签", + "title": "标题", + "save as Lilypond": "保存为 LilyPond 的块标签", + "save as SVG": "保存为 SVG 的块标签", + "no background": "移除背景的块标签", + "The No background block eliminates the background from the saved SVG output.": "No background 块将从保存的 SVG 输出中移除背景。", + "show blocks": "顯示區塊", + "The Show blocks block shows the blocks.": "Show blocks 块显示其他块。", + "The Hide blocks block hides the blocks.": "Hide blocks 块隐藏其他块。", + "The Space block is used to add space between blocks.": "Space 块用于在块之间添加空格。", + "wait": "等待", + "The Wait block pauses the program for a specified number of seconds.": "Wait 块使程序暂停指定的秒数。", + "comment": "註記", + "print": "顯示", + "The Print block displays text at the top of the screen.": "Print 块在屏幕顶部显示文本。", + "display grid": "显示网格的块标签", + "The Display Grid Block changes the grid type": "Display Grid 块更改网格类型", + "unknown": "未知", + "heading": "方向", + "The Heading block returns the orientation of the mouse.": "Heading 块返回老鼠的朝向。", + "The Heading block returns the orientation of the turtle.": "Heading 块返回乌龟的朝向。", + "The Y block returns the vertical position of the mouse.": "Y 块返回老鼠的垂直位置。", + "The Y block returns the vertical position of the turtle.": "Y 块返回乌龟的垂直位置。", + "y3": "y3", + "The X block returns the horizontal position of the mouse.": "X 块返回老鼠的水平位置。", + "The X block returns the horizontal position of the turtle.": "X 块返回乌龟的水平位置。", + "x3": "x3", + "scroll xy": "滚动 xy 块标签", + "The Scroll XY block moves the canvas.": "Scroll XY 块移动画布。", + "x2": "x2", + "y2": "y2", + "The Control-point 2 block sets the second control point for the Bezier curve.": "Control-point 2 块设置贝塞尔曲线的第二个控制点。", + "control point 2": "图形控制点 2 的标签", + "x1": "x1", + "y1": "y1", + "The Control-point 1 block sets the first control point for the Bezier curve.": "Control-point 1 块设置贝塞尔曲线的第一个控制点。", + "control point 1": "图形控制点 1 的标签", + "The Bezier block draws a Bezier curve.": "Bezier 块绘制贝塞尔曲线。", + "bezier": "贝塞尔曲线", + "The Arc block moves the turtle in an arc.": "Arc 块以弧形移动乌龟。", + "arc": "弧度", + "angle": "角度", + "radius": "半徑", + "Value must be within -5000 to 5000 when Wrap Mode is off.": "当 Wrap Mode 关闭时,值必须在 -5000 到 5000 之间。", + "Value must be within -20000 to 20000 when Wrap Mode is on.": "当 Wrap Mode 开启时,值必须在 -20000 到 20000 之间。", + "set heading": "設定標頭", + "The Set heading block sets the heading of the turtle.": "Set heading 块设置乌龟的朝向。", + "The Set XY block moves the mouse to a specific position on the screen.": "Set XY 块将鼠标移动到屏幕上的指定位置。", + "The Set XY block moves the turtle to a specific position on the screen.": "Set XY 块将乌龟移动到屏幕上的指定位置。", + "set xy": "指定座標", + "The Right block turns the mouse to the right.": "Right 块将鼠标向右转。", + "The Right block turns the turtle to the right.": "Right 块将乌龟向右转。", + "right1": "右1", + "right": "右轉", + "The Left block turns the mouse to the left.": "Left 块将鼠标向左转。", + "The Left block turns the turtle to the left.": "Left 块将乌龟向左转。", + "left1": "左1", + "left": "左轉", + "back": "後退", + "The Back block moves the mouse backward.": "Back 块使鼠标向后移动。", + "The Back block moves the turtle backward.": "Back 块使乌龟向后移动。", + "forward": "前進", + "The Forward block moves the mouse forward.": "Forward 块使鼠标向前移动。", + "The Forward block moves the turtle forward.": "Forward 块使乌龟向前移动。", + "wrap": "环绕", + "right (screen)": "右侧(屏幕)", + "The Right block returns the position of the right of the canvas.": "Right 块返回画布右侧的位置。", + "left (screen)": "左侧(屏幕)", + "The Left block returns the position of the left of the canvas.": "Left 块返回画布左侧的位置。", + "top (screen)": "顶部(屏幕)", + "The Top block returns the position of the top of the canvas.": "Top 块返回画布顶部的位置。", + "bottom (screen)": "底部(屏幕)", + "The Bottom block returns the position of the bottom of the canvas.": "Bottom 块返回画布底部的位置。", + "width": "宽度", + "The Width block returns the width of the canvas.": "Width 块返回画布的宽度。", + "height": "高度", + "The Height block returns the height of the canvas.": "Height 块返回画布的高度。", + "stop play": "停止播放", + "erase media": "清除媒体", + "The Erase Media block erases text and images.": "Erase Media 块会清除文本和图像。", + "play back": "回放", + "speak": "聽我說", + "The Speak block outputs to the text-to-speech synthesizer": "Speak 块输出到文本转语音合成器。", + "camera": "摄像头", + "The Camera block connects a webcam to the Show block.": "Camera 块将摄像头连接到 Show 块。", + "video": "视频", + "The Video block selects video for use with the Show block.": "Video 块选择用于 Show 块的视频。", + "The Open file block opens a file for use with the Show block.": "Open file 块打开一个用于 Show 块的文件。", + "stop media": "停止媒体", + "The Stop media block stops audio or video playback.": "Stop media 块停止音频或视频的播放。", + "frequency": "频率", + "duration (MS)": "持续时间(毫秒)", + "note to frequency": "音符转频率", + "The To frequency block converts a pitch name and octave to Hertz.": "To frequency 块将音高名称和音阶转换为赫兹。", + "The Avatar block is used to change the appearance of the mouse.": "Avatar 块用于更改鼠标的外观。", + "The Avatar block is used to change the appearance of the turtle.": "Avatar 块用于更改乌龟的外观。", + "size": "大小", + "image": "圖片", + "The Show block is used to display text or images on the canvas.": "Show 块用于在画布上显示文本或图像。", + "show1": "显示1", + "obj": "对象", + "The Media block is used to import an image.": "Media 块用于导入图像。", + "The Text block holds a text string.": "Text 块包含一段文本字符串。", + "purple": "紫色", + "blue": "蓝色", + "green": "绿色", + "yellow": "黄色", + "orange": "橘色", + "red": "红色", + "white": "白色", + "black": "黑色", + "begin fill": "开始填充", + "end fill": "停止填滿", + "background": "背景", + "grey": "灰色", + "The Grey block returns the current pen grey value.": "Grey 块返回当前画笔的灰度值。", + "shade": "形狀", + "The Shade block returns the current pen shade value.": "Shade 块返回当前画笔的明暗值。", + "color": "顏色", + "The Color block returns the current pen color.": "Color 块返回当前画笔颜色。", + "pen size": "畫筆大小", + "The Pen size block returns the current pen size value.": "Pen size 块返回当前画笔大小的数值。", + "set font": "设置字体", + "The Set font block sets the font used by the Show block.": "Set font 块设置 Show 块使用的字体。", + "The Background block sets the window background color.": "Background 块设置窗口背景颜色。", + "The Hollow line block creates a line with a hollow center.": "Hollow line 块创建一条中空的线条。", + "hollow line": "中空线条", + "The Fill block fills in a shape with a color.": "Fill 块用颜色填充图形。", + "fill": "填充", + "pen up": "提筆", + "The Pen-up block raises the pen so that it does not draw.": "Pen-up 块抬起画笔,使其不绘图。", + "pen down": "落筆", + "The Pen-down block lowers the pen so that it draws.": "Pen-down 块放下画笔,使其开始绘图。", + "set pen size": "設定畫筆大小", + "The Set-pen-size block changes the size of the pen.": "Set-pen-size 块更改画笔的大小。", + "set translucency": "设置透明度", + "The Set translucency block changes the opacity of the pen.": "Set translucency 块更改画笔的不透明度。", + "set hue": "设置色相", + "The Set hue block changes the color of the pen.": "Set hue 块改变画笔的颜色。", + "set shade": "設定填滿顏色", + "The Set-shade block changes the pen color from dark to light.": "Set-shade 块改变画笔颜色的明暗度。", + "set grey": "设置灰度", + "The Set grey block changes the vividness of the pen color.": "Set grey 块改变画笔颜色的鲜艳度。", + "set color": "設定線條顏色", + "The Set-color block changes the pen color.": "Set-color 块改变画笔颜色。", + "The Input block prompts for keyboard input.": "Input 块提示键盘输入。", + "input": "输入", + "Input a value": "输入一个值", + "input value": "输入值", + "The Input-value block stores the input.": "Input-value 块存储输入内容。", + "loudness": "音量", + "The Loudness block returns the volume detected by the microphone.": "Loudness 块返回麦克风检测到的音量。", + "click": "点击", + "The Click block triggers an event if a mouse has been clicked.": "Click 块在鼠标被点击时触发事件。", + "The Click block triggers an event if a turtle has been clicked.": "Click 块在乌龟被点击时触发事件。", + "cursor over": "光标悬停", + "cursor out": "光标移出", + "cursor button down": "光标按钮按下", + "cursor button up": "光标按钮抬起", + "The Get red block returns the red component of the pixel under the mouse.": "Get red 块返回鼠标下像素的红色分量。", + "The Get red block returns the red component of the pixel under the turtle.": "Get red 块返回乌龟下方像素的红色分量。", + "pixel color": "像素颜色", + "The Get pixel block returns the color of the pixel under the mouse.": "Get pixel 块返回鼠标下像素的颜色。", + "The Get pixel block returns the color of the pixel under the turtle.": "Get pixel 块返回乌龟下像素的颜色。", + "time": "時間", + "cursor y": "光标Y坐标", + "The Cursor Y block returns the vertical position of the mouse.": "Cursor Y 块返回鼠标的垂直位置。", + "cursor x": "光标X坐标", + "The Cursor X block returns the horizontal position of the mouse.": "Cursor X 块返回鼠标的水平位置。", + "mouse button": "鼠标按钮", + "The Mouse-button block returns True if the mouse button is pressed.": "Mouse-button 块在鼠标按钮被按下时返回 True。", + "to ASCII": "转换为 ASCII", + "The To ASCII block converts numbers to letters.": "To ASCII 块将数字转换为字母。", + "The Keyboard block returns computer keyboard input.": "Keyboard 块返回电脑键盘输入。", + "Envelope": "包络", + "attack": "起音时间", + "decay": "衰减时间", + "sustain": "持续时间", + "release": "释放时间", + "Attack value should be from 0 to 100.": "Attack 值应在 0 到 100 之间。", + "Decay value should be from 0 to 100.": "Decay 值应在 0 到 100 之间。", + "Sustain value should be from 0 to 100.": "Sustain 值应在 0 到 100 之间。", + "Release value should be from 0-100.": "Release 值应在 0 到 100 之间。", + "You are adding multiple envelope blocks.": "您正在添加多个包络块。", + "Filter": "滤波器", + "rolloff": "衰减斜率", + "Rolloff value should be either -12, -24, -48, or -96 decibels/octave.": "Rolloff 值应为 -12、-24、-48 或 -96 分贝/倍频程。", + "The Temperament tool is used to define custom tuning.": "Temperament 工具用于定义自定义调音。", + "Upload a sample and adjust its pitch center.": "上传采样并调整其音高中心。", + "sampler": "采样器", + "The Meter block opens a tool to select strong beats for the meter.": "Meter 块打开一个工具以选择强拍。", + "The oscilloscope block opens a tool to visualize waveforms.": "示波器块打开一个用于可视化波形的工具。", + "oscilloscope": "示波器", + "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale).": "Custom mode 块打开一个用于探索音乐调式(音阶中音符间距)的工具。", + "custom mode": "custom mode", + "The Tempo block opens a metronome to visualize the beat.": "Tempo 块打开节拍器以显示节拍。", + "The Arpeggio Widget is used to compose chord sequences.": "琶音小工具用于编写和弦序列。", + "The Pitch drum matrix is used to map pitches to drum sounds.": "音高鼓矩阵用于将音高映射到鼓声。", + "pitch-drum mapper": "pitch-drum mapper", + "You must have at least one pitch block and one drum block in the matrix.": "矩阵中必须至少有一个音高块和一个鼓块。", + "The Pitch slider tool to is used to generate pitches at selected frequencies.": "音高滑块工具用于生成选定频率的音高。", + "pitch slider": "音高滑块", + "chromatic keyboard": "chromatic keyboard", + "music keyboard": "music keyboard", + "The Music keyboard block opens a piano keyboard that can be used to create notes.": "Music keyboard 块打开一个钢琴键盘,可用于创建音符。", + "The Pitch staircase tool to is used to generate pitches from a given ratio.": "音高阶梯工具用于根据给定比例生成音高。", + "pitch staircase": "音高阶梯", + "The Rhythm Maker block opens a tool to create drum machines.": "Rhythm Maker 块打开一个制作鼓机的工具。", + "G major scale": "G大调音阶", + "C major scale": "C大调音阶", + "The Phrase Maker block opens a tool to create musical phrases.": "Phrase Maker 块打开一个创建音乐短语的工具。", + "phrase maker": "短语生成器", + "You must have at least one pitch block and one rhythm block in the matrix.": "矩阵中必须至少有一个音高块和一个节奏块。", + "The Status block opens a tool for inspecting the status of Music Blocks as it is running.": "Status 块打开一个工具,用于检查 Music Blocks 运行时的状态。", + "AI Music": "AI Music", + "synth volume": "合成器音量", + "The Synth volume block returns the current volume of the current synthesizer.": "Synth volume 块返回当前合成器的音量。", + "master volume": "主音量", + "The Master volume block returns the master volume.": "Master volume 块返回主音量。", + "set synth volume": "设置合成器音量", + "synth": "合成器", + "Setting volume to 0.": "音量设置为0。", + "Synth not found": "未找到合成器", + "set drum volume": "设置鼓音量", + "The Set synth volume block will change the volume of a particular synth,": "设置合成器音量模块会改变特定合成器的音量,", + "eg guitar violin snare drum etc.": "例如 吉他 小提琴 小军鼓 等等。", + "The default volume is 50.": "默认音量是50。", + "The range is 0 for silence to 100 for full volume.": "范围是0表示静音,100表示最大音量。", + "set panning": "设置声像", + "The Set Panning block sets the panning for all synthesizers.": "Set Panning 块设置所有合成器的声像。", + "Warning: Sound is coming out from only the left or right side.": "警告:声音仅从左侧或右侧发出。", + "set master volume": "设置主音量", + "The Set master volume block sets the volume for all synthesizers.": "Set master volume 块设置所有合成器的音量。", + "The Set relative volume block changes the volume of the contained notes.": "Set relative volume 块改变包含音符的音量。", + "set relative volume": "设置相对音量", + "decrescendo": "渐弱", + "crescendo": "渐强", + "one": "一", + "two": "二", + "three": "三", + "four": "四", + "five": "五", + "six": "六", + "seven": "七", + "eight": "八", + "nine": "九", + "below": "下方", + "above": "上方", + "plus": "加", + "Adding missing pitch number 0.": "添加缺失的音高编号0。", + "Ignoring pitch numbers less than zero or greater than eleven.": "忽略小于零或大于十一的音高编号。", + "Ignoring duplicate pitch numbers.": "忽略重复的音高编号。", + "font": "字体", + "Dictionary with this name does not exist": "不存在该名称的词典", + "Key with this name does not exist in ": "Key with this name does not exist in ", + "Noise Block: Did you mean to use a Note block?": "噪声块:您是否想使用音符块?", + "Vibrato intensity must be between 1 and 100.": "震音强度必须在1和100之间", + "Vibrato rate must be greater than 0.": "震音率必须大于0", + "Depth is out of range.": "深度超出范围。", + "Distortion must be from 0 to 100.": "失真值必须在0到100之间。", + "Partial must be greater than or equal to 0.": "部分必须大于或等于0。", + "Unable to use synth due to existing oscillator": "由于存在振荡器,无法使用合成器。", + "The input cannot be negative.": "输入不能为负数。", + "beats per minute must be greater than": "每分钟节拍数必须大于", + "maximum": "最大值", + "beats per minute is": "每分钟节拍数是", + "Take a tour": "开始导览", + "Pause": "暂停", + "Warning: Sample is bigger than 1MB.": "警告:样本大于1MB。", + "New start block generated": "生成了新的开始块", + "MIDI loading. This may take some time depending upon the number of notes in the track": "MIDI加载中。根据曲目中的音符数量,可能需要一些时间", + "Upload failed: Sample is not a .wav file.": "上传失败:样本不是.wav文件。", + "Save sample": "保存样本", + "Click in the grid to add steps to the arpeggio.": "点击网格以添加琶音步骤。", + "Play all": "全部播放", + "Reset": "重置", + "Click in the circle to select strong beats for the meter.": "点击圆圈选择强拍。", + "Rotate counter clockwise": "逆时针旋转", + "Rotate clockwise": "顺时针旋转", + "Undo": "撤销", + "Click in the circle to select notes for the mode.": "点击圆圈选择调式音符。", + "New action block generated.": "生成了新的动作块。", + "Add note": "添加音符", + "Metronome": "节拍器", + "Note value": "音符值", + "New action blocks generated.": "生成了新的动作块。", + "MIDI device present.": "检测到MIDI设备。", + "No MIDI device found.": "未找到MIDI设备。", + "Failed to get MIDI access in browser.": "浏览器中获取MIDI访问失败。", + "Click in the grid to map notes to drums.": "点击网格将音符映射到鼓声。", + "Move up": "向上移动", + "Move down": "向下移动", + "Click on the slider to create a note block.": "点击滑块以创建音符块。", + "Play chord": "播放和弦", + "Play scale": "播放音阶", + "Click on a note to create a new step.": "点击音符以创建新步骤。", + "Save rhythms": "保存节奏", + "Save drum machine": "保存鼓机", + "Tap a rhythm": "敲击节奏", + "Click on the ruler to divide it.": "点击刻度尺进行分割。", + "tap a rhythm": "敲击节奏", + "Maximum value of 256 has been exceeded.": "已超过最大值256。", + "Recording started": "录音开始", + "Recording complete": "录音完成", + "A new sample block was generated.": "生成了新的采样块。", + "Upload sample": "上传采样", + "Warning: Your sample cannot be loaded because it is >1MB.": "警告:您的采样无法加载,因为文件大于1MB。", + "Toggle Mic": "切换麦克风", + "Playback": "播放", + "reference tone": "参考音", + "back to 2:1 octave space": "返回到2:1倍频程间距", + "edit": "编辑", + "done": "完成", + "ratio": "比率", + "interval": "音程", + "non scalar": "非标量", + "ratios": "比率", + "arbitrary": "任意", + "number of divisions": "分割数量", + "preview": "预览", + "The Number of divisions is too large.": "分割数量过大。", + "recursion": "递归", + "The octave ratio has changed. This changes temperament significantly.": "倍频比已更改,这会显著改变音律。", + "Table": "表格", + "Add pitches": "添加音高", + "Save tempo": "保存节奏", + "speed up": "加快速度", + "slow down": "减慢速度", + "Adjust the tempo with the buttons.": "使用按钮调整节奏。", + "Please enter a number between 30 and 1000": "请输入30到1000之间的数字", + "The beats per minute must be between 30 and 1000.": "每分钟节拍数必须在30到1000之间。", + "The beats per minute must be below 1000.": "每分钟节拍数必须低于1000。", + "The beats per minute must be above 30": "每分钟节拍数必须高于30", + "Synthesizer": "合成器", + "Effects": "效果", + "Add filter": "添加滤波器", + "Click on buttons to open the timbre design tools.": "点击按钮打开音色设计工具。", + "harmonicity": "谐波性", + "modulation index": "调制指数", + "vibrato amount": "颤音量", + "Filter already present.": "滤波器已存在。", + "distortion amount": "失真量", + "Zoom In": "放大", + "Zoom Out": "缩小", + "Export": "导出", + "Sort": "排序", + "Click on the table to add notes.": "点击表格添加音符。", + "tuplet value": "复音值", + "Share": "分享", + "Flags": "标志", + "No results found.": "未找到结果。", + "Remix of": "混音自", + "Cannot connect to server": "无法连接到服务器", + "All Projects": "所有项目", + "My Projects": "我的项目", + "Examples": "示例", + "Art": "艺术", + "Math": "数学", + "Interactive": "互动", + "Design": "设计", + "Game": "游戏", + "Code Snippet": "代码片段", + "View published project": "查看已发布项目", + "Publish project": "发布项目", + "Edit project": "编辑项目", + "Delete project": "删除项目", + "Download project": "下载项目", + "Duplicate project": "复制项目", + "anonymous": "匿名", + "Error: Report could not be submitted. Try again later.": "错误:无法提交报告。请稍后再试。", + "Thank you for reporting this project. A moderator will review the project shortly, to verify violation of the Sugar Labs Code of Conduct.": "感谢您举报此项目。版主将很快审核该项目,以确认是否违反了 Sugar Labs 行为准则。", + "Report Project": "举报项目", + "Project Reported": "项目已被举报", + "Report description required": "必须填写举报描述", + "Report description too long": "举报描述过长", + "Feature unavailable - cannot connect to server. Reload Music Blocks to try again.": "功能不可用 - 无法连接到服务器。请重新加载 Music Blocks 再试一次。", + "This field is required": "此字段为必填项", + "Title too long": "标题过长", + "Description too long": "描述过长", + "Server Error": "服务器错误", + "Try Again": "重试", + "Open in Music Blocks": "在 Music Blocks 中打开", + "Open in Turtle Blocks": "在 Turtle Blocks 中打开", + "Show more tags": "显示更多标签", + "Show fewer tags": "显示较少标签", + "Planet": "星球", + "Close Planet": "关闭星球", + "Open project from file": "从文件打开项目", + "Local": "本地", + "Global": "全局", + "Search for a project": "搜索项目", + "Tags (max 5)": "标签(最多 5 个)", + "Description": "描述", + "Submit": "提交", + "Cancel": "取消", + "Delete \\\\\"\\\\\"?": "Delete \\\\\"\\\\\"?", + "Permanently delete project \\\\\"\\\\\"?": "Permanently delete project \\\\\"\\\\\"?", + "Explore Projects": "探索项目", + "Most recent": "最新", + "Most liked": "最受喜爱", + "Most downloaded": "下载最多", + "A-Z": "按字母排序", + "Sort by": "排序方式", + "Load More Projects": "加载更多项目", + "Last Updated": "最后更新", + "Creation Date": "创建日期", + "Number of Downloads:": "下载次数:", + "Number of Likes:": "点赞数:", + "Tags:": "标签:", + "Report projects which violate the Sugar Labs Code of Conduct.": "Report projects which violate the Sugar Labs Code of Conduct.", + "Reason for reporting project": "举报项目原因", + "Download as File": "下载为文件", + "motion x": "运动 x", + "motion y": "运动 y", + "motion z": "运动 z", + "publish": "发布", + "power": "乘方", + "base": "底数", + "exp": "指数", + "floor": "向下取整", + "ceiling": "向上取整", + "to degrees": "转为角度", + "to radians": "转为弧度", + "get calories": "获取卡路里", + "get protein": "获取蛋白质", + "get carbs": "获取碳水化合物", + "get fiber": "获取纤维", + "get fat": "获取脂肪", + "get name": "获取名称", + "calories": "卡路里", + "protein": "蛋白质", + "carbs": "碳水化合物", + "fiber": "纤维", + "fat": "脂肪", + "eat": "吃", + "digest meal": "消化餐食", + "apple": "苹果", + "banana": "香蕉", + "wheat bread": "全麦面包", + "corn": "玉米", + "potato": "土豆", + "sweet potato": "红薯", + "tomato": "番茄", + "broccoli": "西兰花", + "rice and beans": "米饭和豆子", + "tamale": "塔玛莱", + "cheese": "奶酪", + "chicken": "鸡肉", + "fish": "鱼", + "beef": "牛肉", + "cake": "蛋糕", + "cookie": "饼干", + "water": "水", + "Days ahead must be in the range of -1 to 5.": "Days ahead must be in the range of -1 to 5.", + "forecast": "天气预报", + "city": "城市", + "day": "天", + "high": "高", + "low": "低", + "blink": "闪烁", + "led": "LED", + "light intensity": "光照强度", + "infrared light (left)": "红外光(左)", + "infrared light (right)": "红外光(右)", + "move": "移动" } \ No newline at end of file From ce9dbfaf967a28903d452d3c1ebab5daf2e1c6f8 Mon Sep 17 00:00:00 2001 From: "Aman Chadha(IVIXMMI)" <79802170+ac-mmi@users.noreply.github.com> Date: Thu, 16 Oct 2025 00:48:26 +0530 Subject: [PATCH 6/6] Added Trans Comments for Machine Translation --- po/zh_CN.po | 1090 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1089 insertions(+), 1 deletion(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index f9b11ba79a..6a27aef17b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -492,7 +492,7 @@ msgstr "项目未定义" #: js/widgets/rhythmruler.js:2508 #: js/widgets/phrasemaker.js:4996 msgid "action" -msgstr "动作" +msgstr "動作" #: js/macros.js:711 #: js/utils/musicutils.js:1157 @@ -936,6 +936,7 @@ msgstr "保存模块帮助" #. TRANS: the note names must be separated by single spaces #. TRANS: the note names must be separated by single spaces msgid "ti la sol fa mi re do" +# TRANS: machine translation msgstr "ti la sol fa mi re do" #: js/activity.js:3173 @@ -1580,10 +1581,12 @@ msgstr "传感器" #: planet/js/GlobalTag.js:46 #. TRANS: On the Planet, we use labels to tag projects. msgid "Media" +# TRANS: machine translation msgstr "媒体" #: js/rubrics.js:533 msgid "mice" +# TRANS: machine translation msgstr "鼠标" #: js/toolbar.js:48 @@ -1902,10 +1905,12 @@ msgstr "English (United Kingdom)" #: js/toolbar.js:226 #: js/toolbar.js:287 msgid "日本語" +# TRANS: machine translation msgstr "日本語" #: js/toolbar.js:95 msgid "한국어" +# TRANS: machine translation msgstr "한국어" #: js/toolbar.js:96 @@ -1913,6 +1918,7 @@ msgstr "한국어" #: js/toolbar.js:228 #: js/toolbar.js:289 msgid "español" +# TRANS: machine translation msgstr "español" #: js/toolbar.js:97 @@ -1920,6 +1926,7 @@ msgstr "español" #: js/toolbar.js:229 #: js/toolbar.js:290 msgid "português" +# TRANS: machine translation msgstr "português" #: js/toolbar.js:98 @@ -1927,6 +1934,7 @@ msgstr "português" #: js/toolbar.js:230 #: js/toolbar.js:291 msgid "にほんご" +# TRANS: machine translation msgstr "にほんご" #: js/toolbar.js:99 @@ -1934,6 +1942,7 @@ msgstr "にほんご" #: js/toolbar.js:231 #: js/toolbar.js:292 msgid "中文" +# TRANS: machine translation msgstr "中文" #: js/toolbar.js:100 @@ -1941,6 +1950,7 @@ msgstr "中文" #: js/toolbar.js:232 #: js/toolbar.js:293 msgid "ภาษาไทย" +# TRANS: machine translation msgstr "ภาษาไทย" #: js/toolbar.js:101 @@ -1948,6 +1958,7 @@ msgstr "ภาษาไทย" #: js/toolbar.js:233 #: js/toolbar.js:294 msgid "aymara" +# TRANS: machine translation msgstr "aymara" #: js/toolbar.js:102 @@ -1955,6 +1966,7 @@ msgstr "aymara" #: js/toolbar.js:234 #: js/toolbar.js:295 msgid "quechua" +# TRANS: machine translation msgstr "quechua" #: js/toolbar.js:103 @@ -1962,6 +1974,7 @@ msgstr "quechua" #: js/toolbar.js:235 #: js/toolbar.js:296 msgid "guarani" +# TRANS: machine translation msgstr "guarani" #: js/toolbar.js:104 @@ -1969,6 +1982,7 @@ msgstr "guarani" #: js/toolbar.js:236 #: js/toolbar.js:297 msgid "हिंदी" +# TRANS: machine translation msgstr "हिंदी" #: js/toolbar.js:105 @@ -1976,6 +1990,7 @@ msgstr "हिंदी" #: js/toolbar.js:237 #: js/toolbar.js:299 msgid "igbo" +# TRANS: machine translation msgstr "igbo" #: js/toolbar.js:106 @@ -1983,6 +1998,7 @@ msgstr "igbo" #: js/toolbar.js:238 #: js/toolbar.js:300 msgid "عربى" +# TRANS: machine translation msgstr "عربى" #: js/toolbar.js:107 @@ -1990,6 +2006,7 @@ msgstr "عربى" #: js/toolbar.js:239 #: js/toolbar.js:298 msgid "తెలుగు" +# TRANS: machine translation msgstr "తెలుగు" #: js/toolbar.js:108 @@ -1997,6 +2014,7 @@ msgstr "తెలుగు" #: js/toolbar.js:240 #: js/toolbar.js:301 msgid "עִברִית" +# TRANS: machine translation msgstr "עִברִית" #: js/toolbar.js:109 @@ -2004,6 +2022,7 @@ msgstr "עִברִית" #: js/toolbar.js:241 #: js/toolbar.js:302 msgid "اردو" +# TRANS: machine translation msgstr "اردو" #: js/toolbar.js:157 @@ -2027,6 +2046,7 @@ msgstr "将海龟图形保存为SVG" #: js/toolbar.js:227 #: js/toolbar.js:288 msgid "한국인" +# TRANS: machine translation msgstr "한국인" #: js/toolbar.js:185 @@ -2419,6 +2439,7 @@ msgstr "您也可以从文件系统加载项目" #: js/widgets/timbre.js:750 #: js/widgets/phrasemaker.js:561 msgid "Save" +# TRANS: machine translation msgstr "保存" #: js/turtledefs.js:548 @@ -2864,75 +2885,93 @@ msgstr "" #: js/utils/musicutils.js:700 msgid "Augmented octave" +# TRANS: machine translation msgstr "增八度" #: js/utils/musicutils.js:701 msgid "Major ninth" +# TRANS: machine translation msgstr "大九度" #: js/utils/musicutils.js:701 msgid "Diminished tenth" +# TRANS: machine translation msgstr "减十度" #: js/utils/musicutils.js:702 msgid "Minor tenth" +# TRANS: machine translation msgstr "小十度" #: js/utils/musicutils.js:702 msgid "Augmented ninth" +# TRANS: machine translation msgstr "增九度" #: js/utils/musicutils.js:703 msgid "Major tenth" +# TRANS: machine translation msgstr "大十度" #: js/utils/musicutils.js:703 msgid "Diminished eleventh" +# TRANS: machine translation msgstr "减十一度" #: js/utils/musicutils.js:704 msgid "Perfect eleventh" +# TRANS: machine translation msgstr "纯十一度" #: js/utils/musicutils.js:704 msgid "Augmented tenth" +# TRANS: machine translation msgstr "增十度" #: js/utils/musicutils.js:705 msgid "Diminished twelfth" +# TRANS: machine translation msgstr "减十二度" #: js/utils/musicutils.js:705 msgid "Augmented eleventh" +# TRANS: machine translation msgstr "增十一度" #: js/utils/musicutils.js:706 msgid "Perfect twelfth" +# TRANS: machine translation msgstr "纯十二度" #: js/utils/musicutils.js:706 msgid "Diminished thirteenth" +# TRANS: machine translation msgstr "减十三度" #: js/utils/musicutils.js:707 msgid "Minor thirteenth" +# TRANS: machine translation msgstr "小十三度" #: js/utils/musicutils.js:707 msgid "Augmented fifth, plus an octave" +# TRANS: machine translation msgstr "增五度加八度" #: js/utils/musicutils.js:708 msgid "Major thirteenth" +# TRANS: machine translation msgstr "大十三度" #: js/utils/musicutils.js:708 msgid "Diminished seventh, plus an octave" +# TRANS: machine translation msgstr "减七度加八度" #: js/utils/musicutils.js:836 #. TRANS: ordinal number. Please keep exactly one space between each number. msgid "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th" +# TRANS: machine translation msgstr "第一 第二 第三 第四 第五 第六 第七 第八 第九 第十 第十一 第十二" #: js/utils/musicutils.js:1002 @@ -2940,6 +2979,7 @@ msgstr "第一 第二 第三 第四 第五 第六 第七 第八 第九 第十 #: js/utils/musicutils.js:1368 #. TRANS: augmented is a music term related to intervals msgid "augmented" +# TRANS: machine translation msgstr "增音程" #: js/utils/musicutils.js:1004 @@ -2947,6 +2987,7 @@ msgstr "增音程" #: js/utils/musicutils.js:1367 #. TRANS: diminished is a music term related to intervals and mode msgid "diminished" +# TRANS: machine translation msgstr "减音程" #: js/utils/musicutils.js:1010 @@ -2956,179 +2997,217 @@ msgstr "减音程" #: js/turtleactions/IntervalsActions.js:124 #. TRANS: perfect is a music term related to intervals msgid "perfect" +# TRANS: machine translation msgstr "纯音程" #: js/utils/musicutils.js:1012 #. TRANS: twelve semi-tone scale for music msgid "chromatic" +# TRANS: machine translation msgstr "半音阶" #: js/utils/musicutils.js:1013 msgid "algerian" +# TRANS: machine translation msgstr "algerian" #: js/utils/musicutils.js:1014 msgid "spanish" +# TRANS: machine translation msgstr "西班牙调式" #: js/utils/musicutils.js:1016 #. TRANS: modal scale in music msgid "octatonic" +# TRANS: machine translation msgstr "八音阶" #: js/utils/musicutils.js:1018 #. TRANS: harmonic major scale in music msgid "harmonic major" +# TRANS: machine translation msgstr "和声大调" #: js/utils/musicutils.js:1020 #. TRANS: natural minor scales in music msgid "natural minor" +# TRANS: machine translation msgstr "自然小调" #: js/utils/musicutils.js:1022 #. TRANS: harmonic minor scale in music msgid "harmonic minor" +# TRANS: machine translation msgstr "和声小调" #: js/utils/musicutils.js:1024 #. TRANS: melodic minor scale in music msgid "melodic minor" +# TRANS: machine translation msgstr "旋律小调" #: js/utils/musicutils.js:1028 #. TRANS: modal scale for music msgid "dorian" +# TRANS: machine translation msgstr "多利安调式" #: js/utils/musicutils.js:1030 #. TRANS: modal scale for music msgid "phrygian" +# TRANS: machine translation msgstr "弗利几亚调式" #: js/utils/musicutils.js:1032 #. TRANS: modal scale for music msgid "lydian" +# TRANS: machine translation msgstr "利底亚调式" #: js/utils/musicutils.js:1034 #. TRANS: modal scale for music msgid "mixolydian" +# TRANS: machine translation msgstr "米克索利底亚调式" #: js/utils/musicutils.js:1038 #. TRANS: modal scale for music msgid "locrian" +# TRANS: machine translation msgstr "洛克利亚调式" #: js/utils/musicutils.js:1040 #. TRANS: minor jazz scale for music msgid "jazz minor" +# TRANS: machine translation msgstr "爵士小调" #: js/utils/musicutils.js:1042 #. TRANS: bebop scale for music msgid "bebop" +# TRANS: machine translation msgstr "bebop" #: js/utils/musicutils.js:1043 msgid "arabic" +# TRANS: machine translation msgstr "阿拉伯调式" #: js/utils/musicutils.js:1044 msgid "byzantine" +# TRANS: machine translation msgstr "拜占庭调式" #: js/utils/musicutils.js:1046 #. TRANS: musical scale for music by Verdi msgid "enigmatic" +# TRANS: machine translation msgstr "谜样调式" #: js/utils/musicutils.js:1047 msgid "ethiopian" +# TRANS: machine translation msgstr "埃塞俄比亚调式" #: js/utils/musicutils.js:1049 #. TRANS: Ethiopic scale for music msgid "geez" +# TRANS: machine translation msgstr "geez" #: js/utils/musicutils.js:1050 msgid "hindu" +# TRANS: machine translation msgstr "印度调式" #: js/utils/musicutils.js:1051 msgid "hungarian" +# TRANS: machine translation msgstr "匈牙利调式" #: js/utils/musicutils.js:1053 #. TRANS: minor Romanian scale for music msgid "romanian minor" +# TRANS: machine translation msgstr "罗马尼亚小调" #: js/utils/musicutils.js:1054 msgid "spanish gypsy" +# TRANS: machine translation msgstr "西班牙吉普赛调式" #: js/utils/musicutils.js:1056 #. TRANS: musical scale for Mid-Eastern music msgid "maqam" +# TRANS: machine translation msgstr "maqam" #: js/utils/musicutils.js:1058 #. TRANS: minor blues scale for music msgid "minor blues" +# TRANS: machine translation msgstr "小调布鲁斯" #: js/utils/musicutils.js:1060 #. TRANS: major blues scale for music msgid "major blues" +# TRANS: machine translation msgstr "大调布鲁斯" #: js/utils/musicutils.js:1061 msgid "whole tone" +# TRANS: machine translation msgstr "全音音阶" #: js/utils/musicutils.js:1063 #. TRANS: pentatonic is a general term that means "five note scale". This scale is typically known as "minor pentatonic" msgid "minor pentatonic" +# TRANS: machine translation msgstr "小调五声音阶" #: js/utils/musicutils.js:1065 #. TRANS: pentatonic is a general term that means "five note scale". This scale is typically known as "major pentatonic" msgid "major pentatonic" +# TRANS: machine translation msgstr "大调五声音阶" #: js/utils/musicutils.js:1066 msgid "chinese" +# TRANS: machine translation msgstr "中国调式" #: js/utils/musicutils.js:1067 msgid "egyptian" +# TRANS: machine translation msgstr "埃及调式" #: js/utils/musicutils.js:1069 #. TRANS: https://en.wikipedia.org/wiki/Hirajoshi_scale NOTE: There are three different versions of this scale msgid "hirajoshi" +# TRANS: machine translation msgstr "平调式" #: js/utils/musicutils.js:1070 msgid "Japan" +# TRANS: machine translation msgstr "日本调式" #: js/utils/musicutils.js:1072 #. TRANS: https://en.wikipedia.org/wiki/In_scale and https://en.wikipedia.org/wiki/Sakura_Sakura msgid "in" +# TRANS: machine translation msgstr "in" #: js/utils/musicutils.js:1074 #. TRANS: https://en.wikipedia.org/wiki/Miny%C5%8D_scale msgid "minyo" +# TRANS: machine translation msgstr "民谣调式" #: js/utils/musicutils.js:1076 #. TRANS: Italian mathematician msgid "fibonacci" +# TRANS: machine translation msgstr "斐波那契" #: js/utils/musicutils.js:1077 @@ -3146,6 +3225,7 @@ msgstr "斐波那契" #: js/widgets/modewidget.js:913 #. TRANS: customize voice msgid "custom" +# TRANS: machine translation msgstr "自定义" #: js/utils/musicutils.js:1079 @@ -3153,48 +3233,56 @@ msgstr "自定义" #: js/blocks/WidgetBlocks.js:176 #. TRANS: highpass filter msgid "highpass" +# TRANS: machine translation msgstr "高通滤波器" #: js/utils/musicutils.js:1081 #: js/utils/musicutils.js:1575 #. TRANS: lowpass filter msgid "lowpass" +# TRANS: machine translation msgstr "低通滤波器" #: js/utils/musicutils.js:1083 #: js/utils/musicutils.js:1576 #. TRANS: bandpass filter msgid "bandpass" +# TRANS: machine translation msgstr "带通滤波器" #: js/utils/musicutils.js:1085 #: js/utils/musicutils.js:1577 #. TRANS: high-shelf filter msgid "highshelf" +# TRANS: machine translation msgstr "高架滤波器" #: js/utils/musicutils.js:1087 #: js/utils/musicutils.js:1578 #. TRANS: low-shelf filter msgid "lowshelf" +# TRANS: machine translation msgstr "低架滤波器" #: js/utils/musicutils.js:1089 #: js/utils/musicutils.js:1579 #. TRANS: notch-shelf filter msgid "notch" +# TRANS: machine translation msgstr "陷波滤波器" #: js/utils/musicutils.js:1091 #: js/utils/musicutils.js:1580 #. TRANS: all-pass filter msgid "allpass" +# TRANS: machine translation msgstr "全通滤波器" #: js/utils/musicutils.js:1093 #: js/utils/musicutils.js:1581 #. TRANS: peaking filter msgid "peaking" +# TRANS: machine translation msgstr "峰值滤波器" #: js/utils/musicutils.js:1094 @@ -3203,6 +3291,7 @@ msgstr "峰值滤波器" #: js/blocks/PitchBlocks.js:85 #. TRANS: sine wave msgid "sine" +# TRANS: machine translation msgstr "正弦波" #: js/utils/musicutils.js:1095 @@ -3211,6 +3300,7 @@ msgstr "正弦波" #: js/blocks/PitchBlocks.js:39 #. TRANS: square wave msgid "square" +# TRANS: machine translation msgstr "方波" #: js/utils/musicutils.js:1096 @@ -3220,6 +3310,7 @@ msgstr "方波" #: js/blocks/ToneBlocks.js:39 #. TRANS: triangle wave msgid "triangle" +# TRANS: machine translation msgstr "三角波" #: js/utils/musicutils.js:1097 @@ -3228,6 +3319,7 @@ msgstr "三角波" #: js/blocks/PitchBlocks.js:108 #. TRANS: sawtooth wave msgid "sawtooth" +# TRANS: machine translation msgstr "锯齿波" #: js/utils/musicutils.js:1099 @@ -3238,6 +3330,7 @@ msgstr "锯齿波" #. TRANS: even numbers #. TRANS: invert based on even or odd number or musical scale msgid "even" +# TRANS: machine translation msgstr "偶数" #: js/utils/musicutils.js:1101 @@ -3246,6 +3339,7 @@ msgstr "偶数" #: js/turtleactions/PitchActions.js:471 #. TRANS: odd numbers msgid "odd" +# TRANS: machine translation msgstr "奇数" #: js/utils/musicutils.js:1102 @@ -3253,6 +3347,7 @@ msgstr "奇数" #: js/blocks/PitchBlocks.js:937 #: js/turtleactions/PitchActions.js:473 msgid "scalar" +# TRANS: machine translation msgstr "标量" #: js/utils/musicutils.js:1103 @@ -3260,42 +3355,49 @@ msgstr "标量" #: js/blocks/VolumeBlocks.js:47 #. TRANS: musical instrument msgid "piano" +# TRANS: machine translation msgstr "钢琴" #: js/utils/musicutils.js:1104 #: js/utils/synthutils.js:74 #. TRANS: musical instrument msgid "violin" +# TRANS: machine translation msgstr "小提琴" #: js/utils/musicutils.js:1105 #: js/utils/synthutils.js:76 #. TRANS: viola musical instrument msgid "viola" +# TRANS: machine translation msgstr "中提琴" #: js/utils/musicutils.js:1106 #: js/utils/synthutils.js:116 #. TRANS: xylophone musical instrument msgid "xylophone" +# TRANS: machine translation msgstr "木琴" #: js/utils/musicutils.js:1107 #: js/utils/synthutils.js:138 #. TRANS: vibraphone musical instrument msgid "vibraphone" +# TRANS: machine translation msgstr "颤音琴" #: js/utils/musicutils.js:1108 #: js/utils/synthutils.js:78 #. TRANS: musical instrument msgid "cello" +# TRANS: machine translation msgstr "大提琴" #: js/utils/musicutils.js:1110 #: js/utils/synthutils.js:82 #. TRANS: viola musical instrument msgid "double bass" +# TRANS: machine translation msgstr "低音提琴" #: js/utils/musicutils.js:1111 @@ -3303,84 +3405,99 @@ msgstr "低音提琴" #: js/widgets/rhythmruler.js:2501 #. TRANS: musical instrument msgid "guitar" +# TRANS: machine translation msgstr "吉他" #: js/utils/musicutils.js:1112 #: js/utils/synthutils.js:84 #. TRANS: sitar musical instrument msgid "sitar" +# TRANS: machine translation msgstr "锡塔尔琴" #: js/utils/musicutils.js:1113 #: js/utils/synthutils.js:88 #. TRANS: musical instrument msgid "acoustic guitar" +# TRANS: machine translation msgstr "原声吉他" #: js/utils/musicutils.js:1114 #: js/utils/synthutils.js:90 #. TRANS: musical instrument msgid "flute" +# TRANS: machine translation msgstr "长笛" #: js/utils/musicutils.js:1115 #: js/utils/synthutils.js:92 #. TRANS: musical instrument msgid "clarinet" +# TRANS: machine translation msgstr "单簧管" #: js/utils/musicutils.js:1116 #: js/utils/synthutils.js:94 #. TRANS: musical instrument msgid "saxophone" +# TRANS: machine translation msgstr "萨克斯管" #: js/utils/musicutils.js:1117 #: js/utils/synthutils.js:96 #. TRANS: musical instrument msgid "tuba" +# TRANS: machine translation msgstr "大号" #: js/utils/musicutils.js:1118 #: js/utils/synthutils.js:98 #. TRANS: musical instrument msgid "trumpet" +# TRANS: machine translation msgstr "小号" #: js/utils/musicutils.js:1119 #: js/utils/synthutils.js:100 #. TRANS: musical instrument msgid "oboe" +# TRANS: machine translation msgstr "双簧管" #: js/utils/musicutils.js:1120 #: js/utils/synthutils.js:102 #. TRANS: musical instrument msgid "trombone" +# TRANS: machine translation msgstr "长号" #: js/utils/musicutils.js:1121 #: js/utils/synthutils.js:118 #. TRANS: polytone synthesizer msgid "electronic synth" +# TRANS: machine translation msgstr "电子合成器" #: js/utils/musicutils.js:1122 #: js/utils/synthutils.js:120 #. TRANS: simple monotone synthesizer msgid "simple 1" +# TRANS: machine translation msgstr "简单1" #: js/utils/musicutils.js:1123 msgid "simple 2" +# TRANS: machine translation msgstr "简单2" #: js/utils/musicutils.js:1124 msgid "simple 3" +# TRANS: machine translation msgstr "简单3" #: js/utils/musicutils.js:1125 msgid "simple 4" +# TRANS: machine translation msgstr "简单4" #: js/utils/musicutils.js:1126 @@ -3388,18 +3505,21 @@ msgstr "简单4" #: js/blocks/DrumBlocks.js:191 #. TRANS: white noise synthesizer msgid "white noise" +# TRANS: machine translation msgstr "白噪音" #: js/utils/musicutils.js:1127 #: js/utils/synthutils.js:60 #. TRANS: brown noise synthesizer msgid "brown noise" +# TRANS: machine translation msgstr "棕色噪音" #: js/utils/musicutils.js:1128 #: js/utils/synthutils.js:62 #. TRANS: pink noise synthesizer msgid "pink noise" +# TRANS: machine translation msgstr "粉红噪音" #: js/utils/musicutils.js:1130 @@ -3408,212 +3528,248 @@ msgstr "粉红噪音" #: js/widgets/rhythmruler.js:2309 #. TRANS: musical instrument msgid "snare drum" +# TRANS: machine translation msgstr "军鼓" #: js/utils/musicutils.js:1131 #: js/utils/synthutils.js:152 #. TRANS: musical instrument msgid "kick drum" +# TRANS: machine translation msgstr "大鼓" #: js/utils/musicutils.js:1132 #: js/utils/synthutils.js:154 #. TRANS: musical instrument msgid "tom tom" +# TRANS: machine translation msgstr "通通鼓" #: js/utils/musicutils.js:1133 #: js/utils/synthutils.js:156 #. TRANS: musical instrument msgid "floor tom" +# TRANS: machine translation msgstr "落地鼓" #: js/utils/musicutils.js:1134 #: js/utils/synthutils.js:158 #. TRANS: musical instrument msgid "bass drum" +# TRANS: machine translation msgstr "低音鼓" #: js/utils/musicutils.js:1135 #: js/utils/synthutils.js:160 #. TRANS: a drum made from an inverted cup msgid "cup drum" +# TRANS: machine translation msgstr "杯鼓" #: js/utils/musicutils.js:1136 #: js/utils/synthutils.js:162 #. TRANS: musical instrument msgid "darbuka drum" +# TRANS: machine translation msgstr "达布卡鼓" #: js/utils/musicutils.js:1137 #: js/utils/synthutils.js:166 #. TRANS: musical instrument msgid "hi hat" +# TRANS: machine translation msgstr "踩镲" #: js/utils/musicutils.js:1138 #: js/utils/synthutils.js:168 #. TRANS: a small metal bell msgid "ride bell" +# TRANS: machine translation msgstr "骑铃" #: js/utils/musicutils.js:1139 #: js/utils/synthutils.js:170 #. TRANS: musical instrument msgid "cow bell" +# TRANS: machine translation msgstr "牛铃" #: js/utils/musicutils.js:1140 msgid "japanese drum" +# TRANS: machine translation msgstr "日本鼓" #: js/utils/musicutils.js:1141 #: js/utils/synthutils.js:176 #. TRANS: musical instrument msgid "japanese bell" +# TRANS: machine translation msgstr "日本铃" #: js/utils/musicutils.js:1142 #: js/utils/synthutils.js:172 #. TRANS: musical instrument msgid "triangle bell" +# TRANS: machine translation msgstr "三角铃" #: js/utils/musicutils.js:1143 #: js/utils/synthutils.js:174 #. TRANS: musical instrument msgid "finger cymbals" +# TRANS: machine translation msgstr "指钹" #: js/utils/musicutils.js:1144 #: js/utils/synthutils.js:178 #. TRANS: a musically tuned set of bells msgid "chime" +# TRANS: machine translation msgstr "风铃" #: js/utils/musicutils.js:1145 #: js/utils/synthutils.js:180 #. TRANS: a musical instrument msgid "gong" +# TRANS: machine translation msgstr "锣" #: js/utils/musicutils.js:1146 #: js/utils/synthutils.js:182 #. TRANS: sound effect msgid "clang" +# TRANS: machine translation msgstr "叮当声" #: js/utils/musicutils.js:1147 #: js/utils/synthutils.js:184 #. TRANS: sound effect msgid "crash" +# TRANS: machine translation msgstr "撞击声" #: js/utils/musicutils.js:1148 #: js/utils/synthutils.js:186 #. TRANS: sound effect msgid "bottle" +# TRANS: machine translation msgstr "瓶子声" #: js/utils/musicutils.js:1149 #: js/utils/synthutils.js:188 #. TRANS: sound effect msgid "clap" +# TRANS: machine translation msgstr "拍手声" #: js/utils/musicutils.js:1150 #: js/utils/synthutils.js:190 #. TRANS: sound effect msgid "slap" +# TRANS: machine translation msgstr "拍打声" #: js/utils/musicutils.js:1151 #: js/utils/synthutils.js:192 #. TRANS: sound effect msgid "splash" +# TRANS: machine translation msgstr "水花声" #: js/utils/musicutils.js:1152 #: js/utils/synthutils.js:194 #. TRANS: sound effect msgid "bubbles" +# TRANS: machine translation msgstr "气泡声" #: js/utils/musicutils.js:1153 #: js/utils/synthutils.js:196 #. TRANS: sound effect msgid "raindrop" +# TRANS: machine translation msgstr "雨滴声" #: js/utils/musicutils.js:1154 #: js/utils/synthutils.js:198 #. TRANS: animal sound effect msgid "cat" +# TRANS: machine translation msgstr "猫" #: js/utils/musicutils.js:1155 #: js/utils/synthutils.js:200 #. TRANS: animal sound effect msgid "cricket" +# TRANS: machine translation msgstr "蟋蟀声" #: js/utils/musicutils.js:1156 #: js/utils/synthutils.js:202 #. TRANS: animal sound effect msgid "dog" +# TRANS: machine translation msgstr "狗" #: js/utils/musicutils.js:1158 #: js/utils/synthutils.js:104 #. TRANS: musical instrument msgid "banjo" +# TRANS: machine translation msgstr "班卓琴" #: js/utils/musicutils.js:1159 #: js/utils/synthutils.js:106 #. TRANS: musical instrument msgid "koto" +# TRANS: machine translation msgstr "琴" #: js/utils/musicutils.js:1160 #: js/utils/synthutils.js:108 #. TRANS: musical instrument msgid "dulcimer" +# TRANS: machine translation msgstr "扬琴" #: js/utils/musicutils.js:1161 #: js/utils/synthutils.js:110 #. TRANS: musical instrument msgid "electric guitar" +# TRANS: machine translation msgstr "电吉他" #: js/utils/musicutils.js:1162 #: js/utils/synthutils.js:112 #. TRANS: musical instrument msgid "bassoon" +# TRANS: machine translation msgstr "巴松管" #: js/utils/musicutils.js:1163 #: js/utils/synthutils.js:114 #. TRANS: musical instrument msgid "celeste" +# TRANS: machine translation msgstr "颤音琴" #: js/utils/musicutils.js:1165 #: js/widgets/temperament.js:757 #. TRANS: musical temperament msgid "equal" +# TRANS: machine translation msgstr "平均律" #: js/utils/musicutils.js:1167 #. TRANS: musical temperament msgid "Pythagorean" +# TRANS: machine translation msgstr "毕达哥拉斯律" #: js/utils/musicutils.js:1169 #. TRANS: musical temperament msgid "just intonation" +# TRANS: machine translation msgstr "纯律" #: js/utils/musicutils.js:1171 @@ -3623,80 +3779,97 @@ msgstr "纯律" #: js/utils/musicutils.js:1624 #. TRANS: musical temperament msgid "Meantone" +# TRANS: machine translation msgstr "中庸律" #: js/utils/musicutils.js:1188 msgid "major 7th" +# TRANS: machine translation msgstr "大七度" #: js/utils/musicutils.js:1189 msgid "minor 7th" +# TRANS: machine translation msgstr "小七度" #: js/utils/musicutils.js:1190 msgid "dominant 7th" +# TRANS: machine translation msgstr "属七度" #: js/utils/musicutils.js:1191 msgid "minor-major 7th" +# TRANS: machine translation msgstr "小大七度" #: js/utils/musicutils.js:1192 msgid "fully-diminished 7th" +# TRANS: machine translation msgstr "完全减七度" #: js/utils/musicutils.js:1193 msgid "half-diminished 7th" +# TRANS: machine translation msgstr "半减七度" #: js/utils/musicutils.js:1600 #: js/utils/musicutils.js:1616 msgid "Equal (12EDO)" +# TRANS: machine translation msgstr "十二平均律" #: js/utils/musicutils.js:1601 #: js/utils/musicutils.js:1617 msgid "Equal (5EDO)" +# TRANS: machine translation msgstr "五平均律" #: js/utils/musicutils.js:1602 #: js/utils/musicutils.js:1618 msgid "Equal (7EDO)" +# TRANS: machine translation msgstr "七平均律" #: js/utils/musicutils.js:1603 #: js/utils/musicutils.js:1619 msgid "Equal (19EDO)" +# TRANS: machine translation msgstr "十九平均律" #: js/utils/musicutils.js:1604 #: js/utils/musicutils.js:1620 msgid "Equal (31EDO)" +# TRANS: machine translation msgstr "三十一平均律" #: js/utils/musicutils.js:1605 #: js/utils/musicutils.js:1621 msgid "5-limit Just Intonation" +# TRANS: machine translation msgstr "五限纯律" #: js/utils/musicutils.js:1606 #: js/utils/musicutils.js:1622 msgid "Pythagorean (3-limit JI)" +# TRANS: machine translation msgstr "毕达哥拉斯(三级纯律)" #: js/utils/musicutils.js:5631 #: js/utils/musicutils.js:5674 msgid "current" +# TRANS: machine translation msgstr "当前" #: js/utils/musicutils.js:5634 #: js/utils/musicutils.js:5665 msgid "next" +# TRANS: machine translation msgstr "下一个" #: js/utils/musicutils.js:5637 #: js/utils/musicutils.js:5670 msgid "previous" +# TRANS: machine translation msgstr "上一个" #: js/utils/synthutils.js:122 @@ -3721,6 +3894,7 @@ msgstr "" #: js/blocks/BooleanBlocks.js:44 msgid "The Not block is the logical not operator." +# TRANS: machine translation msgstr "Not 块是逻辑非运算符。" #: js/blocks/BooleanBlocks.js:62 @@ -3729,6 +3903,7 @@ msgstr "否" #: js/blocks/BooleanBlocks.js:134 msgid "The And block is the logical and operator." +# TRANS: machine translation msgstr "And 块是逻辑与运算符。" #: js/blocks/BooleanBlocks.js:152 @@ -3737,6 +3912,7 @@ msgstr "且" #: js/blocks/BooleanBlocks.js:218 msgid "The Or block is the logical or operator." +# TRANS: machine translation msgstr "Or 块是逻辑或运算符。" #: js/blocks/BooleanBlocks.js:236 @@ -3745,110 +3921,135 @@ msgstr "或" #: js/blocks/BooleanBlocks.js:302 msgid "The XOR block is the logical XOR operator." +# TRANS: machine translation msgstr "XOR 块是逻辑异或运算符。" #: js/blocks/BooleanBlocks.js:320 msgid "xor" +# TRANS: machine translation msgstr "异或" #: js/blocks/BooleanBlocks.js:808 msgid "The Equal block returns True if the two numbers are equal." +# TRANS: machine translation msgstr "Equal 块在两个数字相等时返回真。" #: js/blocks/BooleanBlocks.js:909 msgid "The Not-equal-to block returns True if the two numbers are not equal to each other." +# TRANS: machine translation msgstr "Not-equal-to 块在两个数字不相等时返回真。" #: js/blocks/BooleanBlocks.js:1008 msgid "The Boolean block is used to specify true or false." +# TRANS: machine translation msgstr "Boolean 块用于指定真或假。" #: js/blocks/BoxesBlocks.js:53 #: js/blocks/BoxesBlocks.js:59 msgid "The Add-to block is used to add to the value stored in a box." +# TRANS: machine translation msgstr "Add-to 块用于对盒子中存储的值进行加法。" #: js/blocks/BoxesBlocks.js:61 msgid "It can also be used with other blocks such as Color and Pen size." +# TRANS: machine translation msgstr "它也可以与颜色和画笔大小等其他块一起使用。" #: js/blocks/BoxesBlocks.js:73 msgid "add" +# TRANS: machine translation msgstr "加" #: js/blocks/BoxesBlocks.js:75 #: js/widgets/temperament.js:825 msgid "to" +# TRANS: machine translation msgstr "到" #: js/blocks/BoxesBlocks.js:75 #: js/blocks/BoxesBlocks.js:595 #: js/blocks/HeapBlocks.js:544 msgid "value1" +# TRANS: machine translation msgstr "数值1" #: js/blocks/BoxesBlocks.js:118 msgid "Block does not support incrementing." +# TRANS: machine translation msgstr "该块不支持递增操作。" #: js/blocks/BoxesBlocks.js:152 msgid "The Add-1-to block adds one to the value stored in a box." +# TRANS: machine translation msgstr "Add-1-to 块将盒子中存储的值加一。" #: js/blocks/BoxesBlocks.js:163 msgid "add 1 to" +# TRANS: machine translation msgstr "加 1 到" #: js/blocks/BoxesBlocks.js:211 msgid "The Subtract-1-from block subtracts one from the value stored in a box." +# TRANS: machine translation msgstr "Subtract-1-from 块从盒子中存储的值中减去一。" #: js/blocks/BoxesBlocks.js:222 msgid "subtract 1 from" +# TRANS: machine translation msgstr "从中减去 1" #: js/blocks/BoxesBlocks.js:270 #: js/blocks/BoxesBlocks.js:387 msgid "The Box block returns the value stored in a box." +# TRANS: machine translation msgstr "Box 块返回盒子中存储的值。" #: js/blocks/BoxesBlocks.js:500 #: js/blocks/BoxesBlocks.js:576 msgid "The Store in block will store a value in a box." +# TRANS: machine translation msgstr "Store in 块用于将值存储到盒子中。" #: js/blocks/BoxesBlocks.js:595 #: js/blocks/EnsembleBlocks.js:393 #: js/blocks/EnsembleBlocks.js:404 msgid "name1" +# TRANS: machine translation msgstr "名称1" #: js/blocks/BoxesBlocks.js:652 msgid "The Box2 block returns the value stored in Box2." +# TRANS: machine translation msgstr "Box2 块返回存储在 Box2 中的值。" #: js/blocks/BoxesBlocks.js:703 msgid "The Store in Box2 block is used to store a value in Box2." +# TRANS: machine translation msgstr "Store in Box2 块用于将值存储到 Box2 中。" #: js/blocks/BoxesBlocks.js:715 msgid "store in box2" +# TRANS: machine translation msgstr "存储到 box2" #: js/blocks/BoxesBlocks.js:761 msgid "The Box1 block returns the value stored in Box1." +# TRANS: machine translation msgstr "Box1 块返回存储在 Box1 中的值。" #: js/blocks/BoxesBlocks.js:812 msgid "The Store in Box1 block is used to store a value in Box1." +# TRANS: machine translation msgstr "Store in Box1 块用于将值存储到 Box1 中。" #: js/blocks/BoxesBlocks.js:826 msgid "store in box1" +# TRANS: machine translation msgstr "存储到 box1" #: js/blocks/DictBlocks.js:77 msgid "show dictionary" +# TRANS: machine translation msgstr "显示字典" #: js/blocks/DictBlocks.js:80 @@ -3859,21 +4060,25 @@ msgstr "显示字典" #: js/blocks/ProgramBlocks.js:501 #: js/blocks/ProgramBlocks.js:664 msgid "My Dictionary" +# TRANS: machine translation msgstr "我的字典" #: js/blocks/DictBlocks.js:129 msgid "The Dictionary block returns a dictionary." +# TRANS: machine translation msgstr "Dictionary 块返回一个字典。" #: js/blocks/DictBlocks.js:197 #: js/blocks/DictBlocks.js:339 msgid "The Get-dict block returns a value in the dictionary for a specified key." +# TRANS: machine translation msgstr "Get-dict 块返回字典中指定键的值。" #: js/blocks/DictBlocks.js:212 #: js/blocks/DictBlocks.js:354 #. TRANS: retrieve a value from the dictionary with a given key msgid "get value" +# TRANS: machine translation msgstr "获取值" #: js/blocks/DictBlocks.js:215 @@ -3884,6 +4089,7 @@ msgstr "获取值" #: js/blocks/DictBlocks.js:430 #: js/blocks/DictBlocks.js:431 msgid "key2" +# TRANS: machine translation msgstr "键2" #: js/blocks/DictBlocks.js:215 @@ -3896,67 +4102,82 @@ msgstr "键2" #: js/blocks/IntervalsBlocks.js:1462 #. TRANS: key, e.g., C in C Major msgid "key" +# TRANS: machine translation msgstr "调" #: js/blocks/DictBlocks.js:271 #: js/blocks/DictBlocks.js:411 msgid "The Set-dict block sets a value in the dictionary for a specified key." +# TRANS: machine translation msgstr "Set-dict 块为字典中指定的键设置值。" #: js/blocks/DictBlocks.js:286 #: js/blocks/DictBlocks.js:427 #. TRANS: set a value in the dictionary for a given key msgid "set value" +# TRANS: machine translation msgstr "设置值" #: js/blocks/DrumBlocks.js:59 msgid "The Noise name block is used to select a noise synthesizer." +# TRANS: machine translation msgstr "Noise name 块用于选择噪声合成器。" #: js/blocks/DrumBlocks.js:102 msgid "The Drum name block is used to select a drum." +# TRANS: machine translation msgstr "Drum name 块用于选择一个鼓。" #: js/blocks/DrumBlocks.js:146 msgid "The Effects name block is used to select a sound effect." +# TRANS: machine translation msgstr "Effects name 块用于选择音效。" #: js/blocks/DrumBlocks.js:163 msgid "noise" +# TRANS: machine translation msgstr "噪音" #: js/blocks/DrumBlocks.js:177 msgid "The Play noise block will generate white, pink, or brown noise." +# TRANS: machine translation msgstr "Play noise 块将生成白噪声、粉噪声或棕噪声。" #: js/blocks/DrumBlocks.js:317 msgid "Replace every instance of a pitch with a drum sound." +# TRANS: machine translation msgstr "将每个音高替换为鼓声。" #: js/blocks/DrumBlocks.js:328 #. TRANS: map a pitch to a drum sound msgid "map pitch to drum" +# TRANS: machine translation msgstr "映射音高到鼓声" #: js/blocks/DrumBlocks.js:395 msgid "In the example above, a kick drum sound will be played instead of sol." +# TRANS: machine translation msgstr "上述示例中,将播放踢鼓声代替 sol。" #: js/blocks/DrumBlocks.js:407 #. TRANS: set the current drum sound for playback msgid "set drum" +# TRANS: machine translation msgstr "设置鼓声" #: js/blocks/DrumBlocks.js:451 msgid "sound effect" +# TRANS: machine translation msgstr "音效" #: js/blocks/DrumBlocks.js:489 msgid "You can use multiple Drum blocks within a Note block." +# TRANS: machine translation msgstr "您可以在 Note 块内使用多个 Drum 块。" #: js/blocks/HeapBlocks.js:49 msgid "The Heap block returns the heap." +# TRANS: machine translation msgstr "Heap 块返回堆。" #: js/blocks/HeapBlocks.js:133 @@ -3965,23 +4186,28 @@ msgstr "顯示堆疊" #: js/blocks/HeapBlocks.js:181 msgid "The Heap-length block returns the length of the heap." +# TRANS: machine translation msgstr "Heap-length 块返回堆的长度。" #: js/blocks/HeapBlocks.js:195 msgid "heap length" +# TRANS: machine translation msgstr "堆长度" #: js/blocks/HeapBlocks.js:254 msgid "The Heap-empty? block returns true if the heap is empty." +# TRANS: machine translation msgstr "Heap-empty? 块在堆为空时返回真。" #: js/blocks/HeapBlocks.js:268 #. TRANS: Is the heap empty? msgid "heap empty?" +# TRANS: machine translation msgstr "堆是否为空?" #: js/blocks/HeapBlocks.js:317 msgid "The Empty-heap block empties the heap." +# TRANS: machine translation msgstr "Empty-heap 块清空堆。" #: js/blocks/HeapBlocks.js:327 @@ -3992,20 +4218,24 @@ msgstr "清除堆疊" #: js/blocks/HeapBlocks.js:371 msgid "The Reverse-heap block reverses the order of the heap." +# TRANS: machine translation msgstr "Reverse-heap 块将堆的顺序反转。" #: js/blocks/HeapBlocks.js:384 #. TRANS: reverse the order of the heap msgid "reverse heap" +# TRANS: machine translation msgstr "反转堆" #: js/blocks/HeapBlocks.js:428 msgid "The Index-heap block returns a value in the heap at a specified location." +# TRANS: machine translation msgstr "Index-heap 块返回堆中指定位置的值。" #: js/blocks/HeapBlocks.js:443 #. TRANS: retrieve a value from the heap at index position in the heap msgid "index heap" +# TRANS: machine translation msgstr "堆索引" #: js/blocks/HeapBlocks.js:474 @@ -4013,32 +4243,38 @@ msgstr "堆索引" #: js/blocks/EnsembleBlocks.js:124 #: js/blocks/EnsembleBlocks.js:1200 msgid "Index must be > 0." +# TRANS: machine translation msgstr "索引必须大于0。" #: js/blocks/HeapBlocks.js:479 #: js/blocks/HeapBlocks.js:577 #: js/blocks/EnsembleBlocks.js:129 msgid "Maximum heap size is 1000." +# TRANS: machine translation msgstr "堆的最大大小为1000。" #: js/blocks/HeapBlocks.js:523 msgid "The Set-heap entry block sets a value in he heap at the specified location." +# TRANS: machine translation msgstr "Set-heap entry 块在指定位置设置堆中的值。" #: js/blocks/HeapBlocks.js:539 #: js/blocks/ProgramBlocks.js:299 #. TRANS: load the heap from a JSON encoding msgid "set heap" +# TRANS: machine translation msgstr "设置堆" #: js/blocks/HeapBlocks.js:544 #: js/blocks/EnsembleBlocks.js:96 #. TRANS: value1 is a numeric value (JAPANESE ONLY) msgid "index" +# TRANS: machine translation msgstr "索引" #: js/blocks/HeapBlocks.js:619 msgid "The Pop block removes the value at the top of the heap." +# TRANS: machine translation msgstr "Pop 块移除堆顶的值。" #: js/blocks/HeapBlocks.js:633 @@ -4048,6 +4284,7 @@ msgstr "取出堆疊" #: js/blocks/HeapBlocks.js:680 msgid "The Push block adds a value to the top of the heap." +# TRANS: machine translation msgstr "Push 块将一个值添加到堆顶。" #: js/blocks/HeapBlocks.js:696 @@ -4057,6 +4294,7 @@ msgstr "存入堆疊" #: js/blocks/IntervalsBlocks.js:45 msgid "set temperament" +# TRANS: machine translation msgstr "设置音律" #: js/blocks/IntervalsBlocks.js:63 @@ -4073,147 +4311,180 @@ msgstr "设置音律" #: js/turtleactions/IntervalsActions.js:114 #. TRANS: adjusts the shift up or down by one octave (twelve half-steps in the interval between two notes, one having twice or half the frequency in Hz of the other.) msgid "octave" +# TRANS: machine translation msgstr "八度" #: js/blocks/IntervalsBlocks.js:99 msgid "The Temperament name block is used to select a tuning method." +# TRANS: machine translation msgstr "Temperament name 块用于选择调音方法。" #: js/blocks/IntervalsBlocks.js:161 msgid "doubly" +# TRANS: machine translation msgstr "双倍" #: js/blocks/IntervalsBlocks.js:166 msgid "The Doubly block will double the size of an interval." +# TRANS: machine translation msgstr "Doubly 块会将音程加倍。" #: js/blocks/IntervalsBlocks.js:262 msgid "interval number" +# TRANS: machine translation msgstr "音程编号" #: js/blocks/IntervalsBlocks.js:317 msgid "current interval" +# TRANS: machine translation msgstr "当前音程" #: js/blocks/IntervalsBlocks.js:387 #. TRANS: measure the distance between two pitches in semi-tones msgid "semi-tone interval measure" +# TRANS: machine translation msgstr "半音程测量" #: js/blocks/IntervalsBlocks.js:454 #: js/blocks/IntervalsBlocks.js:570 msgid "You must use two pitch blocks when measuring an interval." +# TRANS: machine translation msgstr "测量音程时必须使用两个音高块。" #: js/blocks/IntervalsBlocks.js:496 msgid "The Scalar interval block measures the distance between two notes in the current key and mode." +# TRANS: machine translation msgstr "Scalar interval 块测量当前调式中两个音符之间的距离。" #: js/blocks/IntervalsBlocks.js:502 #. TRANS: measure the distance between two pitches in steps of musical scale msgid "scalar interval measure" +# TRANS: machine translation msgstr "标量音程测量" #: js/blocks/IntervalsBlocks.js:678 msgid "In the figure, we add sol# to sol." +# TRANS: machine translation msgstr "图中,我们将升sol加到sol上。" #: js/blocks/IntervalsBlocks.js:684 #: js/blocks/OrnamentBlocks.js:220 #. TRANS: calculate a relative step between notes based on semi-tones msgid "semi-tone interval" +# TRANS: machine translation msgstr "半音程" #: js/blocks/IntervalsBlocks.js:733 msgid "The output of the example is: do, mi, sol, sol, ti, mi" +# TRANS: machine translation msgstr "示例输出为:do, mi, sol, sol, ti, mi" #: js/blocks/IntervalsBlocks.js:740 #: js/blocks/WidgetBlocks.js:768 msgid "arpeggio" +# TRANS: machine translation msgstr "琶音" #: js/blocks/IntervalsBlocks.js:931 msgid "The Chord block calculates common chords." +# TRANS: machine translation msgstr "Chord 块计算常见和弦。" #: js/blocks/IntervalsBlocks.js:933 msgid "In the figure, we generate a C-major chord." +# TRANS: machine translation msgstr "图中,我们生成一个C大调和弦。" #: js/blocks/IntervalsBlocks.js:938 msgid "chord" +# TRANS: machine translation msgstr "和弦" #: js/blocks/IntervalsBlocks.js:990 msgid "The Ratio Interval block calculates an interval based on a ratio." +# TRANS: machine translation msgstr "Ratio Interval 块根据比例计算音程。" #: js/blocks/IntervalsBlocks.js:995 msgid "ratio interval" +# TRANS: machine translation msgstr "比例音程" #: js/blocks/IntervalsBlocks.js:1064 msgid "In the figure, we add la to sol." +# TRANS: machine translation msgstr "图中,我们将la加到sol上。" #: js/blocks/IntervalsBlocks.js:1120 #. TRANS: define a custom mode msgid "define mode" +# TRANS: machine translation msgstr "定义调式" #: js/blocks/IntervalsBlocks.js:1173 msgid "movable Do" +# TRANS: machine translation msgstr "可移调的Do" #: js/blocks/IntervalsBlocks.js:1224 #. TRANS: mode length is the number of notes in the mode, e.g., 7 for major and minor scales; 12 for chromatic scales msgid "mode length" +# TRANS: machine translation msgstr "调式长度" #: js/blocks/IntervalsBlocks.js:1233 msgid "The Mode length block is the number of notes in the current scale." +# TRANS: machine translation msgstr "Mode length 块表示当前音阶中的音符数量。" #: js/blocks/IntervalsBlocks.js:1235 msgid "Most Western scales have 7 notes." +# TRANS: machine translation msgstr "大多数西方音阶有7个音符。" #: js/blocks/IntervalsBlocks.js:1284 #. TRANS: the mode in music is 'major', 'minor', etc. msgid "current mode" +# TRANS: machine translation msgstr "当前调式" #: js/blocks/IntervalsBlocks.js:1337 #. TRANS: the key is a group of pitches with which a music composition is created msgid "current key" +# TRANS: machine translation msgstr "当前调" #: js/blocks/IntervalsBlocks.js:1389 #: js/blocks/IntervalsBlocks.js:1434 #. TRANS: set the key and mode, e.g. C Major msgid "set key" +# TRANS: machine translation msgstr "设置调" #: js/blocks/IntervalsBlocks.js:1443 #: js/blocks/IntervalsBlocks.js:1449 msgid "The Set key block is used to set the key and mode," +# TRANS: machine translation msgstr "Set key 块用于设置调和调式," #: js/blocks/IntervalsBlocks.js:1449 msgid "eg C Major" +# TRANS: machine translation msgstr "例如 C 大调" #: js/blocks/NumberBlocks.js:28 msgid "The Int block returns an integer." +# TRANS: machine translation msgstr "Int 块返回一个整数。" #: js/blocks/NumberBlocks.js:34 msgid "int" +# TRANS: machine translation msgstr "整数" #: js/blocks/NumberBlocks.js:73 msgid "The Mod block returns the remainder from a division." +# TRANS: machine translation msgstr "Mod 块返回除法的余数。" #: js/blocks/NumberBlocks.js:79 @@ -4222,68 +4493,84 @@ msgstr "模數" #: js/blocks/NumberBlocks.js:141 msgid "The Power block calculates a power function." +# TRANS: machine translation msgstr "Power 块计算幂函数。" #: js/blocks/NumberBlocks.js:196 msgid "The Sqrt block returns the square root." +# TRANS: machine translation msgstr "Sqrt 块返回平方根。" #: js/blocks/NumberBlocks.js:202 msgid "sqrt" +# TRANS: machine translation msgstr "平方根" #: js/blocks/NumberBlocks.js:248 msgid "The Abs block returns the absolute value." +# TRANS: machine translation msgstr "Abs 块返回绝对值。" #: js/blocks/NumberBlocks.js:254 msgid "abs" +# TRANS: machine translation msgstr "绝对值" #: js/blocks/NumberBlocks.js:295 msgid "The Distance block returns the distance between two points. For example, between the mouse and the center of the screen." +# TRANS: machine translation msgstr "Distance 块返回两点之间的距离。例如,鼠标与屏幕中心之间的距离。" #: js/blocks/NumberBlocks.js:301 #: plugins/rodi.rtp:310 msgid "distance" +# TRANS: machine translation msgstr "距离" #: js/blocks/NumberBlocks.js:361 msgid "The Divide block is used to divide." +# TRANS: machine translation msgstr "Divide 块用于除法运算。" #: js/blocks/NumberBlocks.js:441 msgid "The Multiply block is used to multiply." +# TRANS: machine translation msgstr "Multiply 块用于乘法运算。" #: js/blocks/NumberBlocks.js:612 msgid "The Minus block is used to subtract." +# TRANS: machine translation msgstr "Minus 块用于减法运算。" #: js/blocks/NumberBlocks.js:723 msgid "The Plus block is used to add." +# TRANS: machine translation msgstr "Plus 块用于加法运算。" #: js/blocks/NumberBlocks.js:849 msgid "The One-of block returns one of two choices." +# TRANS: machine translation msgstr "One-of 块返回两个选项中的一个。" #: js/blocks/NumberBlocks.js:856 #: js/blocks/PitchBlocks.js:616 msgid "one of" +# TRANS: machine translation msgstr "其中之一" #: js/blocks/NumberBlocks.js:858 msgid "this" +# TRANS: machine translation msgstr "此" #: js/blocks/NumberBlocks.js:858 msgid "that" +# TRANS: machine translation msgstr "彼" #: js/blocks/NumberBlocks.js:913 msgid "The Random block returns a random number." +# TRANS: machine translation msgstr "Random 块返回一个随机数。" #: js/blocks/NumberBlocks.js:920 @@ -4300,48 +4587,58 @@ msgstr "最大" #: js/blocks/NumberBlocks.js:986 msgid "The Number block holds a number." +# TRANS: machine translation msgstr "Number 块保存一个数字。" #: js/blocks/OrnamentBlocks.js:32 msgid "staccato factor" +# TRANS: machine translation msgstr "断音因子" #: js/blocks/OrnamentBlocks.js:108 msgid "slur factor" +# TRANS: machine translation msgstr "连音因子" #: js/blocks/OrnamentBlocks.js:217 #: js/blocks/OrnamentBlocks.js:309 #. TRANS: the neighbor refers to a neighboring note, e.g., D is a neighbor of C msgid "neighbor" +# TRANS: machine translation msgstr "邻近音" #: js/blocks/OrnamentBlocks.js:293 msgid "The Neighbor block rapidly switches between neighboring pitches." +# TRANS: machine translation msgstr "Neighbor 块快速切换相邻音高。" #: js/blocks/OrnamentBlocks.js:364 msgid "glide" +# TRANS: machine translation msgstr "滑音" #: js/blocks/OrnamentBlocks.js:479 #: js/blocks/OrnamentBlocks.js:643 msgid "slur" +# TRANS: machine translation msgstr "连音线" #: js/blocks/OrnamentBlocks.js:558 #: js/blocks/OrnamentBlocks.js:710 #. TRANS: play each note sharply detached from the others msgid "staccato" +# TRANS: machine translation msgstr "断音" #: js/blocks/ProgramBlocks.js:33 msgid "The Load-heap-from-app block loads the heap from a web page." +# TRANS: machine translation msgstr "Load-heap-from-app 块从网页加载堆。" #: js/blocks/ProgramBlocks.js:44 #. TRANS: load the heap contents from a URL msgid "load heap from App" +# TRANS: machine translation msgstr "从应用加载堆" #: js/blocks/ProgramBlocks.js:95 @@ -4354,133 +4651,163 @@ msgstr "找不到网页" #: js/blocks/ProgramBlocks.js:133 msgid "The Save-heap-to-app block saves the heap to a web page." +# TRANS: machine translation msgstr "Save-heap-to-app 块将堆保存到网页。" #: js/blocks/ProgramBlocks.js:144 #. TRANS: save the heap contents to a URL msgid "save heap to App" +# TRANS: machine translation msgstr "保存堆到应用" #: js/blocks/ProgramBlocks.js:189 msgid "Cannot find a valid heap for" +# TRANS: machine translation msgstr "找不到有效的堆用于" #: js/blocks/ProgramBlocks.js:206 msgid "The Load-heap block loads the heap from a file." +# TRANS: machine translation msgstr "Load-heap 块从文件加载堆。" #: js/blocks/ProgramBlocks.js:217 #. TRANS: load the heap from a file msgid "load heap" +# TRANS: machine translation msgstr "加载堆" #: js/blocks/ProgramBlocks.js:270 msgid "The file you selected does not contain a valid heap." +# TRANS: machine translation msgstr "您选择的文件不包含有效的堆。" #: js/blocks/ProgramBlocks.js:275 msgid "The loadHeap block needs a loadFile block." +# TRANS: machine translation msgstr "loadHeap 块需要一个 loadFile 块。" #: js/blocks/ProgramBlocks.js:291 msgid "The Set-heap block loads the heap." +# TRANS: machine translation msgstr "Set-heap 块加载堆。" #: js/blocks/ProgramBlocks.js:340 msgid "The block you selected does not contain a valid heap." +# TRANS: machine translation msgstr "您选择的块不包含有效的堆。" #: js/blocks/ProgramBlocks.js:343 msgid "The Set heap block needs a heap." +# TRANS: machine translation msgstr "Set heap 块需要一个堆。" #: js/blocks/ProgramBlocks.js:360 msgid "The Load-dictionary block loads a dictionary from a file." +# TRANS: machine translation msgstr "Load-dictionary 块从文件加载字典。" #: js/blocks/ProgramBlocks.js:372 #. TRANS: load a dictionary from a file msgid "load dictionary" +# TRANS: machine translation msgstr "加载字典" #: js/blocks/ProgramBlocks.js:390 #: js/blocks/ProgramBlocks.js:658 #: js/blocks/ToneBlocks.js:1025 msgid "file" +# TRANS: machine translation msgstr "文件" #: js/blocks/ProgramBlocks.js:444 msgid "The file you selected does not contain a valid dictionary." +# TRANS: machine translation msgstr "您选择的文件不包含有效的字典。" #: js/blocks/ProgramBlocks.js:449 msgid "The load dictionary block needs a load file block." +# TRANS: machine translation msgstr "load dictionary 块需要一个 load file 块。" #: js/blocks/ProgramBlocks.js:466 msgid "The Set-dictionary block loads a dictionary." +# TRANS: machine translation msgstr "Set-dictionary 块加载字典。" #: js/blocks/ProgramBlocks.js:477 #. TRANS: load a dictionary from a JSON msgid "set dictionary" +# TRANS: machine translation msgstr "设置字典" #: js/blocks/ProgramBlocks.js:546 msgid "The block you selected does not contain a valid dictionary." +# TRANS: machine translation msgstr "您选择的块不包含有效的字典。" #: js/blocks/ProgramBlocks.js:550 msgid "The set dictionary block needs a dictionary." +# TRANS: machine translation msgstr "set dictionary 块需要一个字典。" #: js/blocks/ProgramBlocks.js:567 msgid "The Save-heap block saves the heap to a file." +# TRANS: machine translation msgstr "Save-heap 块将堆保存到文件。" #: js/blocks/ProgramBlocks.js:578 #. TRANS: save the heap to a file msgid "save heap" +# TRANS: machine translation msgstr "保存堆" #: js/blocks/ProgramBlocks.js:629 msgid "The Save-dictionary block saves a dictionary to a file." +# TRANS: machine translation msgstr "Save-dictionary 块将字典保存到文件。" #: js/blocks/ProgramBlocks.js:640 #. TRANS: save a dictionary to a file msgid "save dictionary" +# TRANS: machine translation msgstr "保存字典" #: js/blocks/ProgramBlocks.js:720 msgid "The Open palette block opens a palette." +# TRANS: machine translation msgstr "Open palette 块打开调色板。" #: js/blocks/ProgramBlocks.js:727 msgid "open palette" +# TRANS: machine translation msgstr "打开调色板" #: js/blocks/ProgramBlocks.js:785 msgid "The Delete block block removes a block." +# TRANS: machine translation msgstr "Delete block 块删除一个块。" #: js/blocks/ProgramBlocks.js:797 #. TRANS: Move this block to the trash. msgid "delete block" +# TRANS: machine translation msgstr "删除块" #: js/blocks/ProgramBlocks.js:861 msgid "The Move block block moves a block." +# TRANS: machine translation msgstr "Move block 块用于移动一个块。" #: js/blocks/ProgramBlocks.js:869 #. TRANS: Move the position of a block on the screen. msgid "move block" +# TRANS: machine translation msgstr "移动块" #: js/blocks/ProgramBlocks.js:881 #: js/blocks/ProgramBlocks.js:1048 msgid "block number" +# TRANS: machine translation msgstr "块编号" #: js/blocks/ProgramBlocks.js:881 @@ -4510,32 +4837,39 @@ msgstr "Y座標" #: js/blocks/ProgramBlocks.js:935 #. TRANS: Run program beginning at this block. msgid "run block" +# TRANS: machine translation msgstr "运行块" #: js/blocks/ProgramBlocks.js:1025 msgid "The Dock block block connections two blocks." +# TRANS: machine translation msgstr "Dock block 块连接两个块。" #: js/blocks/ProgramBlocks.js:1036 #. TRANS: We can connect a block to another block. msgid "connect blocks" +# TRANS: machine translation msgstr "连接块" #: js/blocks/ProgramBlocks.js:1048 msgid "target block" +# TRANS: machine translation msgstr "目标块" #: js/blocks/ProgramBlocks.js:1048 msgid "connection number" +# TRANS: machine translation msgstr "连接编号" #: js/blocks/ProgramBlocks.js:1140 msgid "The Make block block creates a new block." +# TRANS: machine translation msgstr "Make block 块用于创建一个新块。" #: js/blocks/ProgramBlocks.js:1152 #. TRANS: Create a new block msgid "make block" +# TRANS: machine translation msgstr "创建块" #: js/blocks/ProgramBlocks.js:1186 @@ -4555,29 +4889,35 @@ msgstr "音符" #: js/blocks/ProgramBlocks.js:1285 msgid "Cannot find block" +# TRANS: machine translation msgstr "找不到块" #: js/blocks/ProgramBlocks.js:1304 #: js/blocks/ProgramBlocks.js:1313 msgid "Warning: block argument type mismatch" +# TRANS: machine translation msgstr "警告:块参数类型不匹配" #: js/blocks/ProgramBlocks.js:1347 msgid "The Open project block is used to open a project from a web page." +# TRANS: machine translation msgstr "Open project 块用于从网页打开项目。" #: js/blocks/ProgramBlocks.js:1357 msgid "open project" +# TRANS: machine translation msgstr "打开项目" #: js/blocks/ProgramBlocks.js:1410 msgid "Please enter a valid URL." +# TRANS: machine translation msgstr "请输入有效的URL。" #: js/blocks/RhythmBlocks.js:182 #: js/blocks/RhythmBlocks.js:1086 #: js/blocks/RhythmBlocks.js:1162 msgid "Note value must be greater than 0." +# TRANS: machine translation msgstr "音符值必须大于0。" #: js/blocks/RhythmBlocks.js:215 @@ -4585,84 +4925,102 @@ msgstr "音符值必须大于0。" #: js/blocks/RhythmBlocks.js:350 #. TRANS: swing is a rhythmic variation that emphasises the offbeat msgid "swing" +# TRANS: machine translation msgstr "摇摆" #: js/blocks/RhythmBlocks.js:355 #. TRANS: the amount to shift to the offbeat note msgid "swing value" +# TRANS: machine translation msgstr "摆动值" #: js/blocks/RhythmBlocks.js:419 msgid "The Skip notes block will cause notes to be skipped." +# TRANS: machine translation msgstr "Skip notes 块会导致音符被跳过。" #: js/blocks/RhythmBlocks.js:427 #. TRANS: substitute rests on notes being skipped msgid "skip notes" +# TRANS: machine translation msgstr "跳过音符" #: js/blocks/RhythmBlocks.js:489 #. TRANS: speed up note duration by some factor, e.g. convert 1/4 to 1/8 notes by using a factor of 2 msgid "multiply note value" +# TRANS: machine translation msgstr "倍乘音符值" #: js/blocks/RhythmBlocks.js:542 msgid "The Tie block works on pairs of notes, combining them into one note." +# TRANS: machine translation msgstr "Tie 块作用于成对的音符,将它们合并为一个音符。" #: js/blocks/RhythmBlocks.js:550 #. TRANS: tie notes together into one longer note msgid "tie" +# TRANS: machine translation msgstr "连音" #: js/blocks/RhythmBlocks.js:591 #: js/blocks/RhythmBlocks.js:671 #. TRANS: a dotted note is played for 1.5x its value, e.g., 1/8. --> 3/16 msgid "dot" +# TRANS: machine translation msgstr "附点" #: js/blocks/RhythmBlocks.js:619 #: js/turtleactions/RhythmActions.js:221 msgid "An argument of -1 results in a note value of 0." +# TRANS: machine translation msgstr "参数为 -1 会导致音符值为 0。" #: js/blocks/RhythmBlocks.js:661 msgid "The Dot block extends the duration of a note by 50%." +# TRANS: machine translation msgstr "Dot 块将音符时值延长50%。" #: js/blocks/RhythmBlocks.js:663 msgid "Eg a dotted quarter note will play for 3/8 (1/4 + 1/8) of a beat." +# TRANS: machine translation msgstr "例如,附点四分音符的时值为3/8拍(1/4 + 1/8)。" #: js/blocks/RhythmBlocks.js:765 #. TRANS: Japanese only: note value block for drum msgid "note value drum" +# TRANS: machine translation msgstr "音符值鼓" #: js/blocks/RhythmBlocks.js:829 msgid "392 hertz" +# TRANS: machine translation msgstr "392 赫兹" #: js/blocks/RhythmBlocks.js:1119 msgid "The Note block is a container for one or more Pitch blocks." +# TRANS: machine translation msgstr "Note 块是一个或多个 Pitch 块的容器。" #: js/blocks/RhythmBlocks.js:1121 msgid "The Note block specifies the duration (note value) of its contents." +# TRANS: machine translation msgstr "Note 块指定其内容的时值(音符值)。" #: js/blocks/RhythmBlocks.js:1130 msgid "value2" +# TRANS: machine translation msgstr "值2" #: js/blocks/RhythmBlocks.js:1200 msgid "define frequency" +# TRANS: machine translation msgstr "定义频率" #: js/blocks/RhythmBlocks.js:1218 #: js/widgets/temperament.js:757 #: js/widgets/temperament.js:1522 msgid "octave space" +# TRANS: machine translation msgstr "八度空间" #: js/blocks/RhythmBlockPaletteBlocks.js:50 @@ -4670,6 +5028,7 @@ msgstr "八度空间" #. TRANS: rhythm block #. TRANS: translate "rhythm1" as rhythm msgid "rhythm1" +# TRANS: machine translation msgstr "节奏1" #: js/blocks/RhythmBlockPaletteBlocks.js:70 @@ -4678,47 +5037,57 @@ msgstr "节奏1" #: js/blocks/RhythmBlockPaletteBlocks.js:586 #: js/blocks/RhythmBlockPaletteBlocks.js:907 msgid "number of notes" +# TRANS: machine translation msgstr "音符数量" #: js/blocks/RhythmBlockPaletteBlocks.js:126 msgid "polyphonic rhythm" +# TRANS: machine translation msgstr "复音节奏" #: js/blocks/RhythmBlockPaletteBlocks.js:219 msgid "The Rhythm block is used to generate rhythm patterns." +# TRANS: machine translation msgstr "Rhythm 块用于生成节奏模式。" #: js/blocks/RhythmBlockPaletteBlocks.js:281 #: js/blocks/RhythmBlockPaletteBlocks.js:286 msgid "1/64 note" +# TRANS: machine translation msgstr "六十四分音符" #: js/blocks/RhythmBlockPaletteBlocks.js:312 #: js/blocks/RhythmBlockPaletteBlocks.js:317 msgid "1/32 note" +# TRANS: machine translation msgstr "三十二分音符" #: js/blocks/RhythmBlockPaletteBlocks.js:346 #: js/blocks/RhythmBlockPaletteBlocks.js:351 msgid "1/16 note" +# TRANS: machine translation msgstr "十六分音符" #: js/blocks/RhythmBlockPaletteBlocks.js:380 msgid "eighth note" +# TRANS: machine translation msgstr "八分音符" #: js/blocks/RhythmBlockPaletteBlocks.js:408 msgid "quarter note" +# TRANS: machine translation msgstr "四分音符" #: js/blocks/RhythmBlockPaletteBlocks.js:436 #: js/blocks/RhythmBlockPaletteBlocks.js:441 msgid "half note" +# TRANS: machine translation msgstr "二分音符" #: js/blocks/RhythmBlockPaletteBlocks.js:470 #: js/blocks/RhythmBlockPaletteBlocks.js:475 msgid "whole note" +# TRANS: machine translation msgstr "全音符" #: js/blocks/RhythmBlockPaletteBlocks.js:514 @@ -4726,87 +5095,108 @@ msgstr "全音符" #: js/blocks/RhythmBlockPaletteBlocks.js:634 #. TRANS: A tuplet is a note value divided into irregular time values. msgid "tuplet" +# TRANS: machine translation msgstr "复音符组" #: js/blocks/RhythmBlockPaletteBlocks.js:800 msgid "septuplet" +# TRANS: machine translation msgstr "七连音" #: js/blocks/RhythmBlockPaletteBlocks.js:828 msgid "quintuplet" +# TRANS: machine translation msgstr "五连音" #: js/blocks/RhythmBlockPaletteBlocks.js:856 msgid "triplet" +# TRANS: machine translation msgstr "三连音" #: js/blocks/RhythmBlockPaletteBlocks.js:883 msgid "simple tuplet" +# TRANS: machine translation msgstr "简单复拍" #: js/blocks/RhythmBlockPaletteBlocks.js:893 msgid "Tuplets are a collection of notes that get scaled to a specific duration." +# TRANS: machine translation msgstr "复拍是一组被缩放到特定时值的音符。" #: js/blocks/FlowBlocks.js:41 msgid "The Backward block runs code in reverse order (Musical retrograde)." +# TRANS: machine translation msgstr "Backward 块按相反顺序运行代码(音乐倒行)。" #: js/blocks/FlowBlocks.js:48 msgid "backward" +# TRANS: machine translation msgstr "后退" #: js/blocks/FlowBlocks.js:124 msgid "The Duplicate block will run each block multiple times." +# TRANS: machine translation msgstr "Duplicate 块将多次运行每个块。" #: js/blocks/FlowBlocks.js:334 msgid "The Default block is used inside of a Switch to define the default action." +# TRANS: machine translation msgstr "Default 块用于 Switch 内定义默认操作。" #: js/blocks/FlowBlocks.js:342 msgid "default" +# TRANS: machine translation msgstr "默认" #: js/blocks/FlowBlocks.js:361 #: js/blocks/FlowBlocks.js:418 msgid "The Case Block must be used inside of a Switch Block." +# TRANS: machine translation msgstr "Case 块必须在 Switch 块内使用。" #: js/blocks/FlowBlocks.js:389 msgid "The Case block is used inside of a Switch to define matches." +# TRANS: machine translation msgstr "Case 块用于 Switch 内定义匹配项。" #: js/blocks/FlowBlocks.js:397 msgid "case" +# TRANS: machine translation msgstr "情况" #: js/blocks/FlowBlocks.js:446 msgid "The Switch block will run the code in the matching Case." +# TRANS: machine translation msgstr "Switch 块将运行匹配 Case 中的代码。" #: js/blocks/FlowBlocks.js:454 msgid "switch" +# TRANS: machine translation msgstr "切换" #: js/blocks/FlowBlocks.js:595 msgid "The Stop block will stop a loop" +# TRANS: machine translation msgstr "Stop 块将停止循环" #: js/blocks/FlowBlocks.js:597 msgid "Forever, Repeat, While, or Until." +# TRANS: machine translation msgstr "Forever、Repeat、While 或 Until。" #: js/blocks/FlowBlocks.js:653 msgid "The Waitfor block will wait until the condition is true." +# TRANS: machine translation msgstr "Waitfor 块将等待直到条件为真。" #: js/blocks/FlowBlocks.js:661 msgid "wait for" +# TRANS: machine translation msgstr "等待" #: js/blocks/FlowBlocks.js:732 msgid "The Until block will repeat until the condition is true." +# TRANS: machine translation msgstr "Until 块将重复直到条件为真。" #: js/blocks/FlowBlocks.js:740 @@ -4816,6 +5206,7 @@ msgstr "直到" #: js/blocks/FlowBlocks.js:742 #: js/blocks/FlowBlocks.js:822 msgid "do2" +# TRANS: machine translation msgstr "执行2" #: js/blocks/FlowBlocks.js:742 @@ -4826,10 +5217,12 @@ msgstr "执行2" #: js/blocks/ActionBlocks.js:959 #: js/blocks/ActionBlocks.js:1048 msgid "do" +# TRANS: machine translation msgstr "执行" #: js/blocks/FlowBlocks.js:812 msgid "The While block will repeat while the condition is true." +# TRANS: machine translation msgstr "While 块在条件为真时重复执行。" #: js/blocks/FlowBlocks.js:820 @@ -4840,6 +5233,7 @@ msgstr "同時間" #: js/blocks/FlowBlocks.js:968 #: js/blocks/FlowBlocks.js:979 msgid "In this example if the mouse button is pressed a snare drum will play." +# TRANS: machine translation msgstr "在此示例中,如果按下鼠标按钮,将播放军鼓。" #: js/blocks/FlowBlocks.js:925 @@ -4858,6 +5252,7 @@ msgstr "否則" #: js/blocks/FlowBlocks.js:1025 msgid "The Forever block will repeat the contained blocks forever." +# TRANS: machine translation msgstr "Forever 块将无限重复包含的块。" #: js/blocks/FlowBlocks.js:1037 @@ -4866,10 +5261,12 @@ msgstr "持續執行" #: js/blocks/FlowBlocks.js:1073 msgid "The Repeat block will repeat the contained blocks." +# TRANS: machine translation msgstr "Repeat 块将重复包含的块。" #: js/blocks/FlowBlocks.js:1075 msgid "In this example the note will be played 4 times." +# TRANS: machine translation msgstr "在此示例中,该音符将播放 4 次。" #: js/blocks/FlowBlocks.js:1083 @@ -4878,20 +5275,24 @@ msgstr "重複" #: js/blocks/FlowBlocks.js:1123 msgid "duplicate factor" +# TRANS: machine translation msgstr "重复因子" #: js/blocks/MeterBlocks.js:34 #. TRANS: musical meter (time signature), e.g., 4:4 msgid "current meter" +# TRANS: machine translation msgstr "当前拍号" #: js/blocks/MeterBlocks.js:85 #. TRANS: number of beats per minute msgid "beat factor" +# TRANS: machine translation msgstr "节拍因子" #: js/blocks/MeterBlocks.js:161 msgid "The Beats per minute block returns the current beats per minute." +# TRANS: machine translation msgstr "每分钟节拍数块返回当前的每分钟节拍数。" #: js/blocks/MeterBlocks.js:170 @@ -4899,6 +5300,7 @@ msgstr "每分钟节拍数块返回当前的每分钟节拍数。" #. TRANS: number of beats played per minute #. TRANS: in Japanese: "1分当たりの拍の数" msgid "beats per minute2" +# TRANS: machine translation msgstr "每分钟节拍数2" #: js/blocks/MeterBlocks.js:170 @@ -4907,20 +5309,24 @@ msgstr "每分钟节拍数2" #: js/blocks/MeterBlocks.js:1212 #. TRANS: sets tempo by defining a beat and beats per minute msgid "beats per minute" +# TRANS: machine translation msgstr "每分钟节拍数" #: js/blocks/MeterBlocks.js:234 #. TRANS: count of current musical measure in meter msgid "measure count" +# TRANS: machine translation msgstr "小节数" #: js/blocks/MeterBlocks.js:242 msgid "The Measure count block returns the current measure." +# TRANS: machine translation msgstr "小节数块返回当前小节。" #: js/blocks/MeterBlocks.js:291 #. TRANS: count of current beat in the meter msgid "beat count" +# TRANS: machine translation msgstr "节拍计数" #: js/blocks/MeterBlocks.js:301 @@ -4928,70 +5334,85 @@ msgstr "节拍计数" #: js/blocks/MeterBlocks.js:566 #: js/blocks/MeterBlocks.js:577 msgid "The Beat count block is the number of the current beat," +# TRANS: machine translation msgstr "节拍计数块表示当前节拍数," #: js/blocks/MeterBlocks.js:314 #: js/blocks/MeterBlocks.js:579 msgid "eg 1, 2, 3, or 4." +# TRANS: machine translation msgstr "例如 1、2、3 或 4。" #: js/blocks/MeterBlocks.js:369 #. TRANS: count the number of notes msgid "sum note values" +# TRANS: machine translation msgstr "音符值总和" #: js/blocks/MeterBlocks.js:377 #: js/blocks/MeterBlocks.js:441 msgid "The Note counter block can be used to count the number of contained notes." +# TRANS: machine translation msgstr "音符计数器块可用于计算包含的音符数量。" #: js/blocks/MeterBlocks.js:433 #. TRANS: count the number of notes msgid "note counter" +# TRANS: machine translation msgstr "音符计数器" #: js/blocks/MeterBlocks.js:497 #. TRANS: number of whole notes that have been played msgid "whole notes played" +# TRANS: machine translation msgstr "演奏的全音符数" #: js/blocks/MeterBlocks.js:506 msgid "The Whole notes played block returns the total number of whole notes played." +# TRANS: machine translation msgstr "全音符演奏块返回演奏的全音符总数。" #: js/blocks/MeterBlocks.js:556 #: js/turtleactions/DictActions.js:83 #. TRANS: number of notes that have been played msgid "notes played" +# TRANS: machine translation msgstr "演奏的音符数" #: js/blocks/MeterBlocks.js:654 msgid "The No clock block decouples the notes from the master clock." +# TRANS: machine translation msgstr "无时钟块将音符与主时钟解耦。" #: js/blocks/MeterBlocks.js:662 #. TRANS: don't lock notes to master clock msgid "no clock" +# TRANS: machine translation msgstr "无时钟" #: js/blocks/MeterBlocks.js:701 msgid "on weak beat do" +# TRANS: machine translation msgstr "在弱拍执行" #: js/blocks/MeterBlocks.js:706 msgid "The On-weak-beat block lets you specify actions to take on weak (off) beats." +# TRANS: machine translation msgstr "弱拍块允许您指定在弱拍(弱拍)上执行的操作。" #: js/blocks/MeterBlocks.js:751 msgid "on strong beat" +# TRANS: machine translation msgstr "在强拍执行" #: js/blocks/MeterBlocks.js:759 msgid "The On-strong-beat block lets you specify actions to take on specified beats." +# TRANS: machine translation msgstr "强拍块允许您指定在特定强拍上执行的操作。" #: js/blocks/MeterBlocks.js:770 msgid "beat" +# TRANS: machine translation msgstr "节拍" #: js/blocks/MeterBlocks.js:770 @@ -5000,102 +5421,123 @@ msgstr "节拍" #: js/blocks/ActionBlocks.js:959 #: js/blocks/ActionBlocks.js:1048 msgid "do1" +# TRANS: machine translation msgstr "做1" #: js/blocks/MeterBlocks.js:814 msgid "on every beat do" +# TRANS: machine translation msgstr "在每个拍子执行" #: js/blocks/MeterBlocks.js:822 msgid "The On-every-beat block lets you specify actions to take on every beat." +# TRANS: machine translation msgstr "每拍块允许您指定在每个拍子上执行的操作。" #: js/blocks/MeterBlocks.js:875 msgid "on every note do" +# TRANS: machine translation msgstr "在每个音符执行" #: js/blocks/MeterBlocks.js:883 msgid "The On-every-note block lets you specify actions to take on every note." +# TRANS: machine translation msgstr "每音符块允许您指定在每个音符上执行的操作。" #: js/blocks/MeterBlocks.js:929 #: js/blocks/MeterBlocks.js:1000 #. TRANS: sets tempo by defining a beat and beats per minute msgid "master beats per minute" +# TRANS: machine translation msgstr "主节拍每分钟数" #: js/blocks/MeterBlocks.js:953 #: js/blocks/MeterBlocks.js:1079 #: js/blocks/MeterBlocks.js:1136 msgid "bpm" +# TRANS: machine translation msgstr "每分钟节拍数" #: js/blocks/MeterBlocks.js:953 #: js/blocks/MeterBlocks.js:1079 #: js/blocks/MeterBlocks.js:1136 msgid "beat value" +# TRANS: machine translation msgstr "节拍值" #: js/blocks/MeterBlocks.js:1025 #: js/blocks/MeterBlocks.js:1168 #: js/blocks/MeterBlocks.js:1242 msgid "Beats per minute must be > 30." +# TRANS: machine translation msgstr "每分钟节拍数必须大于30。" #: js/blocks/MeterBlocks.js:1028 #: js/blocks/MeterBlocks.js:1171 #: js/blocks/MeterBlocks.js:1245 msgid "Maximum beats per minute is 1000." +# TRANS: machine translation msgstr "最大每分钟节拍数为1000。" #: js/blocks/MeterBlocks.js:1069 msgid "The Beats per minute block sets the number of 1/4 notes per minute." +# TRANS: machine translation msgstr "节拍每分钟块设置每分钟四分音符的数量。" #: js/blocks/MeterBlocks.js:1280 #. TRANS: anacrusis msgid "pickup" +# TRANS: machine translation msgstr "前奏拍" #: js/blocks/MeterBlocks.js:1368 msgid "number of beats" +# TRANS: machine translation msgstr "拍数" #: js/blocks/PitchBlocks.js:141 #. TRANS: musical transposition (adjustment of pitch up or down) msgid "transposition" +# TRANS: machine translation msgstr "移调" #: js/blocks/PitchBlocks.js:168 #. TRANS: step down one note in current musical scale msgid "scalar step down" +# TRANS: machine translation msgstr "音阶下行" #: js/blocks/PitchBlocks.js:172 msgid "The Scalar step down block returns the number of semi-tones down to the previous note in the current key and mode." +# TRANS: machine translation msgstr "音阶下行块返回当前调式中与前一个音符之间的半音数。" #: js/blocks/PitchBlocks.js:190 #. TRANS: step up one note in current musical scale msgid "scalar step up" +# TRANS: machine translation msgstr "音阶上行" #: js/blocks/PitchBlocks.js:194 msgid "The Scalar step up block returns the number of semi-tones up to the next note in the current key and mode." +# TRANS: machine translation msgstr "音阶上行块返回当前调式中与下一个音符之间的半音数。" #: js/blocks/PitchBlocks.js:212 #. TRANS: the change measured in half-steps between the current pitch and the previous pitch msgid "change in pitch" +# TRANS: machine translation msgstr "音高变化" #: js/blocks/PitchBlocks.js:216 msgid "The Change in pitch block is the difference (in half steps) between the current pitch being played and the previous pitch played." +# TRANS: machine translation msgstr "音高变化块表示当前播放音高与之前播放音高之间的半音差异。" #: js/blocks/PitchBlocks.js:243 #. TRANS: the change measured in scale-steps between the current pitch and the previous pitch msgid "scalar change in pitch" +# TRANS: machine translation msgstr "音阶音高变化" #: js/blocks/PitchBlocks.js:250 @@ -5108,89 +5550,109 @@ msgstr "音阶音高变化" #. TRANS: convert current note to piano key (1-88) #. TRANS: a mapping of pitch to the 88 piano keys msgid "pitch number" +# TRANS: machine translation msgstr "音高编号" #: js/blocks/PitchBlocks.js:256 msgid "The Pitch number block is the value of the pitch of the note currently being played." +# TRANS: machine translation msgstr "音高编号块表示当前正在播放的音符的音高值。" #: js/blocks/PitchBlocks.js:329 #: js/blocks/PitchBlocks.js:433 #. TRANS: the current pitch expressed in Hertz msgid "pitch in hertz" +# TRANS: machine translation msgstr "以赫兹表示的音高" #: js/blocks/PitchBlocks.js:334 msgid "The Pitch in Hertz block is the value in Hertz of the pitch of the note currently being played." +# TRANS: machine translation msgstr "以赫兹表示的音高块是当前正在播放音符的赫兹值。" #: js/blocks/PitchBlocks.js:367 #: js/turtleactions/DictActions.js:87 msgid "current pitch" +# TRANS: machine translation msgstr "当前音高" #: js/blocks/PitchBlocks.js:373 msgid "The Current Pitch block is used with the Pitch Converter block. In the example above, current pitch, sol 4, is displayed as 392 hertz." +# TRANS: machine translation msgstr "当前音高块与音高转换块一起使用。上述示例中,当前音高 sol 4 显示为 392 赫兹。" #: js/blocks/PitchBlocks.js:410 msgid "This block converts the pitch value of the last note played into different formats such as hertz, letter name, pitch number, et al." +# TRANS: machine translation msgstr "此块将最后播放音符的音高值转换为赫兹、字母名、音高编号等多种格式。" #: js/blocks/PitchBlocks.js:434 msgid "alphabet" +# TRANS: machine translation msgstr "字母表" #: js/blocks/PitchBlocks.js:436 #. TRANS: Translate as "alphabet class" msgid "letter class" +# TRANS: machine translation msgstr "字母类别" #: js/blocks/PitchBlocks.js:437 msgid "solfege class" +# TRANS: machine translation msgstr "视唱类别" #: js/blocks/PitchBlocks.js:438 msgid "staff y" +# TRANS: machine translation msgstr "五线谱Y坐标" #: js/blocks/PitchBlocks.js:439 msgid "solfege syllable" +# TRANS: machine translation msgstr "视唱音节" #: js/blocks/PitchBlocks.js:440 msgid "pitch class" +# TRANS: machine translation msgstr "音高类别" #: js/blocks/PitchBlocks.js:441 msgid "scalar class" +# TRANS: machine translation msgstr "标量类别" #: js/blocks/PitchBlocks.js:443 msgid "nth degree" +# TRANS: machine translation msgstr "第n度音" #: js/blocks/PitchBlocks.js:444 msgid "pitch to shade" +# TRANS: machine translation msgstr "音高到阴影" #: js/blocks/PitchBlocks.js:445 msgid "pitch to color" +# TRANS: machine translation msgstr "音高到颜色" #: js/blocks/PitchBlocks.js:629 #: js/widgets/musickeyboard.js:753 #. TRANS: MIDI is a technical standard for electronic music msgid "MIDI" +# TRANS: machine translation msgstr "MIDI" #: js/blocks/PitchBlocks.js:642 #. TRANS: set an offset associated with the numeric piano keyboard mapping msgid "set pitch number offset" +# TRANS: machine translation msgstr "设置音高编号偏移" #: js/blocks/PitchBlocks.js:645 msgid "The Set pitch number offset block is used to set the offset for mapping pitch numbers to pitch and octave." +# TRANS: machine translation msgstr "设置音高编号偏移块用于设置将音高编号映射到音高和八度的偏移量。" #: js/blocks/PitchBlocks.js:656 @@ -5199,174 +5661,212 @@ msgstr "设置音高编号偏移块用于设置将音高编号映射到音高和 #: js/blocks/MediaBlocks.js:746 #. TRANS: name2 is name as in name of pitch (JAPANESE ONLY) msgid "name2" +# TRANS: machine translation msgstr "名称2" #: js/blocks/PitchBlocks.js:679 #. TRANS: convert piano key number (1-88) to pitch msgid "number to pitch" +# TRANS: machine translation msgstr "数字转音高" #: js/blocks/PitchBlocks.js:682 msgid "The Number to pitch block will convert a pitch number to a pich name." +# TRANS: machine translation msgstr "数字转音高块将音高编号转换为音高名称。" #: js/blocks/PitchBlocks.js:715 #. TRANS: convert piano key number (1-88) to octave msgid "number to octave" +# TRANS: machine translation msgstr "数字转八度" #: js/blocks/PitchBlocks.js:717 msgid "The Number to octave block will convert a pitch number to an octave." +# TRANS: machine translation msgstr "数字转八度块将音高编号转换为八度。" #: js/blocks/PitchBlocks.js:726 msgid "y to pitch" +# TRANS: machine translation msgstr "y坐标转音高" #: js/blocks/PitchBlocks.js:729 msgid "Y to pitch block will convert a staff y position to corresponding pitch notation." +# TRANS: machine translation msgstr "Y 到音高模块会将五线谱的 Y 位置转换为对应的音高符号。" #: js/blocks/PitchBlocks.js:841 msgid "accidental selector" +# TRANS: machine translation msgstr "变音符号选择器" #: js/blocks/PitchBlocks.js:844 msgid "The Accidental selector block is used to choose between double-sharp, sharp, natural, flat, and double-flat." +# TRANS: machine translation msgstr "变音符号选择器块用于选择重升号、升号、还原号、降号和重降号。" #: js/blocks/PitchBlocks.js:858 msgid "Pitch can be specified in terms of ni dha pa ma ga re sa." +# TRANS: machine translation msgstr "音高可以用 ni dha pa ma ga re sa 表示。" #: js/blocks/PitchBlocks.js:872 msgid "Pitch can be specified in terms of C D E F G A B." +# TRANS: machine translation msgstr "音高可以用 C D E F G A B 表示。" #: js/blocks/PitchBlocks.js:884 msgid "solfege" +# TRANS: machine translation msgstr "视唱法" #: js/blocks/PitchBlocks.js:887 msgid "Pitch can be specified in terms of do re mi fa sol la ti." +# TRANS: machine translation msgstr "音高可以用 do re mi fa sol la ti 表示。" #: js/blocks/PitchBlocks.js:922 msgid "The Invert block rotates any contained notes around a target note." +# TRANS: machine translation msgstr "反转块将包含的音符绕目标音符旋转。" #: js/blocks/PitchBlocks.js:929 #: js/widgets/modewidget.js:137 #. TRANS: pitch inversion rotates a pitch around another pitch msgid "Invert" +# TRANS: machine translation msgstr "反转" #: js/blocks/PitchBlocks.js:968 #. TRANS: pitch inversion rotates a pitch around another pitch (odd number) msgid "invert (odd)" +# TRANS: machine translation msgstr "反转(奇数)" #: js/blocks/PitchBlocks.js:1001 #. TRANS: pitch inversion rotates a pitch around another pitch (even number) msgid "invert (even)" +# TRANS: machine translation msgstr "反转(偶数)" #: js/blocks/PitchBlocks.js:1022 #. TRANS: register is the octave of the current pitch msgid "register" +# TRANS: machine translation msgstr "音区" #: js/blocks/PitchBlocks.js:1026 msgid "The Register block provides an easy way to modify the register (octave) of the notes that follow it." +# TRANS: machine translation msgstr "移调块提供了一种简单的方法来修改后续音符的音区(八度)。" #: js/blocks/PitchBlocks.js:1047 #. TRANS: cents are units used to specify the ratio between pitches. There are 100 cents between successive notes. msgid "50 cents" +# TRANS: machine translation msgstr "50分音" #: js/blocks/PitchBlocks.js:1102 msgid "The Semi-tone transposition block will shift the pitches contained inside Note blocks up (or down) by half steps." +# TRANS: machine translation msgstr "半音移调块会将Note块内的音高向上(或向下)移动半音。" #: js/blocks/PitchBlocks.js:1104 msgid "In the example shown above, sol is shifted up to sol#." +# TRANS: machine translation msgstr "在上例中,sol被移调到了sol#。" #: js/blocks/PitchBlocks.js:1110 #. TRANS: adjust the amount of shift (up or down) of a pitch msgid "semi-tone transpose" +# TRANS: machine translation msgstr "半音移调" #: js/blocks/PitchBlocks.js:1143 msgid "The Transpose by Ratio block will shift the pitches contained inside Note blocks up (or down) by a ratio" +# TRANS: machine translation msgstr "按比例移调块会将Note块内的音高按比例向上(或向下)移动。" #: js/blocks/PitchBlocks.js:1149 #. TRANS: adjust the amount of shift (up or down) of a pitch msgid "transpose by ratio" +# TRANS: machine translation msgstr "按比例移调" #: js/blocks/PitchBlocks.js:1232 #. TRANS: down sixth means the note is five scale degrees below current note msgid "down sixth" +# TRANS: machine translation msgstr "下降六度" #: js/blocks/PitchBlocks.js:1251 #. TRANS: down third means the note is two scale degrees below current note msgid "down third" +# TRANS: machine translation msgstr "下降三度" #: js/blocks/PitchBlocks.js:1270 #. TRANS: seventh means the note is the six scale degrees above current note msgid "seventh" +# TRANS: machine translation msgstr "七度" #: js/blocks/PitchBlocks.js:1289 #. TRANS: sixth means the note is the five scale degrees above current note msgid "sixth" +# TRANS: machine translation msgstr "六度" #: js/blocks/PitchBlocks.js:1308 #. TRANS: fifth means the note is the four scale degrees above current note msgid "fifth" +# TRANS: machine translation msgstr "五度" #: js/blocks/PitchBlocks.js:1328 #. TRANS: fourth means the note is three scale degrees above current note msgid "fourth" +# TRANS: machine translation msgstr "四度" #: js/blocks/PitchBlocks.js:1347 #. TRANS: third means the note is two scale degrees above current note msgid "third" +# TRANS: machine translation msgstr "三度" #: js/blocks/PitchBlocks.js:1366 #. TRANS: second means the note is one scale degree above current note msgid "second" +# TRANS: machine translation msgstr "二度" #: js/blocks/PitchBlocks.js:1407 msgid "The Scalar transposition block will shift the pitches contained inside Note blocks up (or down) the scale." +# TRANS: machine translation msgstr "音阶移调块会将Note块内的音高按音阶向上(或向下)移动。" #: js/blocks/PitchBlocks.js:1409 msgid "In the example shown above, sol is shifted up to la." +# TRANS: machine translation msgstr "在上例中,sol被移调到la。" #: js/blocks/PitchBlocks.js:1416 #. TRANS: adjust the amount of shift (up or down) of a pitch by musical scale (scalar) steps msgid "scalar transpose" +# TRANS: machine translation msgstr "音阶移调" #: js/blocks/PitchBlocks.js:1451 msgid "The Accidental block is used to create sharps and flats" +# TRANS: machine translation msgstr "临时升降记号块用于创建升音和降音" #: js/blocks/PitchBlocks.js:1458 #. TRANS: An accidental is a modification to a pitch, e.g., sharp or flat. msgid "accidental override" +# TRANS: machine translation msgstr "临时升降记号覆盖" #: js/blocks/PitchBlocks.js:1577 @@ -5375,14 +5875,17 @@ msgstr "临时升降记号覆盖" #: js/widgets/phrasemaker.js:1123 #. TRANS: a measure of frequency: one cycle per second msgid "hertz" +# TRANS: machine translation msgstr "赫兹" #: js/blocks/PitchBlocks.js:1581 msgid "The Hertz block (in combination with a Number block) will play a sound at the specified frequency." +# TRANS: machine translation msgstr "赫兹块(与数字块结合使用)将在指定频率播放声音。" #: js/blocks/PitchBlocks.js:1671 msgid "The Pitch Number block will play a pitch associated by its number, e.g. 0 for C and 7 for G." +# TRANS: machine translation msgstr "音高编号块将播放与其数字对应的音高,例如0代表C,7代表G。" #: js/blocks/PitchBlocks.js:1703 @@ -5390,52 +5893,64 @@ msgstr "音高编号块将播放与其数字对应的音高,例如0代表C,7 #. TRANS: a numeric mapping of the notes in an octave based on the musical mode #. TRANS: a numeric mapping of the notes in an octave based on the musical mode msgid "nth modal pitch" +# TRANS: machine translation msgstr "第n阶音高" #: js/blocks/PitchBlocks.js:1706 msgid "nth Modal Pitch takes the pattern of pitches in semitones for a mode and makes each point a degree of the mode," +# TRANS: machine translation msgstr "第n阶调式音高采用模式中以半音为单位的音高模式,并将每个点视为该模式的一个阶。" #: js/blocks/PitchBlocks.js:1708 msgid "starting from 1 and regardless of tonal framework (i.e. not always 8 notes in the octave)" +# TRANS: machine translation msgstr "从1开始,不考虑音调框架(即不总是八度内有8个音符)" #: js/blocks/PitchBlocks.js:1749 msgid "Nth Modal Pitch takes a number as an input as the nth degree for the given mode. 0 is the first position, 1 is the second, -1 is the note before the first etc." +# TRANS: machine translation msgstr "第n阶调式音高以数字作为输入,表示给定模式的第n个阶。0表示第一个位置,1表示第二个,-1表示第一个之前的音符,依此类推。" #: js/blocks/PitchBlocks.js:1751 msgid "The pitches change according to the mode specified without any need for respellings." +# TRANS: machine translation msgstr "音高根据指定的调式变化,无需重新拼写。" #: js/blocks/PitchBlocks.js:1790 msgid "Scale Degree is a common convention in music. Scale Degree offers seven possible positions in the scale (1-7) and can be modified via accidentals." +# TRANS: machine translation msgstr "音阶度数是音乐中的常用约定。音阶度数提供音阶中的七个可能位置(1-7),并可通过临时升降记号进行修改。" #: js/blocks/PitchBlocks.js:1792 msgid "Scale Degree 1 is always the first pitch in a given scale, regardless of octave." +# TRANS: machine translation msgstr "音阶度数1始终是给定音阶中的第一个音高,不论其所在的八度。" #: js/blocks/PitchBlocks.js:1814 #. TRANS: step some number of notes in current musical scale msgid "scalar step" +# TRANS: machine translation msgstr "音阶步长" #: js/blocks/PitchBlocks.js:1819 msgid "The Scalar Step block (in combination with a Number block) will play the next pitch in a scale," +# TRANS: machine translation msgstr "音阶步长块(与数字块结合使用)将播放音阶中的下一个音高," #: js/blocks/PitchBlocks.js:1821 msgid "eg if the last note played was sol, Scalar Step 1 will play la." +# TRANS: machine translation msgstr "例如,如果上一个播放的音符是sol,音阶步长1将播放la。" #: js/blocks/PitchBlocks.js:1857 msgid "The Pitch block specifies the pitch name and octave of a note that together determine the frequency of the note." +# TRANS: machine translation msgstr "音高块指定一个音符的音名和八度,这两者共同决定该音符的频率。" #: js/blocks/ToneBlocks.js:34 #: js/widgets/timbre.js:783 msgid "Oscillator" +# TRANS: machine translation msgstr "振荡器" #: js/blocks/ToneBlocks.js:42 @@ -5445,107 +5960,129 @@ msgstr "振荡器" #. TRANS: there are different types (sine, triangle, square...) of oscillators. #. TRANS: type of filter, e.g., lowpass, highpass, etc. msgid "type" +# TRANS: machine translation msgstr "类型" #: js/blocks/ToneBlocks.js:44 #: js/widgets/timbre.js:1554 #. TRANS: Partials refers to the number of sine waves combined into the sound. msgid "partials" +# TRANS: machine translation msgstr "部分谐波" #: js/blocks/ToneBlocks.js:76 msgid "You are adding multiple oscillator blocks." +# TRANS: machine translation msgstr "您正在添加多个振荡器块。" #: js/blocks/ToneBlocks.js:144 #: js/widgets/timbre.js:1217 #. TRANS: a duo synthesizer combines a synth with a sequencer msgid "duo synth" +# TRANS: machine translation msgstr "duo synth" #: js/blocks/ToneBlocks.js:149 msgid "The Duo synth block is a duo-frequency modulator used to define a timbre." +# TRANS: machine translation msgstr "Duo synth块是一个双频率调制器,用于定义音色。" #: js/blocks/ToneBlocks.js:157 #: js/widgets/timbre.js:1468 msgid "vibrato rate" +# TRANS: machine translation msgstr "颤音速率" #: js/blocks/ToneBlocks.js:157 msgid "vibrato intensity" +# TRANS: machine translation msgstr "颤音强度" #: js/blocks/ToneBlocks.js:185 #: js/widgets/timbre.js:1215 #. TRANS: AM (amplitude modulation) synthesizer msgid "AM synth" +# TRANS: machine translation msgstr "AM 合成器" #: js/blocks/ToneBlocks.js:189 msgid "The AM synth block is an amplitude modulator used to define a timbre." +# TRANS: machine translation msgstr "AM 合成器块是用于定义音色的振幅调制器。" #: js/blocks/ToneBlocks.js:224 #: js/widgets/timbre.js:1216 #. TRANS: FM (frequency modulation) synthesizer msgid "FM synth" +# TRANS: machine translation msgstr "FM 合成器" #: js/blocks/ToneBlocks.js:228 msgid "The FM synth block is a frequency modulator used to define a timbre." +# TRANS: machine translation msgstr "FM 合成器块是用于定义音色的频率调制器。" #: js/blocks/ToneBlocks.js:262 msgid "partial" +# TRANS: machine translation msgstr "部分" #: js/blocks/ToneBlocks.js:265 msgid "The Partial block is used to specify a weight for a specific partial harmonic." +# TRANS: machine translation msgstr "Partial块用于指定特定部分泛音的权重。" #: js/blocks/ToneBlocks.js:284 #. TRANS: partials are weighted components in a harmonic series msgid "Partial weight must be between 0 and 1." +# TRANS: machine translation msgstr "部分权重必须在0到1之间。" #: js/blocks/ToneBlocks.js:297 #. TRANS: partials are weighted components in a harmonic series msgid "Partial block should be used inside of a Weighted-partials block." +# TRANS: machine translation msgstr "Partial块应在加权部分块内使用。" #: js/blocks/ToneBlocks.js:325 #. TRANS: partials are weighted components in a harmonic series msgid "weighted partials" +# TRANS: machine translation msgstr "加权泛音" #: js/blocks/ToneBlocks.js:383 msgid "The Harmonic block will add harmonics to the contained notes." +# TRANS: machine translation msgstr "Harmonic块将为包含的音符添加泛音。" #: js/blocks/ToneBlocks.js:390 #. TRANS: A harmonic is an overtone. msgid "harmonic" +# TRANS: machine translation msgstr "谐波" #: js/blocks/ToneBlocks.js:431 msgid "The Distortion block adds distortion to the pitch." +# TRANS: machine translation msgstr "Distortion块为音高添加失真效果。" #: js/blocks/ToneBlocks.js:438 #: js/widgets/timbre.js:2088 #. TRANS: distortion is an alteration in the sound msgid "distortion" +# TRANS: machine translation msgstr "失真" #: js/blocks/ToneBlocks.js:487 msgid "The Tremolo block adds a wavering effect." +# TRANS: machine translation msgstr "Tremolo块添加颤音效果。" #: js/blocks/ToneBlocks.js:495 #: js/widgets/timbre.js:2084 #. TRANS: a wavering effect in a musical tone msgid "tremolo" +# TRANS: machine translation msgstr "颤音" #: js/blocks/ToneBlocks.js:500 @@ -5558,6 +6095,7 @@ msgstr "颤音" #: js/widgets/timbre.js:2407 #. TRANS: rate at which tremolo wavers msgid "rate" +# TRANS: machine translation msgstr "速率" #: js/blocks/ToneBlocks.js:502 @@ -5566,111 +6104,134 @@ msgstr "速率" #: js/widgets/timbre.js:2316 #. TRANS: amplitude of tremolo waver msgid "depth" +# TRANS: machine translation msgstr "深度" #: js/blocks/ToneBlocks.js:559 msgid "The Phaser block adds a sweeping sound." +# TRANS: machine translation msgstr "Phaser块添加扫频效果。" #: js/blocks/ToneBlocks.js:566 #: js/widgets/timbre.js:2087 #. TRANS: alter the phase of the sound msgid "phaser" +# TRANS: machine translation msgstr "移相器" #: js/blocks/ToneBlocks.js:569 #: js/turtleactions/IntervalsActions.js:114 #: js/widgets/timbre.js:2410 msgid "octaves" +# TRANS: machine translation msgstr "八度" #: js/blocks/ToneBlocks.js:569 #: js/widgets/timbre.js:2413 msgid "base frequency" +# TRANS: machine translation msgstr "基频" #: js/blocks/ToneBlocks.js:619 msgid "The Chorus block adds a chorus effect." +# TRANS: machine translation msgstr "Chorus块添加合唱效果。" #: js/blocks/ToneBlocks.js:627 #: js/widgets/timbre.js:2086 #. TRANS: musical effect to simulate a choral sound msgid "chorus" +# TRANS: machine translation msgstr "合唱" #: js/blocks/ToneBlocks.js:630 #: js/widgets/timbre.js:2310 msgid "delay (MS)" +# TRANS: machine translation msgstr "延迟(毫秒)" #: js/blocks/ToneBlocks.js:678 msgid "The Vibrato block adds a rapid, slight variation in pitch." +# TRANS: machine translation msgstr "Vibrato块添加快速且轻微的音高变化。" #: js/blocks/ToneBlocks.js:686 #: js/widgets/timbre.js:2085 #. TRANS: a rapid, slight variation in pitch msgid "vibrato" +# TRANS: machine translation msgstr "颤音" #: js/blocks/ToneBlocks.js:689 #: js/widgets/timbre.js:2209 msgid "intensity" +# TRANS: machine translation msgstr "强度" #: js/blocks/ToneBlocks.js:733 #. TRANS: select synthesizer msgid "set synth" +# TRANS: machine translation msgstr "设置合成器" #: js/blocks/ToneBlocks.js:804 msgid "synth name" +# TRANS: machine translation msgstr "合成器名称" #: js/blocks/ToneBlocks.js:842 msgid "set default instrument" +# TRANS: machine translation msgstr "设置默认乐器" #: js/blocks/ToneBlocks.js:895 #: js/blocks/ToneBlocks.js:943 #. TRANS: set the characteristics of a custom instrument msgid "set instrument" +# TRANS: machine translation msgstr "设置乐器" #: js/blocks/ToneBlocks.js:898 #: js/blocks/ToneBlocks.js:926 #: js/blocks/ToneBlocks.js:932 msgid "The Set instrument block selects a voice for the synthesizer," +# TRANS: machine translation msgstr "Set instrument块用于选择合成器的声音," #: js/blocks/ToneBlocks.js:900 #: js/blocks/ToneBlocks.js:934 msgid "eg guitar piano violin or cello." +# TRANS: machine translation msgstr "例如吉他、钢琴、小提琴或大提琴。" #: js/blocks/ToneBlocks.js:1015 msgid "Import a sound file to use as an instrument and set its pitch center." +# TRANS: machine translation msgstr "导入音频文件作为乐器并设置其音高中心。" #: js/blocks/ToneBlocks.js:1110 msgid "Upload a sound file to connect with the sample block." +# TRANS: machine translation msgstr "上传音频文件以连接采样块。" #: js/blocks/ActionBlocks.js:58 msgid "The Return block will return a value from an action." +# TRANS: machine translation msgstr "Return块将从一个动作返回一个值。" #: js/blocks/ActionBlocks.js:75 msgid "return" +# TRANS: machine translation msgstr "返回" #: js/blocks/ActionBlocks.js:128 msgid "The Return to URL block will return a value to a webpage." +# TRANS: machine translation msgstr "Return to URL块将值返回到网页。" #: js/blocks/ActionBlocks.js:145 msgid "return to URL" +# TRANS: machine translation msgstr "返回到URL" #: js/blocks/ActionBlocks.js:233 @@ -5678,12 +6239,14 @@ msgstr "返回到URL" #: js/blocks/ActionBlocks.js:501 #: js/blocks/ActionBlocks.js:688 msgid "The Calculate block returns a value calculated by an action." +# TRANS: machine translation msgstr "Calculate块返回一个动作计算的值。" #: js/blocks/ActionBlocks.js:251 #: js/blocks/ActionBlocks.js:517 #: js/blocks/ActionBlocks.js:707 msgid "calculate" +# TRANS: machine translation msgstr "计算" #: js/blocks/ActionBlocks.js:376 @@ -5692,81 +6255,99 @@ msgstr "计算" #: js/blocks/ActionBlocks.js:1389 #. TRANS: do is the do something or take an action. msgid "The Do block is used to initiate an action." +# TRANS: machine translation msgstr "Do块用于启动一个动作。" #: js/blocks/ActionBlocks.js:791 #: js/blocks/ActionBlocks.js:865 msgid "The Arg block contains the value of an argument passed to an action." +# TRANS: machine translation msgstr "Arg块包含传递给动作的参数值。" #: js/blocks/ActionBlocks.js:806 #: js/blocks/ActionBlocks.js:878 msgid "arg" +# TRANS: machine translation msgstr "参数" #: js/blocks/ActionBlocks.js:836 #: js/blocks/ActionBlocks.js:900 #: js/blocks/ActionBlocks.js:908 msgid "Invalid argument" +# TRANS: machine translation msgstr "无效参数" #: js/blocks/ActionBlocks.js:944 msgid "In the example, it is used with the One of block to choose a random phase." +# TRANS: machine translation msgstr "在示例中,它与One of块一起使用以选择随机阶段。" #: js/blocks/ActionBlocks.js:1019 #: js/blocks/ActionBlocks.js:1026 msgid "The Listen block is used to listen for an event such as a mouse click." +# TRANS: machine translation msgstr "Listen块用于监听事件,例如鼠标点击。" #: js/blocks/ActionBlocks.js:1028 msgid "When the event happens, an action is taken." +# TRANS: machine translation msgstr "当事件发生时,会执行一个动作。" #: js/blocks/ActionBlocks.js:1045 msgid "on" +# TRANS: machine translation msgstr "开启" #: js/blocks/ActionBlocks.js:1048 #: js/blocks/ActionBlocks.js:1049 #: js/blocks/ActionBlocks.js:1153 msgid "event" +# TRANS: machine translation msgstr "事件" #: js/blocks/ActionBlocks.js:1133 msgid "The Broadcast block is used to trigger an event." +# TRANS: machine translation msgstr "Broadcast块用于触发事件。" #: js/blocks/ActionBlocks.js:1151 msgid "broadcast" +# TRANS: machine translation msgstr "广播" #: js/blocks/ActionBlocks.js:1208 msgid "Each Start block is a separate voice." +# TRANS: machine translation msgstr "每个Start块是一个独立的声音。" #: js/blocks/ActionBlocks.js:1304 msgid "It is often used for storing a phrase of music that is repeated." +# TRANS: machine translation msgstr "它通常用于存储重复的音乐短语。" #: js/blocks/ActionBlocks.js:1495 msgid "define temperament" +# TRANS: machine translation msgstr "定义律制" #: js/blocks/EnsembleBlocks.js:87 msgid "mouse index heap" +# TRANS: machine translation msgstr "鼠标索引堆" #: js/blocks/EnsembleBlocks.js:87 msgid "turtle index heap" +# TRANS: machine translation msgstr "乌龟索引堆" #: js/blocks/EnsembleBlocks.js:89 msgid "The Mouse index heap block returns a value in the heap at a specified location for a specified mouse." +# TRANS: machine translation msgstr "Mouse索引堆块返回指定鼠标在堆中指定位置的值。" #: js/blocks/EnsembleBlocks.js:90 msgid "The Turtle index heap block returns a value in the heap at a specified location for a specified turtle." +# TRANS: machine translation msgstr "Turtle索引堆块返回指定乌龟在堆中指定位置的值。" #: js/blocks/EnsembleBlocks.js:94 @@ -5787,32 +6368,39 @@ msgstr "Turtle索引堆块返回指定乌龟在堆中指定位置的值。" #: js/blocks/EnsembleBlocks.js:1222 #: js/blocks/EnsembleBlocks.js:1296 msgid "Yertle" +# TRANS: machine translation msgstr "Yertle" #: js/blocks/EnsembleBlocks.js:96 #: js/blocks/EnsembleBlocks.js:1083 msgid "mouse name" +# TRANS: machine translation msgstr "鼠标名称" #: js/blocks/EnsembleBlocks.js:96 #: js/blocks/EnsembleBlocks.js:1092 msgid "turtle name" +# TRANS: machine translation msgstr "乌龟名称" #: js/blocks/EnsembleBlocks.js:147 msgid "stop mouse" +# TRANS: machine translation msgstr "停止鼠标" #: js/blocks/EnsembleBlocks.js:149 msgid "The Stop mouse block stops the specified mouse." +# TRANS: machine translation msgstr "停止鼠标块停止指定的鼠标。" #: js/blocks/EnsembleBlocks.js:160 msgid "stop turtle" +# TRANS: machine translation msgstr "停止乌龟" #: js/blocks/EnsembleBlocks.js:162 msgid "The Stop turtle block stops the specified turtle." +# TRANS: machine translation msgstr "停止乌龟块停止指定的乌龟。" #: js/blocks/EnsembleBlocks.js:186 @@ -5825,6 +6413,7 @@ msgstr "停止乌龟块停止指定的乌龟。" #: js/blocks/EnsembleBlocks.js:1193 #: js/blocks/EnsembleBlocks.js:1256 msgid "Cannot find mouse" +# TRANS: machine translation msgstr "找不到鼠标" #: js/blocks/EnsembleBlocks.js:188 @@ -5837,90 +6426,110 @@ msgstr "找不到鼠标" #: js/blocks/EnsembleBlocks.js:1195 #: js/blocks/EnsembleBlocks.js:1258 msgid "Cannot find turtle" +# TRANS: machine translation msgstr "找不到乌龟" #: js/blocks/EnsembleBlocks.js:208 msgid "start mouse" +# TRANS: machine translation msgstr "启动鼠标" #: js/blocks/EnsembleBlocks.js:211 msgid "The Start mouse block starts the specified mouse." +# TRANS: machine translation msgstr "启动鼠标块启动指定的鼠标。" #: js/blocks/EnsembleBlocks.js:222 msgid "start turtle" +# TRANS: machine translation msgstr "启动乌龟" #: js/blocks/EnsembleBlocks.js:225 msgid "The Start turtle block starts the specified turtle." +# TRANS: machine translation msgstr "启动乌龟块启动指定的乌龟。" #: js/blocks/EnsembleBlocks.js:258 msgid "Mouse is already running." +# TRANS: machine translation msgstr "鼠标已经在运行。" #: js/blocks/EnsembleBlocks.js:260 msgid "Turtle is already running." +# TRANS: machine translation msgstr "乌龟已经在运行。" #: js/blocks/EnsembleBlocks.js:284 msgid "Cannot find start block" +# TRANS: machine translation msgstr "找不到启动块" #: js/blocks/EnsembleBlocks.js:294 #. TRANS: pen color for this mouse msgid "mouse color" +# TRANS: machine translation msgstr "鼠标颜色" #: js/blocks/EnsembleBlocks.js:296 msgid "The Mouse color block returns the pen color of the specified mouse." +# TRANS: machine translation msgstr "鼠标颜色块返回指定鼠标的画笔颜色。" #: js/blocks/EnsembleBlocks.js:308 #. TRANS: pen color for this turtle msgid "turtle color" +# TRANS: machine translation msgstr "乌龟颜色" #: js/blocks/EnsembleBlocks.js:310 msgid "The Turtle color block returns the pen color of the specified turtle." +# TRANS: machine translation msgstr "乌龟颜色块返回指定乌龟的画笔颜色。" #: js/blocks/EnsembleBlocks.js:340 #. TRANS: heading (compass direction) for this mouse msgid "mouse heading" +# TRANS: machine translation msgstr "鼠标朝向" #: js/blocks/EnsembleBlocks.js:342 msgid "The Mouse heading block returns the heading of the specified mouse." +# TRANS: machine translation msgstr "鼠标朝向块返回指定鼠标的朝向。" #: js/blocks/EnsembleBlocks.js:354 #. TRANS: heading (compass direction) for this turtle msgid "turtle heading" +# TRANS: machine translation msgstr "乌龟朝向" #: js/blocks/EnsembleBlocks.js:356 msgid "The Turtle heading block returns the heading of the specified turtle." +# TRANS: machine translation msgstr "乌龟朝向块返回指定乌龟的朝向。" #: js/blocks/EnsembleBlocks.js:386 #: js/blocks/EnsembleBlocks.js:441 #. TRANS: set xy position for this mouse msgid "set mouse" +# TRANS: machine translation msgstr "设置鼠标" #: js/blocks/EnsembleBlocks.js:397 #: js/blocks/EnsembleBlocks.js:454 #. TRANS: set xy position for this turtle msgid "set turtle" +# TRANS: machine translation msgstr "设置乌龟" #: js/blocks/EnsembleBlocks.js:435 msgid "The Set mouse block sends a stack of blocks to be run by the specified mouse." +# TRANS: machine translation msgstr "设置鼠标块发送一组积木给指定的鼠标执行。" #: js/blocks/EnsembleBlocks.js:448 msgid "The Set turtle block sends a stack of blocks to be run by the specified turtle." +# TRANS: machine translation msgstr "设置乌龟块发送一组积木给指定的乌龟执行。" #: js/blocks/EnsembleBlocks.js:482 @@ -5930,15 +6539,18 @@ msgstr "滑鼠座標 y" #: js/blocks/EnsembleBlocks.js:484 msgid "The Y mouse block returns the Y position of the specified mouse." +# TRANS: machine translation msgstr "鼠标 Y 坐标块返回指定鼠标的 Y 位置。" #: js/blocks/EnsembleBlocks.js:496 #. TRANS: y position for this turtle msgid "turtle y" +# TRANS: machine translation msgstr "乌龟 Y 坐标" #: js/blocks/EnsembleBlocks.js:498 msgid "The Y turtle block returns the Y position of the specified turtle." +# TRANS: machine translation msgstr "乌龟 Y 坐标块返回指定乌龟的 Y 位置。" #: js/blocks/EnsembleBlocks.js:528 @@ -5948,225 +6560,277 @@ msgstr "滑鼠座標 x" #: js/blocks/EnsembleBlocks.js:530 msgid "The X mouse block returns the X position of the specified mouse." +# TRANS: machine translation msgstr "鼠标 X 坐标块返回指定鼠标的 X 位置。" #: js/blocks/EnsembleBlocks.js:542 #. TRANS: x position for this turtle msgid "turtle x" +# TRANS: machine translation msgstr "乌龟 X 坐标" #: js/blocks/EnsembleBlocks.js:544 msgid "The X turtle block returns the X position of the specified turtle." +# TRANS: machine translation msgstr "乌龟 X 坐标块返回指定乌龟的 X 位置。" #: js/blocks/EnsembleBlocks.js:575 #. TRANS: notes played by this mouse msgid "mouse notes played" +# TRANS: machine translation msgstr "鼠标已弹奏的音符数" #: js/blocks/EnsembleBlocks.js:577 msgid "The Mouse elapse notes block returns the number of notes played by the specified mouse." +# TRANS: machine translation msgstr "鼠标经过音符块返回指定鼠标已弹奏的音符数量。" #: js/blocks/EnsembleBlocks.js:589 #. TRANS: notes played by this turtle msgid "turtle notes played" +# TRANS: machine translation msgstr "乌龟已弹奏的音符数" #: js/blocks/EnsembleBlocks.js:591 msgid "The Turtle elapse notes block returns the number of notes played by the specified turtle." +# TRANS: machine translation msgstr "乌龟经过音符块返回指定乌龟已弹奏的音符数量。" #: js/blocks/EnsembleBlocks.js:629 #. TRANS: convert current note for this turtle to piano key (1-88) msgid "mouse pitch number" +# TRANS: machine translation msgstr "鼠标音高编号" #: js/blocks/EnsembleBlocks.js:631 msgid "The Mouse pitch block returns the current pitch number being played by the specified mouse." +# TRANS: machine translation msgstr "鼠标音高块返回指定鼠标当前演奏的音高编号。" #: js/blocks/EnsembleBlocks.js:643 #. TRANS: convert current note for this turtle to piano key (1-88) msgid "turtle pitch number" +# TRANS: machine translation msgstr "乌龟音高编号" #: js/blocks/EnsembleBlocks.js:645 msgid "The Turtle pitch block returns the current pitch number being played by the specified turtle." +# TRANS: machine translation msgstr "乌龟音高块返回指定乌龟当前演奏的音高编号。" #: js/blocks/EnsembleBlocks.js:749 #: js/blocks/EnsembleBlocks.js:821 #. TRANS: note value is the duration of the note played by this mouse msgid "mouse note value" +# TRANS: machine translation msgstr "鼠标音符时值" #: js/blocks/EnsembleBlocks.js:759 #. TRANS: note value is the duration of the note played by this turtle msgid "turtle note value" +# TRANS: machine translation msgstr "乌龟音符时值" #: js/blocks/EnsembleBlocks.js:832 #. TRANS: sync is short for synchronization msgid "mouse sync" +# TRANS: machine translation msgstr "鼠标同步" #: js/blocks/EnsembleBlocks.js:834 msgid "The Mouse sync block aligns the beat count between mice." +# TRANS: machine translation msgstr "鼠标同步块用于对齐鼠标之间的节拍计数。" #: js/blocks/EnsembleBlocks.js:846 #. TRANS: sync is short for synchronization msgid "turtle sync" +# TRANS: machine translation msgstr "乌龟同步" #: js/blocks/EnsembleBlocks.js:848 msgid "The Turtle sync block aligns the beat count between turtles." +# TRANS: machine translation msgstr "乌龟同步块用于对齐乌龟之间的节拍计数。" #: js/blocks/EnsembleBlocks.js:889 msgid "The Found mouse block will return true if the specified mouse can be found." +# TRANS: machine translation msgstr "找到鼠标块在指定鼠标被找到时返回真。" #: js/blocks/EnsembleBlocks.js:895 msgid "found mouse" +# TRANS: machine translation msgstr "找到鼠标" #: js/blocks/EnsembleBlocks.js:905 msgid "The Found turtle block will return true if the specified turtle can be found." +# TRANS: machine translation msgstr "找到乌龟块在指定乌龟被找到时返回真。" #: js/blocks/EnsembleBlocks.js:911 msgid "found turtle" +# TRANS: machine translation msgstr "找到乌龟" #: js/blocks/EnsembleBlocks.js:934 msgid "new mouse" +# TRANS: machine translation msgstr "新鼠标" #: js/blocks/EnsembleBlocks.js:936 msgid "The New mouse block will create a new mouse." +# TRANS: machine translation msgstr "新鼠标块将创建一个新的鼠标。" #: js/blocks/EnsembleBlocks.js:947 msgid "new turtle" +# TRANS: machine translation msgstr "新乌龟" #: js/blocks/EnsembleBlocks.js:949 msgid "The New turtle block will create a new turtle." +# TRANS: machine translation msgstr "新乌龟块将创建一个新的乌龟。" #: js/blocks/EnsembleBlocks.js:1013 msgid "set mouse color" +# TRANS: machine translation msgstr "设置鼠标颜色" #: js/blocks/EnsembleBlocks.js:1016 msgid "The Set-mouse-color block is used to set the color of a mouse." +# TRANS: machine translation msgstr "设置鼠标颜色块用于设置鼠标的颜色。" #: js/blocks/EnsembleBlocks.js:1022 msgid "set turtle color" +# TRANS: machine translation msgstr "设置乌龟颜色" #: js/blocks/EnsembleBlocks.js:1025 msgid "The Set-turtle-color block is used to set the color of a turtle." +# TRANS: machine translation msgstr "设置乌龟颜色块用于设置乌龟的颜色。" #: js/blocks/EnsembleBlocks.js:1086 msgid "The Mouse-name block returns the name of a mouse." +# TRANS: machine translation msgstr "鼠标名称块返回鼠标的名称。" #: js/blocks/EnsembleBlocks.js:1095 msgid "The Turtle-name block returns the name of a turtle." +# TRANS: machine translation msgstr "乌龟名称块返回乌龟的名称。" #: js/blocks/EnsembleBlocks.js:1118 msgid "mouse count" +# TRANS: machine translation msgstr "鼠标数量" #: js/blocks/EnsembleBlocks.js:1121 msgid "The Mouse-count block returns the number of mice." +# TRANS: machine translation msgstr "鼠标计数块返回鼠标的数量。" #: js/blocks/EnsembleBlocks.js:1127 msgid "turtle count" +# TRANS: machine translation msgstr "乌龟数量" #: js/blocks/EnsembleBlocks.js:1130 msgid "The Turtle-count block returns the number of turtles." +# TRANS: machine translation msgstr "Turtle-count 块返回乌龟的数量。" #: js/blocks/EnsembleBlocks.js:1152 msgid "nth mouse name" +# TRANS: machine translation msgstr "表示老鼠名称的音乐元素标签" #: js/blocks/EnsembleBlocks.js:1155 msgid "The Nth-Mouse name block returns the name of the nth mouse." +# TRANS: machine translation msgstr "Nth-Mouse 名称块返回第n只老鼠的名称。" #: js/blocks/EnsembleBlocks.js:1161 msgid "nth turtle name" +# TRANS: machine translation msgstr "用于识别乐队中特定乌龟的块标签" #: js/blocks/EnsembleBlocks.js:1164 msgid "The Nth-Turtle name block returns the name of the nth turtle." +# TRANS: machine translation msgstr "Nth-Turtle 名称块返回第n只乌龟的名称。" #: js/blocks/EnsembleBlocks.js:1208 #: js/blocks/EnsembleBlocks.js:1268 msgid "set name" +# TRANS: machine translation msgstr "设置音乐元素或实体名称的块标签" #: js/blocks/EnsembleBlocks.js:1217 #: js/blocks/EnsembleBlocks.js:1224 msgid "source" +# TRANS: machine translation msgstr "来源" #: js/blocks/EnsembleBlocks.js:1217 #: js/blocks/EnsembleBlocks.js:1224 msgid "target" +# TRANS: machine translation msgstr "目标" #: js/blocks/EnsembleBlocks.js:1274 msgid "The Set-name block is used to name a mouse." +# TRANS: machine translation msgstr "Set-name 块用于命名一只老鼠。" #: js/blocks/EnsembleBlocks.js:1287 msgid "The Set-name block is used to name a turtle." +# TRANS: machine translation msgstr "Set-name 块用于命名一只乌龟。" #: js/blocks/ExtrasBlocks.js:33 msgid "fraction" +# TRANS: machine translation msgstr "分数" #: js/blocks/ExtrasBlocks.js:36 msgid "Convert a float to a fraction" +# TRANS: machine translation msgstr "将浮动数转换为分数的工具提示标签" #: js/blocks/ExtrasBlocks.js:93 msgid "save as ABC" +# TRANS: machine translation msgstr "保存为 ABC 的块标签" #: js/blocks/ExtrasBlocks.js:96 #: js/blocks/ExtrasBlocks.js:132 #: js/blocks/ExtrasBlocks.js:168 msgid "title" +# TRANS: machine translation msgstr "标题" #: js/blocks/ExtrasBlocks.js:129 msgid "save as Lilypond" +# TRANS: machine translation msgstr "保存为 LilyPond 的块标签" #: js/blocks/ExtrasBlocks.js:165 msgid "save as SVG" +# TRANS: machine translation msgstr "保存为 SVG 的块标签" #: js/blocks/ExtrasBlocks.js:216 msgid "no background" +# TRANS: machine translation msgstr "移除背景的块标签" #: js/blocks/ExtrasBlocks.js:219 msgid "The No background block eliminates the background from the saved SVG output." +# TRANS: machine translation msgstr "No background 块将从保存的 SVG 输出中移除背景。" #: js/blocks/ExtrasBlocks.js:247 @@ -6175,15 +6839,18 @@ msgstr "顯示區塊" #: js/blocks/ExtrasBlocks.js:249 msgid "The Show blocks block shows the blocks." +# TRANS: machine translation msgstr "Show blocks 块显示其他块。" #: js/blocks/ExtrasBlocks.js:276 msgid "The Hide blocks block hides the blocks." +# TRANS: machine translation msgstr "Hide blocks 块隐藏其他块。" #: js/blocks/ExtrasBlocks.js:305 #: js/blocks/ExtrasBlocks.js:338 msgid "The Space block is used to add space between blocks." +# TRANS: machine translation msgstr "Space 块用于在块之间添加空格。" #: js/blocks/ExtrasBlocks.js:376 @@ -6192,6 +6859,7 @@ msgstr "等待" #: js/blocks/ExtrasBlocks.js:379 msgid "The Wait block pauses the program for a specified number of seconds." +# TRANS: machine translation msgstr "Wait 块使程序暂停指定的秒数。" #: js/blocks/ExtrasBlocks.js:433 @@ -6205,14 +6873,17 @@ msgstr "顯示" #: js/blocks/ExtrasBlocks.js:476 msgid "The Print block displays text at the top of the screen." +# TRANS: machine translation msgstr "Print 块在屏幕顶部显示文本。" #: js/blocks/ExtrasBlocks.js:585 msgid "display grid" +# TRANS: machine translation msgstr "显示网格的块标签" #: js/blocks/ExtrasBlocks.js:590 msgid "The Display Grid Block changes the grid type" +# TRANS: machine translation msgstr "Display Grid 块更改网格类型" #: js/blocks/ExtrasBlocks.js:692 @@ -6224,6 +6895,7 @@ msgstr "Display Grid 块更改网格类型" #: js/blocks/ExtrasBlocks.js:813 #: js/blocks/ExtrasBlocks.js:832 msgid "unknown" +# TRANS: machine translation msgstr "未知" #: js/blocks/GraphicsBlocks.js:46 @@ -6235,58 +6907,72 @@ msgstr "方向" #: js/blocks/GraphicsBlocks.js:56 msgid "The Heading block returns the orientation of the mouse." +# TRANS: machine translation msgstr "Heading 块返回老鼠的朝向。" #: js/blocks/GraphicsBlocks.js:62 msgid "The Heading block returns the orientation of the turtle." +# TRANS: machine translation msgstr "Heading 块返回乌龟的朝向。" #: js/blocks/GraphicsBlocks.js:133 msgid "The Y block returns the vertical position of the mouse." +# TRANS: machine translation msgstr "Y 块返回老鼠的垂直位置。" #: js/blocks/GraphicsBlocks.js:140 msgid "The Y block returns the vertical position of the turtle." +# TRANS: machine translation msgstr "Y 块返回乌龟的垂直位置。" #: js/blocks/GraphicsBlocks.js:149 msgid "y3" +# TRANS: machine translation msgstr "y3" #: js/blocks/GraphicsBlocks.js:219 msgid "The X block returns the horizontal position of the mouse." +# TRANS: machine translation msgstr "X 块返回老鼠的水平位置。" #: js/blocks/GraphicsBlocks.js:226 msgid "The X block returns the horizontal position of the turtle." +# TRANS: machine translation msgstr "X 块返回乌龟的水平位置。" #: js/blocks/GraphicsBlocks.js:235 msgid "x3" +# TRANS: machine translation msgstr "x3" #: js/blocks/GraphicsBlocks.js:295 msgid "scroll xy" +# TRANS: machine translation msgstr "滚动 xy 块标签" #: js/blocks/GraphicsBlocks.js:303 msgid "The Scroll XY block moves the canvas." +# TRANS: machine translation msgstr "Scroll XY 块移动画布。" #: js/blocks/GraphicsBlocks.js:313 msgid "x2" +# TRANS: machine translation msgstr "x2" #: js/blocks/GraphicsBlocks.js:313 msgid "y2" +# TRANS: machine translation msgstr "y2" #: js/blocks/GraphicsBlocks.js:417 msgid "The Control-point 2 block sets the second control point for the Bezier curve." +# TRANS: machine translation msgstr "Control-point 2 块设置贝塞尔曲线的第二个控制点。" #: js/blocks/GraphicsBlocks.js:424 msgid "control point 2" +# TRANS: machine translation msgstr "图形控制点 2 的标签" #: js/blocks/GraphicsBlocks.js:427 @@ -6294,6 +6980,7 @@ msgstr "图形控制点 2 的标签" #: js/blocks/GraphicsBlocks.js:525 #: js/blocks/GraphicsBlocks.js:741 msgid "x1" +# TRANS: machine translation msgstr "x1" #: js/blocks/GraphicsBlocks.js:427 @@ -6301,26 +6988,32 @@ msgstr "x1" #: js/blocks/GraphicsBlocks.js:525 #: js/blocks/GraphicsBlocks.js:741 msgid "y1" +# TRANS: machine translation msgstr "y1" #: js/blocks/GraphicsBlocks.js:468 msgid "The Control-point 1 block sets the first control point for the Bezier curve." +# TRANS: machine translation msgstr "Control-point 1 块设置贝塞尔曲线的第一个控制点。" #: js/blocks/GraphicsBlocks.js:475 msgid "control point 1" +# TRANS: machine translation msgstr "图形控制点 1 的标签" #: js/blocks/GraphicsBlocks.js:518 msgid "The Bezier block draws a Bezier curve." +# TRANS: machine translation msgstr "Bezier 块绘制贝塞尔曲线。" #: js/blocks/GraphicsBlocks.js:522 msgid "bezier" +# TRANS: machine translation msgstr "贝塞尔曲线" #: js/blocks/GraphicsBlocks.js:583 msgid "The Arc block moves the turtle in an arc." +# TRANS: machine translation msgstr "Arc 块以弧形移动乌龟。" #: js/blocks/GraphicsBlocks.js:591 @@ -6340,6 +7033,7 @@ msgstr "半徑" #: js/blocks/GraphicsBlocks.js:1001 #: js/blocks/GraphicsBlocks.js:1084 msgid "Value must be within -5000 to 5000 when Wrap Mode is off." +# TRANS: machine translation msgstr "当 Wrap Mode 关闭时,值必须在 -5000 到 5000 之间。" #: js/blocks/GraphicsBlocks.js:613 @@ -6347,6 +7041,7 @@ msgstr "当 Wrap Mode 关闭时,值必须在 -5000 到 5000 之间。" #: js/blocks/GraphicsBlocks.js:1003 #: js/blocks/GraphicsBlocks.js:1086 msgid "Value must be within -20000 to 20000 when Wrap Mode is on." +# TRANS: machine translation msgstr "当 Wrap Mode 开启时,值必须在 -20000 到 20000 之间。" #: js/blocks/GraphicsBlocks.js:651 @@ -6355,14 +7050,17 @@ msgstr "設定標頭" #: js/blocks/GraphicsBlocks.js:664 msgid "The Set heading block sets the heading of the turtle." +# TRANS: machine translation msgstr "Set heading 块设置乌龟的朝向。" #: js/blocks/GraphicsBlocks.js:724 msgid "The Set XY block moves the mouse to a specific position on the screen." +# TRANS: machine translation msgstr "Set XY 块将鼠标移动到屏幕上的指定位置。" #: js/blocks/GraphicsBlocks.js:730 msgid "The Set XY block moves the turtle to a specific position on the screen." +# TRANS: machine translation msgstr "Set XY 块将乌龟移动到屏幕上的指定位置。" #: js/blocks/GraphicsBlocks.js:738 @@ -6371,14 +7069,17 @@ msgstr "指定座標" #: js/blocks/GraphicsBlocks.js:810 msgid "The Right block turns the mouse to the right." +# TRANS: machine translation msgstr "Right 块将鼠标向右转。" #: js/blocks/GraphicsBlocks.js:817 msgid "The Right block turns the turtle to the right." +# TRANS: machine translation msgstr "Right 块将乌龟向右转。" #: js/blocks/GraphicsBlocks.js:826 msgid "right1" +# TRANS: machine translation msgstr "右1" #: js/blocks/GraphicsBlocks.js:826 @@ -6390,14 +7091,17 @@ msgstr "右轉" #: js/blocks/GraphicsBlocks.js:890 msgid "The Left block turns the mouse to the left." +# TRANS: machine translation msgstr "Left 块将鼠标向左转。" #: js/blocks/GraphicsBlocks.js:897 msgid "The Left block turns the turtle to the left." +# TRANS: machine translation msgstr "Left 块将乌龟向左转。" #: js/blocks/GraphicsBlocks.js:906 msgid "left1" +# TRANS: machine translation msgstr "左1" #: js/blocks/GraphicsBlocks.js:906 @@ -6417,10 +7121,12 @@ msgstr "後退" #: js/blocks/GraphicsBlocks.js:967 msgid "The Back block moves the mouse backward." +# TRANS: machine translation msgstr "Back 块使鼠标向后移动。" #: js/blocks/GraphicsBlocks.js:974 msgid "The Back block moves the turtle backward." +# TRANS: machine translation msgstr "Back 块使乌龟向后移动。" #: js/blocks/GraphicsBlocks.js:1041 @@ -6431,88 +7137,107 @@ msgstr "前進" #: js/blocks/GraphicsBlocks.js:1050 msgid "The Forward block moves the mouse forward." +# TRANS: machine translation msgstr "Forward 块使鼠标向前移动。" #: js/blocks/GraphicsBlocks.js:1057 msgid "The Forward block moves the turtle forward." +# TRANS: machine translation msgstr "Forward 块使乌龟向前移动。" #: js/blocks/GraphicsBlocks.js:1145 #: js/blocks/GraphicsBlocks.js:1163 msgid "wrap" +# TRANS: machine translation msgstr "环绕" #: js/blocks/MediaBlocks.js:35 #. TRANS: right side of the screen msgid "right (screen)" +# TRANS: machine translation msgstr "右侧(屏幕)" #: js/blocks/MediaBlocks.js:45 #: js/blocks/MediaBlocks.js:56 msgid "The Right block returns the position of the right of the canvas." +# TRANS: machine translation msgstr "Right 块返回画布右侧的位置。" #: js/blocks/MediaBlocks.js:97 #. TRANS: left side of the screen msgid "left (screen)" +# TRANS: machine translation msgstr "左侧(屏幕)" #: js/blocks/MediaBlocks.js:107 #: js/blocks/MediaBlocks.js:118 msgid "The Left block returns the position of the left of the canvas." +# TRANS: machine translation msgstr "Left 块返回画布左侧的位置。" #: js/blocks/MediaBlocks.js:158 msgid "top (screen)" +# TRANS: machine translation msgstr "顶部(屏幕)" #: js/blocks/MediaBlocks.js:168 #: js/blocks/MediaBlocks.js:179 msgid "The Top block returns the position of the top of the canvas." +# TRANS: machine translation msgstr "Top 块返回画布顶部的位置。" #: js/blocks/MediaBlocks.js:219 msgid "bottom (screen)" +# TRANS: machine translation msgstr "底部(屏幕)" #: js/blocks/MediaBlocks.js:229 #: js/blocks/MediaBlocks.js:240 msgid "The Bottom block returns the position of the bottom of the canvas." +# TRANS: machine translation msgstr "Bottom 块返回画布底部的位置。" #: js/blocks/MediaBlocks.js:282 msgid "width" +# TRANS: machine translation msgstr "宽度" #: js/blocks/MediaBlocks.js:291 msgid "The Width block returns the width of the canvas." +# TRANS: machine translation msgstr "Width 块返回画布的宽度。" #: js/blocks/MediaBlocks.js:325 msgid "height" +# TRANS: machine translation msgstr "高度" #: js/blocks/MediaBlocks.js:334 msgid "The Height block returns the height of the canvas." +# TRANS: machine translation msgstr "Height 块返回画布的高度。" #: js/blocks/MediaBlocks.js:369 #. TRANS: stops playback of an audio recording msgid "stop play" +# TRANS: machine translation msgstr "停止播放" #: js/blocks/MediaBlocks.js:404 #. TRANS: Erases the images and text msgid "erase media" +# TRANS: machine translation msgstr "清除媒体" #: js/blocks/MediaBlocks.js:409 msgid "The Erase Media block erases text and images." +# TRANS: machine translation msgstr "Erase Media 块会清除文本和图像。" #: js/blocks/MediaBlocks.js:439 #. TRANS: play an audio recording msgid "play back" +# TRANS: machine translation msgstr "回放" #: js/blocks/MediaBlocks.js:487 @@ -6521,34 +7246,42 @@ msgstr "聽我說" #: js/blocks/MediaBlocks.js:495 msgid "The Speak block outputs to the text-to-speech synthesizer" +# TRANS: machine translation msgstr "Speak 块输出到文本转语音合成器。" #: js/blocks/MediaBlocks.js:546 msgid "camera" +# TRANS: machine translation msgstr "摄像头" #: js/blocks/MediaBlocks.js:551 msgid "The Camera block connects a webcam to the Show block." +# TRANS: machine translation msgstr "Camera 块将摄像头连接到 Show 块。" #: js/blocks/MediaBlocks.js:574 msgid "video" +# TRANS: machine translation msgstr "视频" #: js/blocks/MediaBlocks.js:579 msgid "The Video block selects video for use with the Show block." +# TRANS: machine translation msgstr "Video 块选择用于 Show 块的视频。" #: js/blocks/MediaBlocks.js:607 msgid "The Open file block opens a file for use with the Show block." +# TRANS: machine translation msgstr "Open file 块打开一个用于 Show 块的文件。" #: js/blocks/MediaBlocks.js:645 msgid "stop media" +# TRANS: machine translation msgstr "停止媒体" #: js/blocks/MediaBlocks.js:650 msgid "The Stop media block stops audio or video playback." +# TRANS: machine translation msgstr "Stop media 块停止音频或视频的播放。" #: js/blocks/MediaBlocks.js:692 @@ -6560,34 +7293,41 @@ msgstr "Stop media 块停止音频或视频的播放。" #: js/widgets/temperament.js:1446 #: js/widgets/timbre.js:1834 msgid "frequency" +# TRANS: machine translation msgstr "频率" #: js/blocks/MediaBlocks.js:692 #: plugins/rodi.rtp:193 msgid "duration (MS)" +# TRANS: machine translation msgstr "持续时间(毫秒)" #: js/blocks/MediaBlocks.js:728 #. TRANS: translate a note into hertz, e.g., A4 -> 440HZ msgid "note to frequency" +# TRANS: machine translation msgstr "音符转频率" #: js/blocks/MediaBlocks.js:736 msgid "The To frequency block converts a pitch name and octave to Hertz." +# TRANS: machine translation msgstr "To frequency 块将音高名称和音阶转换为赫兹。" #: js/blocks/MediaBlocks.js:812 msgid "The Avatar block is used to change the appearance of the mouse." +# TRANS: machine translation msgstr "Avatar 块用于更改鼠标的外观。" #: js/blocks/MediaBlocks.js:819 msgid "The Avatar block is used to change the appearance of the turtle." +# TRANS: machine translation msgstr "Avatar 块用于更改乌龟的外观。" #: js/blocks/MediaBlocks.js:831 #: js/blocks/MediaBlocks.js:891 #. TRANS: a media object msgid "size" +# TRANS: machine translation msgstr "大小" #: js/blocks/MediaBlocks.js:831 @@ -6596,43 +7336,52 @@ msgstr "圖片" #: js/blocks/MediaBlocks.js:880 msgid "The Show block is used to display text or images on the canvas." +# TRANS: machine translation msgstr "Show 块用于在画布上显示文本或图像。" #: js/blocks/MediaBlocks.js:888 #. TRANS: show1 is show as in display an image or text on the screen. msgid "show1" +# TRANS: machine translation msgstr "显示1" #: js/blocks/MediaBlocks.js:891 msgid "obj" +# TRANS: machine translation msgstr "对象" #: js/blocks/MediaBlocks.js:938 msgid "The Media block is used to import an image." +# TRANS: machine translation msgstr "Media 块用于导入图像。" #: js/blocks/MediaBlocks.js:973 msgid "The Text block holds a text string." +# TRANS: machine translation msgstr "Text 块包含一段文本字符串。" #: js/blocks/PenBlocks.js:30 msgid "purple" +# TRANS: machine translation msgstr "紫色" #: js/blocks/PenBlocks.js:48 #: js/blocks/SensorsBlocks.js:521 #: plugins/rodi.rtp:219 msgid "blue" +# TRANS: machine translation msgstr "蓝色" #: js/blocks/PenBlocks.js:64 #: js/blocks/SensorsBlocks.js:577 #: plugins/rodi.rtp:218 msgid "green" +# TRANS: machine translation msgstr "绿色" #: js/blocks/PenBlocks.js:80 msgid "yellow" +# TRANS: machine translation msgstr "黄色" #: js/blocks/PenBlocks.js:96 @@ -6644,18 +7393,22 @@ msgstr "橘色" #: js/blocks/SensorsBlocks.js:633 #: plugins/rodi.rtp:217 msgid "red" +# TRANS: machine translation msgstr "红色" #: js/blocks/PenBlocks.js:128 msgid "white" +# TRANS: machine translation msgstr "白色" #: js/blocks/PenBlocks.js:144 msgid "black" +# TRANS: machine translation msgstr "黑色" #: js/blocks/PenBlocks.js:163 msgid "begin fill" +# TRANS: machine translation msgstr "开始填充" #: js/blocks/PenBlocks.js:188 @@ -6666,6 +7419,7 @@ msgstr "停止填滿" #: js/blocks/PenBlocks.js:537 #. TRANS: set the background color msgid "background" +# TRANS: machine translation msgstr "背景" #: js/blocks/PenBlocks.js:253 @@ -6673,10 +7427,12 @@ msgstr "背景" #: js/turtleactions/DictActions.js:138 #: js/turtleactions/DictActions.js:170 msgid "grey" +# TRANS: machine translation msgstr "灰色" #: js/blocks/PenBlocks.js:261 msgid "The Grey block returns the current pen grey value." +# TRANS: machine translation msgstr "Grey 块返回当前画笔的灰度值。" #: js/blocks/PenBlocks.js:319 @@ -6688,6 +7444,7 @@ msgstr "形狀" #: js/blocks/PenBlocks.js:326 msgid "The Shade block returns the current pen shade value." +# TRANS: machine translation msgstr "Shade 块返回当前画笔的明暗值。" #: js/blocks/PenBlocks.js:384 @@ -6699,6 +7456,7 @@ msgstr "顏色" #: js/blocks/PenBlocks.js:394 msgid "The Color block returns the current pen color." +# TRANS: machine translation msgstr "Color 块返回当前画笔颜色。" #: js/blocks/PenBlocks.js:449 @@ -6710,36 +7468,44 @@ msgstr "畫筆大小" #: js/blocks/PenBlocks.js:453 msgid "The Pen size block returns the current pen size value." +# TRANS: machine translation msgstr "Pen size 块返回当前画笔大小的数值。" #: js/blocks/PenBlocks.js:492 msgid "set font" +# TRANS: machine translation msgstr "设置字体" #: js/blocks/PenBlocks.js:497 msgid "The Set font block sets the font used by the Show block." +# TRANS: machine translation msgstr "Set font 块设置 Show 块使用的字体。" #: js/blocks/PenBlocks.js:544 msgid "The Background block sets the window background color." +# TRANS: machine translation msgstr "Background 块设置窗口背景颜色。" #: js/blocks/PenBlocks.js:575 msgid "The Hollow line block creates a line with a hollow center." +# TRANS: machine translation msgstr "Hollow line 块创建一条中空的线条。" #: js/blocks/PenBlocks.js:583 #. TRANS: draw a line logo has a hollow space down its center msgid "hollow line" +# TRANS: machine translation msgstr "中空线条" #: js/blocks/PenBlocks.js:652 msgid "The Fill block fills in a shape with a color." +# TRANS: machine translation msgstr "Fill 块用颜色填充图形。" #: js/blocks/PenBlocks.js:661 #. TRANS: fill in as a solid color msgid "fill" +# TRANS: machine translation msgstr "填充" #: js/blocks/PenBlocks.js:738 @@ -6749,6 +7515,7 @@ msgstr "提筆" #: js/blocks/PenBlocks.js:745 msgid "The Pen-up block raises the pen so that it does not draw." +# TRANS: machine translation msgstr "Pen-up 块抬起画笔,使其不绘图。" #: js/blocks/PenBlocks.js:779 @@ -6758,6 +7525,7 @@ msgstr "落筆" #: js/blocks/PenBlocks.js:787 msgid "The Pen-down block lowers the pen so that it draws." +# TRANS: machine translation msgstr "Pen-down 块放下画笔,使其开始绘图。" #: js/blocks/PenBlocks.js:821 @@ -6767,23 +7535,28 @@ msgstr "設定畫筆大小" #: js/blocks/PenBlocks.js:831 msgid "The Set-pen-size block changes the size of the pen." +# TRANS: machine translation msgstr "Set-pen-size 块更改画笔的大小。" #: js/blocks/PenBlocks.js:890 #. TRANS: set degree of translucence of the pen color msgid "set translucency" +# TRANS: machine translation msgstr "设置透明度" #: js/blocks/PenBlocks.js:898 msgid "The Set translucency block changes the opacity of the pen." +# TRANS: machine translation msgstr "Set translucency 块更改画笔的不透明度。" #: js/blocks/PenBlocks.js:958 msgid "set hue" +# TRANS: machine translation msgstr "设置色相" #: js/blocks/PenBlocks.js:966 msgid "The Set hue block changes the color of the pen." +# TRANS: machine translation msgstr "Set hue 块改变画笔的颜色。" #: js/blocks/PenBlocks.js:1024 @@ -6792,15 +7565,18 @@ msgstr "設定填滿顏色" #: js/blocks/PenBlocks.js:1034 msgid "The Set-shade block changes the pen color from dark to light." +# TRANS: machine translation msgstr "Set-shade 块改变画笔颜色的明暗度。" #: js/blocks/PenBlocks.js:1088 #. TRANS: set the level of vividness of the pen color msgid "set grey" +# TRANS: machine translation msgstr "设置灰度" #: js/blocks/PenBlocks.js:1096 msgid "The Set grey block changes the vividness of the pen color." +# TRANS: machine translation msgstr "Set grey 块改变画笔颜色的鲜艳度。" #: js/blocks/PenBlocks.js:1149 @@ -6809,26 +7585,32 @@ msgstr "設定線條顏色" #: js/blocks/PenBlocks.js:1159 msgid "The Set-color block changes the pen color." +# TRANS: machine translation msgstr "Set-color 块改变画笔颜色。" #: js/blocks/SensorsBlocks.js:36 msgid "The Input block prompts for keyboard input." +# TRANS: machine translation msgstr "Input 块提示键盘输入。" #: js/blocks/SensorsBlocks.js:46 msgid "input" +# TRANS: machine translation msgstr "输入" #: js/blocks/SensorsBlocks.js:64 msgid "Input a value" +# TRANS: machine translation msgstr "输入一个值" #: js/blocks/SensorsBlocks.js:126 msgid "input value" +# TRANS: machine translation msgstr "输入值" #: js/blocks/SensorsBlocks.js:131 msgid "The Input-value block stores the input." +# TRANS: machine translation msgstr "Input-value 块存储输入内容。" #: js/blocks/SensorsBlocks.js:238 @@ -6837,55 +7619,68 @@ msgstr "音量" #: js/blocks/SensorsBlocks.js:245 msgid "The Loudness block returns the volume detected by the microphone." +# TRANS: machine translation msgstr "Loudness 块返回麦克风检测到的音量。" #: js/blocks/SensorsBlocks.js:300 msgid "click" +# TRANS: machine translation msgstr "点击" #: js/blocks/SensorsBlocks.js:306 msgid "The Click block triggers an event if a mouse has been clicked." +# TRANS: machine translation msgstr "Click 块在鼠标被点击时触发事件。" #: js/blocks/SensorsBlocks.js:313 msgid "The Click block triggers an event if a turtle has been clicked." +# TRANS: machine translation msgstr "Click 块在乌龟被点击时触发事件。" #: js/blocks/SensorsBlocks.js:342 msgid "cursor over" +# TRANS: machine translation msgstr "光标悬停" #: js/blocks/SensorsBlocks.js:387 msgid "cursor out" +# TRANS: machine translation msgstr "光标移出" #: js/blocks/SensorsBlocks.js:433 msgid "cursor button down" +# TRANS: machine translation msgstr "光标按钮按下" #: js/blocks/SensorsBlocks.js:477 msgid "cursor button up" +# TRANS: machine translation msgstr "光标按钮抬起" #: js/blocks/SensorsBlocks.js:638 msgid "The Get red block returns the red component of the pixel under the mouse." +# TRANS: machine translation msgstr "Get red 块返回鼠标下像素的红色分量。" #: js/blocks/SensorsBlocks.js:644 msgid "The Get red block returns the red component of the pixel under the turtle." +# TRANS: machine translation msgstr "Get red 块返回乌龟下方像素的红色分量。" #: js/blocks/SensorsBlocks.js:685 #: plugins/rodi.rtp:216 msgid "pixel color" +# TRANS: machine translation msgstr "像素颜色" #: js/blocks/SensorsBlocks.js:690 msgid "The Get pixel block returns the color of the pixel under the mouse." +# TRANS: machine translation msgstr "Get pixel 块返回鼠标下像素的颜色。" #: js/blocks/SensorsBlocks.js:696 msgid "The Get pixel block returns the color of the pixel under the turtle." +# TRANS: machine translation msgstr "Get pixel 块返回乌龟下像素的颜色。" #: js/blocks/SensorsBlocks.js:759 @@ -6894,252 +7689,308 @@ msgstr "時間" #: js/blocks/SensorsBlocks.js:805 msgid "cursor y" +# TRANS: machine translation msgstr "光标Y坐标" #: js/blocks/SensorsBlocks.js:810 msgid "The Cursor Y block returns the vertical position of the mouse." +# TRANS: machine translation msgstr "Cursor Y 块返回鼠标的垂直位置。" #: js/blocks/SensorsBlocks.js:846 msgid "cursor x" +# TRANS: machine translation msgstr "光标X坐标" #: js/blocks/SensorsBlocks.js:851 msgid "The Cursor X block returns the horizontal position of the mouse." +# TRANS: machine translation msgstr "Cursor X 块返回鼠标的水平位置。" #: js/blocks/SensorsBlocks.js:887 msgid "mouse button" +# TRANS: machine translation msgstr "鼠标按钮" #: js/blocks/SensorsBlocks.js:889 msgid "The Mouse-button block returns True if the mouse button is pressed." +# TRANS: machine translation msgstr "Mouse-button 块在鼠标按钮被按下时返回 True。" #: js/blocks/SensorsBlocks.js:935 msgid "to ASCII" +# TRANS: machine translation msgstr "转换为 ASCII" #: js/blocks/SensorsBlocks.js:939 msgid "The To ASCII block converts numbers to letters." +# TRANS: machine translation msgstr "To ASCII 块将数字转换为字母。" #: js/blocks/SensorsBlocks.js:1006 msgid "The Keyboard block returns computer keyboard input." +# TRANS: machine translation msgstr "Keyboard 块返回电脑键盘输入。" #: js/blocks/WidgetBlocks.js:81 #: js/widgets/timbre.js:834 #. TRANS: sound envelope (ADSR) msgid "Envelope" +# TRANS: machine translation msgstr "包络" #: js/blocks/WidgetBlocks.js:89 #. TRANS: Attack time is the time taken for initial run-up of level from nil to peak, beginning when the key is first pressed. msgid "attack" +# TRANS: machine translation msgstr "起音时间" #: js/blocks/WidgetBlocks.js:91 #. TRANS: Decay time is the time taken for the subsequent run down from the attack level to the designated sustain level. msgid "decay" +# TRANS: machine translation msgstr "衰减时间" #: js/blocks/WidgetBlocks.js:93 #. TRANS: Sustain level is the level during the main sequence of the sound's duration, until the key is released. msgid "sustain" +# TRANS: machine translation msgstr "持续时间" #: js/blocks/WidgetBlocks.js:95 #. TRANS: Release time is the time taken for the level to decay from the sustain level to zero after the key is released. msgid "release" +# TRANS: machine translation msgstr "释放时间" #: js/blocks/WidgetBlocks.js:113 msgid "Attack value should be from 0 to 100." +# TRANS: machine translation msgstr "Attack 值应在 0 到 100 之间。" #: js/blocks/WidgetBlocks.js:116 msgid "Decay value should be from 0 to 100." +# TRANS: machine translation msgstr "Decay 值应在 0 到 100 之间。" #: js/blocks/WidgetBlocks.js:119 msgid "Sustain value should be from 0 to 100." +# TRANS: machine translation msgstr "Sustain 值应在 0 到 100 之间。" #: js/blocks/WidgetBlocks.js:122 msgid "Release value should be from 0-100." +# TRANS: machine translation msgstr "Release 值应在 0 到 100 之间。" #: js/blocks/WidgetBlocks.js:140 msgid "You are adding multiple envelope blocks." +# TRANS: machine translation msgstr "您正在添加多个包络块。" #: js/blocks/WidgetBlocks.js:171 #: js/widgets/timbre.js:898 #. TRANS: a filter removes some unwanted components from a signal msgid "Filter" +# TRANS: machine translation msgstr "滤波器" #: js/blocks/WidgetBlocks.js:181 #: js/widgets/timbre.js:1810 #. TRANS: rolloff is the steepness of a change in frequency. msgid "rolloff" +# TRANS: machine translation msgstr "衰减斜率" #: js/blocks/WidgetBlocks.js:213 #. TRANS: rolloff is the steepness of a change in frequency. msgid "Rolloff value should be either -12, -24, -48, or -96 decibels/octave." +# TRANS: machine translation msgstr "Rolloff 值应为 -12、-24、-48 或 -96 分贝/倍频程。" #: js/blocks/WidgetBlocks.js:252 msgid "The Temperament tool is used to define custom tuning." +# TRANS: machine translation msgstr "Temperament 工具用于定义自定义调音。" #: js/blocks/WidgetBlocks.js:332 #: js/blocks/WidgetBlocks.js:1574 #: js/widgets/sampler.js:501 msgid "Upload a sample and adjust its pitch center." +# TRANS: machine translation msgstr "上传采样并调整其音高中心。" #: js/blocks/WidgetBlocks.js:339 #. TRANS: the speed at music is should be played. msgid "sampler" +# TRANS: machine translation msgstr "采样器" #: js/blocks/WidgetBlocks.js:517 msgid "The Meter block opens a tool to select strong beats for the meter." +# TRANS: machine translation msgstr "Meter 块打开一个工具以选择强拍。" #: js/blocks/WidgetBlocks.js:573 msgid "The oscilloscope block opens a tool to visualize waveforms." +# TRANS: machine translation msgstr "示波器块打开一个用于可视化波形的工具。" #: js/blocks/WidgetBlocks.js:578 msgid "oscilloscope" +# TRANS: machine translation msgstr "示波器" #: js/blocks/WidgetBlocks.js:645 msgid "The Custom mode block opens a tool to explore musical mode (the spacing of the notes in a scale)." +# TRANS: machine translation msgstr "Custom mode 块打开一个用于探索音乐调式(音阶中音符间距)的工具。" #: js/blocks/WidgetBlocks.js:651 #. TRANS: musical mode is the pattern of half-steps in an octave, e.g., Major or Minor modes msgid "custom mode" +# TRANS: machine translation msgstr "custom mode" #: js/blocks/WidgetBlocks.js:700 msgid "The Tempo block opens a metronome to visualize the beat." +# TRANS: machine translation msgstr "Tempo 块打开节拍器以显示节拍。" #: js/blocks/WidgetBlocks.js:762 msgid "The Arpeggio Widget is used to compose chord sequences." +# TRANS: machine translation msgstr "琶音小工具用于编写和弦序列。" #: js/blocks/WidgetBlocks.js:837 msgid "The Pitch drum matrix is used to map pitches to drum sounds." +# TRANS: machine translation msgstr "音高鼓矩阵用于将音高映射到鼓声。" #: js/blocks/WidgetBlocks.js:842 #. TRANS: makes a mapping between pitches and drum sounds msgid "pitch-drum mapper" +# TRANS: machine translation msgstr "pitch-drum mapper" #: js/blocks/WidgetBlocks.js:891 msgid "You must have at least one pitch block and one drum block in the matrix." +# TRANS: machine translation msgstr "矩阵中必须至少有一个音高块和一个鼓块。" #: js/blocks/WidgetBlocks.js:920 msgid "The Pitch slider tool to is used to generate pitches at selected frequencies." +# TRANS: machine translation msgstr "音高滑块工具用于生成选定频率的音高。" #: js/blocks/WidgetBlocks.js:925 #. TRANS: widget to generate pitches using a slider msgid "pitch slider" +# TRANS: machine translation msgstr "音高滑块" #: js/blocks/WidgetBlocks.js:977 msgid "chromatic keyboard" +# TRANS: machine translation msgstr "chromatic keyboard" #: js/blocks/WidgetBlocks.js:1011 #: js/blocks/WidgetBlocks.js:1077 #. TRANS: widget to generate pitches using a slider msgid "music keyboard" +# TRANS: machine translation msgstr "music keyboard" #: js/blocks/WidgetBlocks.js:1062 #: js/blocks/WidgetBlocks.js:1069 msgid "The Music keyboard block opens a piano keyboard that can be used to create notes." +# TRANS: machine translation msgstr "Music keyboard 块打开一个钢琴键盘,可用于创建音符。" #: js/blocks/WidgetBlocks.js:1128 msgid "The Pitch staircase tool to is used to generate pitches from a given ratio." +# TRANS: machine translation msgstr "音高阶梯工具用于根据给定比例生成音高。" #: js/blocks/WidgetBlocks.js:1135 #. TRANS: generate a progressive sequence of pitches msgid "pitch staircase" +# TRANS: machine translation msgstr "音高阶梯" #: js/blocks/WidgetBlocks.js:1222 msgid "The Rhythm Maker block opens a tool to create drum machines." +# TRANS: machine translation msgstr "Rhythm Maker 块打开一个制作鼓机的工具。" #: js/blocks/WidgetBlocks.js:1291 msgid "G major scale" +# TRANS: machine translation msgstr "G大调音阶" #: js/blocks/WidgetBlocks.js:1326 msgid "C major scale" +# TRANS: machine translation msgstr "C大调音阶" #: js/blocks/WidgetBlocks.js:1366 msgid "The Phrase Maker block opens a tool to create musical phrases." +# TRANS: machine translation msgstr "Phrase Maker 块打开一个创建音乐短语的工具。" #: js/blocks/WidgetBlocks.js:1373 #. TRANS: assigns pitch to a sequence of beats to generate a melody msgid "phrase maker" +# TRANS: machine translation msgstr "短语生成器" #: js/blocks/WidgetBlocks.js:1445 msgid "You must have at least one pitch block and one rhythm block in the matrix." +# TRANS: machine translation msgstr "矩阵中必须至少有一个音高块和一个节奏块。" #: js/blocks/WidgetBlocks.js:1504 msgid "The Status block opens a tool for inspecting the status of Music Blocks as it is running." +# TRANS: machine translation msgstr "Status 块打开一个工具,用于检查 Music Blocks 运行时的状态。" #: js/blocks/WidgetBlocks.js:1581 #: js/widgets/aiwidget.js:699 #. TRANS: AI-generated music msgid "AI Music" +# TRANS: machine translation msgstr "AI Music" #: js/blocks/VolumeBlocks.js:35 msgid "synth volume" +# TRANS: machine translation msgstr "合成器音量" #: js/blocks/VolumeBlocks.js:39 msgid "The Synth volume block returns the current volume of the current synthesizer." +# TRANS: machine translation msgstr "Synth volume 块返回当前合成器的音量。" #: js/blocks/VolumeBlocks.js:105 msgid "master volume" +# TRANS: machine translation msgstr "主音量" #: js/blocks/VolumeBlocks.js:109 msgid "The Master volume block returns the master volume." +# TRANS: machine translation msgstr "Master volume 块返回主音量。" #: js/blocks/VolumeBlocks.js:355 #: js/blocks/VolumeBlocks.js:524 msgid "set synth volume" +# TRANS: machine translation msgstr "设置合成器音量" #: js/blocks/VolumeBlocks.js:362 #: js/blocks/VolumeBlocks.js:545 msgid "synth" +# TRANS: machine translation msgstr "合成器" #: js/blocks/VolumeBlocks.js:403 @@ -7147,138 +7998,171 @@ msgstr "合成器" #: js/blocks/VolumeBlocks.js:740 #: js/turtleactions/VolumeActions.js:173 msgid "Setting volume to 0." +# TRANS: machine translation msgstr "音量设置为0。" #: js/blocks/VolumeBlocks.js:440 msgid "Synth not found" +# TRANS: machine translation msgstr "未找到合成器" #: js/blocks/VolumeBlocks.js:494 msgid "set drum volume" +# TRANS: machine translation msgstr "设置鼓音量" #: js/blocks/VolumeBlocks.js:530 msgid "The Set synth volume block will change the volume of a particular synth," +# TRANS: machine translation msgstr "设置合成器音量模块会改变特定合成器的音量," #: js/blocks/VolumeBlocks.js:532 msgid "eg guitar violin snare drum etc." +# TRANS: machine translation msgstr "例如 吉他 小提琴 小军鼓 等等。" #: js/blocks/VolumeBlocks.js:534 msgid "The default volume is 50." +# TRANS: machine translation msgstr "默认音量是50。" #: js/blocks/VolumeBlocks.js:536 msgid "The range is 0 for silence to 100 for full volume." +# TRANS: machine translation msgstr "范围是0表示静音,100表示最大音量。" #: js/blocks/VolumeBlocks.js:597 msgid "set panning" +# TRANS: machine translation msgstr "设置声像" #: js/blocks/VolumeBlocks.js:603 msgid "The Set Panning block sets the panning for all synthesizers." +# TRANS: machine translation msgstr "Set Panning 块设置所有合成器的声像。" #: js/blocks/VolumeBlocks.js:625 msgid "Warning: Sound is coming out from only the left or right side." +# TRANS: machine translation msgstr "警告:声音仅从左侧或右侧发出。" #: js/blocks/VolumeBlocks.js:647 #: js/blocks/VolumeBlocks.js:695 msgid "set master volume" +# TRANS: machine translation msgstr "设置主音量" #: js/blocks/VolumeBlocks.js:653 msgid "The Set master volume block sets the volume for all synthesizers." +# TRANS: machine translation msgstr "Set master volume 块设置所有合成器的音量。" #: js/blocks/VolumeBlocks.js:784 msgid "The Set relative volume block changes the volume of the contained notes." +# TRANS: machine translation msgstr "Set relative volume 块改变包含音符的音量。" #: js/blocks/VolumeBlocks.js:791 msgid "set relative volume" +# TRANS: machine translation msgstr "设置相对音量" #: js/blocks/VolumeBlocks.js:857 msgid "decrescendo" +# TRANS: machine translation msgstr "渐弱" #: js/blocks/VolumeBlocks.js:921 msgid "crescendo" +# TRANS: machine translation msgstr "渐强" #: js/turtleactions/IntervalsActions.js:113 msgid "one" +# TRANS: machine translation msgstr "一" #: js/turtleactions/IntervalsActions.js:113 msgid "two" +# TRANS: machine translation msgstr "二" #: js/turtleactions/IntervalsActions.js:113 msgid "three" +# TRANS: machine translation msgstr "三" #: js/turtleactions/IntervalsActions.js:113 msgid "four" +# TRANS: machine translation msgstr "四" #: js/turtleactions/IntervalsActions.js:113 msgid "five" +# TRANS: machine translation msgstr "五" #: js/turtleactions/IntervalsActions.js:113 msgid "six" +# TRANS: machine translation msgstr "六" #: js/turtleactions/IntervalsActions.js:113 msgid "seven" +# TRANS: machine translation msgstr "七" #: js/turtleactions/IntervalsActions.js:113 msgid "eight" +# TRANS: machine translation msgstr "八" #: js/turtleactions/IntervalsActions.js:113 msgid "nine" +# TRANS: machine translation msgstr "九" #: js/turtleactions/IntervalsActions.js:120 #: js/turtleactions/IntervalsActions.js:140 msgid "below" +# TRANS: machine translation msgstr "下方" #: js/turtleactions/IntervalsActions.js:124 msgid "above" +# TRANS: machine translation msgstr "上方" #: js/turtleactions/IntervalsActions.js:131 msgid "plus" +# TRANS: machine translation msgstr "加" #: js/turtleactions/IntervalsActions.js:258 msgid "Adding missing pitch number 0." +# TRANS: machine translation msgstr "添加缺失的音高编号0。" #: js/turtleactions/IntervalsActions.js:266 msgid "Ignoring pitch numbers less than zero or greater than eleven." +# TRANS: machine translation msgstr "忽略小于零或大于十一的音高编号。" #: js/turtleactions/IntervalsActions.js:272 msgid "Ignoring duplicate pitch numbers." +# TRANS: machine translation msgstr "忽略重复的音高编号。" #: js/turtleactions/DictActions.js:75 #: js/turtleactions/DictActions.js:142 #: js/turtleactions/DictActions.js:172 msgid "font" +# TRANS: machine translation msgstr "字体" #: js/turtleactions/DictActions.js:255 msgid "Dictionary with this name does not exist" +# TRANS: machine translation msgstr "不存在该名称的词典" #: js/turtleactions/DictActions.js:259 @@ -7287,6 +8171,7 @@ msgstr "" #: js/turtleactions/DrumActions.js:227 msgid "Noise Block: Did you mean to use a Note block?" +# TRANS: machine translation msgstr "噪声块:您是否想使用音符块?" #: js/turtleactions/ToneActions.js:134 @@ -7301,15 +8186,18 @@ msgstr "震音率必须大于0" #: js/turtleactions/ToneActions.js:265 #. TRANS: Depth is the intesity of the tremolo or chorus effect. msgid "Depth is out of range." +# TRANS: machine translation msgstr "深度超出范围。" #: js/turtleactions/ToneActions.js:301 msgid "Distortion must be from 0 to 100." +# TRANS: machine translation msgstr "失真值必须在0到100之间。" #: js/turtleactions/ToneActions.js:332 #. TRANS: partials components in a harmonic series msgid "Partial must be greater than or equal to 0." +# TRANS: machine translation msgstr "部分必须大于或等于0。" #: js/turtleactions/ToneActions.js:378 @@ -7317,26 +8205,31 @@ msgstr "部分必须大于或等于0。" #: js/turtleactions/ToneActions.js:456 #: js/widgets/timbre.js:776 msgid "Unable to use synth due to existing oscillator" +# TRANS: machine translation msgstr "由于存在振荡器,无法使用合成器。" #: js/turtleactions/ToneActions.js:388 #: js/turtleactions/ToneActions.js:427 msgid "The input cannot be negative." +# TRANS: machine translation msgstr "输入不能为负数。" #: js/turtleactions/MeterActions.js:101 #: js/turtleactions/MeterActions.js:139 msgid "beats per minute must be greater than" +# TRANS: machine translation msgstr "每分钟节拍数必须大于" #: js/turtleactions/MeterActions.js:111 #: js/turtleactions/MeterActions.js:149 msgid "maximum" +# TRANS: machine translation msgstr "最大值" #: js/turtleactions/MeterActions.js:117 #: js/turtleactions/MeterActions.js:155 msgid "beats per minute is" +# TRANS: machine translation msgstr "每分钟节拍数是" #: js/widgets/help.js:95 @@ -7346,6 +8239,7 @@ msgstr "每分钟节拍数是" #: js/widgets/help.js:378 #: js/widgets/help.js:393 msgid "Take a tour" +# TRANS: machine translation msgstr "开始导览" #: js/widgets/aiwidget.js:135 @@ -7360,33 +8254,40 @@ msgstr "开始导览" #: js/widgets/tempo.js:97 #: js/widgets/tempo.js:98 msgid "Pause" +# TRANS: machine translation msgstr "暂停" #: js/widgets/aiwidget.js:179 #: js/widgets/sampler.js:225 msgid "Warning: Sample is bigger than 1MB." +# TRANS: machine translation msgstr "警告:样本大于1MB。" #: js/widgets/aiwidget.js:538 msgid "New start block generated" +# TRANS: machine translation msgstr "生成了新的开始块" #: js/widgets/aiwidget.js:540 msgid "MIDI loading. This may take some time depending upon the number of notes in the track" +# TRANS: machine translation msgstr "MIDI加载中。根据曲目中的音符数量,可能需要一些时间" #: js/widgets/aiwidget.js:550 #: js/widgets/sampler.js:252 msgid "Upload failed: Sample is not a .wav file." +# TRANS: machine translation msgstr "上传失败:样本不是.wav文件。" #: js/widgets/aiwidget.js:677 #: js/widgets/sampler.js:430 msgid "Save sample" +# TRANS: machine translation msgstr "保存样本" #: js/widgets/arpeggio.js:241 msgid "Click in the grid to add steps to the arpeggio." +# TRANS: machine translation msgstr "点击网格以添加琶音步骤。" #: js/widgets/meterwidget.js:195 @@ -7404,22 +8305,27 @@ msgstr "点击网格以添加琶音步骤。" #: js/widgets/rhythmruler.js:1810 #: js/widgets/temperament.js:2165 msgid "Play all" +# TRANS: machine translation msgstr "全部播放" #: js/widgets/meterwidget.js:269 msgid "Reset" +# TRANS: machine translation msgstr "重置" #: js/widgets/meterwidget.js:295 msgid "Click in the circle to select strong beats for the meter." +# TRANS: machine translation msgstr "点击圆圈选择强拍。" #: js/widgets/modewidget.js:125 msgid "Rotate counter clockwise" +# TRANS: machine translation msgstr "逆时针旋转" #: js/widgets/modewidget.js:131 msgid "Rotate clockwise" +# TRANS: machine translation msgstr "顺时针旋转" #: js/widgets/modewidget.js:143 @@ -7427,11 +8333,13 @@ msgstr "顺时针旋转" #: js/widgets/rhythmruler.js:578 #: js/widgets/timbre.js:957 msgid "Undo" +# TRANS: machine translation msgstr "撤销" #: js/widgets/modewidget.js:161 #. TRANS: A circle of notes represents the musical mode. msgid "Click in the circle to select notes for the mode." +# TRANS: machine translation msgstr "点击圆圈选择调式音符。" #: js/widgets/modewidget.js:1011 @@ -7443,82 +8351,101 @@ msgstr "点击圆圈选择调式音符。" #: js/widgets/tempo.js:412 #: js/widgets/phrasemaker.js:5467 msgid "New action block generated." +# TRANS: machine translation msgstr "生成了新的动作块。" #: js/widgets/musickeyboard.js:743 #: js/widgets/phrasemaker.js:595 msgid "Add note" +# TRANS: machine translation msgstr "添加音符" #: js/widgets/musickeyboard.js:762 msgid "Metronome" +# TRANS: machine translation msgstr "节拍器" #: js/widgets/musickeyboard.js:1574 msgid "Note value" +# TRANS: machine translation msgstr "音符值" #: js/widgets/musickeyboard.js:3209 msgid "New action blocks generated." +# TRANS: machine translation msgstr "生成了新的动作块。" #: js/widgets/musickeyboard.js:3393 #: js/widgets/musickeyboard.js:3401 msgid "MIDI device present." +# TRANS: machine translation msgstr "检测到MIDI设备。" #: js/widgets/musickeyboard.js:3404 msgid "No MIDI device found." +# TRANS: machine translation msgstr "未找到MIDI设备。" #: js/widgets/musickeyboard.js:3414 msgid "Failed to get MIDI access in browser." +# TRANS: machine translation msgstr "浏览器中获取MIDI访问失败。" #: js/widgets/pitchdrummatrix.js:356 #: js/widgets/pitchdrummatrix.js:741 msgid "Click in the grid to map notes to drums." +# TRANS: machine translation msgstr "点击网格将音符映射到鼓声。" #: js/widgets/pitchslider.js:103 msgid "Move up" +# TRANS: machine translation msgstr "向上移动" #: js/widgets/pitchslider.js:114 msgid "Move down" +# TRANS: machine translation msgstr "向下移动" #: js/widgets/pitchslider.js:136 msgid "Click on the slider to create a note block." +# TRANS: machine translation msgstr "点击滑块以创建音符块。" #: js/widgets/pitchstaircase.js:622 msgid "Play chord" +# TRANS: machine translation msgstr "播放和弦" #: js/widgets/pitchstaircase.js:630 msgid "Play scale" +# TRANS: machine translation msgstr "播放音阶" #: js/widgets/pitchstaircase.js:694 msgid "Click on a note to create a new step." +# TRANS: machine translation msgstr "点击音符以创建新步骤。" #: js/widgets/rhythmruler.js:486 msgid "Save rhythms" +# TRANS: machine translation msgstr "保存节奏" #: js/widgets/rhythmruler.js:512 msgid "Save drum machine" +# TRANS: machine translation msgstr "保存鼓机" #: js/widgets/rhythmruler.js:589 #. TRANS: user can tap out a rhythm by clicking on a ruler. msgid "Tap a rhythm" +# TRANS: machine translation msgstr "敲击节奏" #: js/widgets/rhythmruler.js:813 msgid "Click on the ruler to divide it." +# TRANS: machine translation msgstr "点击刻度尺进行分割。" #: js/widgets/rhythmruler.js:947 @@ -7528,51 +8455,63 @@ msgstr "点击刻度尺进行分割。" #: js/widgets/rhythmruler.js:1760 #: js/widgets/rhythmruler.js:1761 msgid "tap a rhythm" +# TRANS: machine translation msgstr "敲击节奏" #: js/widgets/rhythmruler.js:1453 msgid "Maximum value of 256 has been exceeded." +# TRANS: machine translation msgstr "已超过最大值256。" #: js/widgets/sampler.js:235 msgid "Recording started" +# TRANS: machine translation msgstr "录音开始" #: js/widgets/sampler.js:243 msgid "Recording complete" +# TRANS: machine translation msgstr "录音完成" #: js/widgets/sampler.js:281 msgid "A new sample block was generated." +# TRANS: machine translation msgstr "生成了新的采样块。" #: js/widgets/sampler.js:376 msgid "Upload sample" +# TRANS: machine translation msgstr "上传采样" #: js/widgets/sampler.js:397 msgid "Warning: Your sample cannot be loaded because it is >1MB." +# TRANS: machine translation msgstr "警告:您的采样无法加载,因为文件大于1MB。" #: js/widgets/sampler.js:446 msgid "Toggle Mic" +# TRANS: machine translation msgstr "切换麦克风" #: js/widgets/sampler.js:453 msgid "Playback" +# TRANS: machine translation msgstr "播放" #: js/widgets/sampler.js:933 #. TRANS: The reference tone is a sound used for comparison. msgid "reference tone" +# TRANS: machine translation msgstr "参考音" #: js/widgets/temperament.js:319 msgid "back to 2:1 octave space" +# TRANS: machine translation msgstr "返回到2:1倍频程间距" #: js/widgets/temperament.js:445 msgid "edit" +# TRANS: machine translation msgstr "编辑" #: js/widgets/temperament.js:525 @@ -7586,32 +8525,39 @@ msgstr "编辑" #: js/widgets/temperament.js:1448 #: js/widgets/temperament.js:1529 msgid "done" +# TRANS: machine translation msgstr "完成" #: js/widgets/temperament.js:582 #: js/widgets/temperament.js:587 #: js/widgets/temperament.js:1021 msgid "ratio" +# TRANS: machine translation msgstr "比率" #: js/widgets/temperament.js:588 msgid "interval" +# TRANS: machine translation msgstr "音程" #: js/widgets/temperament.js:716 msgid "non scalar" +# TRANS: machine translation msgstr "非标量" #: js/widgets/temperament.js:757 msgid "ratios" +# TRANS: machine translation msgstr "比率" #: js/widgets/temperament.js:757 msgid "arbitrary" +# TRANS: machine translation msgstr "任意" #: js/widgets/temperament.js:828 msgid "number of divisions" +# TRANS: machine translation msgstr "分割数量" #: js/widgets/temperament.js:843 @@ -7619,226 +8565,278 @@ msgstr "分割数量" #: js/widgets/temperament.js:1037 #: js/widgets/temperament.js:1128 msgid "preview" +# TRANS: machine translation msgstr "预览" #: js/widgets/temperament.js:888 msgid "The Number of divisions is too large." +# TRANS: machine translation msgstr "分割数量过大。" #: js/widgets/temperament.js:1023 msgid "recursion" +# TRANS: machine translation msgstr "递归" #: js/widgets/temperament.js:1549 msgid "The octave ratio has changed. This changes temperament significantly." +# TRANS: machine translation msgstr "倍频比已更改,这会显著改变音律。" #: js/widgets/temperament.js:2177 msgid "Table" +# TRANS: machine translation msgstr "表格" #: js/widgets/temperament.js:2285 msgid "Add pitches" +# TRANS: machine translation msgstr "添加音高" #: js/widgets/tempo.js:111 msgid "Save tempo" +# TRANS: machine translation msgstr "保存节奏" #: js/widgets/tempo.js:142 msgid "speed up" +# TRANS: machine translation msgstr "加快速度" #: js/widgets/tempo.js:148 msgid "slow down" +# TRANS: machine translation msgstr "减慢速度" #: js/widgets/tempo.js:192 msgid "Adjust the tempo with the buttons." +# TRANS: machine translation msgstr "使用按钮调整节奏。" #: js/widgets/tempo.js:259 msgid "Please enter a number between 30 and 1000" +# TRANS: machine translation msgstr "请输入30到1000之间的数字" #: js/widgets/tempo.js:266 #: js/widgets/tempo.js:269 msgid "The beats per minute must be between 30 and 1000." +# TRANS: machine translation msgstr "每分钟节拍数必须在30到1000之间。" #: js/widgets/tempo.js:285 msgid "The beats per minute must be below 1000." +# TRANS: machine translation msgstr "每分钟节拍数必须低于1000。" #: js/widgets/tempo.js:301 msgid "The beats per minute must be above 30" +# TRANS: machine translation msgstr "每分钟节拍数必须高于30" #: js/widgets/timbre.js:760 msgid "Synthesizer" +# TRANS: machine translation msgstr "合成器" #: js/widgets/timbre.js:880 #: planet/js/GlobalTag.js:50 #. TRANS: On the Planet, we use labels to tag projects. msgid "Effects" +# TRANS: machine translation msgstr "效果" #: js/widgets/timbre.js:940 msgid "Add filter" +# TRANS: machine translation msgstr "添加滤波器" #: js/widgets/timbre.js:981 msgid "Click on buttons to open the timbre design tools." +# TRANS: machine translation msgstr "点击按钮打开音色设计工具。" #: js/widgets/timbre.js:1265 msgid "harmonicity" +# TRANS: machine translation msgstr "谐波性" #: js/widgets/timbre.js:1332 #: js/widgets/timbre.js:1398 msgid "modulation index" +# TRANS: machine translation msgstr "调制指数" #: js/widgets/timbre.js:1476 msgid "vibrato amount" +# TRANS: machine translation msgstr "颤音量" #: js/widgets/timbre.js:1911 msgid "Filter already present." +# TRANS: machine translation msgstr "滤波器已存在。" #: js/widgets/timbre.js:2495 msgid "distortion amount" +# TRANS: machine translation msgstr "失真量" #: js/widgets/oscilloscope.js:79 msgid "Zoom In" +# TRANS: machine translation msgstr "放大" #: js/widgets/oscilloscope.js:88 msgid "Zoom Out" +# TRANS: machine translation msgstr "缩小" #: js/widgets/phrasemaker.js:585 msgid "Export" +# TRANS: machine translation msgstr "导出" #: js/widgets/phrasemaker.js:592 msgid "Sort" +# TRANS: machine translation msgstr "排序" #: js/widgets/phrasemaker.js:1061 msgid "Click on the table to add notes." +# TRANS: machine translation msgstr "点击表格添加音符。" #: js/widgets/phrasemaker.js:2755 #: js/widgets/phrasemaker.js:2891 msgid "tuplet value" +# TRANS: machine translation msgstr "复音值" #: planet/js/GlobalCard.js:68 msgid "Share" +# TRANS: machine translation msgstr "分享" #: planet/js/GlobalCard.js:74 msgid "Flags" +# TRANS: machine translation msgstr "标志" #: planet/js/GlobalPlanet.js:35 msgid "No results found." +# TRANS: machine translation msgstr "未找到结果。" #: planet/js/GlobalPlanet.js:51 msgid "Remix of" +# TRANS: machine translation msgstr "混音自" #: planet/js/GlobalPlanet.js:509 msgid "Cannot connect to server" +# TRANS: machine translation msgstr "无法连接到服务器" #: planet/js/GlobalTag.js:28 #. TRANS: On the Planet, we use labels to tag projects. msgid "All Projects" +# TRANS: machine translation msgstr "所有项目" #: planet/js/GlobalTag.js:30 #: planet/js/StringHelper.js:37 #. TRANS: On the Planet, we use labels to tag projects. msgid "My Projects" +# TRANS: machine translation msgstr "我的项目" #: planet/js/GlobalTag.js:32 #. TRANS: On the Planet, we use labels to tag projects. msgid "Examples" +# TRANS: machine translation msgstr "示例" #: planet/js/GlobalTag.js:36 #. TRANS: On the Planet, we use labels to tag projects. msgid "Art" +# TRANS: machine translation msgstr "艺术" #: planet/js/GlobalTag.js:38 #. TRANS: On the Planet, we use labels to tag projects. msgid "Math" +# TRANS: machine translation msgstr "数学" #: planet/js/GlobalTag.js:40 #. TRANS: On the Planet, we use labels to tag projects. msgid "Interactive" +# TRANS: machine translation msgstr "互动" #: planet/js/GlobalTag.js:42 #. TRANS: On the Planet, we use labels to tag projects. msgid "Design" +# TRANS: machine translation msgstr "设计" #: planet/js/GlobalTag.js:44 #. TRANS: On the Planet, we use labels to tag projects. msgid "Game" +# TRANS: machine translation msgstr "游戏" #: planet/js/GlobalTag.js:52 #. TRANS: On the Planet, we use labels to tag projects. msgid "Code Snippet" +# TRANS: machine translation msgstr "代码片段" #: planet/js/LocalCard.js:36 msgid "View published project" +# TRANS: machine translation msgstr "查看已发布项目" #: planet/js/LocalCard.js:42 #: planet/js/StringHelper.js:38 msgid "Publish project" +# TRANS: machine translation msgstr "发布项目" #: planet/js/LocalCard.js:51 msgid "Edit project" +# TRANS: machine translation msgstr "编辑项目" #: planet/js/LocalCard.js:52 msgid "Delete project" +# TRANS: machine translation msgstr "删除项目" #: planet/js/LocalCard.js:53 msgid "Download project" +# TRANS: machine translation msgstr "下载项目" #: planet/js/LocalCard.js:55 msgid "Duplicate project" +# TRANS: machine translation msgstr "复制项目" #: planet/js/ProjectStorage.js:243 msgid "anonymous" +# TRANS: machine translation msgstr "匿名" #: planet/js/ProjectViewer.js:30 msgid "Error: Report could not be submitted. Try again later." +# TRANS: machine translation msgstr "错误:无法提交报告。请稍后再试。" #: planet/js/ProjectViewer.js:31 msgid "Thank you for reporting this project. A moderator will review the project shortly, to verify violation of the Sugar Labs Code of Conduct." +# TRANS: machine translation msgstr "感谢您举报此项目。版主将很快审核该项目,以确认是否违反了 Sugar Labs 行为准则。" #: planet/js/ProjectViewer.js:32 @@ -7846,104 +8844,128 @@ msgstr "感谢您举报此项目。版主将很快审核该项目,以确认是 #: planet/js/StringHelper.js:64 #: planet/js/StringHelper.js:68 msgid "Report Project" +# TRANS: machine translation msgstr "举报项目" #: planet/js/ProjectViewer.js:33 #: planet/js/StringHelper.js:63 msgid "Project Reported" +# TRANS: machine translation msgstr "项目已被举报" #: planet/js/ProjectViewer.js:34 msgid "Report description required" +# TRANS: machine translation msgstr "必须填写举报描述" #: planet/js/ProjectViewer.js:35 msgid "Report description too long" +# TRANS: machine translation msgstr "举报描述过长" #: planet/js/Publisher.js:30 msgid "Feature unavailable - cannot connect to server. Reload Music Blocks to try again." +# TRANS: machine translation msgstr "功能不可用 - 无法连接到服务器。请重新加载 Music Blocks 再试一次。" #: planet/js/Publisher.js:220 #: planet/js/Publisher.js:237 msgid "This field is required" +# TRANS: machine translation msgstr "此字段为必填项" #: planet/js/Publisher.js:227 msgid "Title too long" +# TRANS: machine translation msgstr "标题过长" #: planet/js/Publisher.js:244 msgid "Description too long" +# TRANS: machine translation msgstr "描述过长" #: planet/js/Publisher.js:341 msgid "Server Error" +# TRANS: machine translation msgstr "服务器错误" #: planet/js/Publisher.js:341 msgid "Try Again" +# TRANS: machine translation msgstr "重试" #: planet/js/SaveInterface.js:34 msgid "Open in Music Blocks" +# TRANS: machine translation msgstr "在 Music Blocks 中打开" #: planet/js/SaveInterface.js:35 msgid "Open in Turtle Blocks" +# TRANS: machine translation msgstr "在 Turtle Blocks 中打开" #: planet/js/helper.js:149 #: planet/js/StringHelper.js:49 msgid "Show more tags" +# TRANS: machine translation msgstr "显示更多标签" #: planet/js/helper.js:150 msgid "Show fewer tags" +# TRANS: machine translation msgstr "显示较少标签" #: planet/js/StringHelper.js:30 msgid "Planet" +# TRANS: machine translation msgstr "星球" #: planet/js/StringHelper.js:31 msgid "Close Planet" +# TRANS: machine translation msgstr "关闭星球" #: planet/js/StringHelper.js:32 msgid "Open project from file" +# TRANS: machine translation msgstr "从文件打开项目" #: planet/js/StringHelper.js:34 msgid "Local" +# TRANS: machine translation msgstr "本地" #: planet/js/StringHelper.js:35 msgid "Global" +# TRANS: machine translation msgstr "全局" #: planet/js/StringHelper.js:36 msgid "Search for a project" +# TRANS: machine translation msgstr "搜索项目" #: planet/js/StringHelper.js:40 msgid "Tags (max 5)" +# TRANS: machine translation msgstr "标签(最多 5 个)" #: planet/js/StringHelper.js:41 #: planet/js/StringHelper.js:61 msgid "Description" +# TRANS: machine translation msgstr "描述" #: planet/js/StringHelper.js:42 #: planet/js/StringHelper.js:67 msgid "Submit" +# TRANS: machine translation msgstr "提交" #: planet/js/StringHelper.js:43 #: planet/js/StringHelper.js:47 msgid "Cancel" +# TRANS: machine translation msgstr "取消" #: planet/js/StringHelper.js:44 @@ -7956,50 +8978,62 @@ msgstr "" #: planet/js/StringHelper.js:48 msgid "Explore Projects" +# TRANS: machine translation msgstr "探索项目" #: planet/js/StringHelper.js:50 msgid "Most recent" +# TRANS: machine translation msgstr "最新" #: planet/js/StringHelper.js:51 msgid "Most liked" +# TRANS: machine translation msgstr "最受喜爱" #: planet/js/StringHelper.js:52 msgid "Most downloaded" +# TRANS: machine translation msgstr "下载最多" #: planet/js/StringHelper.js:53 msgid "A-Z" +# TRANS: machine translation msgstr "按字母排序" #: planet/js/StringHelper.js:54 msgid "Sort by" +# TRANS: machine translation msgstr "排序方式" #: planet/js/StringHelper.js:55 msgid "Load More Projects" +# TRANS: machine translation msgstr "加载更多项目" #: planet/js/StringHelper.js:56 msgid "Last Updated" +# TRANS: machine translation msgstr "最后更新" #: planet/js/StringHelper.js:57 msgid "Creation Date" +# TRANS: machine translation msgstr "创建日期" #: planet/js/StringHelper.js:58 msgid "Number of Downloads:" +# TRANS: machine translation msgstr "下载次数:" #: planet/js/StringHelper.js:59 msgid "Number of Likes:" +# TRANS: machine translation msgstr "点赞数:" #: planet/js/StringHelper.js:60 msgid "Tags:" +# TRANS: machine translation msgstr "标签:" #: planet/js/StringHelper.js:65 @@ -8008,174 +9042,217 @@ msgstr "" #: planet/js/StringHelper.js:66 msgid "Reason for reporting project" +# TRANS: machine translation msgstr "举报项目原因" #: planet/js/StringHelper.js:70 msgid "Download as File" +# TRANS: machine translation msgstr "下载为文件" #: plugins/accelerometer.rtp:48 msgid "motion x" +# TRANS: machine translation msgstr "运动 x" #: plugins/accelerometer.rtp:56 msgid "motion y" +# TRANS: machine translation msgstr "运动 y" #: plugins/accelerometer.rtp:64 msgid "motion z" +# TRANS: machine translation msgstr "运动 z" #: plugins/facebook.rtp:27 msgid "publish" +# TRANS: machine translation msgstr "发布" #: plugins/maths.rtp:62 msgid "power" +# TRANS: machine translation msgstr "乘方" #: plugins/maths.rtp:62 msgid "base" +# TRANS: machine translation msgstr "底数" #: plugins/maths.rtp:62 msgid "exp" +# TRANS: machine translation msgstr "指数" #: plugins/maths.rtp:99 msgid "floor" +# TRANS: machine translation msgstr "向下取整" #: plugins/maths.rtp:104 msgid "ceiling" +# TRANS: machine translation msgstr "向上取整" #: plugins/maths.rtp:109 msgid "to degrees" +# TRANS: machine translation msgstr "转为角度" #: plugins/maths.rtp:114 msgid "to radians" +# TRANS: machine translation msgstr "转为弧度" #: plugins/nutrition.rtp:104 msgid "get calories" +# TRANS: machine translation msgstr "获取卡路里" #: plugins/nutrition.rtp:107 msgid "get protein" +# TRANS: machine translation msgstr "获取蛋白质" #: plugins/nutrition.rtp:110 msgid "get carbs" +# TRANS: machine translation msgstr "获取碳水化合物" #: plugins/nutrition.rtp:113 msgid "get fiber" +# TRANS: machine translation msgstr "获取纤维" #: plugins/nutrition.rtp:116 msgid "get fat" +# TRANS: machine translation msgstr "获取脂肪" #: plugins/nutrition.rtp:119 msgid "get name" +# TRANS: machine translation msgstr "获取名称" #: plugins/nutrition.rtp:122 msgid "calories" +# TRANS: machine translation msgstr "卡路里" #: plugins/nutrition.rtp:128 msgid "protein" +# TRANS: machine translation msgstr "蛋白质" #: plugins/nutrition.rtp:134 msgid "carbs" +# TRANS: machine translation msgstr "碳水化合物" #: plugins/nutrition.rtp:140 msgid "fiber" +# TRANS: machine translation msgstr "纤维" #: plugins/nutrition.rtp:146 msgid "fat" +# TRANS: machine translation msgstr "脂肪" #: plugins/nutrition.rtp:152 msgid "eat" +# TRANS: machine translation msgstr "吃" #: plugins/nutrition.rtp:155 msgid "digest meal" +# TRANS: machine translation msgstr "消化餐食" #: plugins/nutrition.rtp:158 msgid "apple" +# TRANS: machine translation msgstr "苹果" #: plugins/nutrition.rtp:161 msgid "banana" +# TRANS: machine translation msgstr "香蕉" #: plugins/nutrition.rtp:167 msgid "wheat bread" +# TRANS: machine translation msgstr "全麦面包" #: plugins/nutrition.rtp:170 msgid "corn" +# TRANS: machine translation msgstr "玉米" #: plugins/nutrition.rtp:173 msgid "potato" +# TRANS: machine translation msgstr "土豆" #: plugins/nutrition.rtp:176 msgid "sweet potato" +# TRANS: machine translation msgstr "红薯" #: plugins/nutrition.rtp:179 msgid "tomato" +# TRANS: machine translation msgstr "番茄" #: plugins/nutrition.rtp:182 msgid "broccoli" +# TRANS: machine translation msgstr "西兰花" #: plugins/nutrition.rtp:185 msgid "rice and beans" +# TRANS: machine translation msgstr "米饭和豆子" #: plugins/nutrition.rtp:188 msgid "tamale" +# TRANS: machine translation msgstr "塔玛莱" #: plugins/nutrition.rtp:191 msgid "cheese" +# TRANS: machine translation msgstr "奶酪" #: plugins/nutrition.rtp:194 msgid "chicken" +# TRANS: machine translation msgstr "鸡肉" #: plugins/nutrition.rtp:197 msgid "fish" +# TRANS: machine translation msgstr "鱼" #: plugins/nutrition.rtp:200 msgid "beef" +# TRANS: machine translation msgstr "牛肉" #: plugins/nutrition.rtp:203 msgid "cake" +# TRANS: machine translation msgstr "蛋糕" #: plugins/nutrition.rtp:206 msgid "cookie" +# TRANS: machine translation msgstr "饼干" #: plugins/nutrition.rtp:209 msgid "water" +# TRANS: machine translation msgstr "水" #: plugins/weather.rtp:68 @@ -8185,50 +9262,61 @@ msgstr "" #: plugins/weather.rtp:122 msgid "forecast" +# TRANS: machine translation msgstr "天气预报" #: plugins/weather.rtp:123 #: plugins/weather.rtp:137 #: plugins/weather.rtp:150 msgid "city" +# TRANS: machine translation msgstr "城市" #: plugins/weather.rtp:124 #: plugins/weather.rtp:138 #: plugins/weather.rtp:151 msgid "day" +# TRANS: machine translation msgstr "天" #: plugins/weather.rtp:136 msgid "high" +# TRANS: machine translation msgstr "高" #: plugins/weather.rtp:149 msgid "low" +# TRANS: machine translation msgstr "低" #: plugins/rodi.rtp:172 msgid "blink" +# TRANS: machine translation msgstr "闪烁" #: plugins/rodi.rtp:246 msgid "led" +# TRANS: machine translation msgstr "LED" #: plugins/rodi.rtp:265 msgid "light intensity" +# TRANS: machine translation msgstr "光照强度" #: plugins/rodi.rtp:282 msgid "infrared light (left)" +# TRANS: machine translation msgstr "红外光(左)" #: plugins/rodi.rtp:296 msgid "infrared light (right)" +# TRANS: machine translation msgstr "红外光(右)" #: plugins/rodi.rtp:338 msgid "move" +# TRANS: machine translation msgstr "移动" #: js/activity.js:3323