ホーム

OFF-SOFT.net

OFF-SOFT.net

ウェブやソフトウェアに関するサポート&情報サイトです。サイト構築からソフトウェアの作成、利用まであなたの助けになるかも・・・・しれません。たぶん・・。

Google language APIでHTML丸ごと翻訳

公開日| 2009年05月19日 | コメントはまだありません。
概要 :
 Google AJAX Language APIを使った翻訳ページを作成してみました。 このGoogle AJAX Language APIの使い方に関する記事については、色んなサイトで記事がありますので、そちらを参照してください。 ここでは、作成した翻訳ページの説明を行うことで、こういうアプローチもあるのかなっと感じてもらえれば幸いです。

 ここで作成した翻訳ページの特徴は、HTMLのコードも含めて翻訳ができるように文章を区切って翻訳を行うことです。
そのため、他に比べて時間がかかると思いますが、HTMLのページをそのまま翻訳できるので便利です。(少なくとも私は、非常に便利です。)

 このサイトの翻訳(英語)のページは、この翻訳ページにて翻訳されました。

 Googleでの翻訳ですので、完全ではありません。 最終的には、人によって補間してあげる必要がありますが、初版としての翻訳をしてくれるだけでも、実際に、大変、助かりました。
また、翻訳に失敗する場合は、ほとんどが、日本語の誤りやHTMLの誤り(記述の誤りなど)でしたので、本文の再チェックにも、 多少なりとも役立ちました。

 では、翻訳ページの簡単な説明を記述したいと思います。

翻訳ページは、Language Transfer System Lite BETA です。
尚、翻訳ページは、IE7,FireFox3.0.10で動作確認されました。

関連記事: Google AJAX Language API
翻訳ページの解説
翻訳ページの各項目の説明を記載いたします。

画面の項目 説明 画面の項目 説明
翻訳元  翻訳元プレビュー表示 ボタン 翻訳元 は、翻訳したテキストを入力します。(HTMLタグを含んだテキストも可です)
翻訳元プレビュー表示 ボタンは、画面下の翻訳エリアへ、 翻訳元情報を表示します。
HTMLで記述してある場合に有効で、HTMLを表示イメージで表示します。 プレーンテキストの場合は、そのまま、表示されますので、改行などのHTMLタグで表記されていないテキスト記号は、 全て無視されます。
翻訳結果  翻訳結果プレビュー表示 ボタン 翻訳結果 は、翻訳した結果を(HTMLタグを含む)テキストとして出力します。
翻訳結果プレビュー表示 ボタンは、画面下の翻訳エリアへ、 翻訳結果情報を表示します。
HTMLで記述してある場合に有効で、HTMLを表示イメージで表示します。 プレーンテキストの場合は、そのまま、表示されますので、改行などのHTMLタグで表記されていないテキスト記号は、 全て無視されます。
翻訳パラメータ
翻訳:  翻訳の言語を選択します。 現在は、以下の翻訳が有効です。
  • 日本語 -> 英語
  • 英語 -> 日本語
翻訳元にHTMLを使っている この項目にチェックが入っている場合、HTML文書であることをGoogle AJAX Language APIへ通知して、翻訳を実施します。
この項目にチェックが入っていない場合、プレーンテキスト文書であることをGoogle AJAX Language APIへ通知して、翻訳を実施します。

基本的な違いは、HTMLのタグを意識して、そのタグの中まで、HTML翻訳の場合は、実施しません。
プレーンテキスト翻訳では、HTMLのタグを意識しませんので、すべてを翻訳しようとします。

例)
<img src="/images/sample.jpg" alt="これはテストです">

この場合、"これはテストです"という文章は、HTMLのタグの内側なので、HTML翻訳では、翻訳しません。 プレーンテキスト翻訳では、"This is a test"と翻訳されます。
文章の区切り文字列: 翻訳元のテキストをここで指定した文字列までを一つの文章として、区切って翻訳します。
ここでの指定文字列は、文字列の間を半角ブランク(空白)で区切ってください。
※特別な文字で、文章の区切りを行っている場合や、標準で表示している文字列を文章の区切り以外に頻繁に使用している場合を除き、そのままで良いと思います。
<pre>タグで括られた情報を翻訳しない この項目にチェックが入っている場合、HTML文書であることをGoogle AJAX Language APIへ通知して、翻訳を実施します。
この項目にチェックが入っていない場合、プレーンテキスト文書であることをGoogle AJAX Language APIへ通知して、翻訳を実施します。

基本的な違いは、HTMLのタグを意識して、そのタグの中まで、HTML翻訳の場合は、実施しません。
プレーンテキスト翻訳では、HTMLのタグを意識しませんので、すべてを翻訳しようとします。

