linux

Linuxコマンドラインで英語を日本語翻訳、cowsayは日本語を話せる

投稿日:

サバサバしがちなIT開発現場、一服の潤いが必要ですね。
以前、Linuxログインした時に牛に格言を喋らせる伝統芸能を試しました。

「まぁ格言を喋ってもねぇ・・・雰囲気潤うかね?」

的なフィーリンを自分で感じていましたが日本語で喋ってくれれば結構和むんじゃないか、と思ってやってみました。

訳が面白い時は結構和めます。

自然言語を翻訳するLinuxコマンド「Translate Shell」

引数で渡した自然文をgoogle翻訳に掛けてくれるコマンド。無料かつGoogle翻訳以上の翻訳機能を知らないので、現状ではこれを使うのが最適解でしょうかね。

インストール

公式に従ってgithubからcloneしてきます。要gitコマンド。

$ git clone https://github.com/soimort/translate-shell
Cloning into 'translate-shell'...
remote: Enumerating objects: 88, done.
remote: Counting objects: 100% (88/88), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 4515 (delta 44), reused 63 (delta 33), pack-reused 4427
Receiving objects: 100% (4515/4515), 2.47 MiB | 673.00 KiB/s, done.
Resolving deltas: 100% (2875/2875), done.

cloneしたディレクトリに入り、

$ cd translate-shell/

$ ls
CONTRIBUTING.md  Makefile   README.template.md  build.awk                 include  metainfo.awk  test.awk   translate-shell.plugin.zsh
LICENSE          README.md  WAIVER              google-translate-mode.el  man      test          translate  translate.awk

make

$ make
[OK] Task build completed.

make install。rootで。

# make install
[OK] Task build completed.
[OK] translate-shell installed.

インストール完了。

$ which trans
/usr/local/bin/trans

英語 → 日本語翻訳してみる

transコマンドにen:jaオプションを付け、引数の英語を日本語に翻訳。

$ trans en:ja 'hello world!'
hello world!

こんにちは世界!
(Kon'nichiwa sekai!)

「hello world!」の翻訳
[ English -> 日本語 ]

hello world!
    こんにちは世界!, 世界こんにちは!

色々余分なものが表示されて流用し辛いです。-bを付けると翻訳文のみの表示になります。

$ trans -b en:ja 'hello world!'
こんにちは世界!

使いやすくなりましたね。

cowsayにfortuneを日本語で喋らせてみる

またまたご冗談を。

$ fortune | trans -b en:ja | cowsay
 __________________________
< システムを再起動しています。お待ちください... >
 --------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

ドキッ。なんか悪いことしたかな・・・。

# fortune | trans -b en:ja | cowsay
 ______________________
< オペレーターからのメッセージがあります。 >
 ----------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

まぁ車輪の再発明はダメだと言われますからねぇ。

# fortune | trans -b en:ja | cowsay
 ___________________________________
/ Unixを理解していない人は、Unixを再発明すると非難されます。 \
\ -ヘンリー・スペンサー                       /
 -----------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

どうやら私は失恋して慰められているようです、牛に。

$ fortune | trans -b en:ja | cowsay
 _________________________________________
/ しばらくして、微妙な違いを学びます 手をつないで魂をつなぐ間、         \
| そして、愛はセキュリティを意味するものではないことを学びます          |
| そして、あなたはキスが契約ではないことを学び始めます              |
| そしてプレゼントは約束ではありません                      |
| そして、あなたはあなたの敗北を受け入れ始めます 頭を上げて目を開けて、     |
| 子供の悲しみではなく、女性の恵みで、                      |
| そして、あなたはあなたのすべての道を造ることを学びます 今日は明日だから    |
| 不確実すぎる。そして先物は 飛行中に落ちる方法、                |
| しばらくすると、あなたはあなたがあまりにも多くの場合、太陽の光さえ燃えることを |
| 学びます。 だから、あなたは自分の庭を植えて、待つのではなく、自分の魂を飾る  |
| 誰かがあなたに花を持ってきてくれます。                     |
| そして、あなたは本当に耐えることができることを学びます...          |
| あなたが本当に強いこと、 そして、あなたは本当に価値があります         |
| そして、あなたは学び、学ぶ さよならごとにあなたは学びます。          |
\ -Veronica Shoffstall、「Comes the Dawn」   /
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

「失恋で耐えることを学ぶ、さよならするごとに学ぶ」と。
学んでばかりで幸せになれそうもありません。

日本語に訳してみると他にも迷文がザクザク出てきます。

まとめ

英語の格言ってウィットに富んでいて、日本語に訳しても訳わからん感じで和むこともしばしばです。

デスマって極限状態にいる時、Linuxにログインした際に優しい言葉を掛けられてふと我に返る、なんてことがあるかも・・・

「Linuxログイン時、牛にプロジェクト分析結果を喋らせる」回に続きます。

-linux
-, ,

執筆者:

関連記事

CentOS8をPC実機にネットワークインストール(CD使用)

前回Windows上のVirtualBoxにCentOS8をインストールしました。 One IT ThingCentOS8をVirtualBoxにインストールしてXからdnfを打つまでhttps:// …

各種OSでのインデックスを使用した高速ファイル名検索と全文検索【Linux編】

目次1 目的2 環境3 使用コマンド4 ファイル名検索5 全文検索6 補足とインデックス更新7 まとめ 目的 CentOS上に存在する全ての「~.java」ファイルをリストアップします。上記の内「Sy …

認証付きHTTPプロキシを認証無しで利用する下位プロキシをsquidで構築

目次1 はじめに2 環境3 手順3.1 squidをインストール3.2 /etc/squid/squid.confを設定4 squid起動4.1 3128ポート開放4.2 各種端末で上記プロキシを設定 …

CentOS8にPostgreSQL12をインストールする手順

以前CentOS7にPostgreSQL11をインストールしてSQL実行しました。 One IT Thing  1 Pocket開発用PostgreSQLをCentOSにインストールしてSQ …

podmanをdockerとして使う

docker代替としてRHEL系OSにデフォルト搭載されたpodmanは当初、dockerを期待している他周辺ソフトウェア(docker-componseやgitlab-runnerなど)と素直に通信 …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯現役技術者を目指しています。健康第一。