2

クライアントのブラウザが選択した言語に応じて、正しい桁区切り記号を表示して使用しようとしています。Blazor サーバー アプリを使用しています。「Sytem.Globalization」名前空間を使用しようとしましたが、サーバー側ブラウザーの設定しか表示されません。クライアント ブラウザの言語/文化設定を取得する方法はありますか?

4

2 に答える 2

1

Interop 経由で javascripts navigator.language プロパティを使用できます。

https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/languages

public static class JsInterop  
{  

    public static async Task<string[]> Languages()  
    {  
        return await JSRuntime.Current.InvokeAsync<string[]>("navigatorLanguages");  
    }  
}  

これをあなたのjavascriptファイルに追加してください

navigatorLanguages = function () {  
    return Promise.resolve(navigator.languages);  
}; 

これは、ユーザーが優先する言語の文字列の配列を返します。

注: IE10 以前をサポートする必要がある場合は、代わりに navigator.browserLanguage を使用する必要があります。

于 2020-08-13T22:57:45.130 に答える