●ヤフー英日翻訳

情報


概要

英文をYahoo!翻訳して翻訳した文章を返します。

解説

引数

S:英文

返り値

翻訳された日本語文

サンプルプログラム

経過ダイアログ=オフ。
「What do you usually do on weekends?」を簡易ヤフー英日翻訳して言う。
//何を通常週末にするか。

「What do you usually do on weekends?」をヤフー英日翻訳して言う。
//あなたは、通常週末に何をしますか?

//本体

//サンプル

経過プログレスバーとはプログレスバー。そのレイアウト=上。その最大値=100。
経過ステータスバーとはステータスバー。そのレイアウト=下。

#------------------------------------------------------------
#オプション
#------------------------------------------------------------
デフォルトタイムアウト回数=100。//0.1秒単位 0.1*[50]=5秒。
TCPホスト=「localhost」。//プロキシを使うとき用
TCPポート番号=80。//プロキシを使うとき用
HTTPバージョン=「1.1」。//よく知らない
TCP経過表示設定=オン。//経過表示したい場合
瞬間ダウンロード幅=10。//瞬間ダウンロード速度の値の瞬間度をどの程度にするか 低いほど瞬間的 高いほど平均ダウンロード速度に近づく

デフォルトヘッダ=「Accept: */*
Accept-Language: ja
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)」。//定番モノを入れておく

●TCP経過表示
  //【使える状況確認用変数 一覧】
  //現在メソッド     → 今なにをしてるのか
  //タイムアウト回数   → タイムアウトまでの回数(0.1秒)
  
  //受信予定バイト数   → ダウンロードする予定のサイズ(単位:B)
  //受信バイト数     → 現在ダウンロード完了してるサイズ(単位:B)
  //追加受信バイト数   → 実際に今回ダウンロードしてるサイズ(レジューム○○の時に使う)
  //経過パーセント    → どのぐらいダウンロードできたか(プログレスバーとかに使ってね)
  //平均ダウンロード速度 → ダウンロード速度(B/s)。//×8でbps //÷1000でKB/s //×8÷1000でKbps
  //瞬間ダウンロード速度 → ダウンロード速度(B/s)。↑に比べて瞬間的 「瞬間ダウンロード幅」で計算間隔を決めよう
  
  //現在ホスト      → ホスト・ドメイン
  //現在ホスト先     → どのページを見てるか的なもの
  //現在アドレス     → URL
  
  //ダウンロード先    → 出力先の絶対パス
  
  //サンプル
  母艦のタイトル=「【{現在メソッド}】Time:{タイムアウト回数} / 予定:{(受信予定バイト数/1024/1024)を2で小数点切り上げ}MB 現在:{(受信バイト数/1024/1024)を2で小数点切り上げ}MB」。
  経過プログレスバーの値=経過パーセント。
  経過ステータスバーのテキスト=「{経過パーセントを3でゼロ埋め}% / 平均:{INT(平均ダウンロード速度/1024)}KB/s / 瞬間:{INT((瞬間ダウンロード速度/1000)*8)}Kbps / 追加:{追加受信バイト数}」。
  
#------------------------------------------------------------
#------------------------------------------------------------
#------------------------------------------------------------
#------------------------------------------------------------
#オプションここまで ↑↑↑↑↑↑ ↓はいじっちゃだめ
#------------------------------------------------------------
#------------------------------------------------------------
#------------------------------------------------------------

終了タイマーとはタイマー。
その値=10。
その時満ちた時は~終わり。

母艦の閉じた時は~終了タイマーの開始。

!「nakonet.nako」を取り込む。

蔵とはTCPクライアント。
これについて
  ホスト=TCPホスト。
  ポート=TCPポート番号。
  受信した時は~受信時処理。
  接続した時は~接続時処理。
  切断した時は~切断時処理。
  エラー時は~エラー時処理。

#「localhost:80」でプロキシ設定。
●プロキシ設定(Sで|Sを|Sから|Sの)
  //localhost:80
  串=Sを「:」で区切る。
  1の間
    もし、通信中=0ならば、抜ける。
    違えば、0.1秒待つ。
  蔵で切断。蔵のホスト=串[0]。蔵のポート=串[1]。

//無駄に多いグローバル変数達
通信中=0。Filedata=空。Header=空。一回目スイッチ=0。TimeOutCheck=0。タイムアウト回数=0。チャンク=空。
受信予定バイト数=0。受信バイト数=0。ヘッダ部分=空。経過パーセント=空。現在メソッド=空。チャンクFiledata=空。
ヘッダ取得スイッチ=オフ。現在ホスト=空。現在ホスト先=空。現在アドレス=空。TCPダウンロードスイッチ=オフ。チャンクポケット=空。
TCPダウンロード先=空。ダウンロード先=空。レジュームスイッチ=オフ。受信回数=0。チャンクスイッチ=オフ。
TCP開始時間=空。TCP終了時間=空。平均ダウンロード速度=空。瞬間ダウンロード速度=空。TCP経過時間=空。追加受信バイト数=空。

●TCPゲット基本(HEADをURLへ)
  現在アドレス=URL。
  
  ヘッダ部分=空。受信予定バイト数=0。追加受信バイト数=0。
  
  もし、レジュームスイッチ=オンならば
    もし、出力先ファイルの存在=はいならば、受信バイト数=(出力先ファイルのファイルサイズ)。
    違えば、受信バイト数=0。

  違えば
    受信バイト数=0。
    
  タイムアウト回数=デフォルトタイムアウト回数。
  一回目スイッチ=はい。Filedata=空。TimeOutCheck=0。
  Host=URLからURLドメイン名抽出。現在ホスト=Host。蔵のホスト=Host。
  GET=URLの「http://{Host}」を空に置換。
  現在ホスト先=GET。
  
  本物デフォルトヘッダ=空。
  もし、デフォルトヘッダ≠空ならば
    本物デフォルトヘッダ=改行&デフォルトヘッダ。

  もし、レジュームスイッチ=オンならば
    Header=「GET {GET} HTTP/{HTTPバージョン}{改行}Host: {Host}{本物デフォルトヘッダ}
Range: bytes={受信バイト数}-
{HEAD}{改行}{改行}」。

  違えば
    Header=「GET {GET} HTTP/{HTTPバージョン}{改行}Host: {Host}{本物デフォルトヘッダ}
{HEAD}{改行}{改行}」。
  
  蔵で接続。
  1の間
    もし、TCP経過表示設定=オンならば、TCP経過表示。
    もし、TimeOutCheck=1ならば
      TimeOutCheck=0。
      タイムアウト回数=デフォルトタイムアウト回数。
    もし、通信中=0ならば、抜ける。
    もし、タイムアウト回数=0ならば、タイムアウト時処理。抜ける。
    タイムアウト回数=タイムアウト回数-1。
    0.1秒待つ。
    
●TCPポスト基本(HEADとBODYをURLへ)
  現在アドレス=URL。
  ヘッダ部分=空。受信予定バイト数=0。追加受信バイト数=0。
  
  もし、レジュームスイッチ=オンならば
    もし、出力先ファイルの存在=はいならば、受信バイト数=(出力先ファイルのファイルサイズ)。
    違えば、受信バイト数=0。

  違えば
    受信バイト数=0。
    
  タイムアウト回数=デフォルトタイムアウト回数。

  一回目スイッチ=はい。Filedata=空。TimeOutCheck=0。
  Host=URLからURLドメイン名抽出。現在ホスト=Host。蔵のホスト=Host。
  
  GET=URLの「http://{Host}」を空に置換。
  現在ホスト先=GET。
  
  本物デフォルトヘッダ=空。
  もし、デフォルトヘッダ≠空ならば
    本物デフォルトヘッダ=改行&デフォルトヘッダ。

  もし、レジュームスイッチ=オンならば
    Header=「POST {GET} HTTP/{HTTPバージョン}{改行}Host: {Host}{本物デフォルトヘッダ}
Range: bytes={受信バイト数}-
Content-Length: {BODYのバイト数}
{HEAD}{改行}{改行}{BODY}」。

  違えば
    Header=「POST {GET} HTTP/{HTTPバージョン}{改行}Host: {Host}{本物デフォルトヘッダ}
Content-Length: {BODYのバイト数}
{HEAD}{改行}{改行}{BODY}」。
  
  蔵で接続。
  1の間
    もし、TCP経過表示設定=オンならば、TCP経過表示。
    もし、TimeOutCheck=1ならば
      TimeOutCheck=0。
      タイムアウト回数=デフォルトタイムアウト回数。
    もし、通信中=0ならば、抜ける。
    もし、タイムアウト回数=0ならば、エラー発生。
    タイムアウト回数=タイムアウト回数-1。
    0.1秒待つ。
#-----------------------------------------------------------------------
●TCPポスト(HEADとBODYをURLへ|BODYで)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPポスト」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オフ。ダウンロード先=空。
  HEADとBODYをURLへTCPポスト基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分&改行&改行&Filedataで戻る。
  
●TCPポストデータ取得(HEADとBODYをURLへ|BODYで)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPポストデータ取得」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オフ。ダウンロード先=空。
  HEADとBODYをURLへTCPポスト基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  Filedataで戻る。
  
●TCPポストヘッダ取得(HEADとBODYをURLへ|BODYで)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オン。現在メソッド=「TCPポストヘッダ取得」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オフ。ダウンロード先=空。
  HEADとBODYをURLへTCPポスト基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分で戻る。
#-----------------------------------------------------------------------
●TCPゲット(HEADをURLへ|HEADで)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPゲット」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オフ。ダウンロード先=空。
  HEADをURLへTCPゲット基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分&改行&改行&Filedataで戻る。
  
●TCPゲットデータ取得(HEADをURLへ|HEADで)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPゲットデータ取得」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オフ。ダウンロード先=空。
  HEADをURLへTCPゲット基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  Filedataで戻る。
  
●TCPゲットヘッダ取得(HEADをURLへ|HEADで)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オン。現在メソッド=「TCPゲットヘッダ取得」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オフ。ダウンロード先=空。
  HEADをURLへTCPゲット基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分で戻る。
  
●TCPデータ取得(HEADをURLへ|HEADで)
  HEADをURLへTCPゲットデータ取得。
  
●TCPヘッダ取得(HEADをURLへ|HEADで)
  HEADをURLへTCPゲットヘッダ取得。
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
●TCPゲットダウンロード(HEADとURLをFILEへ|HEADとURLからFILEに|FILEへ)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPゲットダウンロード」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オン。TCPダウンロード先=FILE。ダウンロード先=TCPダウンロード先。
  出力先ファイル=TCPダウンロード先。出力先初期化。
  HEADをURLへTCPゲット基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分で戻る。

●TCPポストダウンロード(HEADとBODYとURLをFILEへ|BODYとURLからFILEへ|FILEに)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPポストダウンロード」。レジュームスイッチ=オフ。
  TCPダウンロードスイッチ=オン。TCPダウンロード先=FILE。ダウンロード先=TCPダウンロード先。
  出力先ファイル=TCPダウンロード先。出力先初期化。
  HEADとBODYをURLへTCPポスト基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分で戻る。
  
●TCPダウンロード(HEADとURLをFILEへ|HEADとURLからFILEに|FILEへ)
  HEADとURLをFILEへTCPゲットダウンロード。

#-----------------------------------------------------------------------
●TCPゲットレジュームダウンロード(HEADとURLをFILEへ|HEADとURLからFILEに|FILEへ)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPゲットレジュームダウンロード」。レジュームスイッチ=オン。
  TCPダウンロードスイッチ=オン。TCPダウンロード先=FILE。ダウンロード先=TCPダウンロード先。
  出力先ファイル=TCPダウンロード先。
  HEADをURLへTCPゲット基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分で戻る。
  
●TCPポストレジュームダウンロード(HEADとBODYとURLをFILEへ|BODYとURLからFILEへ|FILEに)
  もし、通信中=1ならば、戻る。
  通信中=1。
  ヘッダ取得スイッチ=オフ。現在メソッド=「TCPポストレジュームダウンロード」。レジュームスイッチ=オン。
  TCPダウンロードスイッチ=オン。TCPダウンロード先=FILE。ダウンロード先=TCPダウンロード先。
  出力先ファイル=TCPダウンロード先。
  HEADとBODYをURLへTCPポスト基本。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  ヘッダ部分で戻る。
  
●TCPレジュームダウンロード(HEADとURLをFILEへ|HEADとURLからFILEに|FILEへ)
  HEADとURLをFILEへTCPゲットレジュームダウンロード。

#-----------------------------------------------------------------------
#-----------------------------------------------------------------------

//TCP用処理───────────────────────────────────
●接続時処理
  通信中=1。
  もし、TCP経過表示設定=オンならば、TCP経過表示。
  もし、Header=空ならば、蔵を切断。戻る。
  受信回数=0。
  TCP開始時間=システム時間。前TCP時間=システム時間。
  チャンクスイッチ=オフ。チャンクFiledata=空。チャンク=空。チャンクポケット=空。
  Headerを蔵で送信。
  

●受信時処理
  受信回数=受信回数+1。
  TimeOutCheck=1。
  TCPdとは文字列=蔵で受信。
  
  もし、(一回目スイッチ=はい)ならば//ヘッダーが付いてくる場合=最初
    一回目スイッチ=いいえ。
    ヘッダ部分=TCPdから「{改行}{改行}」まで切り取る。
    飽和判定ヘッダ部分=ヘッダ部分。
    飽和判定ヘッダ部分=飽和判定ヘッダ部分から改行まで切り取る。
    もし、飽和判定ヘッダ部分から「HTTP/1.1 416 Requested Range Not Satisfiable」を文字検索>0ならば
      経過パーセント=100。通信中=0。蔵で切断。
      戻る。
    ヘッダ部分で反復
      もし、対象の1から「Content-Length: 」を文字検索>0ならば
        受信予定バイト数=対象の「Content-Length: 」から改行まで範囲切り取る。
        もし、レジュームスイッチ=オンならば
          受信予定バイト数=受信予定バイト数+受信バイト数。
        抜ける。
    ヘッダ部分で反復
      もし、対象の1から「Transfer-Encoding: chunked」を文字検索>0ならば
        チャンクスイッチ=オン。抜ける。
    もし、受信予定バイト数=0ならば、受信予定バイト数=「不明」。
    もし、ヘッダ取得スイッチ=オンならば
      ヘッダ取得スイッチ=オフ。
      経過パーセント=100。通信中=0。蔵で切断。
      戻る。
  
  もし、チャンクスイッチ=オンならば
    チャンクポケット=空。
    チャンクFiledata=チャンクFiledata&TCPd。
    //初回のみ
    もし、チャンク=空ならば
      チャンク=チャンクFiledataから改行まで切り取る。もし、チャンク=空ならば、チャンク=チャンクFiledataから改行まで切り取る。
      チャンク=「${チャンク}」をナデシコする。
      #全体メモ=チャンク&改行&全体メモ。
    もし、チャンク=「0」ならば、抜ける。
    //------
    違えば
      1の間
        もし、(チャンクFiledataのバイト数)≧チャンクならば
          チャンクポケット=チャンクポケット&(チャンクFiledataの1から(チャンク)バイト抜き出す)。
          チャンクFiledataの1から(チャンク)バイト削除。
          チャンク=チャンクFiledataから改行まで切り取る。
          1の間
            もし、チャンク=空ならば、チャンク=チャンクFiledataから改行まで切り取る。
            違えば、抜ける。
          #全体メモ=チャンク&改行&全体メモ。
          チャンク=「${チャンク}」をナデシコする。
          もし、チャンク=「0」ならば
            もし、TCPdから8バイト右部分をバイナリダンプ=『0A,0D,0A,30,0D,0A,0D,0A』ならば
              抜ける。
            違えば、エラー発生。
        違えば、抜ける。
      
  もし、チャンクスイッチ=オンならば
    追加分B=チャンクポケットのバイト数。
  違えば
    追加分B=TCPdのバイト数。
  
  受信バイト数=受信バイト数+(追加分B)。
  追加受信バイト数=追加受信バイト数+(追加分B)。
  経過パーセント=INT(受信バイト数/受信予定バイト数×100)。
  TCP経過時間=(システム時間-TCP開始時間)。
  平均ダウンロード速度=INT(追加受信バイト数/(TCP経過時間/1000))。

  
  もし、受信回数%瞬間ダウンロード幅=0ならば
    瞬間TCP時間=システム時間-前TCP時間。前TCP時間=システム時間。
    瞬間ダウンロード速度=INT(追加分B/(瞬間TCP時間/1000))。
    
  
  もし、チャンクスイッチ=オンならば
    もし、チャンクポケット≠空ならば
      もし、TCPダウンロードスイッチ=オンならば、チャンクポケットを出力。
      違えば、Filedata=Filedata&チャンクポケット。
    チャンクポケット=空。
  
  違えば
    もし、TCPダウンロードスイッチ=オンならば、TCPdを出力。
    違えば、Filedata=Filedata&TCPd。
  
  
  //ダウンロード終了処理 普通版
  もし、チャンクスイッチ=オフならば
    もし、受信予定バイト数=受信バイト数ならば
      経過パーセント=100。通信中=0。蔵で切断。
  
  //ダウンロード終了処理 PHP版 修正
  違えば
    もし、TCPdから8バイト右部分をバイナリダンプ=『0A,0D,0A,30,0D,0A,0D,0A』ならば
      経過パーセント=100。通信中=0。蔵で切断。
    
●切断時処理
  通信中=0。

●エラー時処理
  蔵のエラーメッセージをいう。
  
●タイムアウト時処理
  エラー発生。
#-----------------------------------------------------------------------
#↑↑ ここまでいじっちゃダメ
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
#↑ TCPクライアントでHTTPっぽいのセット【GUI部品作成後に置いてね!】 ↑
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------

●ヤフー英日翻訳(Sを|Sから|Sの)
  翻訳TEXT=SをURLエンコード。
  HEAD=「User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1」。
  URL=「http://honyaku.yahoo.co.jp/transtext」。
  ソース=HEADをURLへTCPゲット。
  ソース=ソースをSJIS変換。
  翻訳BOTH=ソースの「<input type="hidden" name="both" value="」から「">」まで範囲切り取る。
  翻訳KEY=ソースの「<input type="hidden" name="key"  value="」から「">」まで範囲切り取る。
  翻訳TIME=ソースの「<input type="hidden" name="time" value="」から「">」まで範囲切り取る。
  
  BODY=「both={翻訳BOTH}&key={翻訳KEY}&time={翻訳TIME}&text={翻訳TEXT}&clearFlg=1&eid=CR-EJ」。
  HEAD=「Content-Type: application/x-www-form-urlencoded」。
  URL=「http://honyaku.yahoo.co.jp/transtext」。
  
  ソース=HEADとBODYをURLへTCPポスト。
  ソース=ソースをSJIS変換。
  ソースの「<textarea rows=12 cols=30 name="trn_text" id="trn_textText" class="percent">」から「</textarea>」まで範囲切り取って戻る。

●簡易ヤフー英日翻訳(Sを|Sで|Sの)
  ソース=「http://pipes.yahoo.com/poolmmjp/ej_translation_api?_render=rss&text={S}」をHTTPデータ取得。
  ソース=ソースをSJIS変換。
  ソース=ソースから「description」のタグ切り出し。
  ソース=ソース[1]の「<description>」を空に単置換。
  ソース=ソースの「</description>」を空に単置換。
  ソースで戻る。


名前:
コメント:


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2009年05月31日 17:29
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。