【iPhone】5000文字以上のテキストに対応したDeepL翻訳ショートカットを作りたい [作業ログ]

文字列を適当に分割して繰り返し処理してみる。とりあえずやったことをまとめる。

0. 入力を用意する

とりあえず この記事のinputRoutine をそのまま使うことにする。


1. 文字列を分割する

文字列を指定の長さ(num)で分割してリストで返すショートカットを作る。

split(str,num)

画像1

正規表現(コピペ用)

[\s\S]{0,num-1}[^\z]


実行してテスト

画像2

入力

おはよ
うござ
います。

出力

おはよ

うご
ざ
い
ます。


こんなんでもいいかも。

split(str,num) 2

画像3

正規表現(コピペ用)

(\A[\s\S]{0,num})([\s\S]*\z)


2. DeepLのURLを生成する

原文の言語, 訳文の言語, 文字列を受け取って、DeepLの URLを返すショートカットを作る。

genDeepLURL()

画像4

実行してテスト

画像5

入力

たかしはナポリタン検定1級に合格したのでフランソワーズに手紙で告白することにした。


たかしがフランソワーズに書いた手紙には、以下のように書かれていた。

フランソワーズ、僕はナポリタン検定1級に見事合格したよ!でも、ナポリタン検定は9級がもっともむずかしいらしい。ところで結婚してくれないか?

ところでフランソワーズは猫だったため、手紙は読まれることなくビリビリになった。それを見たたかしはナポリタン検定9級の受験を決意した。

たかしの恋人のジェシカは事の顛末を聞いて、たかしと別れることを決意した。

出力

ここからDeepLに飛べる


3. 組み合わせて完成

処理の流れは、

・入力を用意
・n文字単位で分割
・分割した文字列それぞれのURL生成
・URLを開いていく

みたいな感じかな。ただ、途中で翻訳を止めたい場合もあると思うから、「アラート」アクションをURLを開く前に入れておく。

Translate@DeepL

画像6


4. クリップボードマネージャーに翻訳結果を保存するようにする

この記事で作ったクリップボードマネージャーに翻訳結果を突っ込むようにする。DeepLのサイトから翻訳結果をコピーして戻ると、クリップボードマネージャーに保存されるようにする。

画像7


5. とりあえず完成?

無理矢理分割するので、文章の前後関係や単語が切れてしまうのが問題だが、一応以下のように動いた。前の文章の最後の方を含めたりしたらもっといい感じになるかもしれない。


6. まとめ

まだあんまり動かしてないからなんとも言えない。

履歴を結合してクリップボードにコピーできるようにすれば、文字数制限を突破した感が強まるかもしれない。

あと、入力をファイルに突っ込んでいくショートカット(クリップボードマネージャーみたいな)を作っておくと色々応用が効くので便利だということがわかった。

では今回はこの辺で。

では〜。

この記事が気に入ったらサポートをしてみませんか?