正直,こんな勝手にプラグインを追加しても良いのかちょっと迷う

一応,subversionリポジトリにつっこんでありますが,IKeJIに文句言われたら,消します.そのときは,どっか他のところで野良として公開しますが.

translation::yahooプラグイン

Mechanizeが必要.gem install mechanizeしてください.

Yahoo翻訳を使って,入力のStringを翻訳します.

- module: const_list
  config:
    - それPraggerでできるよ
    - Praggerでどうやるかは聞いてねえよ
- module: translations::yahoo
  config:
    translation: ja=>en
- module: stdout

実行例.

exec plugin const_list
exec plugin translations::yahoo
exec plugin stdout
I can do it in it Pragger
I hear how you live on Pragger, and it is an older sister

Praggerでどうやるかは聞いてねえよ」の訳がとんでもないことになってますが,とりあえず翻訳できてるみたいです.

英日,日韓,韓日,日中,中日翻訳は,それぞれen=>jaja=>krkr=>jaja=>cncn=>jaを translationオプションに設定します.

apply_text_htmlプラグイン

Hpricotが必要.gem install hpricotしてください.

入力のHTMLに含まれるテキストに対して,config以下を実行します.

- module: const_list
  config:
    - http://pragger.ikejisoft.com
- module: get_html
- module: apply_text_html
  config:
    - module: translations::yahoo
      config:
        translation: ja=>en
- module: stdout

実行例.

exec plugin const_list
exec plugin get_html
exec plugin apply_text_html
exec plugin translations::yahoo
exec plugin stdout
<!DOCTYPE htmlここに翻訳した文章が表示されます。   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"ここに翻訳した文章が表示されます。"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">ここに翻訳した文章が表示されます。<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <title>PRagger - Trac</title><link rel="start" href="/wiki" /><link rel="search" href="/search" /><link rel="help" href="/wiki/TracGuide" /><link rel="stylesheet" href="/trac/css/trac.css" type="text/css" /><link rel="stylesheet" href="/trac/css/wiki.css" type="text/css" /><link rel="icon" href="/chrome/common/trac.ico" type="image/x-icon" /><link rel="shortcut icon" href="/chrome/common/trac.ico" type="image/x-icon" /><link rel="alternate" href="/wiki/WikiStart?format=txt" title="Plain Text" type="text/plain" /><style type="text/css">
</style>
 <script type="text/javascript" src="/trac/js/trac.js"></script>
</head>
<body>ここに翻訳した文章が表示されます。
<div id="banner">

<div id="header"><a id="logo" href="http://trac.edgewall.com/"><img src="/chrome/common/trac_banner.png" width="236" height="73" alt="Trac" /></a><hr /></div>

<form id="search" action="/search" method="get">
 <div>ここに翻訳した文章が表示されます。<label for="proj-search">A search文字列:</label>
  <input type="text" id="proj-search" name="q" size="10" accesskey="f" value="" />
  <input type="submit" value="検索実行" />
  <input type="hidden" name="wiki" value="on" />
  <input type="hidden" name="changeset" value="on" />
  <input type="hidden" name="ticket" value="on" />
 </div>
</form>ここに翻訳した文章が表示されます。<div id="metanav" class="nav"><ul><li class="first"><a href="/login">Login</a></li><li><a href="/settings">User setting</a></li><li><a href="/wiki/TracGuide" accesskey="6">Help /Guide</a></li><li class="last"><a href="/about">About Trac</a></li></ul></div>
</div>

<div id="mainnav" class="nav"><ul><li class="active first"><a href="/wiki" accesskey="1">Wiki</a></li><li><a href="/timeline" accesskey="2">A timeline</a></li><li><a href="/roadmap" accesskey="3">A road map</a></li><li><a href="/browser">A repository browser</a></li><li><a href="/report">I watch a ticket</a></li><li><a href="/newticket" accesskey="7">Ticket registration</a></li><li class="last"><a href="/search" accesskey="4">検索</a></li></ul></div>
<div id="main">ここに翻訳した文章が表示されます。<div id="ctxtnav" class="nav">
 <h2>Wiki navigation</h2>
 <ul>
  <li><a href="/wiki">A start page</a></li>
  <li><a href="/wiki/TitleIndex">A page list</a></li>
  <li><a href="/wiki/RecentChanges">The page that was updated recently</a></li>
  ここに翻訳した文章が表示されます。<li class="last"><a href="/wiki/WikiStart?action=history">A page history</a></li>ここに翻訳した文章が表示されます。</ul>
 <hr />
</div>

<div id="content" class="wiki">ここに翻訳した文章が表示されます。<div class="wikipage">
    <div id="searchable"><h1 id="PRaggerへようこそ">Welcome to PRagger.</h1>
<p>Pragger was written in Ruby<a class="ext-link" href="http://plagger.org/trac"><span class="icon">Plagger</span></a>もどきです.</p>
<p>I utilize object oriented of Ruby to the maximum, and it is made.</p>
<ul><li>How to use Pragger<a class="wiki" href="/wiki/UsingPragger">UsingPragger</a>
</li><li>An acquisition method of Pragger<a class="wiki" href="/wiki/GetPragger">GetPragger</a>
</li><li>A collection of samples of a preference<a class="wiki" href="/wiki/SampleConfig">SampleConfig</a>
</li><li>A list of plug in<a class="wiki" href="/wiki/PluginList">PluginList</a>
</li></ul><ul><li><a class="wiki" href="/wiki/FeedBacks">Reaction of various fields</a>
</li><li><a class="wiki" href="/wiki/LicenseOfPragger">A license</a>
</li></ul><ul><li><a class="ext-link" href="http://www.lingr.com/room/pragger"><span class="icon">Chat room(Lingr)</span></a>
</li></ul></div>
   </div>ここに翻訳した文章が表示されます。<script type="text/javascript">addHeadingLinks(document.getElementById("searchable"));</script>ここに翻訳した文章が表示されます。</div>

<script type="text/javascript">searchHighlight()</script>
<div id="altlinks"><h3>I download it with a different format:</h3><ul><li class="first last"><a href="/wiki/WikiStart?format=txt">Plain Text</a></li></ul></div>

</div>

<div id="footer">
 <hr />
 <a id="tracpowered" href="http://trac.edgewall.com/"><img src="/trac/trac_logo_mini.png" height="30" width="107"
   alt="Trac Powered"/></a>
 <p class="left">Powered by<a href="/about"><strong>Trac 0.9.6</strong></a><br />By<a href="http://www.edgewall.com/">Edgewall Software</a>.<br />Translated by<a href="http://www.i-act.co.jp/">インタアクト Co., Ltd.</a>
 </p>
 <p class="right">Visit the Trac open source project at<br /><a href="http://trac.edgewall.com/">http://trac.edgewall.com/</a>
 </p>
</div>ここに翻訳した文章が表示されます。</body>
</html>

ところどころ「ここに翻訳した文章が表示されます」になっちゃうのが悲しいですけど,とりあえず動いているもよう.