汉化 Debian 上的 GitLab(通常指 GitLab CE/EE)主要有两种方式:使用官方中文语言包(推荐,适用于较新版本)和手动补丁汉化(旧版本或需要深度汉化时)。
以下是基于 Omnibus 安装方式(官方推荐,也是 Debian 上最常见的方式)的详细汉化步骤。
从 GitLab 13.0 开始,官方已经内置了简体中文支持。这是最简单、最安全的方法,不涉及修改源代码,升级时不会冲突。
编辑 /etc/gitlab/gitlab.rb:
sudo nano /etc/gitlab/gitlab.rb
找到或添加以下配置(通常在文件末尾添加即可):
# 设置默认语言为简体中文
gitlab_rails['default_locale'] = 'zh_CN'
注意:如果只想让用户自己切换语言,不需要设置 default_locale,让用户去个人设置里改即可。
运行以下命令使配置生效:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
让用户登录 GitLab -> 点击右上角头像 -> Preferences -> Localization -> Language -> 选择 简体中文 -> 保存并刷新页面。
如果你使用的是非常旧的版本,或者官方翻译进度不够,可以使用社区汉化包(如 gitlab-org/gitlab 的汉化分支,或者第三方如 LXYan/,但注意:第三方汉化包可能导致升级失败)。
警告: 请务必先备份数据!汉化包可能会与你的 GitLab 版本不兼容。
cat /opt/gitlab/version-manifest.txt | head -n 1
# 或者
gitlab-rake gitlab:env:info
记下版本号(例如 16.5.0)。
sudo gitlab-ctl stop
通常去 GitHub 搜索 gitlab 的汉化项目(例如 LXYan/gitlab 或 ruby-china/gitlab 等,请根据当前最新流行的仓库替换)。
注意:以下仓库链接仅为示例,请务必寻找与你的 GitLab 版本号对应的分支。
# 进入临时目录
cd /tmp
# 克隆汉化包(请替换为实际有效的汉化仓库地址)
# 例如:git clone https://github.com/ruby-china/gitlab.git -b v16.5.0-zh
# 注意:必须找到与你版本号对应的分支,否则必炸。
git clone https://github.com/某汉化仓库地址.git -b 对应版本号-zh
cd gitlab
将汉化包中的 locale 文件和前端代码复制到 GitLab 安装目录。
注意:Omnibus 安装的 GitLab 路径通常在 /opt/gitlab/embedded/service/gitlab-rails。
# 备份原文件(非常重要)
sudo cp -r /opt/gitlab/embedded/service/gitlab-rails /opt/gitlab/embedded/service/gitlab-rails.bak
# 手动复制汉化文件(具体命令视汉化包的结构而定,通常汉化包内有说明)
# 常见做法是直接覆盖 locale 目录
sudo cp -rf /tmp/gitlab/ /opt/gitlab/embedded/service/gitlab-rails/
# 重新编译(耗时较长)
sudo gitlab-ctl reconfigure
sudo gitlab-rake assets:precompile
# 启动服务
sudo gitlab-ctl start
汉化后出现 500 错误 (Internal Server Error)
sudo gitlab-ctl stop
sudo rm -rf /opt/gitlab/embedded/service/gitlab-rails
sudo mv /opt/gitlab/embedded/service/gitlab-rails.bak /opt/gitlab/embedded/service/gitlab-rails
sudo gitlab-ctl start
升级后汉化失效
如何彻底恢复英文?
gitlab.rb 中的 default_locale 配置,并运行 sudo gitlab-ctl reconfigure。