2014-05-20 73 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