152
94

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DeepL翻訳をコマンドラインで使えるアプリを作りました

Last updated at Posted at 2022-01-29

2023/12/28 にアップデートを行いました

以前は npm -g でのインストール手順でしたが、vercel/pkg を使用することにより、単一で実行出来るファイルを生成しました。

そして Homebrew を使用してインストールできるようになりました。

また、その他の細かい修正も行いました。

  • 対話モードでの翻訳実行方法を変更しました。
  • 設定ファイルの保存場所を ~/.config/dpl に移動しました。
    • (これにより、以前のバージョンではインストールし直すと設定が消える不具合がありましたが、修正されました。)
  • Dependabot を導入して、定期的なアップデートを実施するようにしました。

(Windows でのパッケージ管理システムでの配布は、要望があれば行います。)

はじめに

今回は、DeepLの開発者向けAPIを利用して、Deepl翻訳をコマンドライン上で簡単に行える非公式ツールを制作したので紹介します。

image.png

特徴

  • とにかくシンプルで気軽に使える
  • 公式のAPIを使うので動作が早い
  • 無料版のAPIキーに対応している

作った理由

最近はエラーメッセージが出た時にすぐ検索をせずに、まずは文章を読んで意味を理解するのを意識的に行っています。
その際に、DeepL翻訳アプリを立ち上げるのが面倒だったので作りました。

デモ

まずは、動作させている画面を見てもらったほうが早いと思うので、スクリーンショットを撮りました。
このアプリには、

  • 単一変換モード
  • 対話型モード

の2種類の使い方があります。

単一変換モード

$ dpl "変換したい文章"

コマンドの引数が一つの場合に起動します。
引数が事前に設定しておいた言語に変換されます。
(この場合はターゲット言語を日本語に設定)

image.png

対話型モード

$ dpl

コマンドの引数がない場合に起動します。
対話型で起動しながら、事前に設定しておいた言語に変換します。

変換を確定する際には「t」だけの行を入力して改行して下さい。

v0では、改行のみで翻訳が行われていましたが、翻訳するための方式が変更されています。

(改行のみでの翻訳では、入力された改行が他の場所からコピー&ペーストされたものか、変換を確定するために入力されたものかを判別することができなかったため)

終わる時は 「control+C」 or 「q」 で終了してください。

image.png

使用方法

事前にDeepL APIのキーを作らなければいけません、そこだけ少し手間ですがご了承お願いします。

1. DeepL APIのキーを作る

使用前に、開発者向け DeepL の APIキー を公式サイトで作る必要があります。
APIキーには二種類あり、無料版と有料版があります。
無料版でもかなりの文字数を変換できるので、通常問題ないと思います。

2. インストール

$ brew tap shu-pf/tap
$ brew install dpl

3. ターゲット言語やAPIキーの登録

事前に発行しておいたAPIキーやターゲット言語などの登録を行います。

$ dpl setting

英→日で無料のAPIキーを使用の場合はこのような設定になるかとおもいます。

api type: free
auth key: XXX(本人が発行した物)
target lang: JA

感想など

なにか物を作る時は自分で使うものを作ると受けがいい

このアプリを作ってnpmで公開したのですが、ダウンロード数の伸びがいいです。

それに比べて、その一つ前に作ってnpmで公開した物は、ほぼダウンロードされない・「別に必要ないんじゃないか」と引用リツイートで意見される散々な感じでした。

それを振り返って思うのは、
やはり、「こういう物があればウケるんじゃないか?」という物よりも、実際に自分が利用する物のほうが、確実に評価されるという事ですね。

自分ごとであれという話は、入門 起業の科学でも書かれていました。

なのに、突拍子も無いことを思いついた時に限って、なぜかそのアイディアが魅力的に見えてしまうんですよね…笑

無意味に使うライブラリを増やさない

このアプリを作る際にこちらのライブラリを使ったのですが、

(deeplとの通信をラップしてくれるライブラリ)

最新のAPI仕様に対して対応をしてはおらず、途中で外したという経緯がありました。
オープンソースのライブラリはメンテンスが継続的に行われるとは限らないので、本当に必要なライブラリは吟味して最小限に留める事も必要だと思いました。

152
94
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
152
94

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?