语言

Minaya 会以访客书写的语言回复。挂件界面已翻译为六种语言环境, 阿拉伯语会翻转整个布局,而不只是文字。

支持的语言

语言标签方向
英语(英国)en-GB从左到右
英语(美国)en-US从左到右
英语(澳大利亚)en-AU从左到右
德语de从左到右
阿拉伯语ar从右到左
中文(简体)zh从左到右

地区变体会合理回退:en-NZ 使用澳大利亚英语,en-CA 使用美式英语,de-AT 使用德语。

语言是如何检测的

Minaya 依次检查:

  1. <html lang="…">——你的页面所声明的语言。
  2. URL——/de/ 路径前缀,或 ?lang=de
  3. 访客自己的浏览器偏好设置。
  4. 你在仪表盘的语言下设置的默认语言。

如果你的页面请求了某种语言,但你尚未启用它,系统会尽可能回退到 同一语言的另一地区版本,再回退到你的默认语言——因此,当挂件仅提供 英式英语时,一个 en-US 页面仍会得到英语回复。

当访客切换语言时

如果你的网站在切换语言时会重新加载,挂件会自动重新读取新语言。 如果切换时不重新加载——大多数 JavaScript 框架都是如此——Minaya 会 监听 <html lang> 并原地更新。

已有的消息保持原样。重新翻译对方已经读过的内容会显得突兀; 新的回复才会使用新语言。

如果你的切换器既不改变 lang 属性也不改变 URL, 可以直接告知 Minaya:

window.dispatchEvent(
  new CustomEvent("minaya:language", { detail: { language: "de" } })
);

// Or ask Minaya to re-check the page:
window.dispatchEvent(new CustomEvent("minaya:language"));

使用 jQuery 时,$(window).trigger() 无法触达原生 事件监听器——请按上面的方式派发事件。

回答使用什么语言

以访客自己使用的语言为准。浏览你英文网站的访客如果用阿拉伯语提问, 会得到阿拉伯语回答——这几乎总是他们想要的。页面语言只在模糊情形下 起决定作用:一句问候、单个词语、一个表情符号。

按语言设置的消息

在仪表盘的语言下,每种已启用的语言都有自己的欢迎 消息、兜底消息和转接确认消息。留空某一项,该语言就会使用 Identity 下的共享消息集,因此启用一种语言并不会强制你重新撰写三条新文案。

从右到左

阿拉伯语会镜像整个挂件:气泡左右互换,页头和输入框方向反转, 发送图标也会翻转。如果你编写了自定义 CSS,可通过 .aicb-root[dir="rtl"] 选择器进行调整。