汉化 Debian 上的 GitLab 主要有两种方式:使用官方支持的语言包 和 手动打汉化补丁。目前 GitLab 已经官方支持简体中文,推荐优先使用第一种方法。
以下是详细的操作步骤和注意事项。
从 GitLab 10.x 版本开始,官方已经内置了多语言支持,包括简体中文。这是最安全、最稳定的方式。
首先,确保你的 GitLab 版本足够新(至少 10.0+,越新翻译越完整)。
sudo gitlab-rake gitlab:env:info
编辑 GitLab 的配置文件:
sudo nano /etc/gitlab/gitlab.rb
找到 gitlab_rails['default_projects_features'] 附近,或者直接在文件末尾添加/修改以下配置以设置默认语言:
# 设置默认语言为简体中文 (zh_CN)
gitlab_rails['default_locale'] = 'zh_CN'
注意:如果不设置此项,用户需要手动在个人设置里切换语言。
修改配置后,必须执行重新配置命令:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
如果管理员没有强制设置默认语言,用户可以登录后:
如果你使用的是较旧的 GitLab 版本(低于 10.0),或者官方翻译进度不够,你可能需要手动安装汉化包。
警告: 手动汉化可能会导致 GitLab 更新失败或产生未知 Bug。请务必先备份数据。
cat /opt/gitlab/version-manifest.txt | head -1
sudo gitlab-ctl stop
社区有维护汉化项目(如 larryli 或 xhang 的仓库,注意选择与你的版本对应的分支)。
注意:请务必去 GitHub 搜索最新的维护仓库,以下地址仅为示例格式。
# 假设你的版本是 14.6,你需要找到对应的分支
cd /tmp
git clone https://gitlab.com/xhang/gitlab.git
cd gitlab
git checkout v14.6.0-zh # 请替换为你的版本号
# 备份原始文件
sudo cp -r /opt/gitlab/embedded/service/gitlab-rails{,.orig}
# 替换文件
sudo cp -rf /tmp/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
混合语言(中英混杂): 这是正常现象。GitLab 官方翻译是逐步进行的,部分新功能可能尚未翻译。如果是手动汉化,也会因为版本更新导致部分新字符串未被覆盖。
更新 GitLab 后汉化失效: 如果你使用了方法二(手动汉化),升级 GitLab 版本后,汉化补丁通常会失效,甚至导致 500 错误。
sudo gitlab-ctl stop,重新下载对应新版本的汉化包,覆盖文件,然后 reconfigure。数据备份: 在进行任何汉化操作之前,强烈建议备份 GitLab:
sudo gitlab-rake gitlab:backup:create
gitlab.rb 中设置 gitlab_rails['default_locale'] = 'zh_CN',或者让用户自行在设置里切换。