@nitro-bolt/scratchblocks 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +205 -0
  3. package/browser.es.js +8 -0
  4. package/browser.js +8 -0
  5. package/build/scratchblocks.min.es.js +11 -0
  6. package/build/scratchblocks.min.es.js.map +1 -0
  7. package/build/scratchblocks.min.js +11 -0
  8. package/build/scratchblocks.min.js.map +1 -0
  9. package/build/translations-all-es.js +10 -0
  10. package/build/translations-all.js +10 -0
  11. package/build/translations-es.js +10 -0
  12. package/build/translations.js +10 -0
  13. package/index.js +163 -0
  14. package/locales/ab.json +261 -0
  15. package/locales/af.json +261 -0
  16. package/locales/all.js +161 -0
  17. package/locales/am.json +262 -0
  18. package/locales/an.json +261 -0
  19. package/locales/ar.json +261 -0
  20. package/locales/ast.json +261 -0
  21. package/locales/az.json +262 -0
  22. package/locales/be.json +261 -0
  23. package/locales/bg.json +261 -0
  24. package/locales/bn.json +261 -0
  25. package/locales/ca.json +267 -0
  26. package/locales/ckb.json +261 -0
  27. package/locales/cs.json +267 -0
  28. package/locales/cy.json +266 -0
  29. package/locales/da.json +261 -0
  30. package/locales/de.json +266 -0
  31. package/locales/el.json +268 -0
  32. package/locales/eo.json +261 -0
  33. package/locales/es-419.json +261 -0
  34. package/locales/es.json +266 -0
  35. package/locales/et.json +261 -0
  36. package/locales/eu.json +261 -0
  37. package/locales/fa.json +266 -0
  38. package/locales/fi.json +261 -0
  39. package/locales/fil.json +262 -0
  40. package/locales/forums.js +37 -0
  41. package/locales/fr.json +266 -0
  42. package/locales/fy.json +261 -0
  43. package/locales/ga.json +261 -0
  44. package/locales/gd.json +266 -0
  45. package/locales/gl.json +261 -0
  46. package/locales/ha.json +261 -0
  47. package/locales/he.json +266 -0
  48. package/locales/hi.json +266 -0
  49. package/locales/hr.json +266 -0
  50. package/locales/ht.json +261 -0
  51. package/locales/hu.json +267 -0
  52. package/locales/hy.json +261 -0
  53. package/locales/id.json +266 -0
  54. package/locales/is.json +261 -0
  55. package/locales/it.json +266 -0
  56. package/locales/ja-Hira.json +268 -0
  57. package/locales/ja.json +268 -0
  58. package/locales/ka.json +261 -0
  59. package/locales/kk.json +263 -0
  60. package/locales/km.json +261 -0
  61. package/locales/ko.json +261 -0
  62. package/locales/ku.json +263 -0
  63. package/locales/lt.json +261 -0
  64. package/locales/lv.json +261 -0
  65. package/locales/mi.json +261 -0
  66. package/locales/mn.json +262 -0
  67. package/locales/nb.json +266 -0
  68. package/locales/nl.json +266 -0
  69. package/locales/nn.json +261 -0
  70. package/locales/nso.json +261 -0
  71. package/locales/oc.json +261 -0
  72. package/locales/or.json +262 -0
  73. package/locales/pl.json +266 -0
  74. package/locales/pt-br.json +261 -0
  75. package/locales/pt.json +266 -0
  76. package/locales/qu.json +261 -0
  77. package/locales/rap.json +263 -0
  78. package/locales/ro.json +266 -0
  79. package/locales/ru.json +266 -0
  80. package/locales/sk.json +261 -0
  81. package/locales/sl.json +266 -0
  82. package/locales/sr.json +261 -0
  83. package/locales/sv.json +261 -0
  84. package/locales/sw.json +261 -0
  85. package/locales/th.json +261 -0
  86. package/locales/tn.json +261 -0
  87. package/locales/tr.json +269 -0
  88. package/locales/uk.json +261 -0
  89. package/locales/uz.json +262 -0
  90. package/locales/vi.json +262 -0
  91. package/locales/xh.json +261 -0
  92. package/locales/zh-cn.json +266 -0
  93. package/locales/zh-tw.json +266 -0
  94. package/locales/zu.json +261 -0
  95. package/package.json +77 -0
  96. package/scratch3/blocks.js +959 -0
  97. package/scratch3/draw.js +404 -0
  98. package/scratch3/index.js +12 -0
  99. package/scratch3/style.css.js +226 -0
  100. package/scratch3/style.js +807 -0
  101. package/syntax/blocks.js +467 -0
  102. package/syntax/commands.js +1692 -0
  103. package/syntax/extensions.js +33 -0
  104. package/syntax/index.js +17 -0
  105. package/syntax/model.js +427 -0
  106. package/syntax/syntax.js +941 -0
