jkf gem
jkf gemはJSON棋譜フォーマット (JKF)をRubyに移植したものです。 柿木形式(棋譜ファイル KIF 形式、KI2)、CSA標準棋譜ファイル形式の構文解析とJKFへの変換、JKFからKIF, KI2, CSAへの変換に対応しています。
インストール
アプリケーションにインストールする場合(Bundlerを使用する場合)、Gemfileに以下のように記述してください。
gem 'jkf'
さらにbundleコマンドを実行することでインストールできます。
または、gem installコマンドを使って直接インストールもできます。
使い方
KIF, KI2, CSAそれぞれ構文解析器 Jkf::Parser と変換器 Jkf::Converter が用意してあります。
kif_parser = Jkf::Parser::Kif.new
ki2_parser = Jkf::Parser::Ki2.new
csa_parser = Jkf::Parser::Csa.new
kif_converter = Jkf::Converter::Kif.new
ki2_converter = Jkf::Converter::Ki2.new
csa_converter = Jkf::Converter::Csa.new
Jkf::Parser::Base#parse でJKFへの変換、 Jkf::Converter::Base#convert でJKFから各形式へ変換できます。
jkf = kif_parser.parse(kif_str) #=> Hash
jkf = ki2_parser.parse(ki2_str) #=> Hash
jkf = csa_parser.parse(csa_str) #=> Hash
kif = kif_converter.convert(jkf) #=> String
ki2 = ki2_converter.convert(jkf) #=> String
csa = csa_converter.convert(jkf) #=> String
貢献
バグレポートやプルリクエストはリポジトリでよろしくお願いします。
Guixで開発されている場合はguix shellでrake testによるテスト実行ができます。
翻訳はドキュメントとAPIの2種類があります。
APIについてはRDocの国際化の機能を使います。
POTファイルの生成にはrdoc --format potとします。
これによりdoc/rdoc.potが生成されます。
このPOTファイルから各言語のPOファイルを初期化できます。
例えばmsginit -i doc/rdoc.pot -o po/en.rdoc.po --locale en_US.UTF-8です。
謝辞
このプロジェクトはGitHubのiyuuya/jkfを元にしています。 そこからGitHubのgemmaro/jkfにフォークされました。 現在の開発はSourceForgeのjkfに移っています。
利用許諾
ライセンスはMIT Licenseです。