Skip to content

桌面端语言同步

语言选择器在 Tauri 桌面壳与普通浏览器中的行为不同。

桌面壳

在桌面应用中切换语言会更新一份主机级全局 locale。选择会持久化到 [system].locale,并立即刷新:

  • 当前网页界面及其他已打开的桌面窗口;
  • 托盘菜单文字、托盘提示和原生窗口标题;
  • 切换后新打开的原生对话框;
  • 守护进程与当前运行中的会话工作进程。

程序会在创建托盘和第一个原生窗口之前应用持久化 locale,因此启动界面不会先短暂显示另一种语言。

桌面壳必须等原生 bridge 确认持久化成功后才切换网页。如果 bridge 尚未就绪或写入失败,页面会显示错误,不会静默退化成“只有网页变了语言”。

浏览器

普通浏览器中的语言切换仍然只是浏览器本地偏好:它只更新该浏览器的 localStorage 与 i18next 实例,不会修改主机 daemon、worker、托盘或原生对话框。

当前支持的 locale 标签为 en-USzh-CN

安全与多窗口

每个 Tauri WebSocket 会话都会获得各自的短期本机桥接令牌。该令牌 只定向发送给所属会话,并在断开时撤销。语言变更通知使用独立的广播路径,使当前所有桌面窗口最终收敛到同一个已提交语言。