2011-07-25 181 views
1

我正在嘗試構建一個應用程序,該應用程序由默認顯示英文文本的標籤組成。用戶獲得一個列表來選擇他/她的語言,並且在選擇該語言之後,該文本改變爲該特定語言。任何想法如何做到這一點?我曾嘗試過
iphone中的語言翻譯

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de", @"en", @"fr", nil] forKey:@"AppleLanguages"]; 

但它不工作。

回答

1

你可以做到這一點:

-[NSBundle localizedStringForKey:value:table:]

有一個在文檔一小部分。基本上你需要做的是用你需要的本地化創建一個MyTable.strings文件。根據需要創建一個文件。 然後做:

NSBundle *bundle = [NSBundle mainBundle]; 
NSString *localizedString = [bundle localizedStringForKey:@"TheKeyYouWantToLocalize"] 
                value:@"TheDefaultValue" 
                table:@"MyTable"]; 

此方法將查找鍵:@"TheKeyYouWantToLocalize"MyTable.strings文件,如果找到那麼它將返回否則將返回@"TheDefaultValue"

僅供參考,這是本地化應用程序時系統使用的相同過程。 (聽說NSLocalizedString?),但現在必須手動完成,因爲您要求用戶顯示語言,而不是依賴系統語言。

+0

除了本地化文件還有別的辦法。 –