PCOT関連の掲示板

PCOTの感想、質問、バグ報告受付

715 コメント
views
1 フォロー

PCOTの感想と質問、バグ報告を受け付けるトピックです。

以下の点に注意して投稿してください。

  • 質問、バグ報告はなるべく細かく書いてください。スクショの張り付けがあればベターです。
  • バグ報告についてはなるべく対応するようにしますが、必ずしも対応できるとは限りません。ご了承ください。
ぬるっぽ
作成: 2020/05/11 (月) 16:59:52
最終更新: 2020/09/11 (金) 19:00:10
通報 ...
62
ぬるっぽ 2020/06/14 (日) 08:47:22

PCOTを修正しました。(小声)
タイトルを新規追加しようとすると、エラーが出まくるバグを修正しました。最新版をDLしてご利用ください。

63
ぬるっぽ 2020/06/17 (水) 00:16:54 修正

PCOTを更新しました!最新版をDLしてご利用ください。

更新項目を以下に列挙します。

  • ショートカット正式対応
  • ショートカット設定画面追加
  • OCR読取後に作成される「screen.png」ファイルをOCRで読み取ったのと同じ状態(グレースケール)で出力

【ショートカットについて】

ショートカットはシステム設定画面の「ショートカット使用」をチェックすることにより、有効化されます。
画像1
※ショートカットが有効中の場合、簡易コマンド画面は使用できません。

「ショートカット設定」ボタンを押すと、ショートカット設定画面が開きます。
画像1
「CTRL」「SHIFT」「ALT」「WIN」と「数字キー」で任意の組み合わせを設定してください。
※「リセット」ボタンを押すと初期状態にリセットされます。初期状態は「CTRL」+「0~9」の組み合わせです。
※「CTRL」「SHIFT」「ALT」「WIN」のいずれかのベースキーの入力は必須です。

最後に

結局ショートカットを実装しちゃいました・・・。こんなことなら簡易コマンド画面なんて作らずに最初からショートカットを実装するべきでしたね・・・。実装しなかった理由については、職業病だと思って忘れることにします・・・。簡易コマンド画面はあれはあれで便利なので残したままにしておきます。(すげぇ頑張ったし)

以下、私信です。
ものろぐ様
ご要望通り(?)ショートカットを実装したので、もし宜しければPCOTの紹介記事を更新して頂けるとありがたいです!

64
ぬるっぽ 2020/06/26 (金) 21:21:05 修正

PCOTを更新しました。

更新項目は以下の通りです。

  • 「翻訳ボタン」のショートカットを追加
  • OCRから読み取った文章に対して、単語単位で先頭の文字以外の文字が大文字の場合に強制的に小文字に変換するように修正
  • 原文に全角文字を入力する場合に文字を変換できない不具合を修正
     
    翻訳ボタンのショートカットについてですが、フリー選択で翻訳箇所を指定した場合、直前に指定した箇所を覚えているため、翻訳ボタンをショートカットで起動できないと不便だと思い、追加しました。というか、不便でした・・・。

【注意事項】

今回の更新により「ベースキー」+「0」は「フリー選択」ではなく、「翻訳ボタン」に置き換わりました!
既にショートカット機能をご利用中の方は、お手数ですが「プログラム一覧画面」>「システム設定」>「ショートカット設定」から「リセット」ボタンを押して初期化した後にショートカットキーを振りなおしてください。
尚、「フリー選択」は「ベースキー」+「F」になります。

65
ぬるっぽ 2020/07/04 (土) 15:54:50

PCOTを更新しました。

今回は不具合修正のみです。修正項目を以下に列挙します。

  • 前回更新分の大文字から小文字へ変換する処理で、文中に改行文字があると正しく変換されない不具合を修正
  • フリー選択、固定翻訳共にOCR読取に失敗した場合に翻訳箇所の再指定を行う際に読取倍率を変更できなかった不具合を修正
  • タイトル設定画面でタイトルを削除した際に残存タイトルの先頭アイテムが選択されるように修正
     
    余談ですが、今PCOTを作成しようと思った切欠のゲーム「Eschalon: Book I」をPCOTの動作確認がてら遊んでいます。作成し始めた当初はDeepLを知らなかった為、こんなに快適にゲームが出来るとは思いませんでした。
    DeepLなくして、PCOTの利便性はあり得ないと今なら思いますw
    ただ、惜しむらしくはDeepLが高性能過ぎて、OCRの読取を失敗した箇所もそれなりに翻訳してくれちゃって辞書登録や名詞登録の利便性が霞むことですね・・・。PCOT自身の翻訳精度が上がればその辺も解決できるのですが・・・。
    誰かこれを見ている方で、無料で(文字数制限があったとしても)無制限に使えてそれなりに翻訳精度の高いAPIがあるならご教示頂けましたら幸いです。尚、DeepLに匹敵する翻訳精度なら考えますが、ユーザー各々でAPIキーを取得するようなタイプは原則採用したくありません。(導入する敷居が高くなるので)
    ちなみに、今はPCOT自身の翻訳には「GoogleTranslateFreeAPI」というものを使用しています。

というわけで、何か情報があればお気軽にコメントください。

66
ぬるっぽ 2020/07/10 (金) 01:13:56

PCOTを更新しました。

今回の更新内容は一つだけです。
ショートカットキーでタイトル設定されていない数を入力した場合の動作ですが
例)3つタイトルが設定されている状態で、「ベースキー+4」と押した場合
 修正前:何も起こらない
 修正後:フリー選択が動作
という形に修正しました。

