Creating dashboard with multi language support + camera?

Hello all!

I'm making a machine wizard, and I'd like to be able to switch the language of the wizard into 1 of 4 options, english, german, french dutch. Is this possible? Any suggestions? I'm quite new to this so excuse me if this has been asked a lot.

On a small side note, if swapping languages is possible, would it also be possible ot integrate my phones camera into the dashboard? The dashboard will be mainly running on phones/tabblets, and I'd like to take pictures to insert into the wizard (like from faulty machines).
Any help is much appreciated.

Kind regards, Pratik Gurung

An example of many possibilities how to achieve multi language dashboard. Quite of work to make one, specially if there's a lot of text content. But doable.

Side note - I haven't tried all the widgets so there's no guarantee that all bits and pieces allow such approach.

[{"id":"8c0c4f5b39418508","type":"ui-text","z":"a5b9f027282f32b3","group":"5898950bd97524e2","order":3,"width":0,"height":0,"name":"","label":"text","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","x":930,"y":280,"wires":[]},{"id":"d8659836df555d35","type":"change","z":"a5b9f027282f32b3","name":"","rules":[{"t":"set","p":"keys","pt":"msg","to":"[\"textLabel\",\"yes\",\"no\"]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":280,"wires":[["1151a5c80adc8fa3"]]},{"id":"1151a5c80adc8fa3","type":"link call","z":"a5b9f027282f32b3","name":"","links":["dc8465da62984149"],"linkType":"static","timeout":"30","x":560,"y":280,"wires":[["9e50d3e22f164ab6"]]},{"id":"dc8465da62984149","type":"link in","z":"a5b9f027282f32b3","name":"get-translations","links":[],"x":545,"y":120,"wires":[["a94f6a63f923c765"]]},{"id":"a94f6a63f923c765","type":"function","z":"a5b9f027282f32b3","name":"translate","func":"const language = global.get(\"language\") ?? \"en\"\nconst translations = global.get(\"translations\")[language]\nconst translated = {}\nmsg.keys.forEach(function(k) {\n    translated[k] = translations[k]    \n});\nmsg.translations = translated\ndelete msg.keys\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"const translations = {\n    \n}\n\ncontext.set(\"translations\", translations)","finalize":"","libs":[],"x":660,"y":120,"wires":[["4316811f512657d7"]]},{"id":"3f4e6cf917ae0e71","type":"function","z":"a5b9f027282f32b3","name":"translations","func":"const translations = {\n    \"en\":{\n        \"textLabel\":\"Text Node Label\",\n        \"yes\":\"Yes\",\n        \"no\":\"No\",\n        \"greenSliderLabel\":\"Green Slider\",\n        \"blueSliderLabel\":\"Blue Slider\"\n    },\n    \"et\":{\n        \"textLabel\": \"Teksti Sõlme Pealkiri\",\n        \"yes\": \"Jaa\",\n        \"no\": \"Ei\",\n        \"greenSliderLabel\": \"Roheline Liugur\",\n        \"blueSliderLabel\": \"Sinine Slider\"\n    }\n}\nglobal.set(\"translations\", translations);\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":100,"wires":[[]]},{"id":"71681f6488cfb9e7","type":"inject","z":"a5b9f027282f32b3","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":170,"y":100,"wires":[["3f4e6cf917ae0e71"]]},{"id":"62e0784c7e911870","type":"inject","z":"a5b9f027282f32b3","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":170,"y":260,"wires":[["d8659836df555d35"]]},{"id":"02990584ec5c0a7b","type":"change","z":"a5b9f027282f32b3","name":"","rules":[{"t":"set","p":"language","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":410,"y":200,"wires":[["3d0f6abf36a48fc7"]]},{"id":"4316811f512657d7","type":"link out","z":"a5b9f027282f32b3","name":"translated","mode":"return","links":[],"x":775,"y":120,"wires":[]},{"id":"daee52e7a2557988","type":"inject","z":"a5b9f027282f32b3","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":170,"y":300,"wires":[["d8659836df555d35"]]},{"id":"9e50d3e22f164ab6","type":"function","z":"a5b9f027282f32b3","name":"convert","func":"msg.ui_update = {\n    \"label\": msg.translations.textLabel\n}\nmsg.payload = msg.payload == true ? msg.translations.yes : msg.translations.no\ndelete msg.translations\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":740,"y":280,"wires":[["8c0c4f5b39418508"]]},{"id":"40854ba824351cbb","type":"ui-slider","z":"a5b9f027282f32b3","group":"5898950bd97524e2","name":"green slider","label":"slider","tooltip":"","order":1,"width":0,"height":0,"passthru":false,"outs":"all","topic":"topic","topicType":"msg","thumbLabel":"true","showTicks":"false","min":0,"max":10,"step":1,"className":"","iconPrepend":"","iconAppend":"","color":"green","colorTrack":"green","colorThumb":"green","x":950,"y":360,"wires":[[]]},{"id":"daeec4da4f1930e9","type":"ui-event","z":"a5b9f027282f32b3","ui":"29792df7d7b05e2e","name":"","x":170,"y":160,"wires":[["1888ef3d01b34367"]]},{"id":"bb62ae8041230ee9","type":"change","z":"a5b9f027282f32b3","name":"","rules":[{"t":"set","p":"keys","pt":"msg","to":"[\"greenSliderLabel\"]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":360,"wires":[["11da38722b867783"]]},{"id":"11da38722b867783","type":"link call","z":"a5b9f027282f32b3","name":"","links":["dc8465da62984149"],"linkType":"static","timeout":"30","x":560,"y":360,"wires":[["bb0ef359076e0ea2"]]},{"id":"bb0ef359076e0ea2","type":"function","z":"a5b9f027282f32b3","name":"convert","func":"msg.ui_update = {\n    \"label\": msg.translations.greenSliderLabel\n}\n\ndelete msg.translations\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":740,"y":360,"wires":[["40854ba824351cbb"]]},{"id":"77d59665c189e445","type":"ui-slider","z":"a5b9f027282f32b3","group":"5898950bd97524e2","name":"blue slider","label":"slider","tooltip":"","order":2,"width":0,"height":0,"passthru":false,"outs":"all","topic":"topic","topicType":"msg","thumbLabel":"true","showTicks":"false","min":0,"max":10,"step":1,"className":"","iconPrepend":"","iconAppend":"","color":"blue","colorTrack":"blue","colorThumb":"blue","x":950,"y":400,"wires":[[]]},{"id":"f45bb5538c399362","type":"change","z":"a5b9f027282f32b3","name":"","rules":[{"t":"set","p":"keys","pt":"msg","to":"[\"blueSliderLabel\"]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":400,"wires":[["7652d9901d06d699"]]},{"id":"7652d9901d06d699","type":"link call","z":"a5b9f027282f32b3","name":"","links":["dc8465da62984149"],"linkType":"static","timeout":"30","x":560,"y":400,"wires":[["a6701e6de8707288"]]},{"id":"a6701e6de8707288","type":"function","z":"a5b9f027282f32b3","name":"convert","func":"msg.ui_update = {\n    \"label\": msg.translations.blueSliderLabel\n}\n\ndelete msg.translations\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":740,"y":400,"wires":[["77d59665c189e445"]]},{"id":"633a3757ebfa2784","type":"ui-template","z":"a5b9f027282f32b3","group":"","page":"","ui":"29792df7d7b05e2e","name":"language selector","order":0,"width":0,"height":0,"head":"","format":"<template>\n    <Teleport v-if=\"mounted\" to=\"#app-bar-actions\">\n        <v-btn-toggle v-model=\"lang\" color=\"deep-purple-accent-3\" rounded=\"0\" group>\n           <v-btn value=\"en\" @click=\"sendSelected()\">\n                EN\n            </v-btn>\n        \n            <v-btn value=\"et\" @click=\"sendSelected()\">\n                ET\n            </v-btn>\n        </v-btn-toggle>\n    </Teleport>\n</template>\n\n<script>\n    export default {\n        data() {         \n            return {\n                lang:\"en\",\n                mounted:false\n            }\n        },\n        watch: {\n            msg:function(){\n                if(this.msg?.payload){                       \n                    this.lang = this.msg.payload\n                }\n            }\n        },\n        computed: {\n           \n           \n        },\n        methods: {\n            sendSelected:function(){\n                this.send({payload:this.lang})\n            }\n        },\n        mounted() {\n           this.mounted=true\n           \n        },\n        unmounted() {\n           this.mounted=false\n        }\n    }\n</script>\n<style>\n  \n</style>","storeOutMessages":true,"passthru":true,"resendOnRefresh":true,"templateScope":"widget:ui","className":"","x":190,"y":200,"wires":[["02990584ec5c0a7b"]]},{"id":"6292bfe897385f0a","type":"link in","z":"a5b9f027282f32b3","name":"dashboard-update","links":["3d0f6abf36a48fc7","1888ef3d01b34367"],"x":195,"y":400,"wires":[["d8659836df555d35","bb62ae8041230ee9","f45bb5538c399362"]]},{"id":"3d0f6abf36a48fc7","type":"link out","z":"a5b9f027282f32b3","name":"language-selected","mode":"link","links":["6292bfe897385f0a"],"x":535,"y":200,"wires":[]},{"id":"1888ef3d01b34367","type":"link out","z":"a5b9f027282f32b3","name":"dashboard-events","mode":"link","links":["6292bfe897385f0a"],"x":255,"y":160,"wires":[]},{"id":"5898950bd97524e2","type":"ui-group","name":"Group","page":"38cec68f083871ad","width":"6","height":"1","order":1,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"29792df7d7b05e2e","type":"ui-base","name":"My Dashboard","path":"/dashboard","appIcon":"","includeClientData":false,"acceptsClientConfig":[],"showPathInSidebar":false,"showPageTitle":true,"navigationStyle":"default","titleBarStyle":"default"},{"id":"38cec68f083871ad","type":"ui-page","name":"Multi Language","ui":"29792df7d7b05e2e","path":"/page6","icon":"home","layout":"grid","theme":"813ec6b2ff1699c4","breakpoints":[{"name":"Default","px":"0","cols":"3"},{"name":"Tablet","px":"576","cols":"6"},{"name":"Small Desktop","px":"768","cols":"9"},{"name":"Desktop","px":"1024","cols":"12"}],"order":1,"className":"","visible":"true","disabled":"false"},{"id":"813ec6b2ff1699c4","type":"ui-theme","name":"Default Theme","colors":{"surface":"#ffffff","primary":"#0094ce","bgPage":"#eeeeee","groupBg":"#ffffff","groupOutline":"#cccccc"},"sizes":{"density":"default","pagePadding":"12px","groupGap":"12px","groupBorderRadius":"4px","widgetGap":"12px"}}]

alright thank oyu very much for your help!