このJavascriptがASPXページに直接ある場合は、次の構文を使用してグローバルリソースオブジェクトにアクセスできるはずです。
PersonalReportLink.innerHTML = '<%= GetGlobalResourceObject("languagetext","PersonalReportFrench") %>';
ただし、JavaScriptファイルにネストされた文字列をローカライズしようとすると問題が発生する可能性があります。これが機能しない場合は、少し複雑な方法でJavascriptをローカライズする必要があります。
ScriptManagerのEnableScriptLocalization属性を使用して、Javascriptファイルをリソースとして使用できます。
リソースを必要とするページに以下を追加します。
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true" EnableScriptLocalization="true">
<Scripts>
<asp:ScriptReference Path="~/scriptResources.js" ResourceUICultures="fr-FR,de-DE" />
</Scripts>
</asp:ScriptManager>
ここで注意すべき重要なことは、スクリプトファイルへのパス、ResourceUICultures="fr-FR,de-DE"
およびのカルチャのリストですEnableScriptGlobalization="true"
。
次に、scriptResources.jsという名前のJSファイルをプロジェクトに追加し、デフォルト言語のリソースを入力します。
var PersonalReportFrench = 'My English text';
var resourceTwo = 'More English text';
次に、ローカライズされた文字列用の別のJSファイルを追加しますscriptResources.fr-FR.js
。
var PersonalReportFrench = 'Mon texte Français';
var resourceTwo = 'Texte plus Français';
これで、それThread.CurrentThread.CurrentCulture
が正しいカルチャに設定され、スクリプトファイル名とResourceUICultures
属性のロケールと一致する場合、ScriptManagerは正しいJSファイルをロードし、次のようにJSで変数を使用できます。
PersonalReportLink.innerHTML = PersonalReportFrench;