updates
This commit is contained in:
parent
d59c0c9450
commit
4e6f7904ba
@ -429,4 +429,17 @@ Blockly.Msg["VARIABLES_HUE"] = "330";
|
||||
Blockly.Msg["TEXTS_HUE"] = "160";
|
||||
Blockly.Msg["PROCEDURES_HUE"] = "290";
|
||||
Blockly.Msg["COLOUR_HUE"] = "20";
|
||||
Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";
|
||||
Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";
|
||||
|
||||
|
||||
Blockly.Msg["SUMOROBOT_STOP"] = "Move STOP";
|
||||
Blockly.Msg["SUMOROBOT_LEFT"] = "Move Left";
|
||||
Blockly.Msg["SUMOROBOT_RIGHT"] = "Move Right";
|
||||
Blockly.Msg["SUMOROBOT_FORWARD"] = "Move Forward";
|
||||
Blockly.Msg["SUMOROBOT_BACKWARD"] = "Move Backward";
|
||||
Blockly.Msg["SUMOROBOT_SEARCH"] = "Move Search";
|
||||
Blockly.Msg["SUMOROBOT_OPPONENT"] = "Opponent";
|
||||
Blockly.Msg["SUMOROBOT_LINE_LEFT"] = "Line Left";
|
||||
Blockly.Msg["SUMOROBOT_LINE_MIDDLE"] = "Line Middle";
|
||||
Blockly.Msg["SUMOROBOT_LINE_RIGHT"] = "Line Right";
|
||||
Blockly.Msg["SUMOROBOT_SLEEP"] = "Sleep"
|
||||
|
447
assets/blockly/msg/js/et.js
Normal file
447
assets/blockly/msg/js/et.js
Normal file
@ -0,0 +1,447 @@
|
||||
// This file was automatically generated. Do not modify.
|
||||
|
||||
'use strict';
|
||||
|
||||
goog.provide('Blockly.Msg.et');
|
||||
|
||||
goog.require('Blockly.Msg');
|
||||
|
||||
Blockly.Msg["ADD_COMMENT"] = "Lisa kommentaar";
|
||||
Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'"; // untranslated
|
||||
Blockly.Msg["CHANGE_VALUE_TITLE"] = "Muuda väärtust:";
|
||||
Blockly.Msg["CLEAN_UP"] = "Korista plokid kokku";
|
||||
Blockly.Msg["COLLAPSE_ALL"] = "Tõmba plokid kokku";
|
||||
Blockly.Msg["COLLAPSE_BLOCK"] = "Tõmba plokk kokku";
|
||||
Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "1. värvist";
|
||||
Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "2. värvist";
|
||||
Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/"; // untranslated
|
||||
Blockly.Msg["COLOUR_BLEND_RATIO"] = "suhtega";
|
||||
Blockly.Msg["COLOUR_BLEND_TITLE"] = "segu";
|
||||
Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Segab kaks värvi määratud suhtega (0.0 - 1.0) kokku.";
|
||||
Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
|
||||
Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Valitud värv paletist.";
|
||||
Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com"; // untranslated
|
||||
Blockly.Msg["COLOUR_RANDOM_TITLE"] = "juhuslik värv";
|
||||
Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Juhuslikult valitud värv.";
|
||||
Blockly.Msg["COLOUR_RGB_BLUE"] = "sinisest";
|
||||
Blockly.Msg["COLOUR_RGB_GREEN"] = "rohelisest";
|
||||
Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html"; // untranslated
|
||||
Blockly.Msg["COLOUR_RGB_RED"] = "punasest";
|
||||
Blockly.Msg["COLOUR_RGB_TITLE"] = "segu";
|
||||
Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Tekitab värvi määratud hulgast punasest, rohelisest ja sinisest. Kõik väärtused peavad olema 0 ja 100 vahel.";
|
||||
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
|
||||
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "välju kordusest";
|
||||
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "katkesta see kordus ja liigu järgmisele";
|
||||
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Väljub kordusest ja liigub edasi korduse järel oleva koodi käivitamisele.";
|
||||
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Katkestab korduses oleva koodi käivitamise ja käivitab järgmise korduse.";
|
||||
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Hoiatus: Seda plokki saab kasutada ainult korduse sees.";
|
||||
Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each"; // untranslated
|
||||
Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "iga elemendiga %1 loendis %2";
|
||||
Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Iga elemendiga loendis anna muutujale '%1' elemendi väärtus ja kõivita plokis olevad käsud.";
|
||||
Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with"; // untranslated
|
||||
Blockly.Msg["CONTROLS_FOR_TITLE"] = "loendus muutujaga %1 alates %2 kuni %3, %4 kaupa";
|
||||
Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Annab muutujale '%1' väärtused ühest numbrist teiseni, muutes seda intervalli kaupa ja käivitab igal muudatusel ploki sees oleva koodi.";
|
||||
Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Lisab „kui“ plokile tingimuse.";
|
||||
Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Lisab „kui“ plokile lõpliku tingimuseta koodiploki.";
|
||||
Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse"; // untranslated
|
||||
Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Selle „kui“ ploki muutmine sektsioonide lisamise, eemaldamise ja järjestamisega.";
|
||||
Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "vastasel juhul";
|
||||
Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "vastasel juhul, kui";
|
||||
Blockly.Msg["CONTROLS_IF_MSG_IF"] = "kui";
|
||||
Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Kui avaldis on tõene, käivita ploki sees olevad käsud.";
|
||||
Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Kui avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul käivita käsud teisest plokist.";
|
||||
Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Kui esimene avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul, kui teine avaldis on tõene, käivita käsud teisest plokist.";
|
||||
Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Kui esimene avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul, kui teine avaldis on tõene, käivita käsud teisest plokist. Kui ükski avaldistest pole tõene, käivita käsud viimasest plokist.";
|
||||
Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
|
||||
Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "käivita";
|
||||
Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 korda";
|
||||
Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Plokis olevate käskude käivitamine määratud arv kordi.";
|
||||
Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat"; // untranslated
|
||||
Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "seni kuni pole";
|
||||
Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "seni kuni on";
|
||||
Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Plokis olevaid käske korratakse seni kui avaldis pole tõene.";
|
||||
Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Plokis olevaid käske korratakse seni kui avaldis on tõene.";
|
||||
Blockly.Msg["DELETE_ALL_BLOCKS"] = "Kas kustutada kõik %1 plokki?";
|
||||
Blockly.Msg["DELETE_BLOCK"] = "Kustuta plokk";
|
||||
Blockly.Msg["DELETE_VARIABLE"] = "Kustuta muutuja '%1'";
|
||||
Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Kas kustutada %1 kohas kasutatav muutuja '%2'?";
|
||||
Blockly.Msg["DELETE_X_BLOCKS"] = "Kustuta %1 plokki";
|
||||
Blockly.Msg["DISABLE_BLOCK"] = "Keela ploki kasutamine";
|
||||
Blockly.Msg["DUPLICATE_BLOCK"] = "Tekita duplikaat";
|
||||
Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment"; // untranslated
|
||||
Blockly.Msg["ENABLE_BLOCK"] = "Luba ploki kasutamine";
|
||||
Blockly.Msg["EXPAND_ALL"] = "Laota plokid laiali";
|
||||
Blockly.Msg["EXPAND_BLOCK"] = "Laota plokk laiali";
|
||||
Blockly.Msg["EXTERNAL_INPUTS"] = "Sisendid ploki taga";
|
||||
Blockly.Msg["HELP"] = "Abi";
|
||||
Blockly.Msg["INLINE_INPUTS"] = "Sisendid ploki sees";
|
||||
Blockly.Msg["IOS_CANCEL"] = "Cancel"; // untranslated
|
||||
Blockly.Msg["IOS_ERROR"] = "Error"; // untranslated
|
||||
Blockly.Msg["IOS_OK"] = "OK"; // untranslated
|
||||
Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input"; // untranslated
|
||||
Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements"; // untranslated
|
||||
Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs."; // untranslated
|
||||
Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS"; // untranslated
|
||||
Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add"; // untranslated
|
||||
Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable"; // untranslated
|
||||
Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Kustuta";
|
||||
Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Tühja muutuja nime ei saa kasutada.";
|
||||
Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename"; // untranslated
|
||||
Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Muutuja nimi";
|
||||
Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list"; // untranslated
|
||||
Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "tühi loend";
|
||||
Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Tagastab loendi, mille pikkus on 0 ja milles pole ühtegi elementi.";
|
||||
Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "loend";
|
||||
Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Loendiploki elementide lisamine, eemaldamine või järjestuse muutmine.";
|
||||
Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with"; // untranslated
|
||||
Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "uus loend";
|
||||
Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Elemendi lisamine loendisse.";
|
||||
Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Tekitab mistahes arvust elementidest loendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "esimene element";
|
||||
Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "element # (lõpust)";
|
||||
Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "element #";
|
||||
Blockly.Msg["LISTS_GET_INDEX_GET"] = "võetud";
|
||||
Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "võetud ja eemaldatud";
|
||||
Blockly.Msg["LISTS_GET_INDEX_LAST"] = "viimane element";
|
||||
Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "juhuslik element";
|
||||
Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "eemalda";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TAIL"] = ""; // untranslated
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Tagastab loendi esimese elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Tagastab loendis määratud asukohal oleva elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Tagastab loendi viimase elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Tagastab loendi juhusliku elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Tagastab ja eemaldab loendist esimese elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Tagastab ja eemaldab loendist määratud asukohal oleva elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Tagastab ja eemaldab loendist viimase elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Tagastab ja eemaldab loendist juhusliku elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Eemaldab loendist esimese elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Eemaldab loendist määratud asukohal oleva elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Eemaldab loendist viimase elemendi.";
|
||||
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Eemaldab loendist juhusliku elemendi.";
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "elemendini # (lõpust)";
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "elemendini #";
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "lõpuni";
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist"; // untranslated
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "alamloend algusest";
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "alamloend elemendist # (lõpust)";
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "alamloend elemendist #";
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = ""; // untranslated
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Tekitab loendi määratud osast koopia.";
|
||||
Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "Viimane element on %1.";
|
||||
Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "Esimene element on %1.";
|
||||
Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "esimene leitud";
|
||||
Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list"; // untranslated
|
||||
Blockly.Msg["LISTS_INDEX_OF_LAST"] = "viimase leitud";
|
||||
Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Tagastab esimese/viimase loendist leitud objekti asukoha (objekti järjekorranumbri loendis). Kui objekti ei leita, tagastab %1.";
|
||||
Blockly.Msg["LISTS_INLIST"] = "loendis";
|
||||
Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty"; // untranslated
|
||||
Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 on tühi";
|
||||
Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Tagastab „tõene“ kui loend on tühi.";
|
||||
Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of"; // untranslated
|
||||
Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 pikkus";
|
||||
Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Tagastab loendi pikkuse.";
|
||||
Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with"; // untranslated
|
||||
Blockly.Msg["LISTS_REPEAT_TITLE"] = "loend pikkusega %2 elemendist %1";
|
||||
Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Tekitab uue loendi, millesse lisatakse ühte elementi pikkusega määratud arv kordi.";
|
||||
Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list"; // untranslated
|
||||
Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1"; // untranslated
|
||||
Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list."; // untranslated
|
||||
Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set"; // untranslated
|
||||
Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = ", väärtus";
|
||||
Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "lisa asukohale";
|
||||
Blockly.Msg["LISTS_SET_INDEX_SET"] = "asenda";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Lisab loendi algusesse uue elemendi.";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Lisab määratud asukohale loendis uue elemendi.";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Lisab loendi lõppu uue elemendi.";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Lisab juhuslikule kohale loendis uue elemendi.";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Asendab loendis esimese elemendi.";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Asendab loendis määratud kohal oleva elemendi.";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Asendab loendis viimase elemendi.";
|
||||
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Asendab loendis juhusliku elemendi.";
|
||||
Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
|
||||
Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "kasvavalt";
|
||||
Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "kahanevalt";
|
||||
Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 sorteeritud %3";
|
||||
Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Loendi koopia sorteerimine.";
|
||||
Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "tähestiku järgi (tähesuurust eirates)";
|
||||
Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "arvväärtuste järgi";
|
||||
Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "tähestiku järgi";
|
||||
Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists"; // untranslated
|
||||
Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "loend, tekitatud tekstist";
|
||||
Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "tekst, tekitatud loendist";
|
||||
Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Ühendab tekstide loendis olevad tükid üheks tekstiks, asetades tükkide vahele eraldaja.";
|
||||
Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Tükeldab teksti eraldajade kohalt ja asetab tükid tekstide loendisse.";
|
||||
Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "eraldajaga";
|
||||
Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "väär";
|
||||
Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values"; // untranslated
|
||||
Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Tagastab tõeväärtuse – kas „tõene“ või „väär“.";
|
||||
Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "tõene";
|
||||
Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
|
||||
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Tagastab „tõene“, kui avaldiste väärtused on võrdsed.";
|
||||
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Tagastab „tõene“, kui esimese avaldise väärtus on suurem kui teise väärtus.";
|
||||
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Tagastab „tõene“, kui esimese avaldise väärtus on suurem või võrdne teise väärtusega.";
|
||||
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Tagastab „tõene“, kui esimese avaldise väärtus on väiksem kui teise väärtus.";
|
||||
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Tagastab „tõene“, kui esimese avaldise väärtus on väiksem või võrdne teise väärtusega.";
|
||||
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Tagastab „tõene“, kui avaldiste väärtused pole võrdsed.";
|
||||
Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not"; // untranslated
|
||||
Blockly.Msg["LOGIC_NEGATE_TITLE"] = "pole %1";
|
||||
Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Tagastab „tõene“, kui avaldis on väär. Tagastab „väär“, kui avaldis on tõene.";
|
||||
Blockly.Msg["LOGIC_NULL"] = "null";
|
||||
Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type"; // untranslated
|
||||
Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Tagastab nulli.";
|
||||
Blockly.Msg["LOGIC_OPERATION_AND"] = "ja";
|
||||
Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations"; // untranslated
|
||||
Blockly.Msg["LOGIC_OPERATION_OR"] = "või";
|
||||
Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Tagastab „tõene“, kui mõlemad avaldised on tõesed.";
|
||||
Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Tagastab „tõene“, kui vähemalt üks avaldistest on tõene.";
|
||||
Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "tingimus";
|
||||
Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:"; // untranslated
|
||||
Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "kui väär";
|
||||
Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "kui tõene";
|
||||
Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kui tingimuse väärtus on tõene, tagastab „kui tõene“ väärtuse, vastasel juhul „kui väär“ väärtuse.";
|
||||
Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
|
||||
Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://et.wikipedia.org/wiki/Aritmeetika";
|
||||
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Tagastab kahe arvu summa.";
|
||||
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Tagastab kahe arvu jagatise.";
|
||||
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Tagastab kahe arvu vahe.";
|
||||
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Tagastab kahe arvu korrutise.";
|
||||
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Tagastab esimese arvu teise arvu astmes.";
|
||||
Blockly.Msg["MATH_ATAN2_HELPURL"] = "https://en.wikipedia.org/wiki/Atan2"; // untranslated
|
||||
Blockly.Msg["MATH_ATAN2_TITLE"] = "atan2 of X:%1 Y:%2"; // untranslated
|
||||
Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Return the arctangent of point (X, Y) in degrees from -180 to 180."; // untranslated
|
||||
Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
|
||||
Blockly.Msg["MATH_CHANGE_TITLE"] = "muuda %1 %2 võrra";
|
||||
Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Lisab arvu muutujale '%1'.";
|
||||
Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
|
||||
Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Tagastab ühe konstantidest: π (3,141…), e (2,718…), φ (1.618…), √2) (1,414…), √½ (0,707…), või ∞ (infinity).";
|
||||
Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
|
||||
Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1 piirang %2 ja %3 vahele";
|
||||
Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Piirab arvu väärtuse toodud piiridesse (piirarvud kaasa arvatud).";
|
||||
Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷"; // untranslated
|
||||
Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "jagub arvuga";
|
||||
Blockly.Msg["MATH_IS_EVEN"] = "on paarisarv";
|
||||
Blockly.Msg["MATH_IS_NEGATIVE"] = "on negatiivne arv";
|
||||
Blockly.Msg["MATH_IS_ODD"] = "on paaritu arv";
|
||||
Blockly.Msg["MATH_IS_POSITIVE"] = "on positiivne arv";
|
||||
Blockly.Msg["MATH_IS_PRIME"] = "on algarv";
|
||||
Blockly.Msg["MATH_IS_TOOLTIP"] = "Kontrollib kas arv on paarisarv, paaritu arv, algarv, täisarv, positiivne, negatiivne või jagub kindla arvuga. Tagastab „tõene“ või „väär“.";
|
||||
Blockly.Msg["MATH_IS_WHOLE"] = "on täisarv";
|
||||
Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
|
||||
Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2 jääk";
|
||||
Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Tagastab esimese numbri teisega jagamisel tekkiva jäägi.";
|
||||
Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×"; // untranslated
|
||||
Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://et.wikipedia.org/wiki/Arv";
|
||||
Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Arv.";
|
||||
Blockly.Msg["MATH_ONLIST_HELPURL"] = ""; // untranslated
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "loendi keskmine";
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "loendi maksimum";
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "loendi mediaan";
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "loendi miinimum";
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "loendi moodid";
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "juhuslik element loendist";
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "loendi standardhälve";
|
||||
Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "loendi summa";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Tagastab loendis olevate arvväärtuste aritmeetilise keskmise.";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Tagastab suurima loendis oleva arvu.";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Tagastab väikseima loendis oleva arvu.";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Tagastab loendi kõige sagedamini esinevate loendi liikmetega.";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Tagastab juhusliku elemendi loendist.";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Tagastab loendi standardhälbe.";
|
||||
Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Tagastab kõigi loendis olevate arvude summa.";
|
||||
Blockly.Msg["MATH_POWER_SYMBOL"] = "^"; // untranslated
|
||||
Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
|
||||
Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "juhuslik murdosa";
|
||||
Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Tagastab juhusliku murdosa 0.0 (kaasa arvatud) and 1.0 (välja arvatud) vahel.";
|
||||
Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
|
||||
Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "juhuslik täisarv %1 ja %2 vahel";
|
||||
Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Tagastab juhusliku täisarvu toodud piiride vahel (piirarvud kaasa arvatud).";
|
||||
Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
|
||||
Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "ümarda";
|
||||
Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ümarda alla";
|
||||
Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ümarda üles";
|
||||
Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Ümardab arvu üles või alla.";
|
||||
Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://et.wikipedia.org/wiki/Ruutjuur";
|
||||
Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluutväärtus";
|
||||
Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ruutjuur";
|
||||
Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Tagastab arvu absoluutväärtuse.";
|
||||
Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Tagasta e arvu astmes.";
|
||||
Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Tagastab arvu naturaallogaritmi.";
|
||||
Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Tagastab arvu kümnendlogaritm.";
|
||||
Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Tagastab arvu vastandväärtuse.";
|
||||
Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Tagastab 10 arvu astmes.";
|
||||
Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Tagastab arvu ruutjuure.";
|
||||
Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-"; // untranslated
|
||||
Blockly.Msg["MATH_TRIG_ACOS"] = "acos"; // untranslated
|
||||
Blockly.Msg["MATH_TRIG_ASIN"] = "asin"; // untranslated
|
||||
Blockly.Msg["MATH_TRIG_ATAN"] = "atan"; // untranslated
|
||||
Blockly.Msg["MATH_TRIG_COS"] = "cos"; // untranslated
|
||||
Blockly.Msg["MATH_TRIG_HELPURL"] = "https://et.wikipedia.org/wiki/Trigonomeetrilised_funktsioonid";
|
||||
Blockly.Msg["MATH_TRIG_SIN"] = "sin"; // untranslated
|
||||
Blockly.Msg["MATH_TRIG_TAN"] = "tan"; // untranslated
|
||||
Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Tagastab arvu arkuskoosiinuse.";
|
||||
Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Tagastab arvu arkussiinuse.";
|
||||
Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Tagastab arvu arkustangensi.";
|
||||
Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Tagastab arvu (kraadid) kosiinuse.";
|
||||
Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Tagastab arvu (kraadid) siinuse.";
|
||||
Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Tagastab arvu (kraadid) tangensi.";
|
||||
Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable..."; // untranslated
|
||||
Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable..."; // untranslated
|
||||
Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable..."; // untranslated
|
||||
Blockly.Msg["NEW_VARIABLE"] = "Uus muutuja ...";
|
||||
Blockly.Msg["NEW_VARIABLE_TITLE"] = "Uue muutuja nimi:";
|
||||
Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
|
||||
Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
|
||||
Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "kood plokis";
|
||||
Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "sisenditega:";
|
||||
Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://et.wikipedia.org/wiki/Alamprogramm";
|
||||
Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Käivitab kasutaja defineeritud funktsiooni '%1'.";
|
||||
Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://et.wikipedia.org/wiki/Alamprogramm";
|
||||
Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";
|
||||
Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "sisenditega:";
|
||||
Blockly.Msg["PROCEDURES_CREATE_DO"] = "Tekita '%1' plokk";
|
||||
Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Funktsiooni kirjeldus ...";
|
||||
Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = ""; // untranslated
|
||||
Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
|
||||
Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "teeme midagi";
|
||||
Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "funktsioon";
|
||||
Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Tekitab funktsiooni, mis ei tagasta midagi.";
|
||||
Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
|
||||
Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "tagasta";
|
||||
Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Tekitab funktsiooni, mis tagastab midagi.";
|
||||
Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Hoiatus: Sel funktsioonil on mitu sama nimega sisendit.";
|
||||
Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Tõsta funktsiooni definitsioon esile";
|
||||
Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause"; // untranslated
|
||||
Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Kui väärtus on tõene, tagastatakse teine väärtus.";
|
||||
Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Hoiatus: Seda plokki saab kasutada ainult funktsiooni definitsioonis.";
|
||||
Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "sisend nimega:";
|
||||
Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Lisab funktsioonile sisendi.";
|
||||
Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "sisendid";
|
||||
Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Funktsiooni sisendite lisamine, eemaldamine või järjestuse muutmine.";
|
||||
Blockly.Msg["REDO"] = "Tee uuesti";
|
||||
Blockly.Msg["REMOVE_COMMENT"] = "Eemalda kommentaar";
|
||||
Blockly.Msg["RENAME_VARIABLE"] = "Nimeta muutuja ümber ...";
|
||||
Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Muutuja „%1“ uus nimi:";
|
||||
Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
|
||||
Blockly.Msg["TEXT_APPEND_TITLE"] = "lisa muutuja %1 lõppu tekst %2";
|
||||
Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Lisab teksti muutuja „%1“ väärtuse lõppu.";
|
||||
Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case"; // untranslated
|
||||
Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "väikeste tähtedega";
|
||||
Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Suurte Esitähtedega";
|
||||
Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "SUURTE TÄHTEDEGA";
|
||||
Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Tagastab muudetud tähesuurusega teksti koopia.";
|
||||
Blockly.Msg["TEXT_CHARAT_FIRST"] = "esimene sümbol";
|
||||
Blockly.Msg["TEXT_CHARAT_FROM_END"] = "lõpust sümbol #";
|
||||
Blockly.Msg["TEXT_CHARAT_FROM_START"] = "sümbol #";
|
||||
Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text"; // untranslated
|
||||
Blockly.Msg["TEXT_CHARAT_LAST"] = "viimane sümbol";
|
||||
Blockly.Msg["TEXT_CHARAT_RANDOM"] = "juhuslik sümbol";
|
||||
Blockly.Msg["TEXT_CHARAT_TAIL"] = ""; // untranslated
|
||||
Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2"; // untranslated
|
||||
Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Tagastab tekstis määratud asukohal oleva sümboli.";
|
||||
Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings"; // untranslated
|
||||
Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2"; // untranslated
|
||||
Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Loenda, mitu korda mingi tekst esineb teise teksti sees.";
|
||||
Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Objekti lisamine tekstile.";
|
||||
Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "ühenda";
|
||||
Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Tekstiploki muutmine sektsioonide lisamise, eemaldamise või järjestuse muutmisega.";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "kuni (lõpust) sümbolini #";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "kuni sümbolini #";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "kuni viimase sümbolini";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text"; // untranslated
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "tekstist";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "alates esimesest sümbolist";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "alates (lõpust) sümbolist #";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "alates sümbolist #";
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = ""; // untranslated
|
||||
Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Tagastab määratud tüki tekstist.";
|
||||
Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text"; // untranslated
|
||||
Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "esimese leitud tekstitüki";
|
||||
Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "viimase leitud tekstitüki";
|
||||
Blockly.Msg["TEXT_INDEXOF_TITLE"] = "tekstist %1 %2 %3 asukoht";
|
||||
Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Tagastab esimesest tekstist esimese/viimase leitud teise teksti asukoha (indeksi). Kui teksti ei leita, tagastab %1.";
|
||||
Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text"; // untranslated
|
||||
Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 on tühi";
|
||||
Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Tagastab „tõene“, kui tekstis pole ühtegi sümbolit.";
|
||||
Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation"; // untranslated
|
||||
Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "tekita tekst";
|
||||
Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Tekitab teksti ühendades mistahes arvu elemente.";
|
||||
Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
|
||||
Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 pikkus";
|
||||
Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Tagastab sümbolite aru (ka tühikud) toodud tekstis.";
|
||||
Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text"; // untranslated
|
||||
Blockly.Msg["TEXT_PRINT_TITLE"] = "trüki %1";
|
||||
Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Trükib määratud teksti, numbri või mõne muu objekti väärtuse.";
|
||||
Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user"; // untranslated
|
||||
Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Küsib kasutajalt teadet näidates mingit arvu.";
|
||||
Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Küsib kasutajalt teadet näidates mingit teksti.";
|
||||
Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "kasutajalt küsitud arv teatega";
|
||||
Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "kasutajalt küsitud tekst teatega";
|
||||
Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings"; // untranslated
|
||||
Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3"; // untranslated
|
||||
Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text."; // untranslated
|
||||
Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text"; // untranslated
|
||||
Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1"; // untranslated
|
||||
Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text."; // untranslated
|
||||
Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
|
||||
Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Täht, sõna või rida teksti.";
|
||||
Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces"; // untranslated
|
||||
Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "mõlemalt poolt eemaldatud tühikutega";
|
||||
Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "algusest eemaldatud tühikutega";
|
||||
Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "lõpust eemaldatud tühikutega";
|
||||
Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Tagastab koopia tekstist, millel on tühikud ühelt või mõlemalt poolt eemaldatud.";
|
||||
Blockly.Msg["TODAY"] = "Täna";
|
||||
Blockly.Msg["UNDO"] = "Võta tagasi";
|
||||
Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "objekt";
|
||||
Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Tekita 'määra „%1“ väärtuseks' plokk";
|
||||
Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get"; // untranslated
|
||||
Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Tagastab selle muutuja väärtuse.";
|
||||
Blockly.Msg["VARIABLES_SET"] = "määra %1 väärtuseks %2";
|
||||
Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Tekita '„%1“ väärtus' plokk";
|
||||
Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set"; // untranslated
|
||||
Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Määrab selle muutuja väärtuse võrdseks sisendi väärtusega.";
|
||||
Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1'-nimeline muutuja on juba olemas.";
|
||||
Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
|
||||
Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
|
||||
Blockly.Msg["PROCEDURES_DEFRETURN_TITLE"] = Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"];
|
||||
Blockly.Msg["CONTROLS_IF_IF_TITLE_IF"] = Blockly.Msg["CONTROLS_IF_MSG_IF"];
|
||||
Blockly.Msg["CONTROLS_WHILEUNTIL_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
|
||||
Blockly.Msg["CONTROLS_IF_MSG_THEN"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
|
||||
Blockly.Msg["CONTROLS_IF_ELSE_TITLE_ELSE"] = Blockly.Msg["CONTROLS_IF_MSG_ELSE"];
|
||||
Blockly.Msg["PROCEDURES_DEFRETURN_PROCEDURE"] = Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"];
|
||||
Blockly.Msg["LISTS_GET_SUBLIST_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
|
||||
Blockly.Msg["LISTS_GET_INDEX_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
|
||||
Blockly.Msg["MATH_CHANGE_TITLE_ITEM"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
|
||||
Blockly.Msg["PROCEDURES_DEFRETURN_DO"] = Blockly.Msg["PROCEDURES_DEFNORETURN_DO"];
|
||||
Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
|
||||
Blockly.Msg["LISTS_GET_INDEX_HELPURL"] = Blockly.Msg["LISTS_INDEX_OF_HELPURL"];
|
||||
Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
|
||||
Blockly.Msg["LISTS_SET_INDEX_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
|
||||
Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
|
||||
Blockly.Msg["LISTS_CREATE_WITH_ITEM_TITLE"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
|
||||
Blockly.Msg["TEXT_APPEND_VARIABLE"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
|
||||
Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TITLE_ITEM"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
|
||||
Blockly.Msg["LISTS_INDEX_OF_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
|
||||
Blockly.Msg["PROCEDURES_DEFRETURN_COMMENT"] = Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"];
|
||||
|
||||
Blockly.Msg["MATH_HUE"] = "230";
|
||||
Blockly.Msg["LOOPS_HUE"] = "120";
|
||||
Blockly.Msg["LISTS_HUE"] = "260";
|
||||
Blockly.Msg["LOGIC_HUE"] = "210";
|
||||
Blockly.Msg["VARIABLES_HUE"] = "330";
|
||||
Blockly.Msg["TEXTS_HUE"] = "160";
|
||||
Blockly.Msg["PROCEDURES_HUE"] = "290";
|
||||
Blockly.Msg["COLOUR_HUE"] = "20";
|
||||
Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";
|
||||
|
||||
Blockly.Msg["SUMOROBOT_STOP"] = "Liigu Peatu";
|
||||
Blockly.Msg["SUMOROBOT_LEFT"] = "Liigu Vasakule";
|
||||
Blockly.Msg["SUMOROBOT_RIGHT"] = "Liigu Paremale";
|
||||
Blockly.Msg["SUMOROBOT_FORWARD"] = "Liigu Edasi";
|
||||
Blockly.Msg["SUMOROBOT_BACKWARD"] = "Liigu Tagsi";
|
||||
Blockly.Msg["SUMOROBOT_SEARCH"] = "Liigu Otsi";
|
||||
Blockly.Msg["SUMOROBOT_OPPONENT"] = "Vastane";
|
||||
Blockly.Msg["SUMOROBOT_LINE_LEFT"] = "Joon vasakul";
|
||||
Blockly.Msg["SUMOROBOT_LINE_MIDDLE"] = "Joon keskel";
|
||||
Blockly.Msg["SUMOROBOT_LINE_RIGHT"] = "Joon paremal";
|
||||
Blockly.Msg["SUMOROBOT_SLEEP"] = "Maga"
|
BIN
assets/img/checkmark-64.png
Normal file
BIN
assets/img/checkmark-64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
@ -1,6 +1,7 @@
|
||||
// Blockly workspace
|
||||
var workspace;
|
||||
|
||||
|
||||
window.addEventListener('load', function() {
|
||||
// To remember the control_if blockId
|
||||
var controlBlockId = '';
|
||||
@ -10,29 +11,58 @@ window.addEventListener('load', function() {
|
||||
|
||||
// Remote previous and next statement from control_if block
|
||||
Blockly.defineBlocksWithJsonArray([
|
||||
{
|
||||
"type": "controls_if",
|
||||
"message0": "%{BKY_CONTROLS_IF_MSG_IF} %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "IF0",
|
||||
"check": "Boolean"
|
||||
}
|
||||
],
|
||||
"message1": "%{BKY_CONTROLS_IF_MSG_THEN} %1",
|
||||
"args1": [
|
||||
{
|
||||
"type": "input_statement",
|
||||
"name": "DO0"
|
||||
}
|
||||
],
|
||||
"colour": "%{BKY_LOGIC_HUE}",
|
||||
"helpUrl": "%{BKY_CONTROLS_IF_HELPURL}",
|
||||
"mutator": "controls_if_mutator",
|
||||
"extensions": ["controls_if_tooltip"]
|
||||
}
|
||||
]);
|
||||
{
|
||||
"type": "controls_if",
|
||||
"message0": "%{BKY_CONTROLS_IF_MSG_IF} %1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "IF0",
|
||||
"check": "Boolean"
|
||||
}
|
||||
],
|
||||
"message1": "%{BKY_CONTROLS_IF_MSG_THEN} %1",
|
||||
"args1": [
|
||||
{
|
||||
"type": "input_statement",
|
||||
"name": "DO0"
|
||||
}
|
||||
],
|
||||
"colour": "%{BKY_LOGIC_HUE}",
|
||||
"helpUrl": "%{BKY_CONTROLS_IF_HELPURL}",
|
||||
"mutator": "controls_if_mutator",
|
||||
"extensions": ["controls_if_tooltip"]
|
||||
},
|
||||
{
|
||||
"type": "logic_operation",
|
||||
"message0": "%1 %2 %3",
|
||||
"args0": [
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "A",
|
||||
"check": "Boolean"
|
||||
},
|
||||
{
|
||||
"type": "field_dropdown",
|
||||
"name": "OP",
|
||||
"options": [
|
||||
["%{BKY_LOGIC_OPERATION_AND}", "AND"],
|
||||
["%{BKY_LOGIC_OPERATION_OR}", "OR"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "input_value",
|
||||
"name": "B",
|
||||
"check": "Boolean"
|
||||
}
|
||||
],
|
||||
"inputsInline": true,
|
||||
"output": "Boolean",
|
||||
"colour": "%{BKY_LOGIC_HUE}",
|
||||
"helpUrl": "%{BKY_LOGIC_OPERATION_HELPURL}",
|
||||
"extensions": ["logic_op_tooltip"]
|
||||
}
|
||||
]);
|
||||
|
||||
// Make control_if mutator icon bigger
|
||||
Blockly.Icon.prototype.renderIcon = function(cursorX) {
|
||||
@ -82,9 +112,9 @@ window.addEventListener('load', function() {
|
||||
init: function() {
|
||||
this.setColour('#e98017');
|
||||
this.appendDummyInput()
|
||||
.appendField('sleep')
|
||||
.appendField(Blockly.Msg.SUMOROBOT_SLEEP)
|
||||
.appendField(new Blockly.FieldTextInput('1000',
|
||||
Blockly.FieldNumber.numberValidator), 'SLEEP');
|
||||
Blockly.FieldNumber.numberValidator), "SLEEP");
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
@ -93,16 +123,16 @@ window.addEventListener('load', function() {
|
||||
Blockly.Blocks['sumorobot_move'] = {
|
||||
init: function() {
|
||||
var OPERATORS = [
|
||||
['move stop', 'STOP'],
|
||||
['move left', 'LEFT'],
|
||||
['move right', 'RIGHT'],
|
||||
['move search', 'SEARCH'],
|
||||
['move forward', 'FORWARD'],
|
||||
['move backward', 'BACKWARD']
|
||||
[Blockly.Msg.SUMOROBOT_STOP, 'STOP'],
|
||||
[Blockly.Msg.SUMOROBOT_LEFT, 'LEFT'],
|
||||
[Blockly.Msg.SUMOROBOT_RIGHT, 'RIGHT'],
|
||||
[Blockly.Msg.SUMOROBOT_SEARCH, 'SEARCH'],
|
||||
[Blockly.Msg.SUMOROBOT_FORWARD, 'FORWARD'],
|
||||
[Blockly.Msg.SUMOROBOT_BACKWARD, 'BACKWARD']
|
||||
];
|
||||
this.setColour('#d6382d');
|
||||
var dropdown = new Blockly.FieldDropdown(OPERATORS);
|
||||
this.appendDummyInput().appendField(dropdown, 'MOVE');
|
||||
this.appendDummyInput().appendField(dropdown, 'Move');
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
}
|
||||
@ -111,7 +141,7 @@ window.addEventListener('load', function() {
|
||||
Blockly.Blocks['sumorobot_opponent'] = {
|
||||
init: function() {
|
||||
this.setColour('#0099E6');
|
||||
this.appendDummyInput().appendField('opponent');
|
||||
this.appendDummyInput().appendField(Blockly.Msg.SUMOROBOT_OPPONENT);
|
||||
this.setOutput(true, 'Boolean');
|
||||
}
|
||||
};
|
||||
@ -119,9 +149,9 @@ window.addEventListener('load', function() {
|
||||
Blockly.Blocks['sumorobot_line'] = {
|
||||
init: function() {
|
||||
var OPERATORS = [
|
||||
['line left', 'LEFT'],
|
||||
['line right', 'RIGHT'],
|
||||
['line middle', 'MIDDLE']
|
||||
[Blockly.Msg.SUMOROBOT_LINE_LEFT, 'LEFT'],
|
||||
[Blockly.Msg.SUMOROBOT_LINE_MIDDLE, 'MIDDLE'],
|
||||
[Blockly.Msg.SUMOROBOT_LINE_RIGHT, 'RIGHT']
|
||||
];
|
||||
this.setColour('#E6BF00');
|
||||
var dropdown = new Blockly.FieldDropdown(OPERATORS);
|
||||
@ -131,12 +161,12 @@ window.addEventListener('load', function() {
|
||||
};
|
||||
|
||||
Blockly.Python['sumorobot_sleep'] = function(block) {
|
||||
var code = 'sumorobot.sleep(' + parseFloat(block.getFieldValue('SLEEP')) + ');;' + block.id + '\n';
|
||||
var code = 'sumorobot.sleep(' + parseFloat(block.getFieldValue("SLEEP")) + ');;' + block.id + '\n';
|
||||
return code;
|
||||
};
|
||||
|
||||
Blockly.Python['sumorobot_move'] = function(block) {
|
||||
var code = 'sumorobot.move(' + block.getFieldValue('MOVE') + ');;' + block.id + '\n';
|
||||
var code = 'sumorobot.move(' + block.getFieldValue('Move') + ');;' + block.id + '\n';
|
||||
return code;
|
||||
};
|
||||
|
||||
@ -150,17 +180,17 @@ window.addEventListener('load', function() {
|
||||
return [code, Blockly.Python.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
// Inject Blockly
|
||||
// Inject Blocklyresiz
|
||||
var blocklyArea = document.getElementById('blocklyArea');
|
||||
var blocklyDiv = document.getElementById('blocklyDiv');
|
||||
workspace = Blockly.inject(blocklyDiv, {
|
||||
media: 'assets/blockly/media/',
|
||||
scrollbars: false,
|
||||
scrollbars: true,
|
||||
trashcan: true,
|
||||
sounds: true,
|
||||
zoom: {
|
||||
controls: true,
|
||||
startScale: 1.2
|
||||
startScale: 1.0
|
||||
},
|
||||
toolbox: document.getElementById('toolbox')
|
||||
});
|
||||
|
@ -1,7 +1,7 @@
|
||||
// The local/remote server URL
|
||||
//var ROBOT_SERVER = '192.168.2.1:80';
|
||||
var ROBOT_SERVER = '165.227.140.64:80';
|
||||
|
||||
//var ROBOT_SERVER = '165.227.140.64:80';
|
||||
var ROBOT_SERVER = 'sumo.koodur.com:80';
|
||||
// The sumorobot object
|
||||
var sumorobot;
|
||||
// Disable / enable coding mode
|
||||
@ -112,6 +112,16 @@ window.addEventListener('load', function() {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function stopProcessCode() {
|
||||
// Stop highlighting blocks and lines
|
||||
lines = [];
|
||||
workspace.highlightBlock('');
|
||||
if (range_id) {
|
||||
readOnlyCodingEditor.session.removeMarker(range_id);
|
||||
}
|
||||
}
|
||||
|
||||
var range_id;
|
||||
var lines = [];
|
||||
var foundTrue = false;
|
||||
@ -119,7 +129,8 @@ window.addEventListener('load', function() {
|
||||
function processCode(index) {
|
||||
|
||||
if(sumorobot.disconnected || !sumorobot.codeExecute) {
|
||||
$('.btn-stop').click();
|
||||
//$('.btn-stop').click();
|
||||
stopProcessCode();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -140,11 +151,11 @@ window.addEventListener('load', function() {
|
||||
} else if (/opponent/.test(code)) {
|
||||
foundTrue = (sumorobot.sensors['opponent'] < 40.0);
|
||||
} else if (/LEFT/.test(code)) {
|
||||
foundTrue = (sumorobot.sensors['line_left'] > 2000);
|
||||
foundTrue = (sumorobot.sensors['line_left'] < 2500);
|
||||
} else if (/RIGHT/.test(code)) {
|
||||
foundTrue = (sumorobot.sensors['line_right'] > 2000);
|
||||
foundTrue = (sumorobot.sensors['line_right'] < 2500);
|
||||
} else if (/MIDDLE/.test(code)) {
|
||||
foundTrue = (sumorobot.sensors['line_middle'] > 2000);
|
||||
foundTrue = (sumorobot.sensors['line_middle'] < 2500);
|
||||
} else {
|
||||
foundTrue = true;
|
||||
}
|
||||
@ -170,6 +181,18 @@ window.addEventListener('load', function() {
|
||||
setTimeout(function() { processCode(index) }, timeout);
|
||||
}
|
||||
|
||||
|
||||
$('.btn-upload').click(function() {
|
||||
if(codingEnabled) {
|
||||
parsedCode = codingEditor.getValue();
|
||||
} else {
|
||||
parsedCode = Blockly.Python.workspaceToCode(workspace).replace(/;;.{20}/g, '');
|
||||
}
|
||||
|
||||
sumorobot.send('code', parsedCode.replace(/"/g, '\\"').replace(/\n/g, ';;'));
|
||||
lines = Blockly.Python.workspaceToCode(workspace).split('\n').filter(Boolean);
|
||||
});
|
||||
|
||||
// Start button listener
|
||||
$('.btn-start').click(function() {
|
||||
// When we are in Python coding mode
|
||||
@ -182,22 +205,17 @@ window.addEventListener('load', function() {
|
||||
parsedCode = Blockly.Python.workspaceToCode(workspace).replace(/;;.{20}/g, '');
|
||||
}
|
||||
// Escape the qoutes, replace new lines and send the code
|
||||
sumorobot.send('code', parsedCode.replace(/"/g, '\\"').replace(/\n/g, ';;'));
|
||||
sumorobot.send('start', parsedCode.replace(/"/g, '\\"').replace(/\n/g, ';;'));
|
||||
// Split into lines of code and filter empty lines
|
||||
lines = Blockly.Python.workspaceToCode(workspace).split('\n').filter(Boolean);
|
||||
// Process the code starting from the first line
|
||||
processCode(0);
|
||||
//processCode(0);
|
||||
});
|
||||
|
||||
// Stop button listener
|
||||
$('.btn-stop').click(function() {
|
||||
sumorobot.send('stop');
|
||||
// Stop highlighting blocks and lines
|
||||
lines = [];
|
||||
workspace.highlightBlock('');
|
||||
if (range_id) {
|
||||
readOnlyCodingEditor.session.removeMarker(range_id);
|
||||
}
|
||||
stopProcessCode();
|
||||
});
|
||||
|
||||
// Enter (return) keypress listener on robot ID field
|
||||
@ -227,7 +245,15 @@ window.addEventListener('load', function() {
|
||||
}
|
||||
// Connect to the selected robots WebSocket
|
||||
sumorobot = new Sumorobot(`ws://${ROBOT_SERVER}/p2p/browser/sumo-${robotId}/`, robotId);
|
||||
|
||||
$(sumorobot).on('start',function(){
|
||||
//console.log("START");
|
||||
lines = Blockly.Python.workspaceToCode(workspace).split('\n').filter(Boolean);
|
||||
processCode(0);
|
||||
});
|
||||
|
||||
// Hide the configuration panel
|
||||
$('#panel').hide();
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -16,6 +16,8 @@ var Sumorobot = function(wsUri, robotId) {
|
||||
this.moving = false;
|
||||
|
||||
this.codeExecute = false;
|
||||
|
||||
self.previousCodeExecuteValue = false;
|
||||
// Sensor data
|
||||
this.sensors = {
|
||||
'opponent': 99,
|
||||
@ -66,21 +68,30 @@ Sumorobot.prototype.connect = function() {
|
||||
// When scope is received
|
||||
var data = evt.data.replace(/'/g, '"').toLowerCase();
|
||||
self.disconnected = false;
|
||||
var message = JSON.parse(data);
|
||||
|
||||
if(message.cmd == "sensors") {
|
||||
self.sensors = message.data;
|
||||
self.codeExecute = self.sensors.state;
|
||||
}else if(message.cmd == "code_upload") {
|
||||
if(message.status) {
|
||||
alert("Ülesslaadimine õnnestus");
|
||||
} else {
|
||||
alert("Ülesslaadimine ebaõnnestus");
|
||||
}
|
||||
}
|
||||
|
||||
// Get SumoRobot battery voltage
|
||||
self.sensors = JSON.parse(data);
|
||||
self.codeExecute = self.sensors.state;
|
||||
// When sensor data received
|
||||
if (self.sensors['battery_voltage']) {
|
||||
if (self.sensors['battery_voltage'] > 4.0) {
|
||||
$("#battery img").attr("src", "assets/img/battery_full.png");
|
||||
} else if (self.sensors['battery_voltage'] > 3.1) {
|
||||
$("#battery img").attr("src", "assets/img/battery_half.png");
|
||||
} else {
|
||||
$("#battery img").attr("src", "assets/img/battery_empty.png");
|
||||
}
|
||||
if(self.codeExecute && !self.previousCodeExecuteValue){
|
||||
$(self).trigger("start");
|
||||
}
|
||||
|
||||
self.previousCodeExecuteValue = self.codeExecute;
|
||||
|
||||
// Count data received packets
|
||||
|
||||
$("#battery img").attr("src", "assets/img/checkmark-64.png");
|
||||
|
||||
self.watchdogCounter += 1;
|
||||
};
|
||||
// When there is an WebSocket error
|
||||
@ -93,7 +104,7 @@ Sumorobot.prototype.connect = function() {
|
||||
Sumorobot.prototype.send = function(cmd, val) {
|
||||
if (cmd !== 'ping' && cmd !== 'stop') {
|
||||
this.moving = true;
|
||||
this.codeExecute = true;
|
||||
//this.codeExecute = true;
|
||||
} else {
|
||||
this.moving = false;
|
||||
}
|
||||
|
@ -21,7 +21,7 @@
|
||||
<script src="assets/blockly/blockly_compressed.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/blockly/blocks_compressed.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/blockly/python_compressed.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/blockly/msg/js/en.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/blockly/msg/js/et.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/sumorobot.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/utils.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/ace.js" type="text/javascript" charset="utf-8"></script>
|
||||
@ -66,6 +66,7 @@
|
||||
<block type="sumorobot_sleep"></block>
|
||||
<block type="sumorobot_opponent"></block>
|
||||
<block type="sumorobot_line"></block>
|
||||
<block type="logic_operation"></block>
|
||||
</xml>
|
||||
|
||||
<xml id="toolbox_no_if" style="display: none">
|
||||
@ -74,11 +75,13 @@
|
||||
<block type="sumorobot_sleep"></block>
|
||||
<block type="sumorobot_opponent"></block>
|
||||
<block type="sumorobot_line"></block>
|
||||
<block type="logic_operation"></block>
|
||||
</xml>
|
||||
|
||||
<div class="btn-group d-flex btn-group-control" role="group">
|
||||
<a href="#" class="btn btn-lg btn-success btn-start w-100">Start</a>
|
||||
<a href="#" class="btn btn-lg btn-danger btn-stop w-100">Stop</a>
|
||||
<a href="#" class="btn btn-lg btn-success btn-upload w-100">Upload</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in New Issue
Block a user