NEWS
Übersetzungen aus dem Netz ziehen
-
Schau doch in die Web Developer Tools, wenn du da eine Eingabe machst und es übersetzen lässt.
Dann hast du deine API.
Ein entsprechender, aufgebauter POST request und schon kommt die AntwortAllerdings würde ich das mit bluefox abstimmen, da dahinter eine bezahlte Übersetzungsmaschine steht und dass ein wenig Kosten verursacht.
-
@ben1983 Oder Node Red per Google translate extend
-
@peterfido google translate, da habe ich gar nicht dran gedacht. danke
-
@homoran das war genau die frage... und auf deutsch?
Was switch case ?
-
Ich arbeite viel mit DeepL.
Die haben auch eine kostenlose Api.Hab es aber noch nicht in Blockly hinbekommen. Scheitere noch am Header für http Post. Ka ob das in Blockly überhaupt geht (Wobei es hier ja um JS geht ^^).
-
@david-g sagte in Übersetzungen aus dem Netz ziehen:
DeepL
bei deepl muss man ja dazu wieder kreditkartennummer hinterlegen, auch wenn man die freie version nutzt.
Finde irgendwie keinen freien Anbieter. -
google ist für kleine Umfänge doch kostenlos.
Die ersten 500.000 Zeichen im Monat sind kostenlos.
https://cloud.google.com/translate/pricing?hl=de -
@oliverio Konnte es jetzt hiermit lösen.... google wolle irgendwie nicht:
const axios = require('axios'); // 🌐 Übersetzungsfunktion via MyMemory async function translateMyMemory(text) { try { const response = await axios.get('https://api.mymemory.translated.net/get', { params: { q: text, langpair: 'en|de' } }); return response.data.responseData.translatedText; } catch (error) { log(`Übersetzungsfehler für "${text}": ${error.message}`, 'error'); return text; // Fallback: Originaltext } } async function getRoboterstate(){ Statusstate = getState(idRoboterstatus); let statustext = ""; // Objekt holen const StatusObjekt = getObject(idRoboterstatus); // Übersetzen const StatusDeutsch = await translateMyMemory(StatusObjekt.common.states[Statusstate.val]); statustext += StatusDeutsch; } // Test getRoboterstate();
Funktioniert gut.
Jetzt habe ich nur noch das Thema, dass bspw. bei einem Adapterupdate einige State hinzukommen (können), aber das im Alias nicht aktualisiert wird.
Gibts da was, dass sich der Alias mit aktualisiert? -
Mit alias kenne ich mich nicht aus.
für die google apis würde ich immer die standardbibliotheken nehmen.
bei google muss man halt immer im developer portal die api nutzung registrieren.
https://www.npmjs.com/package/@google-cloud/translatehast du mir mal ein link zu deinem repo?
mir ist dein anwendungsfall noch nicht so ganz klar.
iobroker stellt doch tools zur verfügung mit der man eigentlich alles übrsetzen lassen kann.
da kann man auch, wenn was dazukommt, neu übersetzen lassen, es wird nur das neu hinzukommende übersetzt.
nutzt du evtl noch die alten gulp skripte?
mitlerweile befindet sich das übersetzungsskript in eignen bibliothek
https://github.com/ioBroker/adapter-dev -
@oliverio Es geht hier nicht um eine Adapter Entwicklung, sondern ich habe bspw. den Worx Vision:
Bspw.
Da habe ich aben den Nmerischen wert und lasse anhand des Strings in common.states entsprechend übersetzen.
Natürlich könnte man das auch einfach statisch übersetzen, das würde natürlich auch gehen. -
@ben1983
Die States liefert doch der Adapter aus.
Bin nicht sicher ob states nur nen string kann oder auch i18n objekte. Wenn letzteres sollte der Adapter da gleich übersetzungen liefern ... -
@mcm1957 OK, wüsste nicht wo das sein sollte
Aber habe mir jetzt einfach von chatGPT ne übersetzung statisch geben lassen und switch case je nach state