温馨提示×

Debian GitLab如何汉化

小樊
41
2026-08-02 10:34:13
栏目: 智能运维

Debian 上部署的 GitLab 汉化主要有两种方式:官方语言包(推荐)手动汉化补丁。下面按常见场景给你说明。


一、确认 GitLab 安装方式(很重要)

不同安装方式,汉化方法不同。

常见安装方式

  1. Omnibus GitLab(最常见,官方推荐)

    dpkg -l | grep gitlab
    # 或
    gitlab-ctl status
    

    如果有 gitlab-ctl,就是 Omnibus 安装。

  2. Docker 部署

    docker ps | grep gitlab
    
  3. 源码安装(较少见)

下面重点讲 Omnibus GitLab 汉化(Debian 最常见)。


二、方式一:使用官方中文语言包(推荐 ✅)

GitLab 社区版(CE)和企业版(EE) 都支持多语言,包括中文。

1️⃣ 修改 GitLab 配置文件

sudo nano /etc/gitlab/gitlab.rb

找到或添加:

gitlab_rails['default_locale'] = 'zh_CN'

如果只想让用户自己切换语言,可以 不设置这一项

2️⃣ 重新配置 GitLab

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

3️⃣ 用户自行切换语言(推荐)

登录 GitLab:

右上角头像 → Preferences → Localization → 简体中文

优点

  • 官方支持
  • 升级不会失效
  • 最稳定

缺点

  • 部分页面翻译不完整(约 90%+)

三、方式二:手动汉化(补丁方式,风险较高 ⚠️)

适合对翻译完整性要求极高的场景。

⚠️ 注意

  • 汉化包 必须和 GitLab 版本完全一致
  • 升级 GitLab 后汉化会失效
  • 可能导致页面报错

1️⃣ 查看 GitLab 版本

gitlab-rake gitlab:env:info

cat /opt/gitlab/version-manifest.txt

2️⃣ 下载对应汉化包

常用汉化仓库(任选其一):

  • https://gitlab.com/xhang/gitlab
  • https://github.com/larryli/gitlab

例如:

cd /tmp
git clone https://gitlab.com/xhang/gitlab.git
cd gitlab
git checkout v16.7.2  # 必须和你的 GitLab 版本一致

3️⃣ 停止 GitLab

sudo gitlab-ctl stop

4️⃣ 替换语言文件

cp -r /tmp/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/

或(更安全):

rsync -av --exclude='config/secrets.yml' \
/tmp/gitlab/ /opt/gitlab/embedded/service/gitlab-rails/

5️⃣ 重新编译 assets

gitlab-rake assets:clean
gitlab-rake assets:precompile

6️⃣ 重启 GitLab

sudo gitlab-ctl start

四、Docker 部署 GitLab 的汉化

方法 1:官方语言设置

environment:
  GITLAB_DEFAULT_LOCALE: zh_CN

方法 2:使用汉化镜像(不推荐生产)

docker pull twang2218/gitlab-ce-zh

⚠️ 更新慢、安全隐患大。


五、推荐方案总结 ✅

场景 推荐方式
生产环境 ✅ 官方中文语言包
内部办公 ✅ 官方中文
极端汉化需求 ⚠️ 手动汉化
Docker ✅ 环境变量

六、常见问题

1️⃣ 汉化不生效?

gitlab-ctl reconfigure
gitlab-ctl restart

清除浏览器缓存。

2️⃣ 升级后英文回来了?

手动汉化会被覆盖,需重新打补丁。

3️⃣ 中文部分乱码?

  • 检查系统 locale:
locale

建议:

sudo dpkg-reconfigure locales

选择 zh_CN.UTF-8


如果你愿意,可以告诉我:

  • ✅ GitLab 版本
  • ✅ 安装方式(Omnibus / Docker)
  • ✅ Debian 版本

我可以给你 精确到命令的汉化方案

0