KiCadの未翻訳部分を修正

目次

KiCad ソースコードの変更によりたまに見つかる未翻訳部分を日本語にする方法。

KiCad は日本語の他に多数の言語に対応しています(注 1)。ここで表示されるメッセージは、プログラムの作成者が各言語のメッセージを書くのではなく、多数のボランティアが翻訳したオリジナルに対応する各言語でのメッセージをユーザの環境に合わせて表示しています。

そのため KiCad の最新版を追いかけていると翻訳されていないオリジナルのメッセージを見ることもあります。翻訳されていないメッセージがあっても、大抵は少しすれば「誰か」が翻訳してくれて未翻訳の部分がなくなります。ただその「誰か」がいつ翻訳してくれるのかはわからず、それまで日本語と英語が混じった表示のちょっと気持ち悪い思いをしながら KiCad を使うことになります。

プログラムの修正は流石にだいぶ敷居が高いので私にはちょっと手が出せません(注 2)が、翻訳は簡単なので「直らないかな」と待つよりは自分で翻訳してしまったほうが気分爽快です。

  1. 前提
  2. 翻訳環境の準備
  3. 手元のレポジトリをアップデート
  4. 翻訳ファイルを更新
  5. 翻訳する
  6. 翻訳結果を反映してもらう

前提

Git と Github のサービスを使用しますが、それらの基本的な使い方をすでに理解している前提で説明しています。

対訳が簡単にできる poedit を使用します。poedit の使い方は Git や Github ほどには一般的なプログラムではありませんが、これもググると使い方の解説はたくさんあるのでそれらを参照してください。

ただし poedit の使い方を書いたページは、ほとんどが固定された翻訳ファイル(po ファイル)の翻訳する方法でした。日々更新されるソースファイルの変更を翻訳ファイルに反映させる方法は簡単ですが、その方法を書いたページが見つからなかったので、「翻訳ファイルを更新」で説明します。

また Ubuntu(Linux)上での手順を説明しますが、git と poedit には Windows 版と Mac 版もあるので、Windows や Mac でも基本的に同じ手順で翻訳できます。

翻訳環境の準備

まず必要なソフトをインストールします。

$ sudo apt-get install git poedit

次に Github 上のKiCad ソース KiCad/kicad-source-mirror(注 3)とそのメッセージを日本語化する翻訳ファイルのレポジトリ kicad-jp/kicad-i18nを手元にコピー(複製)してきます。KiCad ソースは変更を加えないので直接レポジトリをコピーしてきますが、翻訳ファイルのレポジトリは後で修正したものを取り込んでもらうので Github 上でフォークしたものを手元にコピーします。

$ cd ~
# HOMEディレクトリ直下にコピーしてくるとします。
$ git clone https://github.com/KiCad/kicad-source-mirror.git
$ git clone https://github.com/nosuz/kicad-i18n.git

翻訳レポジトリは、コピー元ではなく上流と同じくなるように更新するので上流レポジトリの場所を設定します。

$ cd kicad-i18n
$ git remote add upstream https://github.com/kicad-jp/kicad-i18n.git

コピー直後は、どちらのレポジトリも最新であることが自明ですので次の「手元のレポジトリをアップデート」を省略できます。

手元のレポジトリをアップデート

レポジトリをコピーした直後は最新ですが、少し時間が開いた時はその間に「誰か」がすでに翻訳した部分が有るかもしれません。そのため同じ所を一度翻訳する無駄な作業をしなくて良いように翻訳作業前にレポジトリーを更新しておきます。

KiCad ソースをアップデートするのは簡単です。

$ cd ~/kicad-source-mirror
$ git pull

翻訳レポジトリは、上流と同じくなるように更新するので少し手間がかかります。ソースと同じように上流のレポジトリを指定して pull しても良いのかもしれませんが、私はダウンロードとマージの二段階に分けて更新しています。

