2014-05-20 103 views
0

我已經嘗試過本地化,並在幾個月前遵循「This」指南。然後繼續發展,不跟上其他故事板(即增加基地,不支持讓西班牙故事板說)。 結果時,西班牙語言界面的iPhone被定義我的應用程序時墜毀的原因,而是尋找西班牙故事板,刪除本地化故事板

我又回到了項目的屬性刪除使用國際,以及刪除(使用 - )西班牙語

因此,我的故事板從解決方案中消失了,並且在將語言定義爲西班牙語時,應用程序仍然崩潰。

我的問題:

  1. 有沒有制定一個故事板的方式,它會自動更新的休息嗎?
  2. 有沒有一種方法只能在一個故事板上開發,所有的語言都可以運行它?
  3. 我如何才能找到&恢復故事板在我的解決方案

感謝。

回答

0

是的,你可以使用一個故事板來處理本地化。

首先,你應該創建一個宏,將本地化字符串:

#define NSLocalizedString(key, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil] 

然後,你可以在每個你想本地化的UI元素的創建類別。例如,對於的UILabel,您可以創建:

UILabel+Localization.h 

#import <UIKit/UIKit.h> 

@interface UILabel (Localization) 

@end 

和:

UILabel+Localization.m 

#import "UILabel+Localization.h" 

@implementation UILabel (Localization) 

-(void)setLocalizeKey:(NSString*)key { 
    self.text = NSLocalizedString(key, nil); 
} 

@end 

後,在UIStoryboard您選擇的元素,你想定位和身份檢查器中添加用戶定義的將設置本地化密鑰的運行時屬性:

localized key in user defined runtime attributes