diff --git a/src/livecodes/i18n/locales/ar/language-info.lokalise.json b/src/livecodes/i18n/locales/ar/language-info.lokalise.json
index 26d2173efc..bf5cc9ade1 100644
--- a/src/livecodes/i18n/locales/ar/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/ar/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM يعمل في المتصفح باستخدام DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM يعمل في المتصفح باستخدام DoppioJVM (JDK 8، يتم تفسيره بواسطة JavaScript)."
},
- "java.link": {
- "translation": "
موقع جافا الرسمي DoppioJVM تعلم X في دقائق Y، حيث X = جافا وثائق LiveCodes تحميل قالب البدء "
+ "java8.link": {
+ "translation": "
موقع جافا الرسمي DoppioJVM تعلم X في دقائق Y، حيث X = جافا وثائق LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "يتم تجميع Java إلى WebAssembly في المتصفح بواسطة javac من OpenJDK ومترجم AOT من TeaVM. يتم دعم Java الحديثة (records، تعبيرات switch، كتل النصوص)، ولا يتم إرسال أي شيء إلى خادم."
+ },
+ "javaWasm.link": {
+ "translation": "
موقع جافا الرسمي TeaVM تعلم X في دقائق Y، حيث X = جافا وثائق LiveCodes تحميل قالب البدء "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "لغة البرمجة النصية للويب."
diff --git a/src/livecodes/i18n/locales/ar/language-info.ts b/src/livecodes/i18n/locales/ar/language-info.ts
index 7ef3043368..361125290a 100644
--- a/src/livecodes/i18n/locales/ar/language-info.ts
+++ b/src/livecodes/i18n/locales/ar/language-info.ts
@@ -239,10 +239,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>الموقع الرسمي لـ Janet2>1> <3> <4>وثائق Janet4> 3> <5> <6>تعلم X في Y دقيقة، حيث X = Janet6> 5> <7> <8>وثائق LiveCodes8> 7> <9> <10>تحميل قالب البدء10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM يعمل في المتصفح باستخدام DoppioJVM.',
- link: '<1> <2>موقع جافا الرسمي2> 1> <3> <4> DoppioJVM4> 3> <5> <6> تعلم X في دقائق Y، حيث X = جافا6> 5> <7> <8>وثائق LiveCodes8> 7> <9> <10> تحميل قالب البدء10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM يعمل في المتصفح باستخدام DoppioJVM (JDK 8، يتم تفسيره بواسطة JavaScript).',
+ link: '<1> <2>موقع جافا الرسمي2> 1> <3> <4> DoppioJVM4> 3> <5> <6> تعلم X في دقائق Y، حيث X = جافا6> 5> <7> <8>وثائق LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'يتم تجميع Java إلى WebAssembly في المتصفح بواسطة javac من OpenJDK ومترجم AOT من TeaVM. يتم دعم Java الحديثة (records، تعبيرات switch، كتل النصوص)، ولا يتم إرسال أي شيء إلى خادم.',
+ link: '<1> <2>موقع جافا الرسمي2> 1> <3> <4> TeaVM4> 3> <5> <6> تعلم X في دقائق Y، حيث X = جافا6> 5> <7> <8>وثائق LiveCodes8> 7> <9> <10> تحميل قالب البدء10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'لغة البرمجة النصية للويب.',
diff --git a/src/livecodes/i18n/locales/bn/language-info.lokalise.json b/src/livecodes/i18n/locales/bn/language-info.lokalise.json
index 2e2cecc15c..4a4bdfcf15 100644
--- a/src/livecodes/i18n/locales/bn/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/bn/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "DoppioJVM ব্যবহার করে ব্রাউজারে চলমান JVM।"
+ "java8.desc": {
+ "translation": "DoppioJVM ব্যবহার করে ব্রাউজারে চলমান JVM (JDK 8, JavaScript-এ ব্যাখ্যায়িত)।"
},
- "java.link": {
- "translation": "
Java অফিসিয়াল ওয়েবসাইট DoppioJVM Y মিনিটে X শিখুন, যেখানে X=java LiveCodes ডকুমেন্টেশন স্টার্টার টেমপ্লেট লোড করুন "
+ "java8.link": {
+ "translation": "
Java অফিসিয়াল ওয়েবসাইট DoppioJVM Y মিনিটে X শিখুন, যেখানে X=java LiveCodes ডকুমেন্টেশন "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java ব্রাউজারে OpenJDK-এর javac এবং TeaVM AOT কম্পাইলার দ্বারা WebAssembly-তে কম্পাইল করা হয়। আধুনিক Java (রেকর্ড, switch এক্সপ্রেশন, টেক্সট ব্লক) সমর্থিত, এবং সার্ভারে কিছুই পাঠানো হয় না।"
+ },
+ "javaWasm.link": {
+ "translation": "
Java অফিসিয়াল ওয়েবসাইট TeaVM Y মিনিটে X শিখুন, যেখানে X=java LiveCodes ডকুমেন্টেশন স্টার্টার টেমপ্লেট লোড করুন "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "ওয়েবের স্ক্রিপ্টিং ভাষা।"
diff --git a/src/livecodes/i18n/locales/bn/language-info.ts b/src/livecodes/i18n/locales/bn/language-info.ts
index eafd2ec097..becbc8a4b5 100644
--- a/src/livecodes/i18n/locales/bn/language-info.ts
+++ b/src/livecodes/i18n/locales/bn/language-info.ts
@@ -240,10 +240,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Janet অফিসিয়াল ওয়েবসাইট2>1> <3> <4>Janet ডকুমেন্টেশন4> 3> <5> <6>Y মিনিটে X শিখুন, যেখানে X=Janet6> 5> <7> <8>লাইভকোড ডকুমেন্টেশন8> 7> <9> <10>স্টার্টার টেমপ্লেট লোড করুন10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'DoppioJVM ব্যবহার করে ব্রাউজারে চলমান JVM।',
- link: '<1> <2>Java অফিসিয়াল ওয়েবসাইট2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Y মিনিটে X শিখুন, যেখানে X=java6> 5> <7> <8>LiveCodes ডকুমেন্টেশন8> 7> <9> <10>স্টার্টার টেমপ্লেট লোড করুন10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'DoppioJVM ব্যবহার করে ব্রাউজারে চলমান JVM (JDK 8, JavaScript-এ ব্যাখ্যায়িত)।',
+ link: '<1> <2>Java অফিসিয়াল ওয়েবসাইট2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Y মিনিটে X শিখুন, যেখানে X=java6> 5> <7> <8>LiveCodes ডকুমেন্টেশন8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java ব্রাউজারে OpenJDK-এর javac এবং TeaVM AOT কম্পাইলার দ্বারা WebAssembly-তে কম্পাইল করা হয়। আধুনিক Java (রেকর্ড, switch এক্সপ্রেশন, টেক্সট ব্লক) সমর্থিত, এবং সার্ভারে কিছুই পাঠানো হয় না।',
+ link: '<1> <2>Java অফিসিয়াল ওয়েবসাইট2> 1> <3> <4>TeaVM4> 3> <5> <6>Y মিনিটে X শিখুন, যেখানে X=java6> 5> <7> <8>LiveCodes ডকুমেন্টেশন8> 7> <9> <10>স্টার্টার টেমপ্লেট লোড করুন10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'ওয়েবের স্ক্রিপ্টিং ভাষা।',
diff --git a/src/livecodes/i18n/locales/de/language-info.lokalise.json b/src/livecodes/i18n/locales/de/language-info.lokalise.json
index 8552ed6f9f..837d01ecbc 100644
--- a/src/livecodes/i18n/locales/de/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/de/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM läuft im Browser mit DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM läuft im Browser mit DoppioJVM (JDK 8, in JavaScript interpretiert)."
},
- "java.link": {
- "translation": "
Offizielle Java-Website DoppioJVM Lernen Sie X in Y Minuten, wobei X=java LiveCodes Dokumentation Laden Sie die Startvorlage "
+ "java8.link": {
+ "translation": "
Offizielle Java-Website DoppioJVM Lernen Sie X in Y Minuten, wobei X=java LiveCodes Dokumentation "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java wird im Browser durch javac von OpenJDK und den TeaVM-AOT-Compiler zu WebAssembly kompiliert. Modernes Java (Records, switch-Ausdrücke, Textblöcke) wird unterstützt, und nichts wird an einen Server gesendet."
+ },
+ "javaWasm.link": {
+ "translation": "
Offizielle Java-Website TeaVM Lernen Sie X in Y Minuten, wobei X=java LiveCodes Dokumentation Laden Sie die Startvorlage "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "Die Skriptsprache des Webs."
diff --git a/src/livecodes/i18n/locales/de/language-info.ts b/src/livecodes/i18n/locales/de/language-info.ts
index 21621428c5..ef00285b3a 100644
--- a/src/livecodes/i18n/locales/de/language-info.ts
+++ b/src/livecodes/i18n/locales/de/language-info.ts
@@ -242,10 +242,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Offizielle Janet-Website2>1> <3> <4>Janet-Dokumentation4> 3> <5> <6>Lerne X in Y Minuten, wobei X = Janet6> 5> <7> <8>LiveCodes-Dokumentation8> 7> <9> <10>Startervorlage laden10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM läuft im Browser mit DoppioJVM.',
- link: '<1> <2>Offizielle Java-Website2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Lernen Sie X in Y Minuten, wobei X=java6> 5> <7> <8>LiveCodes Dokumentation8> 7> <9> <10> Laden Sie die Startvorlage10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM läuft im Browser mit DoppioJVM (JDK 8, in JavaScript interpretiert).',
+ link: '<1> <2>Offizielle Java-Website2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Lernen Sie X in Y Minuten, wobei X=java6> 5> <7> <8>LiveCodes Dokumentation8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java wird im Browser durch javac von OpenJDK und den TeaVM-AOT-Compiler zu WebAssembly kompiliert. Modernes Java (Records, switch-Ausdrücke, Textblöcke) wird unterstützt, und nichts wird an einen Server gesendet.',
+ link: '<1> <2>Offizielle Java-Website2> 1> <3> <4> TeaVM4> 3> <5> <6> Lernen Sie X in Y Minuten, wobei X=java6> 5> <7> <8>LiveCodes Dokumentation8> 7> <9> <10> Laden Sie die Startvorlage10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'Die Skriptsprache des Webs.',
diff --git a/src/livecodes/i18n/locales/en/language-info.lokalise.json b/src/livecodes/i18n/locales/en/language-info.lokalise.json
index 90ca83dc2c..3129177106 100644
--- a/src/livecodes/i18n/locales/en/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/en/language-info.lokalise.json
@@ -576,17 +576,29 @@
"notes": "",
"translation": "Janet (Wasm)"
},
- "java.desc": {
+ "java8.desc": {
"notes": "",
- "translation": "JVM running in the browser using DoppioJVM."
+ "translation": "Java 8, compiled and run in the browser by a JVM interpreter written in JavaScript."
},
- "java.link": {
- "notes": "###
###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n",
- "translation": " Java official website DoppioJVM Learn X in Y minutes, where X=java LiveCodes Documentation Load starter template "
+ "java8.link": {
+ "notes": "### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n",
+ "translation": " Java official website DoppioJVM Learn X in Y minutes, where X=java LiveCodes Documentation "
},
- "java.name": {
+ "java8.name": {
"notes": "",
- "translation": "Java"
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "notes": "",
+ "translation": "Java is compiled to WebAssembly in the browser by OpenJDK's javac and the TeaVM AOT compiler. Modern Java (records, switch expressions, text blocks) is supported, and nothing is sent to a server."
+ },
+ "javaWasm.link": {
+ "notes": "### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n### ###\n\n\n",
+ "translation": " Java official website TeaVM Learn X in Y minutes, where X=java LiveCodes Documentation Load starter template "
+ },
+ "javaWasm.name": {
+ "notes": "",
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"notes": "",
diff --git a/src/livecodes/i18n/locales/en/language-info.ts b/src/livecodes/i18n/locales/en/language-info.ts
index 97da69a43b..dd3fbb84ae 100644
--- a/src/livecodes/i18n/locales/en/language-info.ts
+++ b/src/livecodes/i18n/locales/en/language-info.ts
@@ -253,10 +253,15 @@ const languageInfo = {
link: '<1> <2>Janet official website2> 1> <3> <4>Janet documentation4> 3> <5> <6>Learn X in Y minutes, where X=Janet6> 5> <7> <8>LiveCodes Documentation8> 7> <9> <10>Load starter template10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM running in the browser using DoppioJVM.',
- link: '<1> <2>Java official website2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Learn X in Y minutes, where X=java6> 5> <7> <8>LiveCodes Documentation8> 7> <9> <10>Load starter template10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'Java 8, compiled and run in the browser by a JVM interpreter written in JavaScript.',
+ link: '<1> <2>Java official website2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Learn X in Y minutes, where X=java6> 5> <7> <8>LiveCodes Documentation8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: "Java is compiled to WebAssembly in the browser by OpenJDK's javac and the TeaVM AOT compiler. Modern Java (records, switch expressions, text blocks) is supported, and nothing is sent to a server.",
+ link: '<1> <2>Java official website2> 1> <3> <4>TeaVM4> 3> <5> <6>Learn X in Y minutes, where X=java6> 5> <7> <8>LiveCodes Documentation8> 7> <9> <10>Load starter template10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'The scripting language of the web.',
diff --git a/src/livecodes/i18n/locales/es/language-info.lokalise.json b/src/livecodes/i18n/locales/es/language-info.lokalise.json
index ad6b6a9fba..02b798b434 100644
--- a/src/livecodes/i18n/locales/es/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/es/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM ejecutándose en el navegador utilizando DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM ejecutándose en el navegador utilizando DoppioJVM (JDK 8, interpretado en JavaScript)."
},
- "java.link": {
- "translation": " Sitio web oficial de Java DoppioJVM Aprenda X en Y minutos, donde X=java Documentación de LiveCodes Cargue la plantilla de inicio "
+ "java8.link": {
+ "translation": " Sitio web oficial de Java DoppioJVM Aprenda X en Y minutos, donde X=java Documentación de LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java se compila a WebAssembly en el navegador mediante javac de OpenJDK y el compilador AOT de TeaVM. Se admite Java moderno (records, expresiones switch, bloques de texto), y no se envía nada a un servidor."
+ },
+ "javaWasm.link": {
+ "translation": " Sitio web oficial de Java TeaVM Aprenda X en Y minutos, donde X=java Documentación de LiveCodes Cargue la plantilla de inicio "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "El lenguaje de programación de la web."
diff --git a/src/livecodes/i18n/locales/es/language-info.ts b/src/livecodes/i18n/locales/es/language-info.ts
index 8cb9d35bf8..ce206e1c66 100644
--- a/src/livecodes/i18n/locales/es/language-info.ts
+++ b/src/livecodes/i18n/locales/es/language-info.ts
@@ -242,10 +242,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Página web oficial de Janet2>1> <3> <4>Documentación de Janet4> 3> <5> <6>Aprende X en Y minutos, donde X = Janet6> 5> <7> <8>Documentación de LiveCodes8> 7> <9> <10>Cargar plantilla de inicio10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM ejecutándose en el navegador utilizando DoppioJVM.',
- link: '<1> <2>Sitio web oficial de Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Aprenda X en Y minutos, donde X=java6> 5> <7> <8>Documentación de LiveCodes8> 7> <9> <10> Cargue la plantilla de inicio10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM ejecutándose en el navegador utilizando DoppioJVM (JDK 8, interpretado en JavaScript).',
+ link: '<1> <2>Sitio web oficial de Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Aprenda X en Y minutos, donde X=java6> 5> <7> <8>Documentación de LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java se compila a WebAssembly en el navegador mediante javac de OpenJDK y el compilador AOT de TeaVM. Se admite Java moderno (records, expresiones switch, bloques de texto), y no se envía nada a un servidor.',
+ link: '<1> <2>Sitio web oficial de Java2> 1> <3> <4> TeaVM4> 3> <5> <6> Aprenda X en Y minutos, donde X=java6> 5> <7> <8>Documentación de LiveCodes8> 7> <9> <10> Cargue la plantilla de inicio10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'El lenguaje de programación de la web.',
diff --git a/src/livecodes/i18n/locales/fa/language-info.lokalise.json b/src/livecodes/i18n/locales/fa/language-info.lokalise.json
index 698420cb6e..5220dcaf9a 100644
--- a/src/livecodes/i18n/locales/fa/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/fa/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "اجرای JVM در مرورگر با استفاده از DoppioJVM."
+ "java8.desc": {
+ "translation": "اجرای JVM در مرورگر با استفاده از DoppioJVM (JDK 8، تفسیر شده در JavaScript)."
},
- "java.link": {
- "translation": " وبسایت رسمی جاوا DoppioJVM یادگیری X در Y دقیقه، جایی که X=java مستندات LiveCodes بارگذاری قالب شروع کننده "
+ "java8.link": {
+ "translation": " وبسایت رسمی جاوا DoppioJVM یادگیری X در Y دقیقه، جایی که X=java مستندات LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java در مرورگر توسط javac شرکت OpenJDK و کامپایلر AOT شرکت TeaVM به WebAssembly کامپایل میشود. جاوای مدرن (records، عبارتهای switch، بلوکهای متنی) پشتیبانی میشود و هیچ چیزی به سرور ارسال نمیشود."
+ },
+ "javaWasm.link": {
+ "translation": " وبسایت رسمی جاوا TeaVM یادگیری X در Y دقیقه، جایی که X=java مستندات LiveCodes بارگذاری قالب شروع کننده "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "زبان اسکریپت نویسی وب."
diff --git a/src/livecodes/i18n/locales/fa/language-info.ts b/src/livecodes/i18n/locales/fa/language-info.ts
index 96cc510d01..bde80959de 100644
--- a/src/livecodes/i18n/locales/fa/language-info.ts
+++ b/src/livecodes/i18n/locales/fa/language-info.ts
@@ -241,10 +241,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>وبسایت رسمی Janet2>1> <3> <4>اسناد Janet4> 3> <5> <6>یادگیری X در Y دقیقه، که X=Janet6> 5> <7> <8>مستندات LiveCodes8> 7> <9> <10>بارگیری قالب شروع10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'اجرای JVM در مرورگر با استفاده از DoppioJVM.',
- link: '<1> <2>وبسایت رسمی جاوا2> 1> <3> <4>DoppioJVM4> 3> <5> <6>یادگیری X در Y دقیقه، جایی که X=java6> 5> <7> <8>مستندات LiveCodes8> 7> <9> <10>بارگذاری قالب شروع کننده10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'اجرای JVM در مرورگر با استفاده از DoppioJVM (JDK 8، تفسیر شده در JavaScript).',
+ link: '<1> <2>وبسایت رسمی جاوا2> 1> <3> <4>DoppioJVM4> 3> <5> <6>یادگیری X در Y دقیقه، جایی که X=java6> 5> <7> <8>مستندات LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java در مرورگر توسط javac شرکت OpenJDK و کامپایلر AOT شرکت TeaVM به WebAssembly کامپایل میشود. جاوای مدرن (records، عبارتهای switch، بلوکهای متنی) پشتیبانی میشود و هیچ چیزی به سرور ارسال نمیشود.',
+ link: '<1> <2>وبسایت رسمی جاوا2> 1> <3> <4>TeaVM4> 3> <5> <6>یادگیری X در Y دقیقه، جایی که X=java6> 5> <7> <8>مستندات LiveCodes8> 7> <9> <10>بارگذاری قالب شروع کننده10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'زبان اسکریپت نویسی وب.',
diff --git a/src/livecodes/i18n/locales/fr/language-info.lokalise.json b/src/livecodes/i18n/locales/fr/language-info.lokalise.json
index c3407ec735..43864694aa 100644
--- a/src/livecodes/i18n/locales/fr/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/fr/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM fonctionnant dans le navigateur à l'aide de DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM fonctionnant dans le navigateur à l'aide de DoppioJVM (JDK 8, interprété en JavaScript)."
},
- "java.link": {
- "translation": " Site officiel de Java DoppioJVM Apprendre X en Y minutes, où X=java Documentation LiveCodes Charger le modèle de démarrage "
+ "java8.link": {
+ "translation": " Site officiel de Java DoppioJVM Apprendre X en Y minutes, où X=java Documentation LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java est compilé en WebAssembly dans le navigateur par javac d'OpenJDK et le compilateur AOT de TeaVM. Le Java moderne (records, expressions switch, blocs de texte) est pris en charge, et rien n'est envoyé à un serveur."
+ },
+ "javaWasm.link": {
+ "translation": " Site officiel de Java TeaVM Apprendre X en Y minutes, où X=java Documentation LiveCodes Charger le modèle de démarrage "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "Le langage de script du web."
diff --git a/src/livecodes/i18n/locales/fr/language-info.ts b/src/livecodes/i18n/locales/fr/language-info.ts
index 0188e651ef..cb2604aaaf 100644
--- a/src/livecodes/i18n/locales/fr/language-info.ts
+++ b/src/livecodes/i18n/locales/fr/language-info.ts
@@ -242,10 +242,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Site officiel de Janet2>1> <3> <4>Documentation Janet4> 3> <5> <6>Apprenez X en Y minutes, où X = Janet6> 5> <7> <8>Documentation LiveCodes8> 7> <9> <10>Charger un modèle de démarrage10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: "JVM fonctionnant dans le navigateur à l'aide de DoppioJVM.",
- link: '<1> <2>Site officiel de Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Apprendre X en Y minutes, où X=java6> 5> <7> <8>Documentation LiveCodes8> 7> <9> <10> Charger le modèle de démarrage10> 9>',
- name: 'Java',
+ java8: {
+ desc: "JVM fonctionnant dans le navigateur à l'aide de DoppioJVM (JDK 8, interprété en JavaScript).",
+ link: '<1> <2>Site officiel de Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Apprendre X en Y minutes, où X=java6> 5> <7> <8>Documentation LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: "Java est compilé en WebAssembly dans le navigateur par javac d'OpenJDK et le compilateur AOT de TeaVM. Le Java moderne (records, expressions switch, blocs de texte) est pris en charge, et rien n'est envoyé à un serveur.",
+ link: '<1> <2>Site officiel de Java2> 1> <3> <4> TeaVM4> 3> <5> <6> Apprendre X en Y minutes, où X=java6> 5> <7> <8>Documentation LiveCodes8> 7> <9> <10> Charger le modèle de démarrage10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'Le langage de script du web.',
diff --git a/src/livecodes/i18n/locales/hi/language-info.lokalise.json b/src/livecodes/i18n/locales/hi/language-info.lokalise.json
index df92603af0..ef4460469f 100644
--- a/src/livecodes/i18n/locales/hi/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/hi/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "DoppioJVM का उपयोग करके ब्राउज़र में JVM चल रहा है।"
+ "java8.desc": {
+ "translation": "DoppioJVM का उपयोग करके ब्राउज़र में JVM चल रहा है (JDK 8, JavaScript में इंटरप्रेट किया गया)।"
},
- "java.link": {
- "translation": " जावा आधिकारिक वेबसाइट DoppioJVM वाई मिनटों में एक्स सीखें, जहां एक्स=जावा LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें "
+ "java8.link": {
+ "translation": " जावा आधिकारिक वेबसाइट DoppioJVM वाई मिनटों में एक्स सीखें, जहां एक्स=जावा LiveCodes दस्तावेज़ीकरण "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java को ब्राउज़र में OpenJDK के javac और TeaVM AOT कंपाइलर द्वारा WebAssembly में कंपाइल किया जाता है। आधुनिक Java (रिकॉर्ड, switch एक्सप्रेशन, टेक्स्ट ब्लॉक) समर्थित है, और सर्वर पर कुछ भी नहीं भेजा जाता है।"
+ },
+ "javaWasm.link": {
+ "translation": " जावा आधिकारिक वेबसाइट TeaVM वाई मिनटों में एक्स सीखें, जहां एक्स=जावा LiveCodes दस्तावेज़ीकरण स्टार्टर टेम्पलेट लोड करें "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "वेब की स्क्रिप्टिंग भाषा।"
diff --git a/src/livecodes/i18n/locales/hi/language-info.ts b/src/livecodes/i18n/locales/hi/language-info.ts
index ea4a44ebd5..c6890ac9e6 100644
--- a/src/livecodes/i18n/locales/hi/language-info.ts
+++ b/src/livecodes/i18n/locales/hi/language-info.ts
@@ -241,10 +241,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Janet आधिकारिक वेबसाइट2>1> <3> <4>Janet दस्तावेज4> 3> <5> <6>Y मिनट में X सीखें, जहाँ X=Janet6> 5> <7> <8>लाइवकोड दस्तावेजीकरण8> 7> <9> <10>स्टार्टर टेम्पलेट लोड करें10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'DoppioJVM का उपयोग करके ब्राउज़र में JVM चल रहा है।',
- link: '<1> <2>जावा आधिकारिक वेबसाइट2> 1> <3> <4>DoppioJVM4> 3> <5> <6>वाई मिनटों में एक्स सीखें, जहां एक्स=जावा6> 5> <7> <8>LiveCodes दस्तावेज़ीकरण8> 7> <9> <10>स्टार्टर टेम्पलेट लोड करें10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'DoppioJVM का उपयोग करके ब्राउज़र में JVM चल रहा है (JDK 8, JavaScript में इंटरप्रेट किया गया)।',
+ link: '<1> <2>जावा आधिकारिक वेबसाइट2> 1> <3> <4>DoppioJVM4> 3> <5> <6>वाई मिनटों में एक्स सीखें, जहां एक्स=जावा6> 5> <7> <8>LiveCodes दस्तावेज़ीकरण8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java को ब्राउज़र में OpenJDK के javac और TeaVM AOT कंपाइलर द्वारा WebAssembly में कंपाइल किया जाता है। आधुनिक Java (रिकॉर्ड, switch एक्सप्रेशन, टेक्स्ट ब्लॉक) समर्थित है, और सर्वर पर कुछ भी नहीं भेजा जाता है।',
+ link: '<1> <2>जावा आधिकारिक वेबसाइट2> 1> <3> <4>TeaVM4> 3> <5> <6>वाई मिनटों में एक्स सीखें, जहां एक्स=जावा6> 5> <7> <8>LiveCodes दस्तावेज़ीकरण8> 7> <9> <10>स्टार्टर टेम्पलेट लोड करें10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'वेब की स्क्रिप्टिंग भाषा।',
diff --git a/src/livecodes/i18n/locales/hu/language-info.lokalise.json b/src/livecodes/i18n/locales/hu/language-info.lokalise.json
index 638fb71dff..a31cf830b4 100644
--- a/src/livecodes/i18n/locales/hu/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/hu/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM fut a böngészőben a DoppioJVM használatával."
+ "java8.desc": {
+ "translation": "JVM fut a böngészőben a DoppioJVM használatával (JDK 8, JavaScriptben értelmezve)."
},
- "java.link": {
- "translation": " Java hivatalos weboldal DoppioJVM Tanulj X-et Y perc alatt, ahol X=java LiveCodes dokumentáció Kezdő sablon betöltése "
+ "java8.link": {
+ "translation": " Java hivatalos weboldal DoppioJVM Tanulj X-et Y perc alatt, ahol X=java LiveCodes dokumentáció "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "A Java a böngészőben az OpenJDK javac és a TeaVM AOT fordító segítségével WebAssembly-re fordul. A modern Java (recordok, switch kifejezések, szövegblokkok) támogatott, és semmi sem kerül elküldésre szerverre."
+ },
+ "javaWasm.link": {
+ "translation": " Java hivatalos weboldal TeaVM Tanulj X-et Y perc alatt, ahol X=java LiveCodes dokumentáció Kezdő sablon betöltése "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "A web szkriptnyelve."
diff --git a/src/livecodes/i18n/locales/hu/language-info.ts b/src/livecodes/i18n/locales/hu/language-info.ts
index 2cae071469..8b36a1e519 100644
--- a/src/livecodes/i18n/locales/hu/language-info.ts
+++ b/src/livecodes/i18n/locales/hu/language-info.ts
@@ -242,10 +242,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Az Janet hivatalos weboldala2>1> <3> <4>Janet dokumentáció4> 3> <5> <6>Tanulj meg X-et Y perc alatt, ahol X=Janet6> 5> <7> <8>LiveCodes dokumentáció8> 7> <9> <10>Kezdő sablon betöltése10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM fut a böngészőben a DoppioJVM használatával.',
- link: '<1> <2>Java hivatalos weboldal2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Tanulj X-et Y perc alatt, ahol X=java6> 5> <7> <8>LiveCodes dokumentáció8> 7> <9> <10>Kezdő sablon betöltése10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM fut a böngészőben a DoppioJVM használatával (JDK 8, JavaScriptben értelmezve).',
+ link: '<1> <2>Java hivatalos weboldal2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Tanulj X-et Y perc alatt, ahol X=java6> 5> <7> <8>LiveCodes dokumentáció8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'A Java a böngészőben az OpenJDK javac és a TeaVM AOT fordító segítségével WebAssembly-re fordul. A modern Java (recordok, switch kifejezések, szövegblokkok) támogatott, és semmi sem kerül elküldésre szerverre.',
+ link: '<1> <2>Java hivatalos weboldal2> 1> <3> <4>TeaVM4> 3> <5> <6>Tanulj X-et Y perc alatt, ahol X=java6> 5> <7> <8>LiveCodes dokumentáció8> 7> <9> <10>Kezdő sablon betöltése10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'A web szkriptnyelve.',
diff --git a/src/livecodes/i18n/locales/id/language-info.lokalise.json b/src/livecodes/i18n/locales/id/language-info.lokalise.json
index d4e26d0411..05159a478a 100644
--- a/src/livecodes/i18n/locales/id/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/id/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM berjalan di browser menggunakan DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM berjalan di browser menggunakan DoppioJVM (JDK 8, diinterpretasikan dalam JavaScript)."
},
- "java.link": {
- "translation": " Situs web resmi Java DoppioJVM Pelajari X dalam Y menit, dengan X=java Dokumentasi LiveCodes Muat template pemula "
+ "java8.link": {
+ "translation": " Situs web resmi Java DoppioJVM Pelajari X dalam Y menit, dengan X=java Dokumentasi LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java dikompilasi ke WebAssembly di browser oleh javac milik OpenJDK dan kompilator AOT TeaVM. Java modern (record, ekspresi switch, blok teks) didukung, dan tidak ada yang dikirim ke server."
+ },
+ "javaWasm.link": {
+ "translation": " Situs web resmi Java TeaVM Pelajari X dalam Y menit, dengan X=java Dokumentasi LiveCodes Muat template pemula "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "Bahasa skrip web."
diff --git a/src/livecodes/i18n/locales/id/language-info.ts b/src/livecodes/i18n/locales/id/language-info.ts
index 71e6c6a451..efda991d87 100644
--- a/src/livecodes/i18n/locales/id/language-info.ts
+++ b/src/livecodes/i18n/locales/id/language-info.ts
@@ -242,10 +242,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Situs web resmi Janet2>1> <3> <4>Dokumentasi Janet4> 3> <5> <6>Belajar X dalam Y menit, di mana X = Janet6> 5> <7> <8>Dokumentasi LiveCodes8> 7> <9> <10>Muat templat awal10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM berjalan di browser menggunakan DoppioJVM.',
- link: '<1> <2>Situs web resmi Java2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Pelajari X dalam Y menit, dengan X=java6> 5> <7> <8>Dokumentasi LiveCodes8> 7> <9> <10>Muat template pemula10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM berjalan di browser menggunakan DoppioJVM (JDK 8, diinterpretasikan dalam JavaScript).',
+ link: '<1> <2>Situs web resmi Java2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Pelajari X dalam Y menit, dengan X=java6> 5> <7> <8>Dokumentasi LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java dikompilasi ke WebAssembly di browser oleh javac milik OpenJDK dan kompilator AOT TeaVM. Java modern (record, ekspresi switch, blok teks) didukung, dan tidak ada yang dikirim ke server.',
+ link: '<1> <2>Situs web resmi Java2> 1> <3> <4>TeaVM4> 3> <5> <6>Pelajari X dalam Y menit, dengan X=java6> 5> <7> <8>Dokumentasi LiveCodes8> 7> <9> <10>Muat template pemula10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'Bahasa skrip web.',
diff --git a/src/livecodes/i18n/locales/it/language-info.lokalise.json b/src/livecodes/i18n/locales/it/language-info.lokalise.json
index b3261bb671..a23b29c1c1 100644
--- a/src/livecodes/i18n/locales/it/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/it/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM in esecuzione nel browser utilizzando DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM in esecuzione nel browser utilizzando DoppioJVM (JDK 8, interpretato in JavaScript)."
},
- "java.link": {
- "translation": " Sito ufficiale di Java DoppioJVM Imparare X in Y minuti, dove X=java Documentazione LiveCodes Caricare il modello iniziale "
+ "java8.link": {
+ "translation": " Sito ufficiale di Java DoppioJVM Imparare X in Y minuti, dove X=java Documentazione LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java viene compilato in WebAssembly nel browser da javac di OpenJDK e dal compilatore AOT di TeaVM. È supportato il Java moderno (record, espressioni switch, blocchi di testo), e nulla viene inviato a un server."
+ },
+ "javaWasm.link": {
+ "translation": " Sito ufficiale di Java TeaVM Imparare X in Y minuti, dove X=java Documentazione LiveCodes Caricare il modello iniziale "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "Il linguaggio di scripting del web."
diff --git a/src/livecodes/i18n/locales/it/language-info.ts b/src/livecodes/i18n/locales/it/language-info.ts
index e7b6cfe1c6..4a06f731dc 100644
--- a/src/livecodes/i18n/locales/it/language-info.ts
+++ b/src/livecodes/i18n/locales/it/language-info.ts
@@ -241,10 +241,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Sito web ufficiale di Janet2>1> <3> <4>Documentazione di Janet4> 3> <5> <6>Impara X in Y minuti, dove X = Janet6> 5> <7> <8>Documentazione di LiveCodes8> 7> <9> <10>Carica il modello di avvio10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM in esecuzione nel browser utilizzando DoppioJVM.',
- link: '<1> <2>Sito ufficiale di Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Imparare X in Y minuti, dove X=java6> 5> <7> <8>Documentazione LiveCodes8> 7> <9> <10> Caricare il modello iniziale10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM in esecuzione nel browser utilizzando DoppioJVM (JDK 8, interpretato in JavaScript).',
+ link: '<1> <2>Sito ufficiale di Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Imparare X in Y minuti, dove X=java6> 5> <7> <8>Documentazione LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java viene compilato in WebAssembly nel browser da javac di OpenJDK e dal compilatore AOT di TeaVM. È supportato il Java moderno (record, espressioni switch, blocchi di testo), e nulla viene inviato a un server.',
+ link: '<1> <2>Sito ufficiale di Java2> 1> <3> <4> TeaVM4> 3> <5> <6> Imparare X in Y minuti, dove X=java6> 5> <7> <8>Documentazione LiveCodes8> 7> <9> <10> Caricare il modello iniziale10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'Il linguaggio di scripting del web.',
diff --git a/src/livecodes/i18n/locales/ja/language-info.lokalise.json b/src/livecodes/i18n/locales/ja/language-info.lokalise.json
index d019b7d5a6..b268b17ae3 100644
--- a/src/livecodes/i18n/locales/ja/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/ja/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "DoppioJVMを使ってブラウザで動作するJVM。"
+ "java8.desc": {
+ "translation": "DoppioJVMを使ってブラウザで動作するJVM(JDK 8、JavaScriptで解釈実行)。"
},
- "java.link": {
- "translation": " Java公式サイト DoppioJVM XをY分で学ぶ、X=Java LiveCodes ドキュメント スターターテンプレートのロード "
+ "java8.link": {
+ "translation": " Java公式サイト DoppioJVM XをY分で学ぶ、X=Java LiveCodes ドキュメント "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Javaは、OpenJDKのjavacとTeaVM AOTコンパイラによってブラウザ内でWebAssemblyにコンパイルされます。モダンなJava(レコード、switch式、テキストブロック)がサポートされ、サーバーには何も送信されません。"
+ },
+ "javaWasm.link": {
+ "translation": " Java公式サイト TeaVM XをY分で学ぶ、X=Java LiveCodes ドキュメント スターターテンプレートのロード "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "ウェブのスクリプト言語。"
diff --git a/src/livecodes/i18n/locales/ja/language-info.ts b/src/livecodes/i18n/locales/ja/language-info.ts
index 6898af047f..a5c5e6776e 100644
--- a/src/livecodes/i18n/locales/ja/language-info.ts
+++ b/src/livecodes/i18n/locales/ja/language-info.ts
@@ -241,10 +241,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Janet 公式サイト2>1> <3> <4>Janet ドキュメント4> 3> <5> <6>「Y分でXを学ぶ」(X=Janet)6> 5> <7> <8>LiveCodes ドキュメント8> 7> <9> <10>スターターテンプレートの読み込み10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'DoppioJVMを使ってブラウザで動作するJVM。',
- link: '<1> <2>Java公式サイト2> 1> <3> <4>DoppioJVM4> 3> <5> <6>XをY分で学ぶ、X=Java6> 5> <7> <8>LiveCodes ドキュメント8> 7> <9> <10>スターターテンプレートのロード10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'DoppioJVMを使ってブラウザで動作するJVM(JDK 8、JavaScriptで解釈実行)。',
+ link: '<1> <2>Java公式サイト2> 1> <3> <4>DoppioJVM4> 3> <5> <6>XをY分で学ぶ、X=Java6> 5> <7> <8>LiveCodes ドキュメント8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Javaは、OpenJDKのjavacとTeaVM AOTコンパイラによってブラウザ内でWebAssemblyにコンパイルされます。モダンなJava(レコード、switch式、テキストブロック)がサポートされ、サーバーには何も送信されません。',
+ link: '<1> <2>Java公式サイト2> 1> <3> <4>TeaVM4> 3> <5> <6>XをY分で学ぶ、X=Java6> 5> <7> <8>LiveCodes ドキュメント8> 7> <9> <10>スターターテンプレートのロード10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'ウェブのスクリプト言語。',
diff --git a/src/livecodes/i18n/locales/nl/language-info.lokalise.json b/src/livecodes/i18n/locales/nl/language-info.lokalise.json
index 7b52c073af..03742756e3 100644
--- a/src/livecodes/i18n/locales/nl/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/nl/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM draaiend in de browser met DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM draaiend in de browser met DoppioJVM (JDK 8, geïnterpreteerd in JavaScript)."
},
- "java.link": {
- "translation": " Java officiële website DoppioJVM Leer X in Y minuten, waarbij X=java LiveCodes Documentatie Startsjabloon laden "
+ "java8.link": {
+ "translation": " Java officiële website DoppioJVM Leer X in Y minuten, waarbij X=java LiveCodes Documentatie "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java wordt in de browser naar WebAssembly gecompileerd door javac van OpenJDK en de AOT-compiler van TeaVM. Moderne Java (records, switch-expressies, tekstblokken) wordt ondersteund, en er wordt niets naar een server verzonden."
+ },
+ "javaWasm.link": {
+ "translation": " Java officiële website TeaVM Leer X in Y minuten, waarbij X=java LiveCodes Documentatie Startsjabloon laden "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "De scripttaal van het web."
diff --git a/src/livecodes/i18n/locales/nl/language-info.ts b/src/livecodes/i18n/locales/nl/language-info.ts
index e698268945..b160782f8e 100644
--- a/src/livecodes/i18n/locales/nl/language-info.ts
+++ b/src/livecodes/i18n/locales/nl/language-info.ts
@@ -241,10 +241,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Officiële website van Janet2>1> <3> <4>Janet-documentatie4> 3> <5> <6>Leer X in Y minuten, waarbij X = Janet6> 5> <7> <8>LiveCodes-documentatie8> 7> <9> <10>Startersjabloon laden10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM draaiend in de browser met DoppioJVM.',
- link: '<1> <2>Java officiële website2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Leer X in Y minuten, waarbij X=java6> 5> <7> <8>LiveCodes Documentatie8> 7> <9> <10>Startsjabloon laden10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM draaiend in de browser met DoppioJVM (JDK 8, geïnterpreteerd in JavaScript).',
+ link: '<1> <2>Java officiële website2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Leer X in Y minuten, waarbij X=java6> 5> <7> <8>LiveCodes Documentatie8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java wordt in de browser naar WebAssembly gecompileerd door javac van OpenJDK en de AOT-compiler van TeaVM. Moderne Java (records, switch-expressies, tekstblokken) wordt ondersteund, en er wordt niets naar een server verzonden.',
+ link: '<1> <2>Java officiële website2> 1> <3> <4>TeaVM4> 3> <5> <6>Leer X in Y minuten, waarbij X=java6> 5> <7> <8>LiveCodes Documentatie8> 7> <9> <10>Startsjabloon laden10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'De scripttaal van het web.',
diff --git a/src/livecodes/i18n/locales/pt/language-info.lokalise.json b/src/livecodes/i18n/locales/pt/language-info.lokalise.json
index 762e0fe919..82c09b5f31 100644
--- a/src/livecodes/i18n/locales/pt/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/pt/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM em execução no navegador usando DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM em execução no navegador usando DoppioJVM (JDK 8, interpretado em JavaScript)."
},
- "java.link": {
- "translation": " Sítio Web oficial de Java DoppioJVM Aprender X em Y minutos, onde X=java Documentação do LiveCodes Carregar modelo inicial "
+ "java8.link": {
+ "translation": " Sítio Web oficial de Java DoppioJVM Aprender X em Y minutos, onde X=java Documentação do LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java é compilado para WebAssembly no navegador pelo javac do OpenJDK e pelo compilador AOT do TeaVM. O Java moderno (records, expressões switch, blocos de texto) é suportado, e nada é enviado a um servidor."
+ },
+ "javaWasm.link": {
+ "translation": " Sítio Web oficial de Java TeaVM Aprender X em Y minutos, onde X=java Documentação do LiveCodes Carregar modelo inicial "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "A linguagem de script da Web."
diff --git a/src/livecodes/i18n/locales/pt/language-info.ts b/src/livecodes/i18n/locales/pt/language-info.ts
index 16414ece99..79663cf18a 100644
--- a/src/livecodes/i18n/locales/pt/language-info.ts
+++ b/src/livecodes/i18n/locales/pt/language-info.ts
@@ -241,10 +241,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Site oficial do Janet2>1> <3> <4>Documentação do Janet4> 3> <5> <6>Aprenda X em Y minutos, onde X = Janet6> 5> <7> <8>Documentação do LiveCodes8> 7> <9> <10>Carregar modelo inicial10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM em execução no navegador usando DoppioJVM.',
- link: '<1> <2>Sítio Web oficial de Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Aprender X em Y minutos, onde X=java6> 5> <7> <8>Documentação do LiveCodes8> 7> <9> <10> Carregar modelo inicial10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM em execução no navegador usando DoppioJVM (JDK 8, interpretado em JavaScript).',
+ link: '<1> <2>Sítio Web oficial de Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Aprender X em Y minutos, onde X=java6> 5> <7> <8>Documentação do LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java é compilado para WebAssembly no navegador pelo javac do OpenJDK e pelo compilador AOT do TeaVM. O Java moderno (records, expressões switch, blocos de texto) é suportado, e nada é enviado a um servidor.',
+ link: '<1> <2>Sítio Web oficial de Java2> 1> <3> <4> TeaVM4> 3> <5> <6> Aprender X em Y minutos, onde X=java6> 5> <7> <8>Documentação do LiveCodes8> 7> <9> <10> Carregar modelo inicial10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'A linguagem de script da Web.',
diff --git a/src/livecodes/i18n/locales/ru/language-info.lokalise.json b/src/livecodes/i18n/locales/ru/language-info.lokalise.json
index 7e12fdb87c..31d7fc0cdc 100644
--- a/src/livecodes/i18n/locales/ru/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/ru/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "JVM, работающая в браузере с помощью DoppioJVM."
+ "java8.desc": {
+ "translation": "JVM, работающая в браузере с помощью DoppioJVM (JDK 8, интерпретируется в JavaScript)."
},
- "java.link": {
- "translation": " Официальный сайт Java DoppioJVM Узнай X за Y минут, где X=java Документация LiveCodes Загрузи стартовый шаблон "
+ "java8.link": {
+ "translation": " Официальный сайт Java DoppioJVM Узнай X за Y минут, где X=java Документация LiveCodes "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java компилируется в WebAssembly в браузере с помощью javac из OpenJDK и AOT-компилятора TeaVM. Поддерживается современная версия Java (records, switch-выражения, текстовые блоки), и ничего не отправляется на сервер."
+ },
+ "javaWasm.link": {
+ "translation": " Официальный сайт Java TeaVM Узнай X за Y минут, где X=java Документация LiveCodes Загрузи стартовый шаблон "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "Язык сценариев в Интернете."
diff --git a/src/livecodes/i18n/locales/ru/language-info.ts b/src/livecodes/i18n/locales/ru/language-info.ts
index 73a5ec60f9..58294d9c8e 100644
--- a/src/livecodes/i18n/locales/ru/language-info.ts
+++ b/src/livecodes/i18n/locales/ru/language-info.ts
@@ -243,10 +243,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Официальный сайт Janet2>1> <3> <4>Документация по Janet4> 3> <5> <6>«Изучите X за Y минут», где X = Janet6> 5> <7> <8>Документация LiveCodes8> 7> <9> <10>Загрузить стартовый шаблон10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'JVM, работающая в браузере с помощью DoppioJVM.',
- link: '<1> <2>Официальный сайт Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Узнай X за Y минут, где X=java6> 5> <7> <8>Документация LiveCodes8> 7> <9> <10> Загрузи стартовый шаблон10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'JVM, работающая в браузере с помощью DoppioJVM (JDK 8, интерпретируется в JavaScript).',
+ link: '<1> <2>Официальный сайт Java2> 1> <3> <4> DoppioJVM4> 3> <5> <6> Узнай X за Y минут, где X=java6> 5> <7> <8>Документация LiveCodes8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java компилируется в WebAssembly в браузере с помощью javac из OpenJDK и AOT-компилятора TeaVM. Поддерживается современная версия Java (records, switch-выражения, текстовые блоки), и ничего не отправляется на сервер.',
+ link: '<1> <2>Официальный сайт Java2> 1> <3> <4> TeaVM4> 3> <5> <6> Узнай X за Y минут, где X=java6> 5> <7> <8>Документация LiveCodes8> 7> <9> <10> Загрузи стартовый шаблон10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'Язык сценариев в Интернете.',
diff --git a/src/livecodes/i18n/locales/tr/language-info.lokalise.json b/src/livecodes/i18n/locales/tr/language-info.lokalise.json
index 07090356f6..0b65ea0c4b 100644
--- a/src/livecodes/i18n/locales/tr/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/tr/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "DoppioJVM kullanılarak tarayıcıda çalışan JVM."
+ "java8.desc": {
+ "translation": "DoppioJVM kullanılarak tarayıcıda çalışan JVM (JDK 8, JavaScript ile yorumlanır)."
},
- "java.link": {
- "translation": " Java resmi web sitesi DoppioJVM Y Dakikada X Öğrenin, X=java LiveCodes Dokümantasyonu Başlangıç şablonunu yükle "
+ "java8.link": {
+ "translation": " Java resmi web sitesi DoppioJVM Y Dakikada X Öğrenin, X=java LiveCodes Dokümantasyonu "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java, tarayıcıda OpenJDK'nın javac'ı ve TeaVM AOT derleyicisi tarafından WebAssembly'ye derlenir. Modern Java (record'lar, switch ifadeleri, metin blokları) desteklenir, ve hiçbir şey sunucuya gönderilmez."
+ },
+ "javaWasm.link": {
+ "translation": " Java resmi web sitesi TeaVM Y Dakikada X Öğrenin, X=java LiveCodes Dokümantasyonu Başlangıç şablonunu yükle "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "Web'in komut dosyası dili."
diff --git a/src/livecodes/i18n/locales/tr/language-info.ts b/src/livecodes/i18n/locales/tr/language-info.ts
index 78f8196445..f30c7e7960 100644
--- a/src/livecodes/i18n/locales/tr/language-info.ts
+++ b/src/livecodes/i18n/locales/tr/language-info.ts
@@ -242,10 +242,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: "<1><2>Janet resmi web sitesi2>1> <3> <4>Janet belgeleri4> 3> <5> <6>Y dakikada X'i öğrenin, burada X=Janet6> 5> <7> <8>LiveCodes Belgeleri8> 7> <9> <10>Başlangıç şablonunu yükle10> 9>",
name: 'Janet (Wasm)',
},
- java: {
- desc: 'DoppioJVM kullanılarak tarayıcıda çalışan JVM.',
- link: '<1> <2>Java resmi web sitesi2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Y Dakikada X Öğrenin, X=java6> 5> <7> <8>LiveCodes Dokümantasyonu8> 7> <9> <10>Başlangıç şablonunu yükle10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'DoppioJVM kullanılarak tarayıcıda çalışan JVM (JDK 8, JavaScript ile yorumlanır).',
+ link: '<1> <2>Java resmi web sitesi2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Y Dakikada X Öğrenin, X=java6> 5> <7> <8>LiveCodes Dokümantasyonu8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: "Java, tarayıcıda OpenJDK'nın javac'ı ve TeaVM AOT derleyicisi tarafından WebAssembly'ye derlenir. Modern Java (record'lar, switch ifadeleri, metin blokları) desteklenir, ve hiçbir şey sunucuya gönderilmez.",
+ link: '<1> <2>Java resmi web sitesi2> 1> <3> <4>TeaVM4> 3> <5> <6>Y Dakikada X Öğrenin, X=java6> 5> <7> <8>LiveCodes Dokümantasyonu8> 7> <9> <10>Başlangıç şablonunu yükle10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: "Web'in komut dosyası dili.",
diff --git a/src/livecodes/i18n/locales/ur/language-info.lokalise.json b/src/livecodes/i18n/locales/ur/language-info.lokalise.json
index d87e16b285..8486c00634 100644
--- a/src/livecodes/i18n/locales/ur/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/ur/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "DoppioJVM کا استعمال کرتے ہوئے براؤزر میں JVM چل رہا ہے۔"
+ "java8.desc": {
+ "translation": "DoppioJVM کا استعمال کرتے ہوئے براؤزر میں JVM چل رہا ہے (JDK 8، JavaScript میں تشریح شدہ)۔"
},
- "java.link": {
- "translation": " Java آفیشل ویب سائٹ DoppioJVM Y منٹ میں X سیکھیں، جہاں X=java LiveCodes دستاویزات ابتدائی سانچہ لوڈ کریں "
+ "java8.link": {
+ "translation": " Java آفیشل ویب سائٹ DoppioJVM Y منٹ میں X سیکھیں، جہاں X=java LiveCodes دستاویزات "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java براؤزر میں OpenJDK کے javac اور TeaVM AOT کمپائلر کے ذریعے WebAssembly میں کمپائل ہوتی ہے۔ جدید Java (ریکارڈز، switch ایکسپریشنز، ٹیکسٹ بلاکس) کی معاونت ہے، اور سرور کو کچھ نہیں بھیجا جاتا۔"
+ },
+ "javaWasm.link": {
+ "translation": " Java آفیشل ویب سائٹ TeaVM Y منٹ میں X سیکھیں، جہاں X=java LiveCodes دستاویزات ابتدائی سانچہ لوڈ کریں "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "ویب کی سکرپٹ کی زبان۔"
diff --git a/src/livecodes/i18n/locales/ur/language-info.ts b/src/livecodes/i18n/locales/ur/language-info.ts
index 1956682c82..f962ae66d1 100644
--- a/src/livecodes/i18n/locales/ur/language-info.ts
+++ b/src/livecodes/i18n/locales/ur/language-info.ts
@@ -242,10 +242,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Janet آفیشل ویب سائٹ2>1> <3> <4>Janet دستاویزات4> 3> <5> <6>Y منٹ میں X سیکھیں، جہاں X=Janet6> 5> <7> <8>LiveCodes دستاویزی8> 7> <9> <10>لوڈ اسٹارٹر ٹیمپلیٹ10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: 'DoppioJVM کا استعمال کرتے ہوئے براؤزر میں JVM چل رہا ہے۔',
- link: '<1> <2>Java آفیشل ویب سائٹ2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Y منٹ میں X سیکھیں، جہاں X=java6> 5> <7> <8>LiveCodes دستاویزات8> 7> <9> <10>ابتدائی سانچہ لوڈ کریں10> 9>',
- name: 'Java',
+ java8: {
+ desc: 'DoppioJVM کا استعمال کرتے ہوئے براؤزر میں JVM چل رہا ہے (JDK 8، JavaScript میں تشریح شدہ)۔',
+ link: '<1> <2>Java آفیشل ویب سائٹ2> 1> <3> <4>DoppioJVM4> 3> <5> <6>Y منٹ میں X سیکھیں، جہاں X=java6> 5> <7> <8>LiveCodes دستاویزات8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java براؤزر میں OpenJDK کے javac اور TeaVM AOT کمپائلر کے ذریعے WebAssembly میں کمپائل ہوتی ہے۔ جدید Java (ریکارڈز، switch ایکسپریشنز، ٹیکسٹ بلاکس) کی معاونت ہے، اور سرور کو کچھ نہیں بھیجا جاتا۔',
+ link: '<1> <2>Java آفیشل ویب سائٹ2> 1> <3> <4>TeaVM4> 3> <5> <6>Y منٹ میں X سیکھیں، جہاں X=java6> 5> <7> <8>LiveCodes دستاویزات8> 7> <9> <10>ابتدائی سانچہ لوڈ کریں10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: 'ویب کی سکرپٹ کی زبان۔',
diff --git a/src/livecodes/i18n/locales/zh-CN/language-info.lokalise.json b/src/livecodes/i18n/locales/zh-CN/language-info.lokalise.json
index 0f9bc4fb8e..8f6e408c5c 100644
--- a/src/livecodes/i18n/locales/zh-CN/language-info.lokalise.json
+++ b/src/livecodes/i18n/locales/zh-CN/language-info.lokalise.json
@@ -432,14 +432,23 @@
"janetWasm.name": {
"translation": "Janet (Wasm)"
},
- "java.desc": {
- "translation": "使用 DoppioJVM 在浏览器中运行的 JVM。"
+ "java8.desc": {
+ "translation": "使用 DoppioJVM 在浏览器中运行的 JVM(JDK 8,以 JavaScript 解释执行)。"
},
- "java.link": {
- "translation": " Java 官方网站 DoppioJVM 在 Y 分钟内学习 X,其中 X=java LiveCodes 文档 加载启动模板 "
+ "java8.link": {
+ "translation": " Java 官方网站 DoppioJVM 在 Y 分钟内学习 X,其中 X=java LiveCodes 文档 "
},
- "java.name": {
- "translation": "Java"
+ "java8.name": {
+ "translation": "Java 8"
+ },
+ "javaWasm.desc": {
+ "translation": "Java 由 OpenJDK 的 javac 和 TeaVM AOT 编译器在浏览器中编译为 WebAssembly。支持现代 Java(记录、switch 表达式、文本块),并且不会向服务器发送任何内容。"
+ },
+ "javaWasm.link": {
+ "translation": " Java 官方网站 TeaVM 在 Y 分钟内学习 X,其中 X=java LiveCodes 文档 加载启动模板 "
+ },
+ "javaWasm.name": {
+ "translation": "Java (Wasm)"
},
"javascript.desc": {
"translation": "网络脚本语言"
diff --git a/src/livecodes/i18n/locales/zh-CN/language-info.ts b/src/livecodes/i18n/locales/zh-CN/language-info.ts
index 85524aa7b7..674df79f2a 100644
--- a/src/livecodes/i18n/locales/zh-CN/language-info.ts
+++ b/src/livecodes/i18n/locales/zh-CN/language-info.ts
@@ -237,10 +237,15 @@ const languageInfo: I18nLangInfoTranslation = {
link: '<1><2>Janet 官方网站2>1> <3> <4>Janet 文档4> 3> <5> <6>《Y分钟学会X》,其中X=Janet6> 5> <7> <8>LiveCodes 文档8> 7> <9> <10>加载入门模板10> 9>',
name: 'Janet (Wasm)',
},
- java: {
- desc: '使用 DoppioJVM 在浏览器中运行的 JVM。',
- link: '<1> <2>Java 官方网站2> 1> <3> <4>DoppioJVM4> 3> <5> <6>在 Y 分钟内学习 X,其中 X=java6> 5> <7> <8>LiveCodes 文档8> 7> <9> <10>加载启动模板10> 9>',
- name: 'Java',
+ java8: {
+ desc: '使用 DoppioJVM 在浏览器中运行的 JVM(JDK 8,以 JavaScript 解释执行)。',
+ link: '<1> <2>Java 官方网站2> 1> <3> <4>DoppioJVM4> 3> <5> <6>在 Y 分钟内学习 X,其中 X=java6> 5> <7> <8>LiveCodes 文档8> 7>',
+ name: 'Java 8',
+ },
+ javaWasm: {
+ desc: 'Java 由 OpenJDK 的 javac 和 TeaVM AOT 编译器在浏览器中编译为 WebAssembly。支持现代 Java(记录、switch 表达式、文本块),并且不会向服务器发送任何内容。',
+ link: '<1> <2>Java 官方网站2> 1> <3> <4>TeaVM4> 3> <5> <6>在 Y 分钟内学习 X,其中 X=java6> 5> <7> <8>LiveCodes 文档8> 7> <9> <10>加载启动模板10> 9>',
+ name: 'Java (Wasm)',
},
javascript: {
desc: '网络脚本语言',
diff --git a/src/livecodes/languages/java-8/__tests__/lang-java-8.spec.ts b/src/livecodes/languages/java-8/__tests__/lang-java-8.spec.ts
new file mode 100644
index 0000000000..2538b035ee
--- /dev/null
+++ b/src/livecodes/languages/java-8/__tests__/lang-java-8.spec.ts
@@ -0,0 +1,40 @@
+import { java8 } from '../lang-java-8';
+
+describe('Java 8 language spec', () => {
+ test('is registered as java-8, with the Java 8 runner script', () => {
+ expect(java8.name).toBe('java-8');
+ expect(java8.title).toBe('Java 8');
+ expect(java8.compiler).toMatchObject({
+ scriptType: 'text/java',
+ compiledCodeLanguage: 'java',
+ liveReload: true,
+ });
+ });
+
+ test('accepts the Java 8 extensions', () => {
+ expect(java8.extensions).toEqual(expect.arrayContaining(['java-8', 'java8']));
+ });
+
+ test('passes the code through unchanged', async () => {
+ const compiler = java8.compiler as unknown as {
+ factory: () => (code: string) => Promise;
+ };
+ const compile = compiler.factory();
+ await expect(compile('class Main {}')).resolves.toBe('class Main {}');
+ });
+
+ test('loads the Java 8 runner script', () => {
+ const compiler = java8.compiler as unknown as {
+ scripts: (options: { baseUrl: string }) => string[];
+ };
+ expect(compiler.scripts({ baseUrl: '/' })).toEqual(['/{{hash:lang-java-8-script.js}}']);
+ });
+
+ test('highlights with the Java grammars', () => {
+ expect(java8.editorSupport?.monaco).toMatchObject({ language: 'java' });
+ expect(java8.editorSupport?.codemirror).toMatchObject({
+ languageSupport: expect.any(Function),
+ });
+ expect(java8.editorSupport?.codejar).toEqual({ language: 'java' });
+ });
+});
diff --git a/src/livecodes/languages/java-8/index.ts b/src/livecodes/languages/java-8/index.ts
new file mode 100644
index 0000000000..338833afc8
--- /dev/null
+++ b/src/livecodes/languages/java-8/index.ts
@@ -0,0 +1 @@
+export * from './lang-java-8';
diff --git a/src/livecodes/languages/java/lang-java-script.ts b/src/livecodes/languages/java-8/lang-java-8-script.ts
similarity index 100%
rename from src/livecodes/languages/java/lang-java-script.ts
rename to src/livecodes/languages/java-8/lang-java-8-script.ts
diff --git a/src/livecodes/languages/java/lang-java.ts b/src/livecodes/languages/java-8/lang-java-8.ts
similarity index 77%
rename from src/livecodes/languages/java/lang-java.ts
rename to src/livecodes/languages/java-8/lang-java-8.ts
index 98bcb1f18f..fdd6b9ba1d 100644
--- a/src/livecodes/languages/java/lang-java.ts
+++ b/src/livecodes/languages/java-8/lang-java-8.ts
@@ -1,9 +1,9 @@
import type { LanguageSpecs } from '../../models';
import { codeMirrorBaseUrl, monacoLanguagesBaseUrl, wasmFmtClangBaseUrl } from '../../vendors';
-export const java: LanguageSpecs = {
- name: 'java',
- title: 'Java',
+export const java8: LanguageSpecs = {
+ name: 'java-8',
+ title: 'Java 8',
formatter: {
factory: async () => {
const formatter = await import(wasmFmtClangBaseUrl + 'clang-format-web.js');
@@ -15,19 +15,20 @@ export const java: LanguageSpecs = {
},
compiler: {
factory: () => async (code) => code,
- scripts: ({ baseUrl }) => [baseUrl + '{{hash:lang-java-script.js}}'],
+ scripts: ({ baseUrl }) => [baseUrl + '{{hash:lang-java-8-script.js}}'],
scriptType: 'text/java',
compiledCodeLanguage: 'java',
liveReload: true,
},
- extensions: ['java'],
+ extensions: ['java-8', 'java8'],
editor: 'script',
editorSupport: {
- monaco: { languageSupport: monacoLanguagesBaseUrl + 'java.js' },
+ monaco: { languageSupport: monacoLanguagesBaseUrl + 'java.js', language: 'java' },
codemirror: {
languageSupport: async () =>
(await import(codeMirrorBaseUrl + 'codemirror-lang-java.js')).java(),
},
+ codejar: { language: 'java' },
},
largeDownload: true,
};
diff --git a/src/livecodes/languages/java-wasm/__tests__/lang-java-wasm.spec.ts b/src/livecodes/languages/java-wasm/__tests__/lang-java-wasm.spec.ts
new file mode 100644
index 0000000000..d2404d6e38
--- /dev/null
+++ b/src/livecodes/languages/java-wasm/__tests__/lang-java-wasm.spec.ts
@@ -0,0 +1,47 @@
+import { javaWasm } from '../lang-java-wasm';
+
+describe('Java (Wasm) language spec', () => {
+ test('is registered as java-wasm, with the wasm runner script', () => {
+ expect(javaWasm.name).toBe('java-wasm');
+ expect(javaWasm.title).toBe('Java (Wasm)');
+ expect(javaWasm.compiler).toMatchObject({
+ scriptType: 'text/java-wasm',
+ compiledCodeLanguage: 'java-wasm',
+ liveReload: true,
+ });
+ });
+
+ test('accepts the java extensions', () => {
+ expect(javaWasm.extensions).toEqual(expect.arrayContaining(['java', 'java-wasm']));
+ });
+
+ test('passes the code through unchanged', async () => {
+ const compiler = javaWasm.compiler as unknown as {
+ factory: () => (code: string) => Promise;
+ };
+ const compile = compiler.factory();
+ await expect(compile('class Main {}')).resolves.toBe('class Main {}');
+ });
+
+ test('loads the runtime and the build script', () => {
+ const compiler = javaWasm.compiler as unknown as {
+ scripts: (options: { baseUrl: string }) => string[];
+ };
+ const scripts = compiler.scripts({ baseUrl: '/' });
+ expect(scripts).toHaveLength(2);
+ expect(scripts[1]).toBe('/{{hash:lang-java-wasm-script.js}}');
+ });
+
+ test('warns that the first run is a large download', () => {
+ expect(javaWasm.largeDownload).toBe(true);
+ });
+
+ test('highlights with the Java grammars', () => {
+ expect(javaWasm.editorLanguage).toBe('java');
+ expect(javaWasm.editorSupport?.monaco).toMatchObject({ language: 'java' });
+ expect(javaWasm.editorSupport?.codemirror).toMatchObject({
+ languageSupport: expect.any(Function),
+ });
+ expect(javaWasm.editorSupport?.codejar).toEqual({ language: 'java' });
+ });
+});
diff --git a/src/livecodes/languages/java-wasm/index.ts b/src/livecodes/languages/java-wasm/index.ts
new file mode 100644
index 0000000000..8e43b00aeb
--- /dev/null
+++ b/src/livecodes/languages/java-wasm/index.ts
@@ -0,0 +1 @@
+export * from './lang-java-wasm';
diff --git a/src/livecodes/languages/java-wasm/lang-java-wasm-script.ts b/src/livecodes/languages/java-wasm/lang-java-wasm-script.ts
new file mode 100644
index 0000000000..ccc6842209
--- /dev/null
+++ b/src/livecodes/languages/java-wasm/lang-java-wasm-script.ts
@@ -0,0 +1,125 @@
+// @ts-nocheck
+/* eslint-disable no-console */
+
+import { javaWasmBaseUrl } from '../../vendors';
+
+const javaWasmDistUrl = javaWasmBaseUrl + 'dist/';
+
+livecodes.java = livecodes.java || {};
+livecodes.java.ready = false;
+livecodes.java.failed = false;
+
+// The runner is a separate