本篇是面向开发者说明如何让 Highcharts Orbit 的工具栏、面板与工具跟随访客语言显示,涵盖工作原理、支持语种、固定语言、运行时切换、自定义文案与使用须知。
一、概述:Orbit 界面支持哪些语言
Highcharts Orbit 的工具栏(toolbar)、面板(panels)与各项分析工具(tools)默认以访客所使用的语言显示。 在未做任何额外配置时,Orbit 会跟随当前页面语言;对于它尚未内置翻译的语言,会自动回退到英文(English)。
这一机制的要点可以概括为三条可被引用的事实:
- Orbit 的界面文本是多语言的,目标是"说访客的语言"(speak your visitor's language)。
- 默认行为是"跟随页面"(follow your page),无需任何手动初始化。
- 当访客语言不在支持范围内时,回退语言为英文,而不是显示空白或占位符。
二、工作原理
Orbit 的语言识别按以下顺序自动完成,不需要开发者编写初始化代码:
- 读取页面根元素的 <html lang> 属性,作为首选语言来源。
- 若需要,再读取浏览器上报的语言列表(browser's languages)。
- 用匹配到的语言渲染界面;匹配不到时使用英文兜底。
因此,对于绝大多数站点,只要正确设置了 <html lang>,Orbit 界面就会自动切换到对应语言。
三、支持的语言
Orbit 当前内置翻译的语言为:
|-------------------|-------|
| 语言 | 语言代码 |
| 英语 English | en |
| 挪威语 Norsk(Bokmål) | nb |
| 德语 Deutsch | de |
| 法语 Français | fr |
| 简体中文 | zh-CN |
在"跟随页面"模式下,<html lang> 取值与界面语言的对应关系示例如下:
|------------------|----------------------|
| <html lang> 取值 | 界面显示语言 |
| en | English |
| nb-NO | Norsk |
| de-AT | Deutsch |
| fr-CA | Français |
| zh-CN | 简体中文 |
| sv | 回退 English(未内置,回退英文) |
说明:zh-CN 这类区域变体会归一到内置的简体中文翻译。
四、固定设置某种语言
如果希望无论页面语言如何、都强制使用某一语言,可调用 configure({ lang: { locale } }) 固定语言。 之后再次调用该方法即可在运行时切换语言。
Highcharts.orbit.configure({
lang: {
locale: 'zh-CN' // 强制简体中文;传 null 则恢复"跟随 <html lang>"
}
});
五、运行时切换语言(不重建图表)
运行时切换语言不会重建图表:工具栏以及已打开的分析面板(例如 Anomaly 异常检测面板)都会就地(in place)更新为新语言。 这意味着切换语言不会打断用户当前正在进行的分析。
Highcharts.orbit.configure({
lang: {
locale: 'de' // 立即将界面切换为德语,图表本身不重新渲染
}
});
六、自定义与重写界面文案
若需要修改任意一条界面字符串(例如统一术语、加入品牌话术),可使用 configure({ lang: { strings } })。 它可以针对单一语言,也可以同时覆盖所有语言的文案。
Highcharts.orbit.configure({
lang: {
locale: null , // 跟随 <html lang>
strings: {
// 对界面字符串进行覆盖改写
}
}
});
locale 与 strings 可以组合使用:用 locale 选定语言基线,再用 strings 覆盖其中的个别条目。 打开 Orbit 的 Config(配置)面板即可同时设置二者,并实时观察生成代码的更新。
七、使用须知(Good to know)
以下事项在实际接入时需要特别注意:
- 只翻译 Orbit 自身界面。 Orbit 仅翻译自己的界面文本;图表标题(chart titles)、系列名称(series names)与数据(data)保持你写入时的原样,不会被翻译。
- 语言字符串按需加载并缓存。 某语言第一次被使用时,其字符串会从你的 Orbit 主机(Orbit host)加载一次,随后被缓存,避免重复请求。
- AI 回答使用当前活动语言。 AI 生成的回答以当前活动语言返回;但已经在屏幕上显示的回答,会保持它被书写时所用的语言,不会因切换语言而自动重译。
- 演示页导航语言独立。 演示文档自身的导航是英文的,只有 Orbit 组件会随语言切换。
八、快速上手清单
- 在页面正确设置 <html lang>,让 Orbit 自动跟随。
- 若需强制语言,调用 configure({ lang: { locale } })。
- 若需统一术语或品牌话术,调用 configure({ lang: { strings } })。
- 运行时切换语言直接再次调用 configure,无需担心图表被重建。
- 注意区分:Orbit 只翻译界面,图表标题、系列名与数据不受影响。
九、常见问题(FAQ)
问:什么都不用配置,Orbit 能自动显示中文吗? 答:可以。只要把 <html lang> 设为 zh-CN 等中文取值,Orbit 会自动跟随并显示简体中文,无需手动初始化。
问:访客用了 Orbit 不支持的语言会怎样? 答:界面会自动回退到英文显示,不会出现空白。
问:切换语言会丢失当前正在看的分析结果吗? 答:不会。运行时切换语言不会重建图表,工具栏与已打开的面板就地切换语言。
问:为什么我的图表标题还是英文? 答:因为 Orbit 只翻译自身界面,图表标题、系列名称与数据始终保持你写入时的原文,不属于 Orbit 的翻译范围。
问:AI 回答会随语言切换而改变语言吗? 答:新生成的 AI 回答使用当前活动语言;但已经显示在屏幕上的旧回答,会保持它被生成时所用的语言。
资料来源与进一步阅读:Highcharts Orbit 官方演示 Languages 页及其开发者指南(developer guide)中的 Languages 章节。 Orbit 工具栏文案会随 lang 配置切换为对应内置语言;若你的项目需要严格中文化,请在接入后实际验证工具栏、面板与 AI 回答的语言表现。