package/index.js ADDED
@@ -0,0 +1,163 @@
1
+ /*
2
+ * scratchblocks
3
+ * http://scratchblocks.github.io/
4
+ *
5
+ * Copyright 2013-2016, Tim Radvan
6
+ * @license MIT
7
+ * http://opensource.org/licenses/MIT
8
+ */
9
+ import {
10
+ parse,
11
+ allLanguages,
12
+ loadLanguages,
13
+ Label,
14
+ Icon,
15
+ Input,
16
+ Block,
17
+ Comment,
18
+ Script,
19
+ Document,
20
+ } from "./syntax/index.js"
21
+ import * as scratch3 from "./scratch3/index.js"
22
+
23
+ export default function (window) {
24
+ const document = window.document
25
+
26
+ scratch3.init(window)
27
+
28
+ function appendStyles() {
29
+ document.head.appendChild(scratch3.makeStyle())
30
+ }
31
+
32
+ function newView(doc, options) {
33
+ options = {
34
+ style: "scratch3",
35
+ ...options,
36
+ }
37
+
38
+ options.scale = options.scale || 1
39
+
40
+ if (/^scratch3($|-)/.test(options.style)) {
41
+ return scratch3.newView(doc, options)
42
+ }
43
+
44
+ throw new Error(`Unknown style: ${options.style}`)
45
+ }
46
+
47
+ function render(doc, options) {
48
+ if (typeof options === "function") {
49
+ throw new Error("render() no longer takes a callback")
50
+ }
51
+ const view = newView(doc, options)
52
+ const svg = view.render()
53
+ // Used in high contrast theme
54
+ svg.classList.add(`scratchblocks-style-${options.style}`)
55
+ return svg
56
+ }
57
+
58
+ /*****************************************************************************/
59
+
60
+ /*** Render ***/
61
+
62
+ // read code from a DOM element
63
+ function readCode(el, options) {
64
+ options = {
65
+ inline: false,
66
+ ...options,
67
+ }
68
+
69
+ const html = el.innerHTML.replace(/<br>\s?|\n|\r\n|\r/gi, "\n")
70
+ const pre = document.createElement("pre")
71
+ pre.innerHTML = html
72
+ let code = pre.textContent
73
+ if (options.inline) {
74
+ code = code.replace("\n", "")
75
+ }
76
+ return code
77
+ }
78
+
79
+ // insert 'svg' into 'el', with appropriate wrapper elements
80
+ function replace(el, svg, doc, options) {
81
+ let container
82
+ if (options.inline) {
83
+ container = document.createElement("span")
84
+ let cls = "scratchblocks scratchblocks-inline"
85
+ if (doc.scripts[0] && !doc.scripts[0].isEmpty) {
86
+ cls += ` scratchblocks-inline-${doc.scripts[0].blocks[0].shape}`
87
+ }
88
+ container.className = cls
89
+ container.style.display = "inline-block"
90
+ container.style.verticalAlign = "middle"
91
+ } else {
92
+ container = document.createElement("div")
93
+ container.className = "scratchblocks"
94
+ }
95
+ container.appendChild(svg)
96
+
97
+ el.innerHTML = ""
98
+ el.appendChild(container)
99
+ }
100
+
101
+ /* Render all matching elements in page to shiny scratch blocks.
102
+ * Accepts a CSS selector as an argument.
103
+ *
104
+ * scratchblocks.renderMatching("pre.blocks");
105
+ *
106
+ * Like the old 'scratchblocks2.parse().
107
+ */
108
+ const renderMatching = function (selector, options) {
109
+ selector = selector || "pre.blocks"
110
+ options = {
111
+ // Default values for the options
112
+ style: "scratch3",
113
+ inline: false,
114
+ languages: ["en"],
115
+ scale: 1,
116
+
117
+ read: readCode, // function(el, options) => code
118
+ parse: parse, // function(code, options) => doc
119
+ render: render, // function(doc) => svg
120
+ replace: replace, // function(el, svg, doc, options)
121
+
122
+ ...options,
123
+ }
124
+
125
+ // find elements
126
+ const results = [].slice.apply(document.querySelectorAll(selector))
127
+ results.forEach(el => {
128
+ const code = options.read(el, options)
129
+
130
+ const doc = options.parse(code, options)
131
+
132
+ const svg = options.render(doc, options)
133
+
134
+ options.replace(el, svg, doc, options)
135
+ })
136
+ }
137
+
138
+ return {
139
+ allLanguages: allLanguages, // read-only
140
+ loadLanguages: loadLanguages,
141
+
142
+ stringify: function (doc) {
143
+ return doc.stringify()
144
+ },
145
+
146
+ Label,
147
+ Icon,
148
+ Input,
149
+ Block,
150
+ Comment,
151
+ Script,
152
+ Document,
153
+
154
+ newView: newView,
155
+ read: readCode,
156
+ parse: parse,
157
+ replace: replace,
158
+ render: render,
159
+ renderMatching: renderMatching,
160
+
161
+ appendStyles: appendStyles,
162
+ }
163
+ }
@@ -0,0 +1,261 @@
1
+ {
2
+ "commands": {
3
+ "MOTION_MOVESTEPS": "ицатәуп %1 шьаҿак",
4
+ "MOTION_TURNRIGHT": "иргьежьтәуп @turnRight %1 градус рыла",
5
+ "MOTION_TURNLEFT": "иргьежьтәуп @turnLeft %1 градус рыла",
6
+ "MOTION_POINTINDIRECTION": "инарҳәтәуп %1 ахь",
7
+ "MOTION_POINTTOWARDS": "%1 ахь инаҳәтәуп",
8
+ "MOTION_GOTOXY": "ииастәуп x: %1 y: %2 ахь",
9
+ "MOTION_GOTO": "ииастәуп %1 ахь",
10
+ "MOTION_GLIDESECSTOXY": "иқәҵәраатәуп x: %2 y: %3 ахь %1 секундк",
11
+ "MOTION_GLIDETO": "иқәҵәраатәуп %2 ахь %1 секундк",
12
+ "MOTION_CHANGEXBY": "иԥсахтәуп x %1 ала",
13
+ "MOTION_SETX": "иқәыргылатәуп x %1 аҟны",
14
+ "MOTION_CHANGEYBY": "иԥсахтәуп y %1 ала",
15
+ "MOTION_SETY": "иқәыргылатәуп y %1 аҟны",
16
+ "MOTION_SETROTATIONSTYLE": "иқәыргылатәуп аргьежьра астиль %1",
17
+ "LOOKS_SAYFORSECS": "иҳәалатәуп %1 %2 секундк",
18
+ "LOOKS_SAY": "иҳәатәуп %1",
19
+ "LOOKS_THINKFORSECS": "ахәыцра %1 %2 секундк",
20
+ "LOOKS_THINK": "ахәыцра %1",
21
+ "LOOKS_SHOW": "ацәырҵра",
22
+ "LOOKS_HIDE": "аҽыҵәахра",
23
+ "LOOKS_SWITCHCOSTUMETO": "иԥсахтәуп акостиум %1 ала",
24
+ "LOOKS_NEXTCOSTUME": "анаҩстәи акостиум",
25
+ "LOOKS_NEXTBACKDROP_BLOCK": "анаҩстәи аҿаԥшыра",
26
+ "LOOKS_SWITCHBACKDROPTO": "иԥсахтәуп аҿаԥшыра %1 ала",
27
+ "LOOKS_SWITCHBACKDROPTOANDWAIT": "иԥсахтәуп аҿаԥшыра %1 ала нас иԥштәуп",
28
+ "LOOKS_CHANGEEFFECTBY": "иԥсахтәуп аеффект %1 %2 ала",
29
+ "LOOKS_SETEFFECTTO": "иқәыргылатәуп аеффект %1 %2",
30
+ "LOOKS_CLEARGRAPHICEFFECTS": "иқәгатәуп аграфикатә еффектқәа",
31
+ "LOOKS_CHANGESIZEBY": "иԥсахтәуп ашәагаа %1 ала",
32
+ "LOOKS_SETSIZETO": "иқәыргылатәуп ашәагаа %1 %",
33
+ "LOOKS_GOTOFRONTBACK": "ииастәуп %1 аҿыгҳара ахь",
34
+ "LOOKS_GOFORWARDBACKWARDLAYERS": "ииастәуп %1 %2 ҿыгҳарак",
35
+ "SOUND_PLAY": "иаҿактәуп абжьы %1",
36
+ "SOUND_CHANGEEFFECTBY": "иԥсахтәуп %1 аеффект %2 ала",
37
+ "SOUND_SETEFFECTO": "иқәыргылатәуп аеффект %1 %2 аҟны",
38
+ "SOUND_CLEAREFFECTS": "иқәгатәуп абжьы аеффектқәа",
39
+ "SOUND_PLAYUNTILDONE": "иргатәуп абжьы %1 инҵәаанӡа",
40
+ "SOUND_STOPALLSOUNDS": "иаанкылатәуп абжьқәа зегьы",
41
+ "music.playDrumForBeats": "ихәмартәуп адаулқәа %1 рҟны %2 битк",
42
+ "music.restForBeats": "ааҭгылара аамҭала %1 битк",
43
+ "music.playNoteForBeats": "анота %1 ихәмартәуп %2 тактк",
44
+ "music.setInstrument": "иқәыргылатәуп амаруга %1",
45
+ "SOUND_CHANGEVOLUMEBY": "иԥсахтәуп абжьы %1 ала",
46
+ "SOUND_SETVOLUMETO": "иқәыргылатәуп абжьы адура %1%",
47
+ "music.changeTempo": "иԥсахтәуп атемп %1 ала",
48
+ "music.setTempo": "иқәыргылатәуп атемп %1",
49
+ "pen.clear": "ианыхтәуп зегьы",
50
+ "pen.stamp": "аштамп",
51
+ "pen.penDown": "акалам лашьҭтәуп",
52
+ "pen.penUp": "акалам иҩахатәуп",
53
+ "pen.setColor": "иқәыргылатәуп акалам аԥштәы %1",
54
+ "pen.changeHue": "иԥсахтәуп акалам аԥштәы %1 ала",
55
+ "pen.setColorParam": "иқәыргылатәуп акалам %1 %2 аҟны",
56
+ "pen.changeColorParam": "иԥсахтәуп акалам %1%2 ала",
57
+ "pen.setHue": "иқәыргылатәуп акалам аԥштәы %1",
58
+ "pen.changeShade": "иԥсахтәуп акалам агага %1 ала",
59
+ "pen.setShade": "иқәыргылатәуп акалам агага %1",
60
+ "pen.changeSize": "иԥсахтәуп акалам ашәагаа %1 ала",
61
+ "pen.setSize": "иқәыргылатәуп акалам ашәагаа %1",
62
+ "EVENT_WHENFLAGCLICKED": "@greenFlag ҳанақәыӷәӷәалакь",
63
+ "EVENT_WHENKEYPRESSED": "аклавиша %1 ҳанақәыӷәӷәалакь",
64
+ "EVENT_WHENTHISSPRITECLICKED": "анагӡаҩ ҳаниқәыӷәӷәалакь",
65
+ "EVENT_WHENSTAGECLICKED": "асцена ҳанақәыӷәӷәалакь",
66
+ "EVENT_WHENBACKDROPSWITCHESTO": "аҿаԥшыра %1 ала аҽанаԥсахлакь",
67
+ "EVENT_WHENGREATERTHAN": "%1 > %2 анакәу",
68
+ "EVENT_WHENBROADCASTRECEIVED": "%1 аус арура",
69
+ "EVENT_BROADCAST": "идәықәҵатәуп %1",
70
+ "EVENT_BROADCASTANDWAIT": "идәықәҵатәуп %1 нас иԥштәуп",
71
+ "CONTROL_WAIT": "иԥштәуп %1 секундк",
72
+ "CONTROL_REPEAT": "инагӡалатәуп %1 - нтә",
73
+ "CONTROL_FOREVER": "инагӡалатәуп еснагь",
74
+ "CONTROL_IF": "%1 акәзар",
75
+ "CONTROL_WAITUNTIL": "иԥштәуп %1 -нӡа",
76
+ "CONTROL_REPEATUNTIL": "инагӡалатәуп %1 акәымзар",
77
+ "CONTROL_STOP": "иаанкылатәуп %1",
78
+ "CONTROL_STARTASCLONE": "сара аклон ҳасабла саналаго",
79
+ "CONTROL_CREATECLONEOF": "иаԥҵатәуп аклон %1",
80
+ "CONTROL_DELETETHISCLONE": "ианыхтәуп ари аклон",
81
+ "SENSING_ASKANDWAIT": "иазҵаатәуп %1 нас иԥштәуп",
82
+ "videoSensing.videoToggle": "иаҿактәуп авидео %1",
83
+ "videoSensing.setVideoTransparency": "иқәыргылатәуп авидео аҵәцара %1",
84
+ "videoSensing.whenMotionGreaterThan": "авидео аласра > %1 анакәу",
85
+ "SENSING_RESETTIMER": "атаимер рҿыцтәуп",
86
+ "DATA_SETVARIABLETO": "%1 иаҭатәуп %2",
87
+ "DATA_CHANGEVARIABLEBY": "иԥсахтәуп %1 %2 ала",
88
+ "DATA_SHOWVARIABLE": "иаарԥштәуп аҽеиҭак %1",
89
+ "DATA_HIDEVARIABLE": "иҵәахтәуп аҽеиҭак %1",
90
+ "DATA_ADDTOLIST": "иацҵатәуп %1 %2 ахь",
91
+ "DATA_DELETEOFLIST": "ианыхтәуп %1 %2 аҟынтәи",
92
+ "DATA_DELETEALLOFLIST": "ианыхтәуп зегьы %1 аҟынтәи",
93
+ "MOTION_IFONEDGEBOUNCE": "аҵкар иадкьыслозар, иадԥатәуп",
94
+ "DATA_INSERTATLIST": "%3 аҟны ибжьаргылатәуп %1 %2 аҭыԥан",
95
+ "DATA_REPLACEITEMOFLIST": "%2 аҟны иԥсахтәуп аелемент %1 %3 ала",
96
+ "DATA_SHOWLIST": "иаарԥштәуп асиа %1",
97
+ "DATA_HIDELIST": "иҵәахтәуп асиа %1",
98
+ "SENSING_OF_XPOSITION": "x аҭыԥ",
99
+ "SENSING_OF_YPOSITION": "y аҭыԥ",
100
+ "SENSING_OF_DIRECTION": "ахырхарҭа",
101
+ "SENSING_OF_COSTUMENUMBER": "акостиум №",
102
+ "LOOKS_COSTUMENUMBERNAME": "акостиум %1",
103
+ "SENSING_OF_SIZE": "ашәагаа",
104
+ "SENSING_OF_BACKDROPNAME": "аҿаԥшыра ахьӡ",
105
+ "LOOKS_BACKDROPNUMBERNAME": "аҿаԥшыра %1",
106
+ "SENSING_OF_BACKDROPNUMBER": "аҿаԥшыра №",
107
+ "SOUND_VOLUME": "абжьы адура",
108
+ "music.getTempo": "атемп",
109
+ "SENSING_TOUCHINGOBJECT": "%1 иадкьыслома?",
110
+ "SENSING_TOUCHINGCOLOR": "иадкьыслома аԥштәы %1?",
111
+ "SENSING_COLORISTOUCHINGCOLOR": "аԥштәы %1 иадкьыслома %2?",
112
+ "SENSING_DISTANCETO": "%1 аҟынӡа ибжьоу",
113
+ "SENSING_ANSWER": "аҭак",
114
+ "SENSING_KEYPRESSED": "аклавиша %1 иақәыӷәӷәома?",
115
+ "SENSING_MOUSEDOWN": "аҳәынаԥ иақәыӷәӷәома?",
116
+ "SENSING_MOUSEX": "аҳәынаԥ x ала",
117
+ "SENSING_MOUSEY": "аҳәынаԥ y ала",
118
+ "SENSING_SETDRAGMODE": "иқәыргылатәуп аиагара арежим %1",
119
+ "SENSING_LOUDNESS": "абжьы адура",
120
+ "videoSensing.videoOn": "авидео %1 %2 аҟны",
121
+ "SENSING_TIMER": "атаимер",
122
+ "SENSING_OF": "%1 %2 аҟынтәи",
123
+ "SENSING_CURRENT": "уажәтәи %1",
124
+ "SENSING_DAYSSINCE2000": "амшқәа 2000 ш. инаркны",
125
+ "SENSING_USERNAME": "ахархәаҩ ихьӡ",
126
+ "OPERATORS_ADD": "%1 + %2",
127
+ "OPERATORS_SUBTRACT": "%1 - %2",
128
+ "OPERATORS_MULTIPLY": "%1 * %2",
129
+ "OPERATORS_DIVIDE": "%1 / %2",
130
+ "OPERATORS_RANDOM": "иарбанзаалакь %1 -и %2 -и рыбжьара",
131
+ "OPERATORS_LT": "%1 < %2",
132
+ "OPERATORS_EQUALS": "%1 = %2",
133
+ "OPERATORS_GT": "%1 > %2",
134
+ "OPERATORS_AND": "%1 - еи %2 - еи",
135
+ "OPERATORS_OR": "%1 ма %2",
136
+ "OPERATORS_NOT": "%1 акәӡам",
137
+ "OPERATORS_JOIN": "еиԥшьтәуп %1 %2",
138
+ "OPERATORS_LETTEROF": "асимвол %1 %2 аҟны",
139
+ "OPERATORS_LENGTH": "%1 аура",
140
+ "OPERATORS_MOD": "%1 mod %2",
141
+ "OPERATORS_ROUND": "ихаргьежьтәуп %1",
142
+ "OPERATORS_MATHOP": "%1 %2",
143
+ "OPERATORS_CONTAINS": "%1 иаҵанакуама %2?",
144
+ "DATA_ITEMOFLIST": "аелемент %1 %2 аҟны",
145
+ "DATA_ITEMNUMOFLIST": "аелемент %1 № %2 аҟны",
146
+ "DATA_LENGTHOFLIST": "асиа %1 аура",
147
+ "DATA_LISTCONTAINSITEM": "%1 иаҵанакуама %2?",
148
+ "CONTROL_ELSE": "акәымзар",
149
+ "SENSING_USERID": "Ахархәаҩ ID",
150
+ "SENSING_LOUD": "абжьы дуума?",
151
+ "text2speech.speakAndWaitBlock": "иҳәатәуп %1",
152
+ "text2speech.setVoiceBlock": "иқәыргылатәуп абжьы %1",
153
+ "text2speech.setLanguageBlock": "иқәыргылатәуп абызшәа %1",
154
+ "translate.translateBlock": "еиҭагатәуп %1 %2 ахь",
155
+ "translate.viewerLanguage": "абызшәа",
156
+ "makeymakey.whenKeyPressed": "аклавиша %1 ианақәыӷәӷәоу",
157
+ "makeymakey.whenKeysPressedInOrder": "еишьҭаргыланы %1 ақәыӷәӷәараан",
158
+ "microbit.whenButtonPressed": "акнопка %1 ианақәыӷәӷәоу",
159
+ "microbit.isButtonPressed": "акнопка %1 иақәыӷәӷәоума?",
160
+ "microbit.whenGesture": "%1 анакәу",
161
+ "microbit.displaySymbol": "иаарԥштәуп %1",
162
+ "microbit.displayText": "иаарԥштәуп атекст %1",
163
+ "microbit.clearDisplay": "ирыцқьатәуп аекран",
164
+ "microbit.whenTilted": "%1 анырнаау",
165
+ "microbit.isTilted": "ирнааума %1?",
166
+ "microbit.tiltAngle": "арнаара акәакь %1",
167
+ "microbit.whenPinConnected": "апин %1 анаҿаку",
168
+ "ev3.motorTurnClockwise": "амотор %1 ыргьежьтәуп арахь %2 сек",
169
+ "ev3.motorTurnCounterClockwise": "амотор %1 ыргьежьтәуп анахь %2 сек",
170
+ "ev3.motorSetPower": "амотор %1 иқәыргылатәуп амчра %2 %",
171
+ "ev3.getMotorPosition": "амотор %1 апозициа",
172
+ "ev3.whenButtonPressed": "акнопка %1 ианақәыӷәӷәоу",
173
+ "ev3.whenDistanceLessThan": "ирыбжьоу < %1 анакәу",
174
+ "ev3.whenBrightnessLessThan": "ажжара < %1 анакәу",
175
+ "ev3.buttonPressed": "акнопка %1 иақәыӷәӷәоума?",
176
+ "ev3.getDistance": "ирыбжьоу",
177
+ "ev3.getBrightness": "ажжара",
178
+ "ev3.beepNote": "анота %1 ихәмартәуп %2 сек",
179
+ "wedo2.motorOn": "иаҿактәуп %1",
180
+ "wedo2.motorOff": "иаҿыхтәуп %1",
181
+ "wedo2.startMotorPower": "иқәыргылатәуп %1 амчра %2 аҟны",
182
+ "wedo2.setMotorDirection": "иқәыргылатәуп %1 ахырхарҭа %2 аҟны",
183
+ "wedo2.whenDistance": "ирыбжьоу %1 %2 анакәу",
184
+ "wedo2.getDistance": "ирыбжьоу",
185
+ "wedo2.motorOnFor": "иаҿактәуп %1 %2 сек",
186
+ "wedo2.setLightHue": "иқәыргылатәуп арлашага аԥштәы %1",
187
+ "wedo2.playNoteFor": "анота %1 ихәмартәуп %2 сек",
188
+ "wedo2.whenTilted": "%1 анырнаау",
189
+ "wedo2.isTilted": "ирнааума %1?",
190
+ "wedo2.getTiltAngle": "арнаара акәакь %1",
191
+ "gdxfor.whenGesture": "%1 анакәу",
192
+ "gdxfor.whenForcePushedOrPulled": "амч ҳзырбо асенсор %1 анакәу",
193
+ "gdxfor.getForce": "амч",
194
+ "gdxfor.whenTilted": "%1 анырнаау",
195
+ "gdxfor.isTilted": "ирнааума %1?",
196
+ "gdxfor.getTilt": "анаара акәакь %1",
197
+ "gdxfor.isFreeFalling": "икаҳауама?",
198
+ "gdxfor.getSpin": "аргьежьра аласра %1",
199
+ "gdxfor.getAcceleration": "аццакра %1",
200
+ "boost.motorOnFor": "иаҿактәуп амотор %1 %2 секундк",
201
+ "boost.motorOnForRotation": "иаҿактәуп амотор %1 %2-нтә аргьежьра ала",
202
+ "boost.motorOn": "амотор %1 аҿактәуп",
203
+ "boost.motorOff": "амотор %1 аҿыхтәуп",
204
+ "boost.setMotorPower": "иқәыргылатәуп %1 аласра %2 % аҟны",
205
+ "boost.setMotorDirection": "иқәыргылатәуп амотор %1 ахырхарҭа %2 аҟны",
206
+ "boost.getMotorPosition": "амотор %1 апозициа",
207
+ "boost.whenColor": "ақьырмыт %1 анаҳбо",
208
+ "boost.seeingColor": "иаҳбома ақьырмыт %1?",
209
+ "boost.whenTilted": "%1 анырнаау",
210
+ "boost.getTiltAngle": "арнаара акәакь %1",
211
+ "boost.setLightHue": "иқәыргылатәуп арлашага аԥштәы %1"
212
+ },
213
+ "dropdowns": {},
214
+ "ignorelt": [],
215
+ "soundEffects": [
216
+ "атемп",
217
+ "абжьгара армарахь/арӷьарахь"
218
+ ],
219
+ "microbitWhen": [
220
+ "инаскьагоуп",
221
+ "идырҵысит",
222
+ "иԥеит"
223
+ ],
224
+ "osis": [
225
+ "анагӡаҩ егьырҭ ипрограммақәа"
226
+ ],
227
+ "definePrefix": [
228
+ "еиҿкаатәуп"
229
+ ],
230
+ "defineSuffix": [],
231
+ "palette": {
232
+ "Motion": "Аиҭаҵра",
233
+ "Looks": "Аԥшра-асахьа",
234
+ "Sound": "Абжьы",
235
+ "Events": "Ахҭысқәа",
236
+ "Control": "Аконтроль",
237
+ "Sensing": "Асенсорқәа",
238
+ "Operators": "Аоператорқәа",
239
+ "Variables": "Аҽеиҭакқәа",
240
+ "My Blocks": "Сара сблокқәа"
241
+ },
242
+ "math": [
243
+ "abs",
244
+ "еиҵоу еибгоу",
245
+ "еиҳау еибгоу",
246
+ "sqrt",
247
+ "sin",
248
+ "cos",
249
+ "tan",
250
+ "asin",
251
+ "acos",
252
+ "atan",
253
+ "ln",
254
+ "log",
255
+ "e ^",
256
+ "10 ^"
257
+ ],
258
+ "aliases": {},
259
+ "name": "Аҧсшәа",
260
+ "percentTranslated": 100
261
+ }