Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ksoichiro/gitlab-i18n-patch

Unofficial Japanese translation for GitLab Community Edition.
https://github.com/ksoichiro/gitlab-i18n-patch

gitlab i18n translation

Last synced: 3 months ago
JSON representation

Unofficial Japanese translation for GitLab Community Edition.

Awesome Lists containing this project

README

        

# gitlab-i18n-patch

[![Build Status](https://travis-ci.org/ksoichiro/gitlab-i18n-patch.svg?branch=master)](https://travis-ci.org/ksoichiro/gitlab-i18n-patch)

[GitLab Community Edition](https://gitlab.com/gitlab-org/gitlab-ce)を勝手に日本語化していくプロジェクトです。

GitLab は i18n に対応しないとのことですが、
社内で使う場合等で英語であるために導入の抵抗があるケースのために作っています。

このパッチを適用することによって生じたいかなる問題についても責任は負いかねます。
各自の判断でご利用ください。

> **注意**: GitLab v9.2 より公式に国際化がサポートされ、v9.4 より日本語も選択できるようになっています。このパッチを適用される前に、公式の日本語の利用についてもご検討ください。

## 対応バージョン

patches ディレクトリ内に GitLab のバージョンごとにパッチを格納しています。
バージョンが少しでも異なると適用できませんので、完全に一致するバージョンを選んでください。
v8.3.0 以降のパッチは [i18n-patch](https://github.com/ksoichiro/i18n-patch) を利用して生成しています。
ご希望のバージョンが登録されていない場合は、ご自身で生成することができます。

## 動作確認環境

| ソフトウェア | バージョン等 |
| ------------ | ---------------------------- |
| マシン | MacBookPro |
| OS | OS X 10.12 |
| VM | VirtualBox 5.1.4 |
| ゲスト OS | Ubuntu Precise 64 VirtualBox |
| GitLab | GitLab Omnibus Package |
| Vagrant | Vagrant 1.8.5 |
| Docker | 17.03.1-ce |
| Node.js | v7.8.0 |

## 適用方法

### 前提

[GitLab Community Edition のパッケージ](https://about.gitlab.com/downloads/)がインストールされているものとします。

### 基本

`patches/[GitLabバージョン]/app_ja.patch`がパッチです。
パッチを適用する GitLab のバージョンと完全に一致するものを選びます。
リポジトリをクローンするか、wget、curl などで直接パッチファイルをダウンロードします。
以下は wget で v8.16.6 のパッチを取得する例です。

$ wget https://raw.githubusercontent.com/ksoichiro/gitlab-i18n-patch/master/patches/v8.16.6/app_ja.patch

例えばホームディレクトリにパッチファイルを配置した場合、以下で適用します。

$ cd /opt/gitlab/embedded/service/gitlab-rails
$ patch -p1 < ~/app_ja.patch

なお、このプロジェクトでは過去には GitLab のバージョンごとにブランチを用意して
タグづけ(リリース)していたため、[master ブランチ以外のブランチ](https://github.com/ksoichiro/gitlab-i18n-patch/branches/all)や
[v0.24.1 などのリリース](https://github.com/ksoichiro/gitlab-i18n-patch/releases)が残っていますが、翻訳の作成方法を変更したため、これらは現在運用していません。
master ブランチの最新のコミットを利用してください。

### 既に稼働させている場合

Javascript ファイルを変更するため、パッチ適用後にプリコンパイルされたファイルを一度削除してプリコンパイルし直してください。

例:

$ cd /opt/gitlab/embedded/service/gitlab-rails
$ rm -rf public/assets
$ export PATH=/opt/gitlab/embedded/bin:$PATH
$ bundle exec rake assets:precompile RAILS_ENV=production

## 動作確認

### Vagrant での動作確認

各バージョンのパッチの動作確認のために、Vagrant で日本語反映版の GitLab を起動できます。

#### 起動

以下のコマンドで、指定のバージョン用の仮想マシン起動、GitLab Omnibus パッケージダウンロード、パッチ適用を行います。
例えば v6.6.4 ならば以下のようにします。

$ vagrant up v664

#### 停止

以下で停止します。

$ vagrant halt

#### 破棄

以下で仮想マシンを破棄します。

$ vagrant destroy

#### ポート番号

Web のポート番号(80)は、 `config/gitlab.yml` に定義する `base_port` の番号を起点として
バージョン番号(v6.6.4 なら 664)を加えた番号にポートフォワードします。
例えば、 `base_port: 9000` の状態で `vagrant up v664` を実行した場合は
`http://localhost:9664` で GitLab にアクセスできます。
v7.10.0 の場合は(番号が飛びますが)7100 + 9000 で 16100 です。

### Docker での動作確認

GitLab Community Edition の Docker イメージが公開されているものについては、Docker を使って動作確認できます。
公開されているイメージ(タグ)については[Docker Hub](https://hub.docker.com/r/gitlab/gitlab-ce/tags/)で確認してください。
`9.0.4-ce.0` のように、`バージョン-ce.0`の形式になっているタグがあれば、
日本語化版をビルドして利用することができます。

`docker`コマンドや`docker-compose`コマンドを利用して手作業でビルドしていただくことができますが、以下のような部分をバージョンに応じて切り替える手間を省き、手軽に動作確認できるよう Node.js/npm のスクリプトでラッピングしています。

- ソースイメージのバージョン(Dockerfile の FROM)
- 適用するパッチのバージョン
- マウントする各種ディレクトリ

#### 起動

以下を実行します。
最後のバージョンは、必要に応じて読み替えてください。

$ npm run docker up v9.0.4

アクセスできるようになるまでにはしばらく時間がかかります。

#### 停止

以下を実行します。
最後のバージョンは、必要に応じて読み替えてください。

$ npm run docker down v9.0.4

#### ビルド

以下を実行します。
最後のバージョンは、必要に応じて読み替えてください。

$ npm run docker build v9.0.4

#### その他の操作

各種ファイルは `.docker/バージョン` ディレクトリに生成され、ビルドされています。
データやファイルもこのディレクトリに生成されています。
上記以外の操作については、このディレクトリに移動して `docker-compose` コマンドで行なってください。

#### ポート番号

Vagrant の場合と同様です。
v9.0.4 を起動した場合は `http://localhost:9904` でアクセスできます。

## ライセンス

Copyright (c) 2014 Soichiro Kashima
Licensed under the MIT license.