この修正は完全に自分の為の修正です。
というのも、「Eschalon: Book I」でクエストジャーナルをフリー選択する際にゲーム側では何かキーが押されたらジャーナルを閉じるという挙動らしく、前まで(ベースキー+0)の時は大丈夫だったんですが、前の修正で「ベースキー+F」にしたところ、フリー選択をしようとするとキャプチャー画面が表示される前にジャーナルが閉じてしまうという事態になってしまいました・・・。
固定翻訳の1~9のスロットを全て使い切ることはあまりなさそうだし、空スロットを遊ばせておくのも何だしなーと思って、今回の修正になりました。
当然空きスロットを全て消費した場合は、通常通り固定翻訳として動作するので問題ないと思います。

あと、前回の修正時に書き忘れましたが「Eschalon: Book I」で、ロードを行う際に「ESCでキャンセル」しようとしたところ、ESCが反応しないバグがあったのでそれを修正しました。

さて、何故今回一つしかないチョロい修正をアップしたかというと・・・
今度一つ機能追加を行おうと思っているので、次回のアップ前にまっさらな状態にしておきたかったという理由です。
多分実装できると思いますが、もし技術力が足りなかった場合は立ち消えになるかもしれませんw

67
ぬるっぽ 2020/07/22 (水) 02:44:38

【お知らせ】

現在PCOTに新しい機能追加を行っており、なかなか更新できずにいます・・・が、なんとか更新の目途がたちそうです!
色々と動かしてみて、ヤバイ不具合がなければ、明日(今日)中に更新したいと思います。
更新する前に先にどんな機能が増えて、何が出来るようになるかを説明させていただきます。

【新機能】
画像翻訳

【概要】
PCOTであらかじめ用意した画像ファイル(※後述)を読み込んで、フリー選択の要領で画像を範囲指定することにより画像ファイル内の文章を翻訳することができます。

【用途】
ゲームのプロローグなどの場合、バンバン文章が進んで選択して翻訳という作業が間に合わない場合などに予めスクリーンショットを撮りためて、後から順次翻訳していく形で使用していただけたらと思います。

※【画像ファイルの取得方法】
PCOT起動中にPrintScreen(Prt Sc)を押すことにより、PCOTはこれを奪って、実行ファイルと同階層に「image」フォルダ、その配下に「プロセス名」フォルダを作成し、その中に取得した画像がPNG形式で保存されます。
あんなに嫌ってた上にバッティングしまくるショートカットを使ったのは、前にショートカットを実装して便利さに味を占めた それがベストソリューションだと確信したからです!w

【画像翻訳の方法】
予め画像が保存されている場合、翻訳表示画面に新設した「画像翻訳」ボタンを押すと、簡易画像ビューアーが起動します。簡易画像ビューアーにある「選択」ボタンを押すとキャプチャー画面が起動するので、フリー選択の要領で翻訳したい箇所を選択すると、翻訳表示画面に翻訳結果が表示される仕組みです。

【簡易画像ビューアーの操作方法】
「←」キー・・・前の画像を表示
「→」キー・・・(あれば)次の画像を表示
「マウスホイール」・・・画像の拡大/縮小
「画像上をドラッグ」・・・拡大して画像が見切れた場合に画像を動かせます
「選択」ボタン・・・キャプチャー画面が起動します
「閉じる」ボタン・・・簡易画像ビューアーを閉じます(右上の×ボタンも同様)
※簡易画像ビューアーを閉じた場合は、閉じた状態を覚えていて、次に画像翻訳ボタンを押すと前の状態が復元されます。尚、プロセスを再選択したりPCOTを終了すると復元情報は失われます。

説明は以上になります。早ければ今日の夜には更新できると思うのでご期待ください。

最後に・・・愚痴です。
今回の更新にあたって、PrintScreenを奪って画像を保存するのはそんな大した手間ではなかったんですが・・・簡易画像ビューアー・・・これがとてつもない難関でした・・・というか、迷走しまくりました。

後進のために以下に迷走の経緯を書きますw

  • 画像を普通に拡大する手法・・・滅茶苦茶処理が重くなって断念
  • ScaleTransformで描画・・・画像を動かすと重くなって断念(のちにRefresh呼べば済むことに気づき凹む)
  • OpenCvSharp導入・・・Resizeメソッドで拡大できる!が、やっぱり滅茶苦茶処理が重たくなって断念
  • オフセット描画を独自実装・・・実装できたものの、拡大前拡大後のマウスの位置のオフセット座標を覚える方法が分からず・・・orz
  • マウスのオフセット座標計算・・・上手く行きかけたものの、この辺りでちょっと病んできましたw
  • ネットで画像ビューアを検索・・・アフィン変換というのを使えばうまくいくらしい(光明が見える)
  • アフィン変換を使用して実装・・・今までの苦労を思うと月とスッポンレベルで上手くいく→完成!
    という感じでした。

そんなにムキにならんでも・・・と思われなくもないですが、最初PCOT上で画像を選択してユーザーが使用している既存アプリの画像ビューアを開いて、それを翻訳できる形にしようと思ったのですが・・・どうしても操作の手間が増えるので、できるならPCOT内で全て完結させたいと思い、頑張りました。

というわけで、久々の私信です。
>>synctam様
見ているかどうか分かりませんが、synctam様の過去の記事「synctamの雑談日記: ゲーム画面翻訳ツール作成中・・・その1」で触れられていた「ウィンドウサイズを変更された場合は翻訳できない」とありますが、アフィン変換を使用すれば、その問題は解決できそうです。
イメージ的には変更前の画面サイズを設定ファイルなどで覚えておき、現在の画面サイズ取得時に、元の画面と現在の画面の差異(比率)を計算し、キャプチャー画面の比率をそれに倣って変更、アフィン変換によって、元の画像サイズに対して、倍率変更を行い、設定された選択範囲のオフセット座標を求めれば行けそうな気がします。
未検証なので分かりませんが、少なくてもオフセット描画を独自実装(白目)するよりは簡単な気がします。
ただ、PCOTの方は・・・流石にそんなに頻繁に画面サイズを変えたりしないだろうという前提で作っているので、今から対応させようとすると大改修が必要になるため、対応予定はありません・・・。
以上、ご参考になれば幸いです。

