Overleaf i18n 配置
本文档介绍如何为自托管的 Overleaf 实例配置国际化(i18n)。
- 让 Overleaf 实例以单一固定语言运行,或者
- 启用多语言,允许用户动态切换语言,类似于
www.overleaf.com。
单语言配置
站点语言通过环境变量OVERLEAF_SITE_LANGUAGE 进行配置(对于 Overleaf 4.x 及更早版本,使用 SHARELATEX_SITE_LANGUAGE)。
支持的语言代码包括:
en- 英语(默认)es- 西班牙语pt- 葡萄牙语de- 德语fr- 法语cs- 捷克语nl- 荷兰语sv- 瑞典语it- 意大利语tr- 土耳其语zh-CN- 中文(简体)no- 挪威语da- 丹麦语ru- 俄语ko- 韩语ja- 日语pl- 波兰语fi- 芬兰语
config/variables.env 中添加以下行:
config/variables.env
多语言配置
要让用户能够在不退出登录的情况下切换语言,你的 Overleaf 实例必须配置为根据域名提供不同的语言。 本节假设:- 你的主域名是
overleaftest.com - 你拥有一个通配符 TLS 证书(例如
*.overleaftest.com) - 你没有使用
localhost(因为它无法支持基于子域名的语言路由)
dev-overleaf.com 之类的域名。
1
TLS 代理配置(Nginx)
你的 TLS 反向代理必须转发原始的 以下是一个 Nginx 配置示例:
Host 请求头,以便 Overleaf 判断用户访问的是哪个语言域名。请确保存在以下指令:2
配置 Cookie 域
为防止用户在切换语言时被登出,Cookie 必须在各个语言子域名之间共享。在 这可确保认证 Cookie 对
config/variables.env 中添加以下行:config/variables.env
overleaftest.com 下的所有子域名都有效。3
语言与域名映射
接下来,使用
使用此配置后:
OVERLEAF_LANG_DOMAIN_MAPPING 定义语言代码与子域名之间的映射关系。配置示例
config/variables.env
https://www.overleaftest.com→ 英文界面https://cn.overleaftest.com→ 简体中文界面
4
重定向顶级域名
最后,将顶级域名(
overleaftest.com)重定向到默认语言域名(www.overleaftest.com)。
