yzisのKDEフロントエンド版のkyzisの日本語化を検討する。
メッセージはKateから持ってきたものも多いらしく、KBabelでそこそこ楽に作成できそう。
元々のKateの訳に気になるのがあるので半分程度訳してみて現在放置中。
やる気と合えばM3までに仕上げて提出してみるかな。ただ、日本語にまともに対応するのはそれまでにはきつそうだからM4のほうがいいのかな。
で、InputMethod対応は追記で。
まずは、inputMethodEnabledプロパティの対応を。kyzis/src/editor.cppでsetInputMethodEnabled( true )を呼び出すだけでOK。
しかし、こういうアプリはいちいちインストールしないと動作確認が出来ないのはつらいな。適切に処理すればインストールせずにチェックも出来るだろうけど、それも面倒だ。
で、OverTheSpot時の表示位置が変なのはsetMicroFocusHint()を追加で対処。
ソースの構成的にはCursorクラスで実行したいところだけど、そちらにはエディタの表示部の情報がないし、あきらめてEditorクラスにて。
それで、OnTheSpot対応へ対象を変更。そのままでは入力もコミットも出来ない。って、どうやればいいんだ。immodule for Qt関連には情報がないなぁ。たしか、OnTheSpot時にはQIMEventでの処理が必要なんだっけ。何で情報がないんだ。とおもったらこの辺はAPI変えてないんだった。よく考えたら。で、QIMEventのドキュメントを見ながら考え中。imStartEvent()とimEndEvent()は簡単に実装可能。で、PreEditの表示はしないがコミットは出来ることを確認。
imComposeEvent()はどうしよう。Model/View的にはpreeditもModel側が持つほうがいいんだろうな。だが、それをやると改造が大事になりそうだ。面倒だけど、表示部の変更だけですますかな。現在はここでストップの状態。実際の表示部はチカラ技で何とかするとして、preeditの表示スタイルのヒントとかはimmodule側からもらえたりしないのかなぁ。このあたりはどうすればいいんだ。
しかし、OverTheSpotとOnTheSpotで対応が全然違うんだな。OverTheSpotだとinputMethodEnabledプロパティとsetMicroFocusHint()だけですむから楽なんだが、OnTheSpotは面倒だ。こりゃ、開発者側から見たらIMの重要性を分かってなければ実装したくないや。それ以前に、IM関連でイベントハンドラを作る必要があることを知らない人も多いだろうな。
「How to support Input Method for KDE/Qt application」みたいな啓蒙の文章が必要なんだろうな。
なお、パッチ等はまだまとめてません。現状でいいから欲しい人がいればどっかおきます。
Warning: count(): Parameter must be an array or an object that implements Countable in /home/asaki/www/wordpress/wp-includes/class-wp-comment-query.php on line 405