2
JS Gettextを使用するには、次のコードを使用します。コードブロックは実行されませんが、関数は定義されます
if (lang == "de") {
var gt = new Gettext({"domain": "tag_cloud", "locale_data": json_de_data});
function _(ident) {
console.debug('gt.gettext("'+ident+'")');
return gt.gettext(ident);
}
console.debug("Using Gettext.");
}
else {
function _(ident) {
console.debug('return "'+ident+'"');
return ident;
}
console.debug("Using no translation.");
}
Firefoxでは、コンソールは示しています。他のすべてのブラウザで
Using Gettext.
gt.gettext("Ubiqitous, but effective.")
(Chromiun、オペラ、IE、rekonq、サファリ)、私はこの取得:
Using Gettext.
return "Ubiqitous, but effective."
私が試しましたelse
ブロックを削除し、それはすべてのブラウザで機能しました。
else
ブロックは実行されませんが、後者は_()
と定義されていますか?すべてのブラウザでこの作業を行うにはどうすればよいですか?
さて、それは面白いです。 FirefoxのJavascriptエンジンのバグだと思いますか? –
最初の方法はブラウザに依存しているので、 'var _ = function(ident){}'という2番目の方法を使うべきです。 – xdazz
常に第2の方法を使用するか、このような重要な機能だけを使用しますか? –