あと、今更ですがPCOTをTwitterで広めてくださってありがとうございます。

68
ぬるっぽ 2020/07/22 (水) 23:04:49 修正

PCOTを更新しました!

大分遅くなりましたが、無事更新できました。
以下に更新項目を列挙します。

  • 画像翻訳機能を追加
  • 接続プロセスをステータスに表示するようにレイアウトを修正
  • PCOTが対応していないプロセスをつないだ時に、キャプチャー画面起動、スクリーンショット取得などを行う際に対応できないメッセージを表示して、プログラム選択画面に戻るように修正
  • 子画面(タイトル設定画面や辞書登録、名詞登録など)を起動中はショートカットキー、簡易コマンド画面、スクリーンショットを無効にするように修正

もうちょっとなんとかしたい部分もありましたが、とりあえずここで一度更新しておきます。

さて、では今回の新機能の画像翻訳について改めて説明させていただきます。

  1. まずPrintScreenキーを押し、画像を取得します。画像が一つもない場合は画像翻訳ボタンを押しても警告メッセージが表示されて、画像翻訳画面は起動しません。
  2. 画像表示画面に新設された「画像翻訳」ボタンを押すと画像翻訳画面が起動します。
    【画像翻訳画面のイメージ】
    画像1
  3. 画像翻訳画面の画像ビューア上で、任意の大きさ、場所などを表示し、「フリー選択」ボタンでいつもの要領で翻訳範囲を選択>翻訳結果表示と続きます。

簡易画像ビューアは簡易と名の付くだけあって、あまり大したことはできませんが、その分直感で使えると思います。

今回の更新内容は以上です。疲れたー。

69
ぬるっぽ 2020/07/25 (土) 04:21:01

PCOTを更新しました。

今回の更新は前回の更新で書いた「もうちょっとなんとかしたかった部分」を直した更新になります。
大した更新ではありませんが、それなりに量があります。

以下に更新項目を列挙します。

  • 画像翻訳画面をEscキーでも閉じられるように修正
  • 画像翻訳画面の画像上で右クリックした場合、現在表示されている画像ファイルを削除できるように修正
  • 画像翻訳画面の画像上で左ダブルクリックした場合、画像の表示サイズを画面サイズに合わせるように修正
  • 画像翻訳画面の画像上でEnter(又はReturn)キーを押した場合、フリー選択と同様の動作をするように修正
  • 画面ハンドルの取得方法を見直し、いくらか対象プロセスが増えました
  • 翻訳表示画面のサイズを任意の大きさに変更できるように修正
  • 原文にURLが含まれていた場合、URLをクリックするとそのURLに飛べるように修正

さて、今回の更新について一つずつ説明します。

【画像翻訳画面をEscキーでも閉じられるように修正】
これについては書いたままです。PCゲームに慣れた人は一々「閉じる」ボタンをクリックする方が煩わしいだろうと思い、あっても邪魔にならないので実装しました。

【表示中の画像ファイルを削除】
これは、画像ビューアを作ってる最中に絶対付けようと思ってた機能だったのですが、画像ビューアが完成して嬉しさの余り気が抜けて実装を忘れてましたw
ちなみに「Eschalon Book I_001.png」「Eschalon Book I_002.png」「Eschalon Book I_003.png」という画像があった場合、「Eschalon Book I_002.png」を削除したとき、次に作成された画像が自動的に割り振られる
名前は「Eschalon Book I_004.png」になります。
これは、プロローグなどのスクショを取得している際に間違って画像を撮ってしまい、削除した場合などにファイル名の連番は歯抜けになりますが、次の画像名を歯抜けが埋まるような形で取得すると話の前後関係がおかしくなるという懸念からこういう形の実装になっています。予めご了承ねがいます。

【左ダブルクリックで画像を画面サイズに合わせる】
書いた通りです。調子に乗って画像サイズをどんどん拡大していった後に元のサイズに戻すのが大変な場合にご使用ください。

【Enterキーでキャプチャー画面起動】
これもEscキーと同じく、一々「フリー選択」ボタンをクリックするのが煩わしいと思う方もいると思うので実装しました。

【画面ハンドルの取得方法の見直し】
PCOTが対応していないプロセスに、以下の3パターンがあります。

  1. メイン画面のハンドルが取得できない
  2. メイン画面のハンドルで対象画面のアクティブ状態を制御できない
  3. メイン画面のハンドルで対象画面の位置とサイズを取得できない
    この内の「1」については、そもそもプログラム一覧画面に表示されないのですが、問題は「2」と「3」で「2」については、フルスクリーンを無理やりアクティブ状態にしようとすると、同じプロセスでも失敗するときと失敗しないときがあって、動作が不安定です。(もともとフルスクリーンは対象外ですが)
    今回の修正で「3」については、「見えている画面が必ずしもメイン画面であるとは限らない」ということに思い至り、メイン画面からWinAPIのFindWindow関数によって、メイン画面以外の画面サイズが取得できる画面ハンドルを探すことによって、対応プロセスが増えました。
    実際増えたと言っても、こちらで確認しているのはRPGツクール2000位しかないので、あまり嬉しくないのですが・・・。皆様の環境で対応しているプロセスが増えていることを祈ります・・・。
    ただ、この手法で完全に全てのプロセスを対象にできるかといえば、そんなことはなく・・・それについては依然として原因不明です・・・。

