Ctrlキー + 私が得るようにZのようなショートカットのローカライズされた説明を取得する方法はあります「Ctrlキー + Z」アプリは、英語のシステム上で動作している場合、「STRG + Z "ドイツ語のシステムでは?Delphi:メニューのショートカットの説明をローカライズする方法は?
VCL関数ShortCutToTextは国際化されていません。 API関数のGetKeyNameTextは少し上手くはいますが、まだ完全ではありません。ドイツ語XPの地域設定を英語(米国)に切り替えると、それでもドイツ語のテキストが生成されます。それ以外にも結果は醜い大文字である。
説明:私はShortCutToTextまたはSmkc *リソース文字列をカスタマイズされたバージョンで置き換えることができます。しかし、私は翻訳された文字列が必要です。そして、私はこれらをOSなどから入手したいと考えています。
更新:マイクロソフトでは開発者が自分で翻訳を行うことを期待しているようです - Associating a Menu Item with an Accelerator Keyの2を参照してください。引用:たとえば
、[ファイル]メニューの[開く]コマンドにCTRL + Oを割り当てるために、 それはこのようになりますように、メニュー項目のキャプションを変更します。
開く\ TCTRL + O
メニューエディタのメニュー項目が更新され、入力時に新しい字幕 が反映されます。
キャプションに手動でショートカットを追加することに注意してください。
これは、Menus.pasのコードに 'ShortCutToText'が使用されているので、非英語のキーボードを使用しているDelphiシステムでは、オーナーが描いたメニューが正しく描画されないことを意味します。それは私の見解ではかなり不自由です。 –
@David:それは私が尋ねる理由です。私たちのドイツ人以外の顧客は、メニューにStrg + Zなどの文句を言っています。彼らは、少なくともCtrl + Zか、もちろんより良いことを、自分の言語で同等のものにしたい。そして、これは所有者が描かれていないメニュー(D2007)でさえも起こります。 –
さらに、オーナーのドローメニューの使用をやめると(Vistaではグリフを描画するためにオーナードローが必要ないので)、システムはそれを並べ替えるだけです。 –