例)
<img src="/images/sample.jpg" alt="これはテストです">

この場合、"これはテストです"という文章は、HTMLのタグの内側なので、HTML翻訳では、翻訳しません。 プレーンテキスト翻訳では、"This is a test"と翻訳されます。
文章の翻訳待ち最大時間(秒): 1文章を翻訳要求して返事がくるまでの最大待ち時間を指定します。
ADSL、光などの通信速度では、デフォルトの5秒で十分です。
通信速度が遅い場合やタイムアウトエラーが多発する場合を除き、ほとんど変更する必要はないと思います。
※1秒?10秒の範囲で指定できます。例えば、異常に長い100秒と入力しても10秒とみなされます。

翻訳のタイムアウトエラーが発生すると、翻訳結果には、以下のコメントが出力され、原文がそのまま出力されます。
原文は、以下のコメントで挟まれた部分になります。
<!--- error(n) --->

また、タイムアウトエラーが多発する場合、原文が正しくないことが多いです。一度、原文を見直されると良いと思います。
翻訳結果に翻訳元をHTMLコメントしてい差し込む この項目にチェックが入っている場合、翻訳結果にHTML形式のコメントとして翻訳元の原文が挿入されます。
ただし、原文がHTMLタグを使用している場合は、以下のように変換されます。

HTML記号(変換前) 変換後記号
<!-- ####
--> ###
-- ##
< [
{ [
> ]
} }

例)
変換前)
<!--- test taro { comment } --->
変換後)
####- test taro [ comment ] -###
このように変換されます。

更に、挿入される場合は、HTMLのコメント表記を使いますので、以下のようになります。
挿入後)
<!---####- test taro [ comment ] -###--->

実行時の情報と翻訳ボタン
項目名 状態(数/時間など) 翻訳実行 ボタン : 翻訳処理を開始します。
翻訳停止 ボタン : 翻訳処理を停止します。
※翻訳が終わらない場合などにご利用ください。

ここには、他にこのソフトウェアのバージョンなどが表記されます。
分割した文章数 翻訳元の原文を文章に分割した数を表記します。
変換した文章数 翻訳が完了した文章の数を表記します。
エラー発生数 翻訳で失敗した文章の数を表記します。
経過時間(秒) 翻訳にかかった時間を秒で表記します。
ここには、実行状況をプログレスバーで表記します。

翻訳実行時に、以下のエラーが表示されることがあります。
ほとんどは、異常な画面からリクエストした場合に発生します。画面情報を見直して再度、実行してください。

"Gui Error GUI Parts not found in HTML": HTMLの画面が異常です。このエラーが発生した際はお知らせください。
"Gui Parameters Error GUI Parameters Parts not found in HTML": HTMLの画面が異常です。このエラーが発生した際はお知らせください。
"Parameter Error Parameter incorrect.": HTMLの入力画面に正しい値が設定されていません。入力を確認してください。

プレビュー画面
翻訳元 翻訳元 は、翻訳元プレビュー表示 ボタンをクリック時、または、 翻訳実行 ボタンをクリック後、翻訳が開始した際に自動的に表示します。
翻訳結果  翻訳結果プレビュー表示 ボタン 翻訳結果 は、翻訳結果プレビュー表示 ボタンをクリック時、または、 翻訳が完了あるいは停止した際に自動的に表示します。

Google AJAX Language APIでは、最大文字数が500文字までのようです。
そのため、長い文章の場合、エラーになります。また、短い文章でも、文章に誤字、脱字があるとエラーが発生します。
エラーとならなくても、翻訳に失敗している場合もあります。その場合、多くは、ローマ字(大文字)(あるいは、日本語+ローマ字(大文字))で翻訳したように見せています。 こでは、日本語が難しすぎる場合、言い回しが判り難い場合です。

結局は、翻訳ツールがどんな良くても、元の文章に間違いなどがあれば、だめだということです。
このサイトの日本語を英語へ変換した際、のべ数十のエラーが検出されましたが、ほとんどが、誤字、脱字の類が原因でした。 日本語の難しい言い回しも、失敗することが多いです。 やさしい日本語を記述してあげると、Google AJAX Language APIも喜んでくれるのでしょう。

これから、翻訳ページなどを作成してみようと思われる方へ、少し参考になれば幸いです。

コメント

コメントをどうぞ







  • はてなブックマークへ追加する
  • Facebookでシェアする
  • twitter でつぶやく
  • Google Plusでシェアする
  • Pocketでシェアする
ページトップへ