Skip to content

Commit

Permalink
fix: update code demo to include JSON (google#5444)
Browse files Browse the repository at this point in the history
* fix: update code demo to include JSON

* fix: do property renames

* fix: change XML to place holder

* fix: PR comments
  • Loading branch information
BeksOmega authored and alschmiedt committed Sep 20, 2021
1 parent 84514ef commit ee22152
Show file tree
Hide file tree
Showing 46 changed files with 122 additions and 93 deletions.
36 changes: 31 additions & 5 deletions demos/code/code.js
Original file line number Diff line number Diff line change
Expand Up @@ -234,14 +234,16 @@ Code.LANG = Code.getLang();
* List of tab names.
* @private
*/
Code.TABS_ = ['blocks', 'javascript', 'php', 'python', 'dart', 'lua', 'xml'];
Code.TABS_ = [
'blocks', 'javascript', 'php', 'python', 'dart', 'lua', 'xml', 'json'
];

/**
* List of tab names with casing, for display in the UI.
* @private
*/
Code.TABS_DISPLAY_ = [
'Blocks', 'JavaScript', 'PHP', 'Python', 'Dart', 'Lua', 'XML',
'Blocks', 'JavaScript', 'PHP', 'Python', 'Dart', 'Lua', 'XML', 'JSON'
];

Code.selected = 'blocks';
Expand All @@ -259,8 +261,8 @@ Code.tabClick = function(clickedName) {
try {
xmlDom = Blockly.Xml.textToDom(xmlText);
} catch (e) {
var q =
window.confirm(MSG['badXml'].replace('%1', e));
var q = window.confirm(
MSG['parseError'].replace(/%1/g, 'XML').replace('%2', e));
if (!q) {
// Leave the user on the XML tab.
return;
Expand All @@ -272,6 +274,25 @@ Code.tabClick = function(clickedName) {
}
}

if (document.getElementById('tab_json').classList.contains('tabon')) {
var jsonTextarea = document.getElementById('content_json');
var jsonText = jsonTextarea.value;
var json = null;
try {
json = JSON.parse(jsonText);
} catch (e) {
var q = window.confirm(
MSG['parseError'].replace(/%1/g, 'JSON').replace('%2', e));
if (!q) {
// Leave the user on the JSON tab.
return;
}
}
if (json) {
Blockly.serialization.workspaces.load(json, Code.workspace);
}
}

if (document.getElementById('tab_blocks').classList.contains('tabon')) {
Code.workspace.setVisible(false);
}
Expand Down Expand Up @@ -324,6 +345,11 @@ Code.renderContent = function() {
var xmlText = Blockly.Xml.domToPrettyText(xmlDom);
xmlTextarea.value = xmlText;
xmlTextarea.focus();
} else if (content.id == 'content_json') {
var jsonTextarea = document.getElementById('content_json');
jsonTextarea.value = JSON.stringify(
Blockly.serialization.workspaces.save(Code.workspace), null, 2);
jsonTextarea.focus();
} else if (content.id == 'content_javascript') {
Code.attemptCodeGeneration(Blockly.JavaScript);
} else if (content.id == 'content_python') {
Expand Down Expand Up @@ -466,7 +492,7 @@ Code.init = function() {
BlocklyStorage['HTTPREQUEST_ERROR'] = MSG['httpRequestError'];
BlocklyStorage['LINK_ALERT'] = MSG['linkAlert'];
BlocklyStorage['HASH_ERROR'] = MSG['hashError'];
BlocklyStorage['XML_ERROR'] = MSG['xmlError'];
BlocklyStorage['XML_ERROR'] = MSG['loadError'];
Code.bindClick(linkButton,
function() {BlocklyStorage.link(Code.workspace);});
} else if (linkButton) {
Expand Down
3 changes: 3 additions & 0 deletions demos/code/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ <h1><a href="https://developers.google.com/blockly/">Blockly</a>&rlm; &gt;
<td id="tab_dart" class="taboff tab_collapse">Dart</td>
<td class="tabmin tab_collapse">&nbsp;</td>
<td id="tab_xml" class="taboff tab_collapse">XML</td>
<td class="tabmin tab_collapse">&nbsp;</td>
<td id="tab_json" class="taboff tab_collapse">JSON</td>
<td class="tabmin">&nbsp;</td>
<td id="tab_code" class="taboff">
<select id="code_menu"></select>
Expand Down Expand Up @@ -78,6 +80,7 @@ <h1><a href="https://developers.google.com/blockly/">Blockly</a>&rlm; &gt;
<pre id="content_lua" class="content prettyprint lang-lua"></pre>
<pre id="content_dart" class="content prettyprint lang-dart"></pre>
<textarea id="content_xml" class="content" wrap="off"></textarea>
<textarea id="content_json" class="content" wrap="off"></textarea>

<xml xmlns="https://developers.google.com/blockly/xml" id="toolbox" style="display: none">
<category name="%{BKY_CATLOGIC}" colour="%{BKY_LOGIC_HUE}">
Expand Down
4 changes: 2 additions & 2 deletions demos/code/msg/ar.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "كانت هناك مشكلة مع هذا الطلب.",
linkAlert: "مشاركة كود بلوكلي الخاص بك مع هذا الرابط:\n %1",
hashError: "عذراً،ال '%1' لا تتوافق مع أي برنامج تم حفظه.",
xmlError: "تعذر تحميل الملف المحفوظة الخاصة بك. ربما تم إنشاؤه باستخدام إصدار مختلف من بلوكلي؟",
badXml: "خطأ في توزيع ال \"XML\":\n %1\n\nحدد 'موافق' للتخلي عن التغييرات أو 'إلغاء الأمر' لمواصلة تحرير ال\"XML\"."
loadError: "تعذر تحميل الملف المحفوظة الخاصة بك. ربما تم إنشاؤه باستخدام إصدار مختلف من بلوكلي؟",
parseError: "خطأ في توزيع ال \"%1\":\n %2\n\nحدد 'موافق' للتخلي عن التغييرات أو 'إلغاء الأمر' لمواصلة تحرير ال\"%1\"."
};
4 changes: 2 additions & 2 deletions demos/code/msg/be-tarask.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Узьнікла праблема з запытам.",
linkAlert: "Падзяліцца Вашым блёкам праз гэтую спасылку:\n\n%1",
hashError: "Прабачце, '%1' не адпавядае ніводнай захаванай праграме.",
xmlError: "Не атрымалася загрузіць захаваны файл. Магчыма, ён быў створаны з іншай вэрсіяй Блёклі?",
badXml: "Памылка сынтаксічнага аналізу XML:\n%1\n\nАбярыце \"ОК\", каб адмовіцца ад зьменаў ці \"Скасаваць\" для далейшага рэдагаваньня XML."
loadError: "Не атрымалася загрузіць захаваны файл. Магчыма, ён быў створаны з іншай вэрсіяй Блёклі?",
parseError: "Памылка сынтаксічнага аналізу %1:\n%2\n\nАбярыце \"ОК\", каб адмовіцца ад зьменаў ці \"Скасаваць\" для далейшага рэдагаваньня %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/br.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Ur gudenn zo gant ar reked.",
linkAlert: "Rannañ ho ploc'hoù gant al liamm-mañ :\n\n%1",
hashError: "Digarezit. \"%1\" ne glot gant programm enrollet ebet.",
xmlError: "Ne c'haller ket kargañ ho restr enrollet. Marteze e oa bet krouet gant ur stumm disheñvel eus Blockly ?",
badXml: "Fazi dielfennañ XML :\n%1\n\nDibabit \"Mat eo\" evit dilezel ar c'hemmoù-se pe \"Nullañ\" evit kemmañ an XML c'hoazh."
loadError: "Ne c'haller ket kargañ ho restr enrollet. Marteze e oa bet krouet gant ur stumm disheñvel eus Blockly ?",
parseError: "Fazi dielfennañ %1 :\n%2\n\nDibabit \"Mat eo\" evit dilezel ar c'hemmoù-se pe \"Nullañ\" evit kemmañ an %1 c'hoazh."
};
4 changes: 2 additions & 2 deletions demos/code/msg/ca.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Hi ha hagut un problema amb la sol·licitud.",
linkAlert: "Comparteix els teus blocs amb aquest enllaç: %1",
hashError: "Ho sentim, '%1' no es correspon amb cap fitxer desat de Blockly.",
xmlError: "No s'ha pogut carregar el teu fitxer desat. Potser va ser creat amb una versió diferent de Blockly?",
badXml: "Error d'anàlisi XML:\n%1\n\nSeleccioneu 'Acceptar' per abandonar els vostres canvis, o 'Cancel·lar' per continuar editant l'XML."
loadError: "No s'ha pogut carregar el teu fitxer desat. Potser va ser creat amb una versió diferent de Blockly?",
parseError: "Error d'anàlisi %1:\n%2\n\nSeleccioneu 'Acceptar' per abandonar els vostres canvis, o 'Cancel·lar' per continuar editant l'%1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/cs.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Došlo k potížím s požadavkem.",
linkAlert: "Sdílej bloky tímto odkazem: \n\n%1",
hashError: "Omlouváme se, '%1' nesouhlasí s žádným z uložených souborů.",
xmlError: "Nepodařilo se uložit vás soubor. Pravděpodobně byl vytvořen jinou verzí Blockly?",
badXml: "Chyba parsování XML:\n%1\n\nVybrat \"OK\" pro zahození vašich změn nebo 'Cancel' k dalšímu upravování XML."
loadError: "Nepodařilo se uložit vás soubor. Pravděpodobně byl vytvořen jinou verzí Blockly?",
parseError: "Chyba parsování %1:\n%2\n\nVybrat \"OK\" pro zahození vašich změn nebo 'Cancel' k dalšímu upravování %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/da.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Der var et problem med forespørgslen.",
linkAlert: "Del dine blokke med dette link:\n\n%1",
hashError: "Beklager, '%1' passer ikke med nogen gemt Blockly fil.",
xmlError: "Kunne ikke hente din gemte fil. Måske er den lavet med en anden udgave af Blockly?",
badXml: "Fejl under fortolkningen af XML:\n%1\n\nVælg 'OK' for at opgive dine ændringer eller 'Afbryd' for at redigere XML-filen yderligere."
loadError: "Kunne ikke hente din gemte fil. Måske er den lavet med en anden udgave af Blockly?",
parseError: "Fejl under fortolkningen af %1:\n%2\n\nVælg 'OK' for at opgive dine ændringer eller 'Afbryd' for at redigere %1-filen yderligere."
};
4 changes: 2 additions & 2 deletions demos/code/msg/de.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Mit der Anfrage gab es ein Problem.",
linkAlert: "Teile deine Bausteine mit diesem Link:\n\n%1",
hashError: "„%1“ stimmt leider mit keinem gespeicherten Programm überein.",
xmlError: "Deine gespeicherte Datei konnte nicht geladen werden. Vielleicht wurde sie mit einer anderen Version von Blockly erstellt.",
badXml: "Fehler beim Parsen von XML:\n%1\n\nWähle 'OK' zum Verwerfen deiner Änderungen oder 'Abbrechen' zum weiteren Bearbeiten des XML."
loadError: "Deine gespeicherte Datei konnte nicht geladen werden. Vielleicht wurde sie mit einer anderen Version von Blockly erstellt.",
parseError: "Fehler beim Parsen von %1:\n%2\n\nWähle 'OK' zum Verwerfen deiner Änderungen oder 'Abbrechen' zum weiteren Bearbeiten des %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/el.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Υπήρξε πρόβλημα με το αίτημα.",
linkAlert: "Κοινοποίησε τα μπλοκ σου με αυτόν τον σύνδεσμο:\n\n%1",
hashError: "Λυπάμαι, το «%1» δεν αντιστοιχεί σε κανένα αποθηκευμένο πρόγραμμα.",
xmlError: "Δεν μπορώ να φορτώσω το αποθηκευμένο αρχείο σου. Μήπως δημιουργήθηκε από μία παλιότερη έκδοση του Blockly;",
badXml: "Σφάλμα ανάλυσης XML:\n%1\n\nΕπίλεξε «Εντάξει» για να εγκαταλείψεις τις αλλαγές σου ή «Ακύρωση» για να επεξεργαστείς το XML κι άλλο."
loadError: "Δεν μπορώ να φορτώσω το αποθηκευμένο αρχείο σου. Μήπως δημιουργήθηκε από μία παλιότερη έκδοση του Blockly;",
parseError: "Σφάλμα ανάλυσης %1:\n%2\n\nΕπίλεξε «Εντάξει» για να εγκαταλείψεις τις αλλαγές σου ή «Ακύρωση» για να επεξεργαστείς το %1 κι άλλο."
};
4 changes: 2 additions & 2 deletions demos/code/msg/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "There was a problem with the request.",
linkAlert: "Share your blocks with this public link. We\'ll delete them if not used for a year. They are not associated with your account and handled as per Google\'s Privacy Policy. Please be sure not to include any private information.\n\n%1",
hashError: "Sorry, '%1' doesn't correspond with any saved program.",
xmlError: "Could not load your saved file. Perhaps it was created with a different version of Blockly?",
badXml: "Error parsing XML:\n%1\n\nSelect 'OK' to abandon your changes or 'Cancel' to further edit the XML."
loadError: "Could not load your saved file. Perhaps it was created with a different version of Blockly?",
parseError: "Error parsing %1:\n%2\n\nSelect 'OK' to abandon your changes or 'Cancel' to further edit the %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/es.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Hubo un problema con la petición.",
linkAlert: "Comparte tus bloques con este enlace:\n\n%1",
hashError: "«%1» no corresponde con ningún programa guardado.",
xmlError: "No se pudo cargar el archivo guardado. ¿Quizá fue creado con otra versión de Blockly?",
badXml: "Error de análisis XML:\n%1\n\nSelecciona OK para abandonar tus cambios o Cancelar para seguir editando el XML."
loadError: "No se pudo cargar el archivo guardado. ¿Quizá fue creado con otra versión de Blockly?",
parseError: "Error de análisis %1:\n%2\n\nSelecciona OK para abandonar tus cambios o Cancelar para seguir editando el %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/et.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Probleem päringuga.",
linkAlert: "Oma plokke saad jagada selle lingiga:\n\n%1",
hashError: "Vabandust, kuid '%1' ei vasta ühelegi salvestatud programmile.",
xmlError: "Su salvestatud faili ei õnnestunud laadida. Võibolla on see loodud mõne teise Blockly versiooniga?",
badXml: "Viga XML-i parsimisel:\n%1\n\nTehtud muudatustest loobumiseks vajuta 'OK', XML-i muudatuste tegemise jätkamiseks 'Katkesta'."
loadError: "Su salvestatud faili ei õnnestunud laadida. Võibolla on see loodud mõne teise Blockly versiooniga?",
parseError: "Viga %1-i parsimisel:\n%2\n\nTehtud muudatustest loobumiseks vajuta 'OK', %1-i muudatuste tegemise jätkamiseks 'Katkesta'."
};
4 changes: 2 additions & 2 deletions demos/code/msg/fa.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "مشکلی با درخواست وجود داشت.",
linkAlert: "اشتراک‌گذاری بلاک‌هایتان با این پیوند:\n\n%1",
hashError: "شرمنده، «%1» با هیچ برنامهٔ ذخیره‌شده‌ای تطبیق پیدا نکرد.",
xmlError: "نتوانست پروندهٔ ذخیرهٔ شما بارگیری شود. احتمالاً با نسخهٔ متفاوتی از بلوکی درست شده‌است؟",
badXml: "خطای تجزیهٔ اکس‌ام‌ال:\n%1\n\n«باشد» را برای ذخیره و «فسخ» را برای ویرایش بیشتر اکس‌ام‌ال انتخاب کنید."
loadError: "نتوانست پروندهٔ ذخیرهٔ شما بارگیری شود. احتمالاً با نسخهٔ متفاوتی از بلوکی درست شده‌است؟",
parseError: "خطای تجزیهٔ اکس‌ام‌ال:\n%2\n\n«باشد» را برای ذخیره و «فسخ» را برای ویرایش بیشتر اکس‌ام‌ال انتخاب کنید."
};
4 changes: 2 additions & 2 deletions demos/code/msg/fr.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Il y a eu un problème avec la demande.",
linkAlert: "Partagez vos blocs grâce à ce lien:\n\n%1",
hashError: "Désolé, '%1' ne correspond à aucun programme sauvegardé.",
xmlError: "Impossible de charger le fichier de sauvegarde. Peut être a t-il été créé avec une autre version de Blockly?",
badXml: "Erreur d’analyse du XML :\n%1\n\nSélectionner 'OK' pour abandonner vos modifications ou 'Annuler' pour continuer à modifier le XML."
loadError: "Impossible de charger le fichier de sauvegarde. Peut être a t-il été créé avec une autre version de Blockly?",
parseError: "Erreur d’analyse du %1 :\n%2\n\nSélectionner 'OK' pour abandonner vos modifications ou 'Annuler' pour continuer à modifier le %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/he.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "הבקשה נכשלה.",
linkAlert: "ניתן לשתף את קטעי הקוד שלך באמצעות קישור זה:\n\n%1",
hashError: "לצערנו, '%1' איננו מתאים לאף אחת מהתוכניות השמורות",
xmlError: "נסיון הטעינה של הקובץ השמור שלך נכשל. האם ייתכן שהוא נוצר בגרסא שונה של בלוקלי?",
badXml: "תקלה בפענוח XML:\n\n%1\n\nנא לבחור 'אישור' כדי לנטוש את השינויים שלך או 'ביטול' כדי להמשיך ולערוך את ה־XML."
loadError: "נסיון הטעינה של הקובץ השמור שלך נכשל. האם ייתכן שהוא נוצר בגרסא שונה של בלוקלי?",
parseError: "תקלה בפענוח %1:\n\n%2\n\nנא לבחור 'אישור' כדי לנטוש את השינויים שלך או 'ביטול' כדי להמשיך ולערוך את ה־%1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/hrx.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Mit der Oonfroch hots en Problem geb.",
linkAlert: "Tel von dein Bausten mit dem Link:\n\n%1",
hashError: "„%1“ stimmt leider mit kenem üweren gespeicherte Programm.",
xmlError: "Dein gespeicherte Datei könnt net gelood sin. Vielleicht woard se mit ener annre Version von Blockly erstellt.",
badXml: "Fehler beim Parse von XML:\n%1\n\nWähle 'OK' zum Verwerfe von deiner Ändrunge orrer 'Abbreche' zum XML weiter beoorbeite."
loadError: "Dein gespeicherte Datei könnt net gelood sin. Vielleicht woard se mit ener annre Version von Blockly erstellt.",
parseError: "Fehler beim Parse von %1:\n%2\n\nWähle 'OK' zum Verwerfe von deiner Ändrunge orrer 'Abbreche' zum %1 weiter beoorbeite."
};
4 changes: 2 additions & 2 deletions demos/code/msg/hu.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "A kéréssel kapcsolatban probléma merült fel.",
linkAlert: "Ezzel a hivatkozással tudod megosztani a programodat:\n\n%1",
hashError: "Sajnos a '%1' hivatkozás nem tartozik egyetlen programhoz sem.",
xmlError: "A programodat nem lehet betölteni. Elképzelhető, hogy a Blockly egy másik verziójában készült?",
badXml: "Hiba az XML feldolgozásakor:\n%1\n\nVáltozások elvetése?"
loadError: "A programodat nem lehet betölteni. Elképzelhető, hogy a Blockly egy másik verziójában készült?",
parseError: "Hiba az %1 feldolgozásakor:\n%2\n\nVáltozások elvetése?"
};
4 changes: 2 additions & 2 deletions demos/code/msg/ia.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Il habeva un problema con le requesta.",
linkAlert: "Divide tu blocos con iste ligamine:\n\n%1",
hashError: "Infelicemente, '%1' non corresponde a alcun programma salveguardate.",
xmlError: "Impossibile cargar le file salveguardate. Pote esser que illo ha essite create con un altere version de Blockly?",
badXml: "Error de analyse del XML:\n%1\n\nSelige 'OK' pro abandonar le modificationes o 'Cancellar' pro continuar a modificar le codice XML."
loadError: "Impossibile cargar le file salveguardate. Pote esser que illo ha essite create con un altere version de Blockly?",
parseError: "Error de analyse del %1:\n%2\n\nSelige 'OK' pro abandonar le modificationes o 'Cancellar' pro continuar a modificar le codice %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/is.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "Það kom upp vandamál með beiðnina.",
linkAlert: "Deildu kubbunum þínum með þessari krækju:",
hashError: "Því miður, '%1' passar ekki við neitt vistað forrit.",
xmlError: "Gat ekki hlaðið vistuðu skrána þína. Var hún kannske búin til í annarri útgáfu af Blockly?",
badXml: "Villa við úrvinnslu XML:\n%1\n\nVeldu 'Í lagi' til að sleppa breytingum eða 'Hætta við' til að halda áfram með XML."
loadError: "Gat ekki hlaðið vistuðu skrána þína. Var hún kannske búin til í annarri útgáfu af Blockly?",
parseError: "Villa við úrvinnslu %1:\n%2\n\nVeldu 'Í lagi' til að sleppa breytingum eða 'Hætta við' til að halda áfram með %1."
};
4 changes: 2 additions & 2 deletions demos/code/msg/it.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ var MSG = {
httpRequestError: "La richiesta non è stata soddisfatta.",
linkAlert: "Condividi i tuoi blocchi con questo collegamento:\n\n%1",
hashError: "Mi spiace, '%1' non corrisponde ad alcun programma salvato.",
xmlError: "Non è stato possibile caricare il documento. Forse è stato creato con una versione diversa di Blockly?",
badXml: "Errore durante l'analisi XML:\n%1\n\nSeleziona 'OK' per abbandonare le modifiche o 'Annulla' per continuare a modificare l'XML."
loadError: "Non è stato possibile caricare il documento. Forse è stato creato con una versione diversa di Blockly?",
parseError: "Errore durante l'analisi %1:\n%2\n\nSeleziona 'OK' per abbandonare le modifiche o 'Annulla' per continuare a modificare l'%1."
};
Loading

0 comments on commit ee22152

Please sign in to comment.