2012-06-16 22 views
2

我目前正在本地化我的iOS應用程序。到目前爲止,這個工作很不錯。從iOS中的代碼創建localizable.strings

我已經創建了localizable.strings和幾個xib文件,所以大約80%的應用程序已經被翻譯。

但是,該應用程序還從WebService加載數據,該數據傳遞給我一個密鑰,例如:「TITEL 1」以及所有支持的語言(值),例如:「Titel One」「Titel Eins」「Titolo Uno 」。

現在我想將這些值存儲在相應的localizable.strings文件中。

例如:然後

Localizable.strings(英文)應包含以下內容:

"TITLE 1" = "Title One"; 

Localizable.strings(德國),那麼應該包含:

"TITLE 1" = "Titel Eins"; 

Localizable.strings(意大利)應包含:

"TITLE 1" = "Titolo Uno"; 

我該怎麼做?

回答

2

您將無法插入它們在運行時的本地化字符串,如果Web服務器是由你管理,我建議你送至極的語言使用, 請考慮這個例子

//Get the language code 
NSString* languageCode = [[NSLocale preferredLanguages] objectAtIndex:0]; 
//Now send the request to the server with the language you want 
NSString *str = [NSString stringWithFormat:@"www.yourserve.com/yourfunctiom?lang=%@", languageCode]; 
//Request it 
用戶

現在基礎上,你在你的服務器接收你將返回相應的字符串

+0

如果您不控制服務器,也可以使用該語言代碼從哈希中獲取適當的字符串。 – henrikhodne

0

這可拉伸框架有點語言,但如果你想使用蘋果的字符串加載功能,你可以嘗試建立一個NSBundle你的文檔目錄(一個包只是一個目錄,畢竟),用服務器中的文件填充它,然後使用NSLocalizedStringFromTableInBundle來獲取您的字符串。

不知道這是否值得它與Omar Abdelhafith的回答相比,儘管如此。