このあたりの進捗について。
日本語入力のセットアップ
mozcのインストールと設定をメニューから一度に済ませるというPRを出してました。
#9634 Add one-step Japanese input setup
このPR自体はマージされず、10月15日にクローズされている。ただ、クローズ時のコメントを読むと、作業は別のPRに統合されていた。
統合先は、DHHの #14433 Unify input methods with installer keyboard selection。こちらは10月11日(日本時間)にマージ済みだ。
日本語だけでなく、韓国語や中国語の入力設定もまとめたもので、日本語については次のことができるようになっている。
- インストール時にJISキーボード、またはUSキーボードでの日本語入力を選ぶ
- インストール後に
omarchy setup input mozcでMozcを追加する - メニューで入力方式を管理し、
Super+Iで切り替える
#14433の本文には、統合した作業として僕の #9634 が明記されている。元PRへのコメントでも「#14433がこのPRを統合した」と説明されているので、僕の作業が引き継がれたことは確認できる。
実装は複数言語で共通化されていて、僕の元コミットがそのままマージされた形ではない。Gitの共同著者情報に僕の名前は入っていないが、PRをたどれば元の作業との関係は分かる。
Voxtypeの日本語音声入力
もう一つは、音声入力した日本語が欠けたり、意図しないキー操作になったりする問題。
調べると、Voxtypeが認識した文章を wtype で一文字ずつ入力する経路に問題があった。長い日本語には種類の違う文字がたくさん含まれるので、短い入力では出なかった問題に当たりやすい。
そこで、不具合報告と貼り付け方式に変更するPRを出していた。
- Omarchy #10050 Default Voxtype type mode can corrupt longer Japanese/CJK dictation through wtype
- Omarchy #9641 Use universal paste for Voxtype output
- Voxtype #695 wtype direct output can corrupt longer Japanese/CJK transcriptions
その後、Voxtype作者のPeter Jacksonさんが、Omarchy向けに #15490 Paste voxtype dictation instead of typing it を出してくれていた。
このPRは僕の #9641 と不具合報告を引用し、一文字ずつ入力する方式から、認識結果をまとめて貼り付ける方式に変更している。僕の案では Super+V を使っていたが、後続PRではターミナルでも使える Shift+Insert に変更され、既存ユーザー向けの移行処理も追加されている。
こちらはコミットに、
Co-authored-by: Masaki Komagata <16577+komagata@users.noreply.github.com>
と入れてくれている。これはうれしい。
#15490はまだ未マージなので、Omarchy全体への採用はこれから。ただ、僕が調べて提案した内容を、作者が引き継いで改善してくれているところまでは進んでいた。
i18n方式
UIの翻訳についても、DHHの #15326 Omarchy in 50 languages が10月14日にマージされ、50言語への対応が入った。ただ、ここは僕が提案していた方式とは違うものになった。
僕が提案していたのは、Qt標準の qsTr() と QTranslator を使う方式。翻訳ファイルにはQtのTS/QM形式を使い、複数形や翻訳コンテキストなどの処理をQtに任せたいと思っていた。その動作を確かめたのが #10051 Load Qt translations from an external QML module で、Quickshell本体に翻訳ファイルの読み込みを追加する Quickshell #1081 も出している。
今回のOmarchyでは、言語ごとの翻訳をJSONファイルに保存し、QML側では shell/Commons/I18n.qml、コマンド側では omarchy-i18n から読み込む方式が採用された。Qt標準の翻訳機能は使わず、翻訳の検索や英語へのフォールバック、複数形の選択をOmarchy側で扱う構成だ。
僕のPoCの #10051 は、翻訳機能が #15326 で入ったという理由でクローズされている。日本語入力の件とは違って、こちらは僕の実装が統合されたわけではない。Qt標準方式の提案は採用されず、別の方式で翻訳機能が入った、という状況。Quickshell側の #1081 はまだオープンで、今回のOmarchyの翻訳機能には使われていない。
Unify時のAuthorについて
いろんなPRを1つにUnifyしてPRを作ってる感じ。OSSの貢献がわからなくなってしまうので、これは元のAuthorをUnifyしたPRにも反映した方がいいとおもう。
元のPRのクローズもbotがやってる自動なのでちょっと仕組みをいじればできそう。すぐにそうなるかもですね。
日本語・多言語化関連の今後
おそらく今回のも含めて次のQuattro4.5RSで、Out of the Boxでの日本語体験は最低限の水準がクリアされたとおもう。次はWindowsやmacOSよりあきらかにいいよねって水準を目指したいですね。
たとえば、IMEをニューラル変換+ライブ翻訳のkarukanにするとか、日本語音声入力がデフォルトで完璧になるとか、Siriより賢い素敵なAI Assistant🤔がはいるとか。