$ git fetch upstream -v
From https://github.com/kicad-jp/kicad-i18n
 = [up to date]      ja         -> upstream/ja
 = [up to date]      master     -> upstream/master

# -vを省くと、更新がないときにはUnixの慣例に従い何もメッセージが表示されません。。

$ git branch
* ja

# 作業ブランチを作るべきなんでしょうけど…。

$ git merge upstream/ja
Updating b85df9f..3d442aa
Fast-forward
 ja/kicad.po | 323 +++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 166 insertions(+), 157 deletions(-)

翻訳ファイルを更新

$cd ~/kicad-i18n
$ poedit ja/kicad.po &

or

$ poedit &

# poeditが起動したら、メイン画面の「翻訳を編集」ボタンをクリックするか「ファイル」メニューの「開く」からja/kicad.poを開きます。

この kicad.po が翻訳ファイル(注 4)の本体です。この中に KiCad ソースのディレクトリが書かれていますが作業者毎に異なるので、自分の環境に合うように修正します。

  1. 「カタログ」メニューから「設定」を選択する。
  2. 「ソースの検索」タブを選択する。
  3. 「ベースのパス」欄を手元の KiCad ソースレポジトリの位置に合わせて書き換える。
  4. 「OK」をクリックしてダイアログを閉じる。
  5. アイコンメニューの「更新する」をクリックする。カタログを保存するか聞かれるので、もちろん「保存」。

カタログの設定

翻訳する

KiCad に表示されるメッセージは膨大なので未翻訳がどこに有るか見つけるのは困難です。そこで「表示」メニューの「未翻訳の項目を先頭に」を有効にすると、未翻訳のメッセージが先頭に表示されて便利です。

未翻訳のメッセージがあったら翻訳するメッセージを選択して、その対訳を「翻訳」欄に書き込みます。

翻訳を終了したら「保存」ボタンをクリックして保存します。そして忘れずに手元の Git レポジトリにもコミットしておきます。

翻訳結果を反映してもらう

翻訳が完了したら、これをオリジナルのレポジトリに反映させます。ただしオリジナルのレポジトリに書き込む権限はない(注 5)ので、Github 上のフォークした自分のレポジトリを経由してオリジナルに反映してくれるように依頼(PullRequest, PR)をします。

ここは Github の使い方なので概略だけ示すと次のようになります。

  1. git pushで Github 上の自分のレポジトリを手元のレポジトリと同期させる。
  2. Github 上で PullRequest を作成して送信する。

PullRequest はただのお願いでです。オリジナルの持ち主が内容を確認してて、問題がなければオリジナルに反映されます。なので間違った変な修正を送ったからと言ってオリジナルの内容が壊れる心配はありません。そのため「こんな翻訳(訳文)で良いのかな?」と迷ってるよりは、とりあえず送って意見を聞いたほうが早いです。おかしかったら直して反映されるか、修正方法を教えてくれます。

また同じ部分を何人もで翻訳するという無駄な仕事をしないように、まとめてではなく最低一日一回は PR を送るようにします。

参照

  1. KiCad は多言語に対応していますが、対応しているのはメニューやダイアログ表示、ヘルプドキュメントのみです。残念ながら回路図や基板に日本語を表示させることは簡単ではありません。
  2. たまにメインでないシェルスクリプトのエラーで修正できることもあります。例えばkicad-install.sh fails on enabling python scripting – KiCad Bugs
  3. Github 上の KiCad ソースは、レポジトリの名前でわかるように本体のコピーです。それでも 10 分毎に更新されているので、ほとんど最新のソースとみなせます。
  4. po ファイルは普通のテキストファイルです。よってすで誰かが po ファイルを作成していて、それを翻訳するだけならば普通のテキストエディタで作業することも可能です。
  5. Github の kicad-jp/kicad-i18n に書き込む権限があっても、自分の修正は他の人にチェックしてもらいたいです。