「翻訳しないをする」GAS LanguageApp.translate

機械翻訳を行なっていると、部分的に翻訳したく無い箇所がある事に気がつく。 私の場合、翻訳精度を上げるために固有名詞リストを作り、翻訳にかける前に固有名詞をシリアルコードに全置換して、LanguageApp.translateで翻訳後にシリアルコードを該当言語の固有名詞に全置換するスクリプトを組んでいたのだが、翻訳後にシリアルコード部分にスペースが混入したり、さらには数字が欠落することがあった。 コードがおかしくなると当然ながら置換に失敗してしまう。 数十回に一回の割合であったが、翻訳後にシリアルコードが残ってしまうのでは大問題であった。 例 ABCD0011 このようなコードがあったとする 以下の三行のような形で余分なスペースの混入や数字の欠落が見られた。 ABCD 0011 ABCD001 ABC D0011 このような変わってはいけない文字列は翻訳対象から除外するべきであろう。 しかし、翻訳対象から外す方法はLanguageApp.translateの説明を読んでもどこにも書いていない。 https://developers.google.com/apps-script/reference/language/language-app 翻訳対象から除外する方法としてトリプルブラケットで囲むという方法があると以前そちらの方面の人から聞いていたが、少なくともLanguageApp.translateでは効果がなかった。 様々な記号で囲んでテストしてみたが、翻訳対象から除外することは出来なかった。 もうほとんど諦め気分で検索を繰り返していた時、そんな時にhtmlのページ翻訳から翻訳対象を外す方法を目にした。 <span translate="no"> text... </span> こうして翻訳対象から外したい文字列を囲むことでWeb上に公開したページに関して閲覧者がページ翻訳を行ったとしても指定箇所だけは翻訳されずに残るという事だ。 公開したWebページの話しなので、LanguageApp.translateには関係無い。そう思った。 しかし、何か解決策がないかとリファレンスを何度も見返していた。 よくよく見返すと使用方法は2種類記載がある。 1つめはこれ...