2021年1月16日土曜日

テルシス語翻訳スクリプトをパワーアップ

注:さらに進化したバージョンはこちら:
記事は英語しかなく。。。ごめんなさい。🙇‍♀️いつか日本語で書きます!

先日テルシス語(ヴァイオレット・エヴァーガーデン世界)翻訳Pythonスクリプトを書いたばかりですが、 テルシス語の解読しかできなく、性能は欠けていると思いました。

よって、休み時間を使って、パワーアップしました。
 
かなり増強しました。
解読だけではなく、テルシス語で書くこともできます。
解読する時、言語指定もできます。
バックエンドはGoogle Translateです。

とりあえず、v0.1をGitHubに載せました。
ここです。

コマンドラインからの実行例:
$ ./telsistrans.py -t "I love Major \Gilbert\ " -sl en
Nun posuk Gilbert ui gikapmarikon
$ ./telsistrans.py -t "Posuk \Gilbert\ nunki." -sl telsis
Thank you Major Gilbert.

インタラクティブモードもあります:
$ ./telsistrans.py -i
Source language: en
Input source text: I love you
Target language:       
In Tamil script: நான் உன்னை நேசிக்கிறேன்
Pronunciation: Nāṉ uṉṉai nēcikkiṟēṉ
In unaccented characters: Nan unnai necikkiren
In target language: Nun annui noyirrikon
Source language: telsis
Input source text: Nunki posuk
Target language: ja
In Tamil script: நன்றி மேஜர்
Pronunciation:
In unaccented characters: Nanri mejar
In target language: ありがとう少佐


Pythonスクリプト内でライブラリーとしても使用できます:
from telsistrans import telsis_translator
translator = telsis_translator()
srctext = "I love you"
srclang = 'en'
translator.lang2telsis(srctext, srclang)
print(translator.results['tgt_text'])  # Print out results of translation
srctext = "Nunki posuk"
tgtlang = 'ja'
translator.telsis2lang(srctext, tgtlang)
print(translator.results['tgt_text'])  # Print out results of translation

 
上記スクリプトを実行したアウトプット:
Nun annui noyirrikon
ありがとう少佐
 
テルシス語のフォントファイルを指定すれば、
このような出力もできます:
 「Dear Major Gilbert」(親愛なるギルベルト少佐)

 
 
 
「I love you」(君を愛しています)



 
この翻訳スクリプトを使用するため、以下のPythonライブラリーが必要です:
google_trans_new
unidecode
requests
Pillow
 
スクリプト(解読や翻訳の流れ)に関する説明もレポジトリーに載せましたが、
英語です。

テルシス語について、少し説明します。
ヴァイオレット・エヴァーガーデンの世界観設定を担当した鈴木貴昭さんがスタッフイベントで、
日本語原文を英語へ翻訳し、
英文をまた別の言語に翻訳し、
その結果のアルファベットを暗号化して、
最後にテルシス語の文字にする、と説明しました。
その別の言語は言及しませんでしたが、
すでに「タミル語」と特定した人々がいます。
ようするに、
テルシス語はタミル語を暗号化したものです。
その暗号は、英文字の置き換え(スワップ)です。 
ネット同志の努力で、
おそらく
A ⇔ U
C ⇔ Y 
E ⇔ O
G ⇔ V
H ⇔ T
K ⇔ R
M ⇔ P
で英文字を置き換えたと推測しました。
ネット同志は、S、Lについて少し悩んでいたみたいです。
個人的に、
J ⇔ S
L ⇔ Q
で置き換えられていたと思います。
確かではありませんが、この翻訳スクリプトではこのように置き換えます。

作ったばかりで、まだ完全にテストしたものではありません。
でも、出力は合っていると思います。😅
コンソルでの使用ですが、少し慣れていない方には難しいかもしれません。。。🙇‍♀️
将来的にTkで簡単なGUIを作ろうとは思いますが。。。
GUIを作るのが大嫌いで、おそらくなかなかできはしないでしょう。 

英語ブログにもこのスクリプトについて書きました。)

2020年1月23日更新:GUIを作りました。
Kivyを使用したGUI:

PySimpleGUIを使用したGUI:

テルシス語のフォントも作りました。

2020年1月25日更新:GUI使い方のビデオをアップしました。


0 件のコメント:

コメントを投稿