【翻訳表示画面のリサイズ】
どうして今までやらなかったんだと突っ込まれそうですが・・・変なところで拘ろうとした大人の事情です・・・申し訳ありません。
とりあえず、画面サイズの最小制限は表示時のサイズですが、最大サイズについては制限を外しました。これで自由自在に画面サイズを変えられるようになりました。
「参考画像」
画像1

この修正により、上の画像のように原文を拡げたり、逆に訳文を拡げたりと言った動作が可能になりました。
原文や訳文の上下のサイズを変えたい場合は上の画像の赤枠部分をドラッグしてください。

【URLジャンプ】
PCOTの原文、訳文表示にはリッチテキストボックスというものを使用していますが、今回初めて使いました。ハッキリ言って使いづらいです。使用した動機としては原文や訳文が表示サイズ内に収まらないときに自動でスクロールバーが出たら嬉しいなーと思っただけだったんですが、代償があまりにも大きかったです・・・。
というわけで、お勧めしませんw
で、本題なのですが原文にURLが入ったら勝手にハイパーリンクになったので(そうしないこともできますが)、どうせなら飛べるようにしてやろうと思い、実装しました。

最後に・・・
不具合というわけではないんですが、原文に画像をコピペすると画像が貼れちゃいますw
「参考画像」
画像1
「クリア」ボタンを押したり、次回翻訳した際に勝手に消えるので、特に制限は設けていません。こういうものだと思って頂けたらと思います。

だらだらと説明が続きましたが、更新は以上です。

70
ぬるっぽ 2020/07/28 (火) 00:23:14 修正

PCOTを更新しました。

今回は不具合修正のみです。
以下に更新項目を列挙します。

  • FindWindow関数で画面ハンドルを取得できなかった場合、元のメインの画面ハンドルを適用するように修正
  • 翻訳表示画面のサイズ変更修正後に、訳文の単語を選択して名詞登録画面を起動すると、選択された単語が表示されない不具合を修正

以下は今回の修正の説明です
【FindWindow関数について】
この関数を使用することにより、同タイトルの別プロセスを取得することが可能になったのですが、1プロセスの中に複数タイトルを持つ場合(ブラウザのタブなど)に正しく画面ハンドルを取得できなかったので、とれない場合はメイン画面の画面ハンドルを適用するように修正しました。
むしろ修正前より対応プロセス減ったんじゃ・・・と思われた方は申し訳ありません。この修正で直っている筈です。
【注意】
FindWindow関数は画面のプロセス名ではなくタイトル名から同じタイトル名でトップにある画面ハンドルを検索しにいく関数のようで、ここで取得される画面ハンドルはフォルダを含みます。
つまり、プロセス名と同じフォルダを開いていたりすると、そちらに接続されてしまいますので不要なフォルダは予め閉じてから操作するようにしてください。
対象プロセスが増えるとはいえ、中々に不便なのでそのうち直せそうなら直します・・・。
ちなみに「画面ハンドル」と言われてもプログラムをしない方にはなんのこっちゃって話なんですが、要は画面の識別番号の様なものです。

【名詞登録用に訳文で選択した単語が適用できない】
偶然見つけました・・・。そもそもこんな面倒な制御をしなきゃいけなくなったのはリッチテキストボックスのせい・・・という愚痴は今更なので言いませんw

最後に妄想を垂れ流します。
PCOTに関して言えば、もう作り切った感はあるのですが・・・翻訳支援ツールとしては実は全然満足していません。
以下に、本当はこうしたかったという妄想を列挙します。

  • PCOTは最初に対象プロセスを選択する形式ですが、よくよく考えてみれば起動中のプロセスさえ取れれば、接続先なんていつでも変更可能なので翻訳表示画面でシームレスに接続先を変更できるように作ればよかった・・・。
  • フルスクリーンのゲームにも対応したかった
    これは、簡易画像ビューアを作って閃いたんですが、PCOTは全てのプロセスというわけではないんですが、フルスクリーンのスクショを取得することができます。なので、現時点のPCOTでも画像翻訳を使用すれば、一部フルスクリーンには対応できます。(実証済み)
    手前味噌ですが簡易画像ビューアがとても有能で今までの流れの中に簡易画像ビューアを差し込めば普通にフルスクリーンに対応できそうな気がするんですよね。
    というのも、PCOTではキャプチャー画面で編集できるのは読取倍率程度で、キャプチャー画面の起動前に、簡易画像ビューアを差し込めば、「フリー選択」ボタンを押す→スクショを撮る→簡易画像ビューアで表示→倍率などを指定してキャプチャー画面を起動→翻訳範囲選択→OCR→翻訳という流れで、固定翻訳の場合はこの一連の動作を予め設定ファイルで覚えておき「翻訳」ボタンだけで自動化すれば済む話です。
    簡易画像ビューア上で、画像の二値化なども出来るようにすれば、Tesseractとあまり相性がよくなかった大津の二値化を使用せずに、ユーザー側でプレビュー見ながら画像の二値化の閾値を設定できるという強みもあります。

PCOTではもうここまで作り込んでしまった後では流用できる処理も多いとはいえ、一から作り直しなレベルなので、流石に自分ひとりでは無理そうです・・・。
開発仲間が増えるか、自分がそうした様に(※)誰かがPCOTからヒントを得て新しい翻訳支援ツールを作成してくれるのを待つか、といったところですね。
※PCOTは元々synctam様の「Translation Aid for Eschalon(TA4E)」からヒントを得て焼き直したものです。現物がなかったので、100%独断と偏見で作ってますがw

ただ・・・誰かが上に挙げた妄想を実現してくれるのを待つのは私の性分ではないので、無駄かも知れませんが開発仲間を募集したいと思います。
誰か「手伝ってもいいよ!」っていう熱い方がいたら声をかけてください。

