プレイグラウンドで次のコードを実行すると:
var button1 = new qx.ui.form.Button("First Button", "icon/22/apps/internet-web-browser.png");
var doc = this.getRoot();
doc.add(button1, { left : 100, top : 50 });
button1.addListener("execute", function(e) { alert("Hello World!"); });
button1.setToolTipText(new qx.ui.core.Command("Control+D").toString());
qx.locale.Manager.getInstance().setLocale("en");
ボタン ツールチップには Ctrl+D が表示されます。
ロケールを「de」に変更しても、ツールチップには引き続き Ctrl+D が表示されます。2 回目の実行では、正しい文字列である Strg+D が表示されます。
最初の実行で正しい文字列を表示するにはどうすればよいですか?
私の問題を示すさらに良い例は次のとおりです。
var doc = this.getRoot();
var button1 = new qx.ui.form.Button("Deutsch", "icon/22/apps/internet-web-browser.png");
doc.add(button1, { left : 100, top : 50 });
button1.addListener("execute", function(e) { qx.locale.Manager.getInstance().setLocale("de"); });
button1.setToolTipText(new qx.ui.core.Command("Control+D").toString());
var button2 = new qx.ui.form.Button("English", "icon/22/apps/internet-web-browser.png");
doc.add(button2, { left : 200, top : 50 });
button2.addListener("execute", function(e) { qx.locale.Manager.getInstance().setLocale("en"); });
button2.setToolTipText(new qx.ui.core.Command("Control+E").toString());
ツールチップを見てください。
これはバグですか、それともロケールを正しく設定していませんか?
/敬具
キリスト教徒