2011-10-05 92 views
3

我在我的應用程序中使用中文。我用英文製作了一個Localizable.string文件,一個用中文製作。如何在iphone編程中本地化客戶端的服務器端響應?

我這樣做確定,一切工作正常,但有一些來自服務器的字符串響應。我如何轉換它們?

例如,「未找到帳戶」來自服務器。如何在應用程序中以中文顯示它,因爲它在Localizable.string中沒有定義?

我可以使用'if'條件來檢查響應,但如果服務器可以以幾種不同的方式響應,我該怎麼辦?

如果我的問題不清楚,請在評論中提問。我很樂意澄清這個問題。

謝謝

+0

你能收集來自服務器的所有可能的響應嗎?如果是,請將它們放在Localizable.string中,然後使用NSString * localizedString = NSLocalizedString(serverResponse,@「Server Response」) – mja

+0

服務器是否在您的控制之下?可以修改其響應以返回代碼而不是字符串? –

+0

不,服務器不在我的控制下@RobinSummerhill –

回答

0

理想情況下,您依賴的服務器應返回錯誤代碼而不是顯示文本。然後,您的應用程序(或通用前端)應將這些錯誤代碼映射到適當語言的顯示文本中。

有些情況下,這可能是不可能的。如果這是你所擁有的,即如果服務器的目的是在其響應中包含顯示文本,那麼真正解決這個問題的唯一可靠方法是使服務器的顯示文本可本地化。您應該在請求中包含語言標識符(或接受語言列表),並且服務器應該使用自己的本地化資源將響應中的本地顯示文本返回。