というわけで、以下の条件で開発仲間を募集します。

  • 趣味でも仕事でもなんでもいいので、C#で何かプログラムを作ったことがある人
  • 幾つかの守秘義務を守れる人
  • Skypeで通話できる人(画面共有しながら話し合いたいです)
  • ギャラなしで手伝ってくれる人
  • 仲良く作業できる人
  • PCOTのソースを見ても顔をしかめない人w

一人でも集まったらPCOT2.0(仮称)を作りたいと思います。
以上の条件を受け入れてくれた上で、もし手伝ってもいいよって方がいたらお気軽にご連絡ください。

71
しーたー 2020/07/29 (水) 14:14:44 08ad6@f7416

 はじめまして。「ものろぐ」の管理人です。
 わざわざ紹介してくださってありがとうございます!(返事が大変遅くなってしまってすいません…。最近、英訳が必要なゲームをあまりやってなくて、こちらにおじゃましてなかったんです…)

 ひさびさに来てみたら、画像キャプチャ&読み取り機能とか追加されていて驚きました。
 いろいろと応用効きそうで、活用させてもらいます。

 あと、要望というか、通りすがりの戯言なのですが、「翻訳結果」をクリップボードに自動送信できると嬉しいなぁ…と。

 理由は2つありまして、一つは「自動でセリフが進んでいくタイプのゲームだと、読む前に次のセリフが表示されてワケがわからなくなるので、とりあえずクリップボードに送ってクリップボードツールなどを使ってためておけると便利」というもの。

 もう一つは、クリップボードに自動送信できると、「棒読みちゃん」のクリップボード監視使って、翻訳文自動読み上げができるんです。(現在はDEEPLのコピーボタン押しみて読上げ中。「棒読みちゃん」の正規表現使って「英文のみテキストは読み上げない」ことで、原文読み上げは回避してます)。

 思いつくままの要望で大変恐縮ですが、御一考いただけると大変嬉しいです。

 最後になりましたが、「PCOT」大変ありがたく使わせて頂いています。
 こんなに便利なツールを提供してくれて、本当にありがとうございます。

 では!

72
ぬるっぽ 2020/07/29 (水) 22:01:41 修正 >> 71

>>しーたー様
こちらこそ初めまして。その節はPCOTを紹介してくださってありがとうございました。
しばらくの間誰からも書き込みがなくて、放置しようかと半ば本気で考え始めてましたw
本当にありがとうございます!

【要望について】
DeepLの翻訳結果をPCOT側から操作するのは難しいです。なので、もしクリップボードに送るとなると翻訳精度の低いPCOTの翻訳結果となってしまいますが、それでもよろしいですか・・・?

最後に、こちらこそブログでPCOTを紹介してくださって本当にありがとうございました!
紹介して頂いた当時、ブログの方でコメントしようとしたのですが、禁止ワードに引っかかって投稿できませんでした。今更ながら申し訳ありませんでした。

73
しーたー 2020/07/30 (木) 11:13:26 08ad6@f7416

PCOTの翻訳結果で大丈夫です! ありがとうございます。

禁止ワードとか本当は設定したくないんですけど、ゲーム系だとネタバレがわりと深刻なんですよね…。

74
ぬるっぽ 2020/07/30 (木) 22:27:17

>>しーたー様
PCOTの翻訳結果でいいとのことですね、ありがとうございます。
試しに対応してみたところ、1点問題が発生しました。
「DeepLと連携」にチェックが入っている場合、DeepL側で翻訳を行うためにクリップボードに原文が送られるのはご存じの通りだと思いますが、これがPCOTとバッティングしてしまいます。
現象的にはDeepL起動コマンド後、PCOTの翻訳結果をクリップボードに送ったつもりでも、実際のクリップボードの中には原文が入っている状態です。(DeepL側で新たに入れなおしているか、ロックしているか・・・)

色々試した感じでは「DeepLと連携」にチェックがなかったり、▣の場合には期待通り翻訳結果がクリップボードに入っています。
なので申し訳ありませんが、ご要望されている機能を実装する場合、DeepLのチェック状態が「チェックなし」か、「半チェック(▣)」の場合にのみ翻訳結果がクリップボードにコピーされる仕様となりますが、それでもよろしいでしょうか?
重ねて、半チェック(▣)の場合でも原文を右クリックしてDeepLを起動した場合にはクリップボードが原文で上書きされることもご留意ください。

度々申し訳ありませんが、ご確認お願いします。

75
ぬるっぽ 2020/08/01 (土) 04:42:13

PCOTを更新しました。

以下に更新項目を列挙します。

  • 画像ビューア表示時に保存画像が多い場合、メモリを大量消費する不具合を修正
  • プロセスタイトルと被るハンドルを検出した場合に、対象がフォルダだった場合は無視するように修正
  • 翻訳結果をクリップボードに送れるように修正
  • 画像翻訳で直前に選択した翻訳範囲を記憶するように修正

今回の更新項目について説明します。

【メモリ大量消費】
画像ビューア画面ロード時に画像を全部読み取るということをしていたため、保存した画像枚数が多いと天井知らずにメモリを食っている状態だったので、表示時に画像を読み込むように修正しました。

【フォルダの画面ハンドルを無視】
FindWindowでフォルダの画面ハンドルが取得された場合、メイン画面のハンドルに置き換えるように修正しました。これでフォルダにキャプチャー画面がかかることはないはずです。

【翻訳結果をクリップボードに送れる】
画面中央に「翻訳結果をコピー」というチェックボックスを新設しました。
ただ、DeepLと併用しようとするとバッティングしてしまうため、「翻訳結果をコピー」チェック時にはDeepLの自動起動は無効化されます。
また、システム設定画面に項目はありませんが「翻訳結果をコピー」のチェック状態はシステム設定ファイルで覚えています。

