コードで翻訳を使用したいのですが、それらはPHP / MySQLからのものであり、javascript配列に変換されます。
var translate = <?= json_encode($Object->translate);?>;
翻訳はJavascriptで利用できます(テスト済み)。
ここで、Javascriptコード、たとえばJqueryUIダイアログでそれらを使用したいと思います。
$("#logoff").click(function(){
var action = "logoff";
var btnLogoff = translate["dialog/buttonLogoff"]; // this gives the translation from the array
var btnCancel = translate["dialog/buttonCancel"]; // this gives the translation from the array
$("#dialog").dialog(
{
title: translate["dialog/titleLogoff"],
modal: true,
resizable: false,
buttons: {
btnLogoff : function() {
var loadUrl = "includes/_ajax/actions.ajax.php";
$.post(loadUrl,{action:action}, function(data) {
if(data)
location.reload();
});
$( this ).dialog( "close" );
},
btnCancel: function() {
$( this ).dialog( "close" );
}
}
}
);
$("#dialog").html("<span class='ui-icon ui-icon-alert' style='float: left; margin: 0 7px 20px 0;'></span>" + translate["dialog/textLogoff"]);
});
問題は、プロパティbtnLogoffが翻訳されたテキストを表示せず、代わりにそれ自体を表示することです( "btnLogoff")。
最後のセクションでは、translate ["dialog/textLogoff"]が意図したとおりに翻訳されています。私は明らかに何か間違ったことをしている。varをプロパティIDとして使用できますか?どのように?