5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EmacsAdvent Calendar 2022

Day 15

Magit infoファイル 翻訳

Last updated at Posted at 2021-09-14

"It’s Magit! The magical Git client"

キミもマジットを使ってマジシャンになろう!

  • マジット(FAQ Magitの読み方は? 参照)

  • マジシャン(Getting Started 参照)

更新

2022/08/25 本家(712be463)を取り込んで翻訳を更新 Magit v3.3.0-git 用になりました。パーシャルチェックアウトの記述が充実したのと、マウスサポートについて簡単に追記されています(マウスサポート関連のLisp関数等については Magit-section参照)

2021/12/09 本家(1eb183e7)を取り込んで翻訳を更新。magit v3.3.0 用になりました。文書の変更は、バージョン番号書き換えと、一部文言修正、外部参照URL変更程度の軽微な修正のみです。

2021/09/25 本家(2049fd6f)を取り込んで翻訳を更新。magit v3.2.1-64-g8771401d4+1 用になりました。magit-bundleあたりはこれからの追記っぽい感じです。

使い方

のブランチ docs-ja より、

docs/docs-ja フォルダの

  • magit.ja.info
  • magit-section.ja.info
  • dir

を持ってきて、それだけをフォルダに入れる。例えば ~/work/magit-docs-ja/docs/docs-ja

init.elに書き加える

(add-to-list 'Info-directory-list "~/work/magit-docs-ja/docs/docs-ja")

あなたの info の先頭に Magit(ja) とか現れる

htmlを生成

上記リポジトリを手元にcloneしてくる。
docs/docs-ja フォルダで make html

注意

翻訳開始時点での Magitバージョンが 3.2.1 (de1dc8e7) でしたので更新する文書ももそれ以降のものだけになるかと思います。

ノード名の一部を翻訳してしまいましたので、外部からの参照に失敗するかもしれません。

html生成物はチェックとかしてないです。

翻訳手順

git switch docs-ja

cd docs-ja

make info

すると、poファイルが無い場合は生成し、
原文ファイルが更新されていればpoファイルを更新します(下記参照) 原文ファイルに更新が無い場合は make info しても poファイルはいじりません。

翻訳更新手順

本家から(masterに)fetchなりpullしてきます。ドキュメント以外いじってないので、docsフォルダ以外は競合は発生しないと思います。
docs-jaブランチへマージします。(git switch docs-ja; git merge master)
そしたら make infoを実行すると自動で po ファイルの更新行います。 --previous オプション付きなので、原文変更になった部分は、前の文がコメントとして入り、 fuzzy 扱いになります。 po ファイルを開いて fuzzy や obsolute や untranslated を潰してやれば更新完了です。

##持続的開発目標
流行りの SDGs です 持続的翻訳です。 巷の翻訳は大変ありがたいのですが、それを更に更新していく方法が分かりません。

あわよくばだれかが肩代わりしてくれると嬉しいななんて思います。

こちらさんを参考にさせてもらってます。

翻訳の流れ(仕組み)

po4aとsedとawkを使ってpoファイルに落とし込んだあとEmacsのpo-modeで行います。

前処理

ソースのmagit.texiファイルはそのままではpo4aでエラーになるため加工してからpo4aに食わせます。sed-outフォルダ。

変更点は @ifhtml で囲った中で更に @html で囲ってる部分で、po4aではこの部分で警告がでます。 @ifhtml の中では html なのは自明で省略してもいいと判ったので単純に @ifhtml の中の @html を削っています。

翻訳作業

翻訳。poフォルダ

翻訳中の確認作業は

M-x compile で

cd ~/work/magit-docs-ja/Documentation/docs-ja ; make info

起動時に一度打ち込めばあとは補完でいけますのでEmacs起動のたびに打ってますが、めんどくさかったらshellスクリプトにするなどしてください。

infoファイル更新時挙動

そのinfoファイルを呼び出すところから、全体メニュー(?)まで一旦戻らないと新しいinfoファイルの読み込みをしてくれないようです。その場で更新するには M-x revert-buffer です。

後処理

そして翻訳後 po4a-translate で生成した magit.ja.texi は削除しちゃダメな改行を削除とかしやがる(info生成でエラーになる)のでこれを個別に修正しておきます。translate-rawフォルダ

なぜかpoに変換すると

@documentencoding UTF-8 @documentlanguage en

と一行にしてしまいます。これを改行入れて

@documentencoding UTF-8
@documentlanguage en

とするだけです。

info生成

翻訳後のファイルが Document/docs-ja/magit.ja.texi と magit-section.ja.texi です。

これを info に変換したのが magit.ja.info と magit-section.ja.info です。同時に dir ファイルも生成されます。

info生成時になんとなく桁数80を指定しています。必要に応じて適宜変更して下さい。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?