【画像翻訳で直前の翻訳範囲を覚えておく】
実際使っていて、直前の状態を再現したいと思うことが結構あったので、覚えておくように修正しました。
なので画像ビューア画面に「翻訳ボタン」を新設し、それが押された時、前に一度「フリー選択」で翻訳範囲を選択していた場合には、それが再現されます。
画面上で「SHIFT+ENTER」と押すと「翻訳ボタン」と同様の動きをします。

今回の修正は以上です。

以下、私信です。
>>しーたー様
ご要望の処理がとりあえず実装できました。ご確認ください。
ただ、一つ前のレスで書いた通り、DeepLと併用はできませんので、その点だけご了承願います。

76
しーたー 2020/08/01 (土) 14:06:27 08ad6@f7416

実装ありがとうございます。
さっそくいろいろ試してみます。
うまくいったら報告しますね!

77
ぬるっぽ 2020/08/01 (土) 22:28:24 >> 76

上手くいかなくても報告してください!w

78
しーたー 2020/08/01 (土) 23:13:47 08ad6@f7416

試してみました。

えっと、動作自体は大丈夫だったんですが、Google翻訳が前よりバカになっているような…?
前、PCOTでGoogle翻訳使ったときは「ワリとちゃんと翻訳するなー」と思ったのですが、今回試したら精度がかなり下がってる印象を受けました。

で気になったので、同じ英文を「PCOT」「Caputure2Text(using Google Translate)」「webのGoogle翻訳」で翻訳してみました。

C2Tとweb翻訳は同じ訳文で意味もまぁまぁ分かる物だったんですけど、PCOTだけ明らかに訳文レベルが低い結果になりました。
API回りの仕様が分からないので、理由はよく分かりませんが、ご報告まで。


おまけ:試した訳文と翻訳結果
「Perhaps it is as the old tales say, that the Ancients could move over large distances in a blink of an eye.」

C2T:多分それは昔話が言うように、古代人は瞬く間に大きな距離を移動することができたということです。
PCOT:昔話が言うように、おそらくそれは、古代人が目の点滅で大きな距離で移動することができること、です。

79
ぬるっぽ 2020/08/02 (日) 00:50:52 >> 78

ありがとうございます!とても有意義な検証してくれましたね!

まず先に言っておくと、恐らくPCOTは馬鹿になったのではなく、元々馬鹿だったのです!w
何故そうなっているかというと、最初に作ったときに何度か翻訳していると翻訳されなくなる問題があって、原因がGoogleに弾かれているからということでした。

PCOTはそれをなんとかするためにGoogleTranslateFreeApiというものを使って無制限に使えるようにしてますが・・・明らかに翻訳精度がしょぼいんです。
PCOTは公開以来、翻訳周りは全く触っていないので、PCOTが割と翻訳精度が高いというのは幻想な気がします。

ただ、それを確認するためにわざわざC2Tをインストールするのもなー・・・と思っていたところだったので、とても有意義な検証でした。ありがとうございます。

こちらからも質問したいのですが、C2Tは使い続けていると(おそらくGoogleから弾かれるため)翻訳が出来なくなるというのを見ましたが、今も同じ状況ですか?

翻訳精度については、色々と課題があるのでちょっと頑張ってみます。

80
しーたー 2020/08/02 (日) 07:09:10 08ad6@f7416

>こちらからも質問したいのですが、C2Tは使い続けていると(おそらくGoogleから弾かれるため)
>翻訳が出来なくなるというのを見ましたが、今も同じ状況ですか?

僕が使っていた範囲では、翻訳ができなくなるという状況になったことはないです。(最近はc2t使ってませんが…)

81
ぬるっぽ 2020/08/02 (日) 14:23:45

PCOTを更新しました。

今回の更新はちょっと微妙です・・・。もしかしたら元に戻すかもしれません。
というのも、PCOTで使っている翻訳APIと他のAPIでリクエストのパラメータが違うことに気づいたので合わせれるところを合わせた結果、ブラウザと同じ翻訳結果を得られるようになったものの・・・
もしかすると、何度も翻訳していると翻訳されなくなるかもしれません。(リクエストパラメータに違いがあるのは当然それなりの理由があると思うので・・・)
なので、使い続けててPCOTが翻訳されなくなった場合は、すぐに連絡ください。元に戻します。
PCOTが翻訳しなくなったかどうかは、原文がそのまま訳文に表示されるので見ればすぐに分かります。

>>しーたー様
こちらで調べてみたところ、今も同じような状況だそうです。
参考URL
これで、まともになったと思いますが上で書いた通りもしかすると使用し続けていると、翻訳できなくなるかもしれません。

改めてご確認お願いします。

82
しーたー 2020/08/02 (日) 22:20:05 08ad6@f7416

素早い更新、ありがとうございます。
さっそく頂きました。
ためしたところ、問題なさそうです。

しばらく、これで試してみますね。

83
ぬるっぽ 2020/08/02 (日) 22:24:14 >> 82

問題なさそうでよかったです。
こちらでも色々と試してますが、もし何かあった場合はお気軽にお問合せください。

84
ぬるっぽ 2020/08/06 (木) 15:14:09 修正

PCOTを更新しました。

今回は一か所だけ更新しました。
「翻訳表示画面」の「原文を小文字化」のチェックボックスを廃止
代わりに、「改行を無視」のチェックボックスに変更
ちなみに、この「改行を無視」は領域単位でチェック状態を保存しています。(フリー選択を除く)

何がどう変わったかを一目で分かるようにまとめた画像を以下に貼りましたので参照してください。
画像1
注:画像は英語で長い文章をつくるコツ!から拝借しました。

