2013-01-21 34 views
0

通過大量有關NSLocalizedString的示例,我發現我們需要預先定義Localized.string文件中的所有字符串,以確定您想要本地化的任何語言。但是,是否可以本地化動態字符串。我的想法是,我在UILabel中顯示幾個文本,我收到網絡請求後。這意味着該字符串現在是動態的。本地化動態NSString

+0

你嘗試谷歌它的語言翻譯私有API ..? –

回答

1
[NSString stringWithFormat:NSLocalizedString(@"Table View Cell Row %d", @""), indexpath.row]; 
+0

我通常在收到後保存字符串。所以事情是我需要在離線模式下(本地)。 –

+1

您可以在離線狀態下添加以上顯示格式的本地化字符串,一旦我們獲得數據,它就會動態生效。 – Madhu

1

如果這些字符串是固定的(我的意思是數量有限的選項),然後將它們預先存儲在本地化的字符串文件中。

如果不是,我會建議在您的請求中添加一個參數來指示語言,然後服務器將返回該語言的字符串。

+0

我通常會在保存完字符串後保存字符串。所以事情是我需要在離線模式下(本地)。 –

+0

即使您將其存儲一次,您收到它也無所謂。要麼它應該在plist中才能自動獲取本地化的字符串。否則,您需要從服務器獲取本地化的字符串,因爲即使您將該字符串保存在其他地方,而不是保存在本地化的字符串文件中。 –

1

我處理過這種情況如下,

在請求中包含語言。例如:http://yourIp/language/notesandcondition

該web服務應設計爲處理不同的語言。

2

申報Localizable.strings

"SAMPLE_LOCALIZE_STRING" = "This is sample dynamic localize string for %@."; 

使用方法如下

NSString *dynamicStr = @"Test"; 
label.Text = [NSString stringWithFormat:NSLocalizedString(@"SAMPLE_LOCALIZE_STRING", nil), dynamicStr];