2016-04-05 15 views
0

Unityで正しいAccept-Languageを送信する方法を知っていますか? WWWクラスを使用してリクエストを実行しますが、常に "en-US"を送信します。WWWリクエストはAccept-Languageで常にen-USを送信します

ありがとうございました!

// Header request 
Dictionary<string, string> headers = new Dictionary<string, string>(); 
// My server code need this 
headers.Add ("Accept", "application/json"); 

WWW w = new WWW (MY_URL, null, headers); 
yield return w; 
+0

あなたが「同意しました」と同じことを試みましたか?私は 'headers.Add(" Accept-Language "、" en-gb ");と言っています。 – Jansen

+0

私はそれをしたいと思いますが、各ユーザーの値 "en-gb"の取得方法はわかりません。あなたはやり方を知っていますか? –

答えて

0

これはあなたがヘッダーの内容を調整することができますWWWForm

試してみてください。

は、ここに私のコードです。

+0

お返事ありがとうございます!それはよい考えかもしれませんが、WWWFormに渡す前に正しい現在のカルチャを取得する必要があります。あなたはそれを取得する方法を知っていますか? –

0

オペレーティングシステムの言語をキーとし、Accept-Languageフィールドの文字列形式を値として使用して辞書を作成することができます。その後、Application.systemLanguageを使用して、ユーザーのオペレーティングシステムの言語を取得できます。言語のhttp://docs.unity3d.com/ScriptReference/Application-systemLanguage.html

Dictionary<string, string> language = new Dictionary<string, string>(); // add all other languages here language.Add("English", "en-gb"); headers.Add("Accept-Language", language[Application.systemLanguage]);

リストが返さ:http://docs.unity3d.com/ScriptReference/SystemLanguage.html

はまた、これは "EN-US" または例えば "エンギガバイト" の間には差が、唯一の言語部分を解決することを覚えておいてください。国を取得するには、GPSを使用して緯度/経度座標を取得し、これらの座標を指定して国名を返すオンラインサービスの1つを使用する必要があります。 また、提供するIPアドレスに基づいて国を返すサービスを使用することもできます。

関連する問題