「原文を小文字化」を廃止した理由として、現在PCOTでは大文字小文字を自動的に判断して適宜変換するような処理を行っています。
例1)文章が全て大文字の場合は全て小文字に変換
処理前:I AM A PEN.
処理後:i am a pen.

例2)文章が強調表示などで単語単位で大文字の場合は小文字に変換(IやAなどの1文字だけ大文字の場合は除外)
処理前:I am a PEN.
処理後:I am a pen.

例3)単語単位で先頭以外の不自然な場所に大文字がある場合は単語単位で小文字に変換(OCR読取失敗対策)
処理前:TEST Test teSt tesT
処理後:test Test test test

前は上記の処理を行っていなかったため、一律「原文を小文字化」というチェックでごまかしていましたが、上記の処理をするようにしたので、もう要らないだろうということで廃止しました。

85

お久しぶりです。なんと見ていなかったうちにショートカットが実装されていたとは…。ゲームによっては簡易コマンドの切り替えがうまくいかないものがあったので、やっぱりショートカットもあればな…と思っていたのでとても嬉しいです。遅くなりましたが実装ありがとうございます!

86
ぬるっぽ 2020/08/06 (木) 22:52:15 >> 85

お久しぶりです!すみません、結局実装しちゃいましたw

ただ、簡易コマンドも悪いものではないので残してあります。
たとえば、ゲーム上で何かキーボードのボタンが押されたら勝手に会話が進んじゃうようなゲームの場合は、ショートカットでキャプチャーを行うのが不可能なんですよね。(たとえアクティブじゃなくても)

後は、最近画像翻訳という機能も実装したので、そちらも使ってみてください。
詳しい説明を以下に貼っておきます。
画像翻訳説明1
画像翻訳説明2

作者の励みになりますので、また色々と感想とか要望とかくださいね!
あと、周りの人にも沢山広めてください!お願いします!

87
ぬるっぽ 2020/08/07 (金) 20:07:38 修正

PCOTを更新しました。

以下に更新項目を列挙します。

  • 画像翻訳で表示される画像が複数ある場合、ローテーションで表示するように修正
  • 画像翻訳をショートカットで起動する機能を追加
  • 早速バグってた改行無視を修正
  • 訳文で文字を選択中にヘッダーやフッターにあるコントロールをクリックするとエラーになるのを修正
  • 原文を小文字化削除の影響で辞書登録と名詞登録に不要な警告が出ていたのを修正

更新項目について説明します。

【画像のローテーション表示】
左右キーで画像の表示をローテーションさせるように修正しました。
例)画像が3枚ある場合
「→キー」画像1→画像2→画像3→画像1
「←キー」画像1←画像3←画像2←画像1

【画像翻訳をショートカットで起動】
ショートカットが有効な状態で、翻訳表示画面起動中に「ベースキー」+「I」で画像翻訳画面を起動します。

☆注意☆
ショートカットの設定ファイルの内容が変わりますので、ショートカット設定画面を表示後、一度リセットして今回の更新を適用する必要があります。

【改行無視の修正】
「改行を無視」の実装により「対象通りに改行」と被らないように実装したつもりでしたが、色々とイベントが入り乱れて変なことになってたので修正しました。

【訳文で文字選択中に別のコントロールクリックするとエラー】
翻訳表示画面のサイズを変更できるようにした際に組み込んでしまったバグです。これで直っているハズ。

【辞書登録と名詞登録時の警告を削除】
原文を小文字化にチェックがあったとき、警告で大文字小文字が合ってないけど大丈夫ですか?みたいな警告を出してたんですが、今はもう不要なので削除しました。

なんか、普通にショートカットが実装できちゃったので今回の更新にまとめます。

88
ぬるっぽ 2020/08/09 (日) 00:23:45

PCOTを更新しました。

今回は悲しいお知らせです・・・。
やはり翻訳精度を上げたせいか、無制限の使用が出来なくなってしまったようです・・・。
ただ、一度ブラウザと同じ精度で翻訳されるのに慣れてしまったせいか、どうしても元に戻すのが嫌だったので、弾かれた場合に元の無制限で使用できるバージョンに切り替えるように対応しました。
その際、使用している最中に突然アホな翻訳になってしまうので、今がどっちの状態かをステータス領域にて可視化させることにしました。

「参考画像」
画像1
※インターネット接続が切れている場合などは、プロセスの切断と同じカラー構成で「Google翻訳:無効」と表示されるようになっています。

ステータスの可視化は、プロセス選択時に一度ダミーの翻訳を投げてレスポンスの状態で表示を切り替えているので、プロセス選択はあまり頻繁に行わないよう推奨します。たかが一回、されど一回ですw

というわけで、今回はガッカリな更新になってしまいました・・・。

89
ぬるっぽ 2020/08/19 (水) 18:15:09

PCOTを更新しました。

久々の更新です。以下に更新内容を列挙します。

  • 「翻訳結果をコピー」のチェック状態を記憶しない不具合を修正
  • スクロールキャプチャー機能追加
     
    今回の更新について説明します。

【「翻訳結果をコピー」のチェック状態が記憶されない】
そのままです。ポカミスです・・・。直しました。

【スクロールキャプチャー機能追加】
洋ゲーで「キャラクターのセリフが勝手にスクロールして翻訳できない!」といった問題をなんとかしたくて追加した機能です。

先に注意事項を列挙しておきます。

  • 「フリー選択」のみに対応しています。画像翻訳と固定翻訳は非対応です。
  • キャプチャー対象の背景がごちゃごちゃしていない、無地に近い状態であること(ちょっと位だったら減色して連結するので大丈夫な筈)
  • 下スクロールにしか対応していません(要望があれば他方向のスクロールにも対応できると思います)
  • 動画には利用できません。これは画像連結時に重複部分を判定していますが、動画の場合1フレームごとにぱっと見分からない補正がかかるため、重複判定ができないためです。
  • あまり長い間キャプチャーすると、処理負荷が強烈に高いため、エラー落ちするかメモリが吹っ飛ぶかも知れません。(合計して1画面内に収まる程度の長さならそこまで処理負荷は高くないはずですが・・・)

