概要
先日、HomestuckのヤバイFlashを紹介するだけのページをアップしてしまったのでついでにHomestuck本編を読んだときに使ったブックマークレットも置いておきます。PCブラウザ+機械翻訳(Google翻訳等)で読む方向けです。対象ブラウザはGoogle Chrome(と一応Firefox)で、Windows 10版で動作確認していますがブックマークレットはブラウザによって使用できる文字数の制限等があるためその他の環境では動作しない場合があります(これでも削ったが全部で8000文字以上ある)。スマホ用ブラウザでも多分動きません(対応予定なし)。
そもそもなぜこういうものを作ったのかというと、英語力が壊滅しているなりに機械翻訳に頼りに頼って頼りきるつもりでHomestuckを読み始めたらアルファベットの一部を数字に変えて喋るやつとか一文字ごとにアルファベットの大文字と小文字を入れ替えて喋るやつとかとにかくアポストロフィ全部省くやつとか、あと造語の連発や感嘆の「OH」を「オハイオ州」と訳すグーグル先生などに悩まされ、諦めかけたそのとき「そういえばブックマークレットでこういうの全部変換できるよな」と思い出した…のはいいがそれまで特にJavascriptを書いたこともなかったので結局あれこれ勉強することになった。英語を真剣に勉強するのとどっちがマシだったのだろうか。今となっては誰にも分からない…。
(更新・2019年4月21日)エピローグ公開記念に暫定かつ簡易版ですがエピローグ専用のブックマークレットも追加しました。おまけ機能は誤爆が多かったので最低限のものだけ残して削除済。
(最終更新・2019年4月21日)
スクリプト本体
※クリックしても動作しません。
つかいかた
上記のリンクをブックマークバーにドラッグ&ドロップするなどしてブックマークに登録、もしくは適当に新しいブックマークを作成したのち(ブックマークの)編集 or プロパティを開いてURL欄にソース(※テキストファイル・文字コードUTF-8)の内容をまるごとコピー&ペーストして登録してください。登録したあとはHomestuckのサイトでブックマークをクリックして実行すればチャットの台詞等の内容が機械翻訳に適したものに変換されます。ちなみにreadmspa.org のテキスト書き起こしページでも一応動作します。使用の際はGoogle翻訳の拡張機能(Google Chrome用)もしくはアドオン(Firefox用)を導入するとより便利。
なお、作った人のスクリプト力(ぢから)の限界で、ただ単に同じ処理を50回ほど繰り返す方式になっているので文字数が多いページでは変換漏れが生じることがありますが、その場合は同じページで2回以上実行してください(アナログな処置)。たぶんやる人はいないと思いますが再配布は一応お断りします。むしろよりスマートに書き直してくれる方募集。個人的に改造して使用するのはまったく問題ありません。
具体的な解説(とメモ)
このブックマークレットで具体的になにをやっているのかメモしておく。おもにチャット文面の修正が目的で、各登場人物ごとの文字色を起点にするなどして正規表現で書き換えている。なお各登場人物のチャットの癖については公式Wikiの「Typing Quirk」の項目を大いに参考にしました。
- アルファベットの大文字・小文字が不適切に入り交じるやつ(タヴロス、ガムジー等)、もしくは大文字・小文字でしか喋らないやつ(デイヴ、カーカット等)、それ以外にもこの後変換上必要なやつの台詞を一度全部小文字に変換。
- ↑の最初の一文字だけ大文字に変換。
- 「o(オー)」を「0(ゼロ)」にするなどアルファベットと数字を入れ替えて書くやつを修正(アラディア、ソルックス、テレジ等多数)。
- ただしヴリスカとご先祖様のマインドファングは「8」を「b」だけでなく「ate」「ait」などの意味で使う場合もあります(用例:UPDATE→UPD8 とか)。「b=8」としての利用のほうが圧倒的に多いですが変換前も適宜参照してください。
- ソルックス:「i」を「ii」と書きがちなのでiに戻す。あと「to」や「too」を「two」と書くので苦肉の策で「to」に統一。
- エクィウス:「X」を「%」、「loo」や「ool」を「100」「001」と書くのを変換。
- ガムジー、エリダン等が「~ing」を「~in」と書きがちなやつを無理矢理直したが「again」まで「againg」になったのでそれだけ無理矢理直した。
- エリダン:「v」を「vv」、「w」を「ww」とか書くのはどうにかしたが、法則性なく「of」と「and」を「a」「an」に変えたりするのはどうにもできなかった…。
- フェフェリ:「H」を「)(」、「E」を「-E」と書くのを変換(
『-EXCIT----------------ED!』
みたいなのも『EXCITED!』になる)。魚ジョークはわからん。 - デイヴ:アポストロフィを省かれると機械翻訳の精度がものすごく低下するので片っ端から修正した。あと一人称の「I」を「i」と書くのも修正。
- ロクシー:「u(you)」「r(are)」など略語を使いがちだが三文字系のものは全然知らない言葉が頻出したためチャットに登場した言葉で気づいたものだけ追加(例:「afk」→「away from keyboard」(※ネトゲ用語で離席の意らしい)など)。
- Doc. Scratch:白文字が読みにくいので文字色はそのままで背景色追加。
↑ここまでが大まかな内容で、これより下はおまけ機能で読みやすくするための小細工です。不要な場合はテキストファイルのほうから該当部分の行をカットしてブックマークレットに登録してください。
- 代表的な登場人物名を直接カタカナに変換&b要素と下線で強調(ローズがいちいち「バラ」と訳されるのが耐えられなかった)。カタカナ版はピクシブ百科事典の登場人物紹介を参考にさせていただきました。
- チャットに表示されるハンドルネームの略(EBとか)に本人の名前を併記。
- 「sburb」などの造語・専門用語をi要素で囲んで翻訳後も特別な言葉だと分かるようにした。
- 各台詞の文末に句読点の類がなかった場合にピリオド(.)を追加。これだけで翻訳の精度がやや上昇!!
- 顔文字(:33 ←こういうの)が機械翻訳に影響するのを防ぐため直前に句読点を置いて小細工。
- チャット始めと終わりに出てくるハンドルネームの表示が翻訳後なんか汚くなりがちだったのでダブルクォーテーションで囲んだ。
スクリプトを書いたのが何ヶ月も前なので全部は思い出せないが大体こういう機能です。機械翻訳勢の方はよろしければ使ってみてね。