汉化 Linux 上的 GitLab 界面通常有两种主流方法:直接修改系统语言环境(适用于 Omnibus 安装包)和 使用第三方汉化补丁。
重要提示:GitLab 的官方版本对中文支持已经比较完善(尤其是 13.0 之后),建议优先尝试官方设置。如果官方翻译不满足需求,再考虑手动汉化。
以下是详细步骤:
如果你只是想让自己看到的界面变成中文,不需要动服务器代码。
注意:这仅对当前账号生效。
如果你希望所有未登录用户或新注册用户默认看到中文界面,需要修改 GitLab 的配置文件。
使用编辑器打开 /etc/gitlab/gitlab.rb:
sudo vim /etc/gitlab/gitlab.rb
找到或添加以下行(如果前面有 # 号,记得去掉以取消注释):
# 设置默认语言为简体中文
gitlab_rails['default_locale'] = 'zh_CN'
修改保存后,必须执行重新配置命令使生效:
sudo gitlab-ctl reconfigure
重启服务(通常 reconfigure 会自动重启相关组件,但手动重启一下更保险):
sudo gitlab-ctl restart
警告:此方法涉及替换 GitLab 源代码,风险较高。如果你的 GitLab 是通过 Omnibus 安装的,升级 GitLab 版本时可能会导致汉化包失效或冲突。请务必先备份数据。
此方法适用于 GitLab 12.x 或更早版本(因为新版本官方中文已足够好)。
cat /opt/gitlab/version-manifest.txt | head -1
通常使用的是 larryli 或 xhang 的汉化项目(注意:很多老项目已停止维护,请确认仓库是否活跃)。
以 xhang 的仓库为例(请去 GitHub 搜索 gitlabhq 的汉化分支确认最新地址):
# 假设你的版本是 13.0.0
# 克隆汉化仓库
git clone https://gitlab.com/xhang/gitlab.git
cd gitlab
# 生成补丁(假设你要汉化的是 13.0.0 版本)
git diff v13.0.0 v13.0.0-zh > ../13.0.0-zh.diff
sudo gitlab-ctl stop
备份原文件(可选但建议),然后打补丁。
# 进入 GitLab 安装目录
cd /opt/gitlab/embedded/service/gitlab-rails/
# 备份(可选)
sudo cp -r . /tmp/gitlab-backup
# 打补丁
sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ../../13.0.0-zh.diff
注意:打补丁过程中可能会有报错,通常是因为版本不匹配,需要手动处理冲突。
sudo gitlab-ctl start
sudo gitlab-ctl reconfigure
GITLAB_DEFAULT_LOCALE=zh_CN 或者在 docker-compose.yml 中设置,也可以进入容器内部修改 /etc/gitlab/gitlab.rb。总结:建议先尝试方法一。如果是管理员想设置默认语言,使用方法二。除非有特殊需求,否则不建议使用方法三。