<使用方法>

  • 「フリー選択」時、キャプチャー画面が起動後、中クリックでキャプチャーモードを「スクロール」に切り替えます。(キャプチャー範囲選択時、赤い枠になっていたらスクロールモードです)
  • いつもの様にキャプチャー範囲を選択します。マウスを離すと画像がキャプチャーされ続けます。
  • キャプチャーを終えるときは左クリックか中クリックします。
     
    キャプチャーを終えた段階でキャプチャーされた画像が連結されて一つの画像になるよう処理します。
    画像の連結が終わればそのままOCR読取を行い、読取結果を翻訳します。

更新は以上です。細かい不具合があるかも知れないので、もし変な動きをした場合はお知らせください。
以上です。めっちゃ疲れた・・・。

90
ぬるっぽ 2020/08/20 (木) 22:23:32

PCOTを更新しました。

今回の更新は大したことはありません。
更新項目としては、画像翻訳で←→キーの他にADキーで画像を切り替えられるように修正しました。あと、あまりにも拡大縮小の動きがもっさりしていたので、拡大/縮小の単位を若干上げました。

以上です。これくらいの更新だったら楽でいいなぁ・・・。

91
ぬるっぽ 2020/08/22 (土) 15:03:26 修正

PCOTを更新しました。

更新項目を以下に列挙します。

  • 関係ないショートカットを押してDeepLが反応しなくなる不具合を修正
  • 画像翻訳のファイルの読取方法を変更
  • 画像翻訳で大文字小文字が違うだけのプロセス起動時にSSしようとするとエラーになる不具合を修正
  • キャプチャー画面起動時に対象プロセスのスレッドを停止するように修正

更新項目についての説明です。
【関係ないショートカット】
画像翻訳画面でSHIFT+ENTERなどを押すと、DeepLが反応しなくなったりしますがこれで今回の修正で直っている筈です。

【画像翻訳の画像ファイルの読取方法を変更】
時々、画像翻訳のファイルが削除できなかったので、画像ファイルの読取方法を変更しました。これで、プロセスがどうたら怒られずに画像ファイルを削除できる筈です。

【画像翻訳で大文字小文字が違うだけのプロセス起動時のSS失敗】
プロセス名が「Game」と「game」で違うプロセスだったとしても、ファイルパスは大文字小文字を区別しないため、同列と扱われますが、既存の画像ファイル名を文字列として扱うとエラーになってしまっていたため、画像翻訳については修正しました。(※他に同様の理由で不具合を起こす箇所があるかもしれません)

【キャプチャー画面起動時に対象プロセスのスレッドを停止】
今回の更新の目玉はこれです。地味ですがとても使える機能だと思います。
ゲームの種類によってはキャプチャー画面でフォーカスを奪ったとしてもポップアップが消えてしまったりするのを防止します・・・たぶん。

92
ぬるっぽ 2020/08/27 (木) 18:57:42 修正

その疾さを体感せよ。

PCOTを更新しました!一度こういう痛い煽り文句付けてみたかったんですよねw

今回の更新は1点のみです。
PCOTが「Windows10 OCR」に対応しました!尚、以下の点を注意してご使用ください。

  • Windows10以外のOSでは動作しません。
  • Windows10であっても、ビルド「15063」以上が対象です。
  • 予めWindows言語パック(英語)がインストールされている必要があります。
     ※以上を満たしていない場合、そもそもOCRエンジンの選択候補に出てきません。

尚、使用OCRエンジンの選択は「システム設定画面」から行えます。
「参考画像」
画像1

Windows言語パック(英語)のインストール方法

  1. 「WIN + R」キーを押し、「ファイル名を指定して実行」のダイアログから以下のコマンドを実行します。
    コマンド:ms-settings:regionlanguage?activationSource=SMC-IA-4027670
  2. 設定画面が開いたら「優先する言語」項目の優先する言語を追加する(+)を選択。
  3. 英語(米国)を選択して「次へ」ボタンを押します。
  4. オプション項目を選択(言語パックのインストールは必須)して「インストール」ボタンを押します。

以上です!動かないよーって方が居ましたら、お気軽にお問い合わせください。

165
suraimuman1 2020/10/25 (日) 09:09:07 914dc@574a0 >> 92

ありがとうございます。何とかインストールできました。

399

Windows10 OCRに変更出来ません、ツールの再起動は試しました。
言語パックをインストールすると0x80070422とエラーが出て入力と言語のダウンロードはエラーになります。
↑が関係あるんですかね?
関係ないと思いますが単一言語エディションとかも関係ありますか?

400

TesseractOCRしか表示されずWindows10 OCRに変更出来ません。優先する言語には米国は追加はされています。

401
ぬるっぽ 2021/09/10 (金) 01:00:29 >> 400

お問合せありがとうございます。
PCOTでWindows10 OCRを利用できるかどうかは一度対象言語の言語オブジェクトというものを作成して、これが作成できるかどうかで利用可否を判定しています。
作成に失敗する場合は対象言語がWindows10 OCRに対応していないか、言語パックを認識できないかのどちらかです。

恐らくですが、単一言語エディションは関係あると思います。
他の言語パックのインストールに失敗するのも、それが原因ではないかと思います。
Windows10 HOMEかWindows10 Professionalなどにアップグレードして頂く必要があります。

そして恥ずかしながら、このコメントを頂くまで単一言語エディションというものを知りませんでした。
説明書、りどみに注意書きしておきます。
お力になれず申し訳ありません。