Spaces:
Running
Running
import time | |
import gradio as gr | |
import modelscope_studio.components.base as ms | |
import modelscope_studio.components.legacy as mgr | |
messages = { | |
'en': { | |
"hello": "Hello" | |
}, | |
'en-US': { | |
"hello": "Hello" | |
}, | |
'zh-CN': { | |
"hello": "你好" | |
} | |
} | |
default_lang = "en" | |
def mount(_lifecycle, _state): | |
lang = _lifecycle.language | |
if (lang in messages): | |
_state["current_lang"] = lang | |
yield 'Switch Language...', _state | |
time.sleep(2) | |
yield messages[lang]["hello"], _state | |
with gr.Blocks() as demo, ms.Application(): | |
lifecycle = mgr.Lifecycle() | |
state = gr.State({"current_lang": default_lang}) | |
markdown = gr.Markdown(value=messages[default_lang]["hello"]) | |
lifecycle.mount(fn=mount, | |
inputs=[lifecycle, state], | |
outputs=[markdown, state]) | |
if __name__ == "__main__": | |
demo.queue().launch() | |