2011-07-18 5 views
1

私のAndroidアプリはasp.net Webサービスに接続してユーザーを登録します。ユーザーが登録されると、サーバーからユーザーにウェルカム電子メールを送信します。私たちは多くの国で顧客を抱えているため、電子メールは適切な言語に翻訳する必要があります。私はResource.resxとスウェーデンの翻訳リソースを呼びかけ英語の翻訳を含むファイルを持っている私のApp_GlobalResourcesフォルダにAndroidから接続したときにasp.net Webサービスが正しく翻訳されない

string mailbody = (string)HttpContext.GetGlobalResourceObject("Resource", "mailbody"); 

:私は、電子メールの本文を取得するには、サーバー上で、次のコード(C#)を使用します。 sv.resx。

多くの英語ユーザーは、英語の翻訳の代わりにスウェーデン語の翻訳を受け取っていると不平を言っています。 Androidの携帯電話でこれをテストするたびに正しい翻訳が得られるので、このエラーを追跡するのは難しいです。これはiPhoneから接続したときにもうまくいきました。何が間違っている可能性がありますか?誰もがこのような問題を見たことがありますか?

+0

どの言語を使うべきですか? Geo-IPルックアップを行っているか、ユーザーにどの言語を求めているかを尋ねていますか? –

+0

私はasp.netが私のweb.configで、私はを使用していますasp.netはブラウザの言語に基づいて適切な翻訳を使用します。おそらくAndroidで動かないのでしょうか? – Martin

答えて

1

あなたの行動はかなり奇妙に思えます。これはあなたのWebサービスのCulture検出に関連しているようですが、もちろんweb.configがここで役割を果たすかもしれません。
しかし、cultureとuiCultureを "auto"に設定すると、Webブラウザから最も望ましい文化が検出されるはずです。つまり、英語のユーザーにとってはスウェーデン語ではないと思います...私はいくつかの奇妙なフォールバックルールを疑うでしょう。
あなたのニュートラルカルチャーリソース(Resource.resx)は英語で表示されていますか?
多分Global.asaxでいくつかのオーバーライドがありますか?

両方の質問に対する答えが「それは問題ありません」と表示されている場合は、uiCulture = "auto:en-US"に設定を変更して、言語を英語(米国)に直接戻すようにしてください。英語で他のリソースや中立文化のリソースがない場合、それはすべきですが...

+0

はい、Resource.resxは英語であり、Global.asaxの上書きもありません。私たちは、このウェブサービスをウェブサイトやiPhoneアプリで1年以上使用してきました。 Androidアプリが同じサービスに接続したときに問題が発生しましたが、問題は再現できません。怒っているメールはすべてです:) uiCulture = "auto:en-US"を設定すると、ユーザーはスウェーデン語ですか、それとも常に英語を表示しますか?おそらく私はResource.en-US.resxを追加しようとするべきでしょうか? – Martin

+0

ユーザーの主要言語がスウェーデン語の場合、スウェーデン語を表示します。 Resource.resxをResource.en-US.resxとしてコピーすることも理論的には違いはありませんが、意味をなさないでしょう。 –

+0

Resource.en-US.resxを追加することもやっているようです。これを追加しても報告がありません。ご協力いただきありがとうございます! – Martin

関連する問題