Gradio 智能体与 MCP 黑客马拉松

获奖者
Gradio logo
  1. 附加功能
  2. 国际化

相关空间

国际化 (i18n)

Gradio 提供开箱即用的国际化 (i18n) 支持

  • 内置翻译:Gradio 根据用户的浏览器语言环境自动翻译超过 40 种语言的标准 UI 元素(如“提交”、“清除”、“取消”)。
  • 自定义翻译:对于应用特有的文本,Gradio 提供了 I18n 类,可让您使用自己的翻译扩展内置系统。

设置翻译

您可以使用多个语言字典初始化 I18n 类以添加自定义翻译

import gradio as gr

# Create an I18n instance with translations for multiple languages
i18n = gr.I18n(
    en={"greeting": "Hello, welcome to my app!", "submit": "Submit"},
    es={"greeting": "¡Hola, bienvenido a mi aplicación!", "submit": "Enviar"},
    fr={"greeting": "Bonjour, bienvenue dans mon application!", "submit": "Soumettre"}
)

with gr.Blocks() as demo:
    # Use the i18n method to translate the greeting
    gr.Markdown(i18n("greeting"))
    with gr.Row():
        input_text = gr.Textbox(label="Input")
        output_text = gr.Textbox(label="Output")
    
    submit_btn = gr.Button(i18n("submit"))

# Pass the i18n instance to the launch method
demo.launch(i18n=i18n)

工作原理

当您使用 i18n 实例和翻译键时,Gradio 将根据用户的浏览器语言设置或他们在您的应用中选择的语言,向用户显示相应的翻译。

如果用户的语言环境没有可用的翻译,系统将回退到英语(如果可用)或直接显示键本身。

有效的语言环境代码

语言环境代码应遵循 BCP 47 格式(例如,“en”、“en-US”、“zh-CN”)。如果您使用无效的语言环境代码,I18n 类将发出警告。

支持的组件属性

以下组件属性通常支持国际化

  • 描述
  • 信息
  • 标题
  • 占位符
  • 标签

请注意,支持可能因组件而异,某些属性可能存在国际化不适用的例外情况。您可以通过查阅参数的类型提示来确认这一点,如果它包含 I18nData,则表示支持国际化。