Skip to content

vim-jp/lang-ja

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

579 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vim-jp/lang-ja

Join the chat at https://gitter.im/vim-jp/lang-ja test vim lang files

Vimに付属する日本語翻訳ファイルを管理するリポジトリ

ディレクトリ/ファイル 解説

パス 説明
src/po/, runtime/lang Vimに付属の日本語翻訳ファイルが置いてあります。
src/po/ja.po Vimのメッセージ翻訳ファイルのマスター(UTF-8)
runtime/lang/menu_ja_jp.utf-8.vim Vimの日本語メニューファイルのマスター(UTF-8)
runtime/doc/*-ja.UTF-8.1 日本語manファイル(UTF-8)
runtime/doc/*.1 原文manファイル
runtime/tutor/tutor{1,2}.ja 日本語チュートリアルファイル(UTF-8)
runtime/tutor/tutor{1,2} 原文チュートリアルファイル
nsis/lang Windows用インストーラーの翻訳ファイル

原文ファイル取り込み手順

以下のコマンドを実行して原文ファイルを現在の作業ディレクトリに取り込む。 (VIM_SRC_DIR で Vim のソースディレクトリを指定)

$ make import-en-files VIM_SRC_DIR=../vim

この手順では、vim.pot ファイル、man ファイル、チュートリアルファイル、NSIS ファイルの原文ファイルをまとめて取り込む。個別に取り込む場合や注意事項は以下の それぞれの項目を参照のこと。

メニューファイルについては、原文ファイルにあたるものがないので、取り込みは行わ ない。runtime/menu.vim などの履歴を見て手動で適宜更新する必要がある。

ja.po 更新手順

  1. vim.pot を作成(要xgettext)

    (前述の原文ファイル取り込み手順を実施済みであれば不要。)

    Vimのソースで以下を実行して、生成される vim.pot を src/po へコピー

    $ cd src/po
    $ make vim.pot
    

    註: make vim.pot を実行するには src/./configure を実行しておく必 要があるが、src/po/Makefile の4行目の include ../auto/config.mk をコメ ントアウトして回避することも可能。(あるいは、空の src/auto/config.mk を 用意してもよい。)

    Windows 上で vim.pot を生成するには、Cygwin や MSYS2 等の Linux 的な環境を 使うこと。(MSVC 用の Makefile も用意されているが、ソースファイルの読み込み 順序が異なるために余計な差分が出てしまう。) また、古いソースを使って Win32 向けにビルドしたことで src/if_perl.c が 残っているならば、vim.pot 生成前に削除しておくこと。(余計な差分が出るのを 防ぐため。)

  2. ja.po に vim.pot をマージ (古いものは ja.po.old へ退避される)

    $ make merge
    
  3. ja.po のコピーライトやヘッダーを適宜修正

    これはPRを作るだけの場合は、やらないほうが良いかも。

  4. 翻訳する

    Vimを使って下記の検索コマンドで翻訳すべき場所を探すと良い。

    /fuzzy\|^msgstr ""\(\n"\)\@!
    
  5. 不要な情報の削除

    Vim で以下のようにする。

    :source cleanup.vim
    

    cleanup.vim は Vim 本体からのコピー (実行には Vim 8.0.0794 以降が必要)

  6. チェック

    $ vim -S check.vim ja.po
    

    make check でも代替可能。

  7. もう1回マージして、整形と消しすぎたコメントの復活

    $ make merge-force
    $ vim ja.po
    :source cleanup.vim
    :wq
    

manファイル更新手順

  1. 原文manファイルの更新

    (前述の原文ファイル取り込み手順を実施済みであれば不要。)

    Vimのソースファイルの runtime/doc/ ディレクトリから、原文manファイルを本リ ポジトリにコピー。

    $ cd /path/to/vim/runtime/doc
    $ cp evim.1 vim.1 vimdiff.1 vimtutor.1 xxd.1 /path/to/lang-ja/runtime/doc
    
  2. 翻訳

    原文の差分を見つつ翻訳ファイルを更新する。

    $ git diff | gvim -R -
    
  3. 表示確認

    以下のコマンドで表示を確認できる。

    $ groff -Tutf8 -Dutf8 -mandoc -mja vim-ja.UTF-8.1 | less -R
    
  4. エラーチェック

    以下のコマンドでmanの文法に違反していないかチェックできる。

    $ make test
    

    ファイル単体をチェックする場合は以下のコマンドを使う。

    $ LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z vim-ja.UTF-8.1 2>&1 > /dev/null | grep -v "cannot adjust line\|\(cannot\|can't\) break line"
    

    (末尾の grep -v は、日本語の場合に大量に表示される cannot adjust linecannot break line (あるいは can't break line) を除外するためのもの。)

    参照: https://lintian.debian.org/tags/manpage-has-errors-from-man.html

  5. コミット

    原文と日本語訳は常に同じバージョンがコミットされているように注意すること。

チュートリアルファイル更新手順

  1. 原文チュートリアルファイルの更新

    (前述の原文ファイル取り込み手順を実施済みであれば不要。)

    Vimのソースファイルの runtime/tutor/ ディレクトリから、原文チュートリアル ファイルを本リポジトリにコピー。

    $ cd /path/to/vim/runtime/tutor
    $ cp tutor /path/to/lang-ja/runtime/tutor
    
  2. 翻訳

    原文の差分を見つつ翻訳ファイル(UTF-8)を更新する。

    $ git diff | gvim -R -
    
    $ vim tutor1.ja
    $ vim tutor2.ja
    
  3. コミット

    原文と日本語訳は常に同じバージョンがコミットされているように注意すること。

NSIS ファイル更新手順

  1. 原文 NSIS ファイルの更新

    (前述の原文ファイル取り込み手順を実施済みであれば不要。)

    Vimのソースファイルの nsis/lang/ ディレクトリから、原文 NSIS ファイルを 本リポジトリにコピー。

    $ cd /path/to/vim/nsis/lang
    $ cp english.nsi /path/to/lang-ja/nsis/lang
    
  2. 翻訳

    原文の差分を見つつ翻訳ファイルを更新する。

    $ git diff | gvim -R -
    
  3. コミット

    原文と日本語訳は常に同じバージョンがコミットされているように注意すること。

メニューファイル更新手順

  1. Vim のソースディレクトリに行き、runtime/menu.vimruntime/lang/ の 履歴を調べる。

  2. 必要な変更を runtime/lang/menu_ja*.vim に反映する。

リリース手順

リリースにはリリースアーカイブの作成と、Vimへの反映(PR作成)がある。 どちらも GitHub の master ブランチへ反映させるところまでは共通の手順となる。

共通手順: master ブランチを更新する

  1. 各リソースが最新に近いことを確認する

    TODO: 将来、より具体的で自動化された手段を提供したい

  2. PO-Revision-Date を更新する

    ja.po のヘッダにある PO-Revision-Date を、リリース用に更新する。

  3. テストをパスする

    $ make test
    

    CI で実行しているのでローカルでやる意味は無いが、テストをパスするこ とを確認する。

  4. 変更を master ブランチへ反映させる

    必要に応じてPRしてマージ、もしくは直接 push して master ブランチをリリース できる状態にする。

リリースアーカイブの作成

リリースアーカイブの作成はタグ付けにより駆動する GitHub Actions ワークフローを 用いる。

  1. master ブランチ上でタグ(YYYYMMDD)を作成し、GitHub へ push する

    $ git switch master
    
    # 日付ベースのタグを打つ
    $ git tag -am '{リリースコメント}' 20260323
    
    # タグを GitHub へpush
    $ git push origin 2060323

    有効なタグのフォーマットは以下のいずれか。 下2つについてはあとのステップで作成されるリリースが、 自動的に pre-release としてマークされる。

    • ^\d\d\d\d\d\d\d\d$
    • ^\d\d\d\d\d\d\d\d-alpha\..*$
    • ^\d\d\d\d\d\d\d\d-beta\..*$
  2. GitHub Actions の [Releaseワークフロー][#release-workflow] が終わるのを待つ

  3. ドラフト状態のリリースを、適宜編集し公開(ドラフト解除)する

    リリースアーカイブは前ステップが添付してくれている。

Vimへの反映

事前に前述のリリースアーカイブを作成することを推奨するが、必須ではない。

  1. Vim のソースディレクトリを更新する

    GitHub に PR を出す場合は、以下のコマンドを実行して lang-ja のファイルを Vim のソースディレクトリへコピーし更新する。 VIM_SRC_DIR で Vim のソースディレクトリの位置を指定する。

    $ make update-src-dir VIM_SRC_DIR=../vim
    

    以下のようにファイルが所定のディレクトリへコピーされる。

    .\
      +-- nsis\
      |   +-- lang\
      |       +-- japanese.nsi
      +-- runtime\
      |   +-- doc\
      |   |   +-- evim-ja.UTF-8.1
      |   |   +-- vim-ja.UTF-8.1
      |   |   +-- vimdiff-ja.UTF-8.1
      |   |   +-- vimtutor-ja.UTF-8.1
      |   |   +-- xxd-ja.UTF-8.1
      |   +-- lang\
      |   |   +-- menu_ja.cp932.vim
      |   |   +-- menu_ja.euc-jp.vim
      |   |   +-- menu_ja.eucjp.vim
      |   |   +-- menu_ja.ujis.vim
      |   |   +-- menu_ja.utf-8.vim
      |   |   +-- menu_ja_jp.cp932.vim
      |   |   +-- menu_ja_jp.euc-jp.vim
      |   |   +-- menu_ja_jp.eucjp.vim
      |   |   +-- menu_ja_jp.ujis.vim
      |   |   +-- menu_ja_jp.utf-8.vim
      |   |   +-- menu_japanese_japan.932.vim
      |   +-- tutor\
      |       +-- tutor1.ja
      |       +-- tutor2.ja
      +-- src\
          +-- po\
              +-- ja.euc-jp.po
              +-- ja.po
              +-- ja.sjis.po
    
  2. vim/vim に対してリリースする

    GitHub に PR を出す。 このとき Sign-off (git commit -s) を忘れずに。 PR のテンプレートは以下の通りだが、必要に応じて適宜アレンジして良い。

    I'd like to updated Japanese translations for the Vim.  The content
    contained in this PR was created collaboratively by multiple peoples in
    the vim-jp/lang-ja project, and I, {あなたのなまえ}, am submitting it as
    the project representative.
    
    The same file is also available at the vim-jp/lang-ja repository:
    https://github.com/vim-jp/lang-ja/releases/tag/{最新のタグ}
    

    サンプル: Vim 9.2リリースに伴う翻訳の更新PR

About

Manage Japanese language files which distributed with vim.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors