温馨提示×

如何汉化Debian GitLab

小樊
38
2026-08-28 18:24:16
栏目: 智能运维

汉化 Debian 上的 GitLab(通常指 GitLab CE/EE)主要有两种方式:使用官方中文语言包(推荐,适用于较新版本)和手动补丁汉化(旧版本或需要深度汉化时)。

以下是基于 Omnibus 安装方式(官方推荐,也是 Debian 上最常见的方式)的详细汉化步骤。


方法一:使用官方内置语言包(推荐,适用于 GitLab 13.0+)

从 GitLab 13.0 开始,官方已经内置了简体中文支持。这是最简单、最安全的方法,不涉及修改源代码,升级时不会冲突。

1. 修改 GitLab 配置文件

编辑 /etc/gitlab/gitlab.rb

sudo nano /etc/gitlab/gitlab.rb

找到或添加以下配置(通常在文件末尾添加即可):

# 设置默认语言为简体中文
gitlab_rails['default_locale'] = 'zh_CN'

注意:如果只想让用户自己切换语言,不需要设置 default_locale,让用户去个人设置里改即可。

2. 重新加载配置

运行以下命令使配置生效:

sudo gitlab-ctl reconfigure

3. 重启服务(可选,通常 reconfigure 包含重启)

sudo gitlab-ctl restart

4. 用户自行切换(如果不设置默认语言)

让用户登录 GitLab -> 点击右上角头像 -> Preferences -> Localization -> Language -> 选择 简体中文 -> 保存并刷新页面。


方法二:手动补丁汉化(适用于旧版本或需要完全汉化)

如果你使用的是非常旧的版本,或者官方翻译进度不够,可以使用社区汉化包(如 gitlab-org/gitlab 的汉化分支,或者第三方如 LXYan/,但注意:第三方汉化包可能导致升级失败)。

警告: 请务必先备份数据!汉化包可能会与你的 GitLab 版本不兼容。

1. 查看当前 GitLab 版本

cat /opt/gitlab/version-manifest.txt | head -n 1
# 或者
gitlab-rake gitlab:env:info

记下版本号(例如 16.5.0)。

2. 停止 GitLab 服务

sudo gitlab-ctl stop

3. 克隆或下载汉化包

通常去 GitHub 搜索 gitlab 的汉化项目(例如 LXYan/gitlabruby-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

4. 替换文件

将汉化包中的 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/

5. 重新编译 Assets 并重启

# 重新编译(耗时较长)
sudo gitlab-ctl reconfigure
sudo gitlab-rake assets:precompile

# 启动服务
sudo gitlab-ctl start

常见问题与排错

  1. 汉化后出现 500 错误 (Internal Server Error)

    • 原因:汉化包版本与 GitLab 版本不匹配。
    • 解决:恢复备份。
    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
    
  2. 升级后汉化失效

    • 如果你使用了手动汉化,升级 GitLab 会覆盖掉汉化文件。你需要重新执行汉化步骤,或者等待汉化包更新支持新版本。
  3. 如何彻底恢复英文?

    • 如果是方法一,删除 gitlab.rb 中的 default_locale 配置,并运行 sudo gitlab-ctl reconfigure
    • 如果是方法二,卸载并重新安装 GitLab(或通过备份恢复)。

总结建议

  • 新安装或版本较新(13.0+): 请直接使用 方法一。官方翻译已经覆盖了大部分常用功能,且安全稳定。
  • 老系统或强迫症: 使用 方法二,但请务必在测试环境先试一遍,并确认汉化包的作者信誉和版本匹配度。

0