こんにちは〜こちらは liuyuxin です。国慶節の休暇と他の個人的な理由により、私の週報は長い間更新されていませんでした。次の週から更新を再開するために、少し整理する準備をしています。
今日の記事では、最近取り組んでいるオープンソースプロジェクトについて話します:Flutter をベースとしたテキスト翻訳ソフトウェア。
背景の振り返り#
Weekly 5:Rust 学起来で、Windows から Linux に切り替えた後、以前使用していたテキスト翻訳ソフトウェア「pot」が Ubuntu をサポートしていないことが私の適応できない問題の一つであることを述べました。現在は Kubuntu システムに固定されていますが、pot の翻訳体験はまだ悪く、テキスト翻訳のためのショートカットキーを使用するたびに応答時間が非常に長くなります。そこで、自分でテキスト翻訳ソフトウェアを作成し、ショートカットキーの応答速度を向上させることを考えました。
技術的には、私がより詳しく知っている Flutter フレームワークを選びました。当時、MeReadをデスクトッププラットフォームに拡張している最中で、Flutter をデスクトップで使用することにも慣れることができました。
開発の経過#
Flutter の優れた開発速度のおかげで、最初のデモは半夜で作成できました。バイドゥ翻訳 API を呼び出してテキストを翻訳することができるものです。国慶節の休暇後、さらに時間をかけて最適化と改善を行い、さまざまな翻訳サービスを統合しました。現在、「テキスト翻訳」の機能は非常に優れています。
それでは、オープンソース化の準備をしましょう。まず、iconfontから適当なアイコンをロゴに使用し、コードファイルを整理し、VitePressを使用してドキュメントサイトを作成し、最後に Github にアップロードすることで、現在の「质感翻译」が完成しました。
なぜ「质感翻译」という名前にしたのか?デザイン能力がない私は、Flutter の組み込み Material You コンポーネントを使用して UI を作成しました。「质感设计」の翻訳ソフトウェアなので、「质感翻译」と呼びました〜
オープンソースのリンクをお届けします:
公式ウェブサイトはこちら:https://metranslate.top
現在のスター数はまだ 0 です。スター、イシュー、プルリクエストをお願いします!
現在の成果#
まず、スクリーンショットをご覧ください:
現在、「质感翻译」は 8 つの翻訳サービスと 2 つの国内 AI モデルを統合しています:
説明 | 翻訳サービス |
---|---|
設定不要 | DeepL 翻訳、Google 翻訳、Yandex 翻訳、火山翻訳 Free |
API の申請が必要 | バイドゥ翻訳、彩雲小翻訳、火山翻訳、小牛翻訳、有道翻訳 |
AI モデル | MiniMax、智谱 AI |
機能面では、現在次の機能が完成しています:
- カスタムショートカットキーとグローバルフォント
- 自動コピーと改行の削除
- プロキシの設定
- AI モデルの調整
- 履歴記録、起動時の自動起動、カスタムウィンドウの透明度、マウスに追従するウィンドウなど...
現在、Windows と Linux の 2 つのバージョンをパッケージ化し、Github に公開しています。ダウンロードしてお試しください:
https://github.com/gvenusleo/MeTranslate/releases/latest
注意:私は Linux で開発とテストを行っていますので、ソフトウェアが Windows 上で未知のバグを抱えているかどうかはわかりません...
今後の計画#
「质感翻译」の開発は、自分用のソフトウェアとして始めたため、ソフトウェアの機能設計は常に自分の感覚に従っています。現在、私の主な要求であるテキスト翻訳はすでに完了しています。今後は、次の機能の追加を検討する予定です:
- スクリーンショット翻訳
- ドキュメント翻訳
- さらなる翻訳サービスと AI モデルの統合
- より多くのショートカットキーのサポート
- その他...
Github でのフィードバックも歓迎します!
最後に#
実際に体験してみると、現在の Flutter はデスクトップに対するサポートが完全ではなく、ウィンドウの複数表示に対応していない、フォントのレンダリングがひどいなど、多くのデスクトップ要件がモバイルに比べて後回しにされています。多くの機能はコミュニティのパッケージに頼る必要があります。ただし、パフォーマンスは合格点です(少なくとも「质感翻译」のメモリ使用量は pot よりもはるかに良いです)。
最後に:
- leanflutterが提供する一連のデスクトップ用 Flutter パッケージに感謝します。
- potからのインスピレーションとデザインの参考に感謝します。
- 私のルームメイトに感謝します。私以外で「质感翻译」を最初に使用したユーザーで、バグを見つけるのを手伝ってくれました。