From 9d53840d6f2f0f4f8d14e7bb81ec7bc9bb3961f9 Mon Sep 17 00:00:00 2001 From: Grace Date: Fri, 24 Jan 2025 11:55:16 +0000 Subject: [PATCH] Translation sync --- .../ca/machine-learning-jsdoc-strings.json | 15 ++ _locales/ca/machine-learning-strings.json | 12 ++ bin/update-translations.sh | 2 +- docs/_locales/ca/ml_get_event_certainty.md | 32 ++++ docs/_locales/ca/ml_is_event_detected.md | 36 ++++ docs/_locales/ca/ml_on_event_start.md | 29 +++ docs/_locales/ca/ml_on_event_stop.md | 31 +++ docs/_locales/ca/ml_on_event_stop_detailed.md | 33 ++++ pxt.json | 177 +++++++++--------- simx/lang/ui.ca.json | 10 + simx/src/messages/TranslationProvider.tsx | 7 + simx/src/messages/ui.ca.json | 14 ++ 12 files changed, 309 insertions(+), 89 deletions(-) create mode 100644 _locales/ca/machine-learning-jsdoc-strings.json create mode 100644 _locales/ca/machine-learning-strings.json create mode 100644 docs/_locales/ca/ml_get_event_certainty.md create mode 100644 docs/_locales/ca/ml_is_event_detected.md create mode 100644 docs/_locales/ca/ml_on_event_start.md create mode 100644 docs/_locales/ca/ml_on_event_stop.md create mode 100644 docs/_locales/ca/ml_on_event_stop_detailed.md create mode 100644 simx/lang/ui.ca.json create mode 100644 simx/src/messages/ui.ca.json diff --git a/_locales/ca/machine-learning-jsdoc-strings.json b/_locales/ca/machine-learning-jsdoc-strings.json new file mode 100644 index 0000000..2104968 --- /dev/null +++ b/_locales/ca/machine-learning-jsdoc-strings.json @@ -0,0 +1,15 @@ +{ + "ml.getCertainty": "Obté la certesa d'un esdeveniment ML en percentatge (de 0 a 100).", + "ml.getCertainty|param|event": "una de les accions en què es va entrenar el model d'aprenentatge automàtic", + "ml.isDetected": "Comprova si actualment es detecta un esdeveniment de ML.", + "ml.isDetected|param|event": "una de les accions en què es va entrenar el model d'aprenentatge automàtic", + "ml.onStart": "Fes alguna cosa quan es detecti un esdeveniment ML.", + "ml.onStart|param|body": "programa a executar", + "ml.onStart|param|event": "una de les accions en què es va entrenar el model d'aprenentatge automàtic", + "ml.onStop": "Fes alguna cosa quan ja no es detecti un esdeveniment de ML.", + "ml.onStopDetailed": "Fes alguna cosa quan ja no es detecti un esdeveniment de ML.", + "ml.onStopDetailed|param|body": "programa a executar", + "ml.onStopDetailed|param|event": "una de les accions en què es va entrenar el model d'aprenentatge automàtic", + "ml.onStop|param|body": "programa a executar", + "ml.onStop|param|event": "una de les accions en què es va entrenar el model d'aprenentatge automàtic" +} \ No newline at end of file diff --git a/_locales/ca/machine-learning-strings.json b/_locales/ca/machine-learning-strings.json new file mode 100644 index 0000000..cc0e048 --- /dev/null +++ b/_locales/ca/machine-learning-strings.json @@ -0,0 +1,12 @@ +{ + "ml.event.Unknown|block": "desconegut", + "ml.getCertainty|block": "certesa (\\%) ML $event", + "ml.isDetected|block": "S'ha detectat ML $event", + "ml.onStart|block": "a l'inici de ML $event", + "ml.onStopDetailed|block": "a aturada de ML $event $duration (ms)", + "ml.onStop|block": "a aturada de ML $event ", + "ml|block": "Aprenentatge automàtic", + "{id:category}Ml": "Ml", + "{id:category}MlEvent": "MlEvent", + "{id:group}micro:bit (V2)": "micro:bit (V2)" +} \ No newline at end of file diff --git a/bin/update-translations.sh b/bin/update-translations.sh index 208b0b6..ba120dd 100755 --- a/bin/update-translations.sh +++ b/bin/update-translations.sh @@ -17,7 +17,7 @@ if [ $# -eq 0 ]; then exit 1 fi -languages="es-ES ja ko nl pl pt-BR zh-TW" +languages="es-ES ja ko nl pl pt-BR zh-TW ca" for language in $languages; do lower="${language,,}" diff --git a/docs/_locales/ca/ml_get_event_certainty.md b/docs/_locales/ca/ml_get_event_certainty.md new file mode 100644 index 0000000..e324da6 --- /dev/null +++ b/docs/_locales/ca/ml_get_event_certainty.md @@ -0,0 +1,32 @@ +# certesa (%) ML + +Obté el valor de certesa més recent per a una acció de ML. + +```sig +ml.getCertainty(ml.event.Unknown) +``` + +El model ML s'executa diverses vegades per segon i calcula un valor de certesa per a cada acció. L'acció estimada és l'acció amb més certesa. Una acció no pot ser l'acció estimada quan la seva certesa està per sota del punt de reconeixement. És possible que alguns programes hagin d'utilitzar els valors de certesa directament, per exemple per mostrar-los o registrar-los. La majoria dels programes poden utilitzar l'acció estimada en lloc dels valors de certesa. + +## Paràmetres + +- **esdeveniment**: una de les accions en què es va entrenar el model d'aprenentatge automàtic. + +## Retorns + +- un percentatge com a [número](/types/number) de 0 a 100, que representa la certesa del model ML que aquesta és l'acció que s'està realitzant. La certesa per a "desconegut" sempre és 0. + +## Exemple + +Aquest exemple mostra la certesa del model ML, en percentatge, que l'acció actual està "aplaudint" cada segon. + +```blocks +loops.everyInterval(1000, function () { + basic.showNumber(ml.getCertainty(ml.event.Clapping)) +}) +``` + +```package +machine-learning-help-stubs=github:microbit-foundation/pxt-microbit-ml-help-stubs#v0.0.1 +machine-learning=github:microbit-foundation/pxt-microbit-ml#v1.0.4 +``` diff --git a/docs/_locales/ca/ml_is_event_detected.md b/docs/_locales/ca/ml_is_event_detected.md new file mode 100644 index 0000000..db5cad2 --- /dev/null +++ b/docs/_locales/ca/ml_is_event_detected.md @@ -0,0 +1,36 @@ +# S'ha detectat ML + +Comprova si una acció ML és l'acció estimada. + +```sig +ml.isDetected(ml.event.Unknown) +``` + +El model ML actualitza la seva acció estimada diverses vegades per segon. Aquesta funció retorna "cert" si l'acció escollida està estimada actualment. Fes servir el valor booleà per prendre decisions lògiques al teu programa. + +Alguns programes seran més fàcils d'escriure utilitzant els controladors d'esdeveniments "al iniciar ML" i "al aturar ML". + +## Paràmetres + +- **esdeveniment**: una de les accions en què es va entrenar el model d'aprenentatge automàtic. El valor especial "desconegut" representa el cas en què cap acció té una certesa per sobre del punt de reconeixement. + +## Retorns + +- un valor [boolean](/types/boolean) que és "cert" si l'acció ML és l'acció estimada, "fals" si l'acció ML no és l'acció estimada. + +## Exemple + +Aquest exemple mostrarà una icona de marca a la pantalla LED si l'acció estimada és "aplaudir" en el moment en què es comprova la declaració condicional. + +```blocks +basic.forever(function () { + if (ml.isDetected(ml.event.Clapping)) { + basic.showIcon(IconNames.Yes) + } +}) +``` + +```package +machine-learning-help-stubs=github:microbit-foundation/pxt-microbit-ml-help-stubs#v0.0.1 +machine-learning=github:microbit-foundation/pxt-microbit-ml#v1.0.4 +``` diff --git a/docs/_locales/ca/ml_on_event_start.md b/docs/_locales/ca/ml_on_event_start.md new file mode 100644 index 0000000..91b4f7d --- /dev/null +++ b/docs/_locales/ca/ml_on_event_start.md @@ -0,0 +1,29 @@ +# a l'inici de ML + +Inicia un [gestor d'esdeveniments](/reference/event-handler) (part del programa que s'executarà quan passi alguna cosa). Aquest controlador funciona quan l'acció estimada del model ML canvia a l'acció que seleccionis. + +```sig +ml.onStart(ml.event.Unknown, function () { +}) +``` + +El model ML actualitza la seva acció estimada diverses vegades per segon, però aquest controlador d'esdeveniments només s'executa quan l'acció estimada canvia. + +## Paràmetres + +- **esdeveniment**: una de les accions en què es va entrenar el model d'aprenentatge automàtic. El valor especial "desconegut" representa el cas en què cap acció té una certesa per sobre del punt de reconeixement. + +## Exemple + +Aquest exemple reprodueix una melodia musical de fons quan l'acció "aplaudir" té una certesa per sobre del punt de reconeixement. + +```blocks +ml.onStart(ml.event.Clapping, function () { + music._playDefaultBackground(music.builtInPlayableMelody(Melodies.Dadadadum), music.PlaybackMode.InBackground) +}) +``` + +```package +machine-learning-help-stubs=github:microbit-foundation/pxt-microbit-ml-help-stubs#v0.0.1 +machine-learning=github:microbit-foundation/pxt-microbit-ml#v1.0.4 +``` diff --git a/docs/_locales/ca/ml_on_event_stop.md b/docs/_locales/ca/ml_on_event_stop.md new file mode 100644 index 0000000..8e1b522 --- /dev/null +++ b/docs/_locales/ca/ml_on_event_stop.md @@ -0,0 +1,31 @@ +# a aturada de ML + +Inicieu un [gestor d'esdeveniments](/reference/event-handler) (part del programa que s'executarà quan passi alguna cosa). This handler works when the ML model’s estimated action changes from the action you select. + +```sig +ml.onStop(ml.event.Unknown, function () { +}) +``` + +Quan una acció canvia, s'executarà el controlador d'esdeveniments d'aturada de l'acció anterior, seguit del controlador d'esdeveniments d'inici per a l'acció següent. + +Per exemple, si el teu gestor d'esdeveniments d'inici d'una acció comença a reproduir música en segon pla, pots utilitzar un gestor d'esdeveniments d'aturada per aturar-la. + +## Paràmetres + +- **esdeveniment**: una de les accions en què es va entrenar el model d'aprenentatge automàtic. El valor especial "desconegut" representa el cas en què cap acció té una certesa per sobre del punt de reconeixement. + +## Exemple + +Aquest exemple deixa de reproduir una melodia musical quan l'acció estimada canvia de "aplaudir" a qualsevol altra acció. + +```blocks +ml.onStop(ml.event.Clapping, function () { + music.stopMelody(MelodyStopOptions.All) +}) +``` + +```package +machine-learning-help-stubs=github:microbit-foundation/pxt-microbit-ml-help-stubs#v0.0.1 +machine-learning=github:microbit-foundation/pxt-microbit-ml#v1.0.4 +``` diff --git a/docs/_locales/ca/ml_on_event_stop_detailed.md b/docs/_locales/ca/ml_on_event_stop_detailed.md new file mode 100644 index 0000000..d932527 --- /dev/null +++ b/docs/_locales/ca/ml_on_event_stop_detailed.md @@ -0,0 +1,33 @@ +# a aturada de ML + +Inicia un [gestor d'esdeveniments](/reference/event-handler) (part del programa que s'executarà quan passi alguna cosa). Aquest controlador funciona quan l'acció estimada del model ML canvia de l'acció que seleccionis. + +```sig +ml.onStopDetailed(ml.event.Unknown, function (duration) { +}) +``` + +Quan una acció canvia, s'executarà el controlador d'esdeveniments d'aturada de l'acció anterior, seguit del controlador d'esdeveniments d'inici per a l'acció següent. + +Per exemple, si el teu gestor d'esdeveniments d'inici d'una acció comença a reproduir música en segon pla, pots utilitzar un gestor d'esdeveniments d'aturada per aturar-la. + +Al gestor d'esdeveniments se li passa un paràmetre de "durada". La durada és el [nombre](/types/number de mil·lisegons des que aquesta acció es va convertir en l'acció estimada. Pots utilitzar el paràmetre de durada al teu programa, per exemple, mostrant-lo o utilitzant una variable per mantenir un total acumulat. + +## Paràmetres + +- **esdeveniment**: una de les accions en què es va entrenar el model d'aprenentatge automàtic. El valor especial "desconegut" representa el cas en què cap acció té una certesa per sobre del punt de reconeixement. + +## Exemple + +Aquest exemple mostra a la pantalla LED, en segons, quant de temps va estar l'acció estimada "aplaudiment", quan l'acció estimada canvia de "aplaudiment" a qualsevol altra acció. + +```blocks +ml.onStopDetailed(ml.event.Clapping, function (duration) { + basic.showNumber(duration / 1000) +}) +``` + +```package +machine-learning-help-stubs=github:microbit-foundation/pxt-microbit-ml-help-stubs#v0.0.1 +machine-learning=github:microbit-foundation/pxt-microbit-ml#v1.0.4 +``` diff --git a/pxt.json b/pxt.json index ca78311..9957a4d 100644 --- a/pxt.json +++ b/pxt.json @@ -1,91 +1,92 @@ { - "name": "machine-learning", - "version": "1.0.7", - "description": "Machine learning extension to support micro:bit CreateAI", - "dependencies": { - "core": "*", - "machine-learning-runner": "github:microbit-foundation/pxt-microbit-ml-runner#v0.4.8" - }, - "files": [ - "README.md", - "enums.d.ts", - "pxtextension.ts", - "pxtextension.cpp", - "docs/ml_is_event_detected.md", - "docs/ml_get_event_certainty.md", - "docs/ml_on_event_start.md", - "docs/ml_on_event_stop.md", - "docs/ml_on_event_stop_detailed.md", - "_locales/es-ES/machine-learning-jsdoc-strings.json", - "_locales/es-ES/machine-learning-strings.json", - "docs/_locales/es-ES/ml_get_event_certainty.md", - "docs/_locales/es-ES/ml_is_event_detected.md", - "docs/_locales/es-ES/ml_on_event_start.md", - "docs/_locales/es-ES/ml_on_event_stop_detailed.md", - "docs/_locales/es-ES/ml_on_event_stop.md", - "_locales/ja/machine-learning-jsdoc-strings.json", - "_locales/ja/machine-learning-strings.json", - "docs/_locales/ja/ml_get_event_certainty.md", - "docs/_locales/ja/ml_is_event_detected.md", - "docs/_locales/ja/ml_on_event_start.md", - "docs/_locales/ja/ml_on_event_stop_detailed.md", - "docs/_locales/ja/ml_on_event_stop.md", - "_locales/ko/machine-learning-jsdoc-strings.json", - "_locales/ko/machine-learning-strings.json", - "docs/_locales/ko/ml_get_event_certainty.md", - "docs/_locales/ko/ml_is_event_detected.md", - "docs/_locales/ko/ml_on_event_start.md", - "docs/_locales/ko/ml_on_event_stop_detailed.md", - "docs/_locales/ko/ml_on_event_stop.md", - "_locales/nl/machine-learning-jsdoc-strings.json", - "_locales/nl/machine-learning-strings.json", - "docs/_locales/nl/ml_get_event_certainty.md", - "docs/_locales/nl/ml_is_event_detected.md", - "docs/_locales/nl/ml_on_event_start.md", - "docs/_locales/nl/ml_on_event_stop_detailed.md", - "docs/_locales/nl/ml_on_event_stop.md", - "_locales/pl/machine-learning-jsdoc-strings.json", - "_locales/pl/machine-learning-strings.json", - "docs/_locales/pl/ml_get_event_certainty.md", - "docs/_locales/pl/ml_is_event_detected.md", - "docs/_locales/pl/ml_on_event_start.md", - "docs/_locales/pl/ml_on_event_stop_detailed.md", - "docs/_locales/pl/ml_on_event_stop.md", - "_locales/pt-BR/machine-learning-jsdoc-strings.json", - "_locales/pt-BR/machine-learning-strings.json", - "docs/_locales/pt-BR/ml_get_event_certainty.md", - "docs/_locales/pt-BR/ml_is_event_detected.md", - "docs/_locales/pt-BR/ml_on_event_start.md", - "docs/_locales/pt-BR/ml_on_event_stop_detailed.md", - "docs/_locales/pt-BR/ml_on_event_stop.md", - "_locales/zh-TW/machine-learning-jsdoc-strings.json", - "_locales/zh-TW/machine-learning-strings.json", - "docs/_locales/zh-TW/ml_get_event_certainty.md", - "docs/_locales/zh-TW/ml_is_event_detected.md", - "docs/_locales/zh-TW/ml_on_event_start.md", - "docs/_locales/zh-TW/ml_on_event_stop_detailed.md", - "docs/_locales/zh-TW/ml_on_event_stop.md" - ], - "testFiles": [ - "autogenerated.ts", - "main.ts", - "main.blocks" - ], - "targetVersions": { - "branch": "v6.0.26", - "tag": "v6.0.26", - "commits": "https://github.com/microsoft/pxt-microbit/commits/0ba979dd8a8f411c37c20b5fd4faba5b43ef51aa", - "target": "6.0.26", - "targetId": "microbit", - "pxt": "9.0.17" - }, - "supportedTargets": [ - "microbit" - ], - "preferredEditor": "tsprj", - "yotta": { - "config": { - "ML_INFERENCE_PERIOD_MS": 250 - } + "name": "machine-learning", + "version": "1.0.7", + "description": "Machine learning extension to support micro:bit CreateAI", + "dependencies": { + "core": "*", + "machine-learning-runner": "github:microbit-foundation/pxt-microbit-ml-runner#v0.4.8" + }, + "files": [ + "README.md", + "enums.d.ts", + "pxtextension.ts", + "pxtextension.cpp", + "docs/ml_is_event_detected.md", + "docs/ml_get_event_certainty.md", + "docs/ml_on_event_start.md", + "docs/ml_on_event_stop.md", + "docs/ml_on_event_stop_detailed.md", + "_locales/ca/machine-learning-jsdoc-strings.json", + "_locales/ca/machine-learning-strings.json", + "docs/_locales/ca/ml_get_event_certainty.md", + "docs/_locales/ca/ml_is_event_detected.md", + "docs/_locales/ca/ml_on_event_start.md", + "docs/_locales/ca/ml_on_event_stop_detailed.md", + "docs/_locales/ca/ml_on_event_stop.md", + "_locales/es-ES/machine-learning-jsdoc-strings.json", + "_locales/es-ES/machine-learning-strings.json", + "docs/_locales/es-ES/ml_get_event_certainty.md", + "docs/_locales/es-ES/ml_is_event_detected.md", + "docs/_locales/es-ES/ml_on_event_start.md", + "docs/_locales/es-ES/ml_on_event_stop_detailed.md", + "docs/_locales/es-ES/ml_on_event_stop.md", + "_locales/ja/machine-learning-jsdoc-strings.json", + "_locales/ja/machine-learning-strings.json", + "docs/_locales/ja/ml_get_event_certainty.md", + "docs/_locales/ja/ml_is_event_detected.md", + "docs/_locales/ja/ml_on_event_start.md", + "docs/_locales/ja/ml_on_event_stop_detailed.md", + "docs/_locales/ja/ml_on_event_stop.md", + "_locales/ko/machine-learning-jsdoc-strings.json", + "_locales/ko/machine-learning-strings.json", + "docs/_locales/ko/ml_get_event_certainty.md", + "docs/_locales/ko/ml_is_event_detected.md", + "docs/_locales/ko/ml_on_event_start.md", + "docs/_locales/ko/ml_on_event_stop_detailed.md", + "docs/_locales/ko/ml_on_event_stop.md", + "_locales/nl/machine-learning-jsdoc-strings.json", + "_locales/nl/machine-learning-strings.json", + "docs/_locales/nl/ml_get_event_certainty.md", + "docs/_locales/nl/ml_is_event_detected.md", + "docs/_locales/nl/ml_on_event_start.md", + "docs/_locales/nl/ml_on_event_stop_detailed.md", + "docs/_locales/nl/ml_on_event_stop.md", + "_locales/pl/machine-learning-jsdoc-strings.json", + "_locales/pl/machine-learning-strings.json", + "docs/_locales/pl/ml_get_event_certainty.md", + "docs/_locales/pl/ml_is_event_detected.md", + "docs/_locales/pl/ml_on_event_start.md", + "docs/_locales/pl/ml_on_event_stop_detailed.md", + "docs/_locales/pl/ml_on_event_stop.md", + "_locales/pt-BR/machine-learning-jsdoc-strings.json", + "_locales/pt-BR/machine-learning-strings.json", + "docs/_locales/pt-BR/ml_get_event_certainty.md", + "docs/_locales/pt-BR/ml_is_event_detected.md", + "docs/_locales/pt-BR/ml_on_event_start.md", + "docs/_locales/pt-BR/ml_on_event_stop_detailed.md", + "docs/_locales/pt-BR/ml_on_event_stop.md", + "_locales/zh-TW/machine-learning-jsdoc-strings.json", + "_locales/zh-TW/machine-learning-strings.json", + "docs/_locales/zh-TW/ml_get_event_certainty.md", + "docs/_locales/zh-TW/ml_is_event_detected.md", + "docs/_locales/zh-TW/ml_on_event_start.md", + "docs/_locales/zh-TW/ml_on_event_stop_detailed.md", + "docs/_locales/zh-TW/ml_on_event_stop.md" + ], + "testFiles": ["autogenerated.ts", "main.ts", "main.blocks"], + "targetVersions": { + "branch": "v6.0.26", + "tag": "v6.0.26", + "commits": "https://github.com/microsoft/pxt-microbit/commits/0ba979dd8a8f411c37c20b5fd4faba5b43ef51aa", + "target": "6.0.26", + "targetId": "microbit", + "pxt": "9.0.17" + }, + "supportedTargets": ["microbit"], + "preferredEditor": "tsprj", + "yotta": { + "config": { + "ML_INFERENCE_PERIOD_MS": 250 } + } } diff --git a/simx/lang/ui.ca.json b/simx/lang/ui.ca.json new file mode 100644 index 0000000..de7aa2a --- /dev/null +++ b/simx/lang/ui.ca.json @@ -0,0 +1,10 @@ +{ + "select-label": { + "defaultMessage": "Esdeveniment ML:", + "description": "Label for the simulator event select input" + }, + "unknown-event-label": { + "defaultMessage": "desconegut", + "description": "Label the default ML event" + } +} \ No newline at end of file diff --git a/simx/src/messages/TranslationProvider.tsx b/simx/src/messages/TranslationProvider.tsx index f34243b..b505a73 100644 --- a/simx/src/messages/TranslationProvider.tsx +++ b/simx/src/messages/TranslationProvider.tsx @@ -5,6 +5,7 @@ */ import { ReactNode } from "react"; import { IntlProvider, MessageFormatElement } from "react-intl"; +import caMessages from "./ui.ca.json"; import enMessages from "./ui.en.json"; import esesMessages from "./ui.es-es.json"; import jaMessages from "./ui.ja.json"; @@ -24,6 +25,12 @@ interface Language { } const supportedLanguages: Language[] = [ + { + id: "ca", + name: "Català", + enName: "Catalan", + messages: caMessages, + }, { id: "en", name: "English", diff --git a/simx/src/messages/ui.ca.json b/simx/src/messages/ui.ca.json new file mode 100644 index 0000000..6912efe --- /dev/null +++ b/simx/src/messages/ui.ca.json @@ -0,0 +1,14 @@ +{ + "select-label": [ + { + "type": 0, + "value": "Esdeveniment ML:" + } + ], + "unknown-event-label": [ + { + "type": 0, + "value": "desconegut" + } + ] +} \ No newline at end of file