Objective c 删除本地化故事板
几个月前,我尝试过本地化,并遵循了“”指南。然后继续开发而不跟上其他故事板(即添加到基础中,而不支持西班牙语故事板)。 因此,当定义了具有西班牙语界面的iPhone时,我的应用程序会崩溃,因为它正在寻找西班牙语情节提要 我回到项目的属性,删除了使用国际化以及删除(使用-)西班牙语 结果,我的故事板从解决方案中消失了,当语言定义为西班牙语时,应用程序仍然会崩溃 我的问题是:Objective c 删除本地化故事板,objective-c,internationalization,storyboard,Objective C,Internationalization,Storyboard,几个月前,我尝试过本地化,并遵循了“”指南。然后继续开发而不跟上其他故事板(即添加到基础中,而不支持西班牙语故事板)。 因此,当定义了具有西班牙语界面的iPhone时,我的应用程序会崩溃,因为它正在寻找西班牙语情节提要 我回到项目的属性,删除了使用国际化以及删除(使用-)西班牙语 结果,我的故事板从解决方案中消失了,当语言定义为西班牙语时,应用程序仍然会崩溃 我的问题是: 是否有一种方法可以在一个故事板上开发,并自动更新其余的故事板 有没有一种方法可以只在一个故事板上开发,所有语言都可以使用它
谢谢。是的,您可以使用一个故事板来处理本地化 首先,您应该创建一个宏来本地化字符串:
#define NSLocalizedString(key, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
然后,您可以在要本地化的每个UI元素上创建一个类别。例如,对于UILabel,您可以创建:
UILabel+Localization.h
#import <UIKit/UIKit.h>
@interface UILabel (Localization)
@end
然后,在UIStoryboard中选择要本地化的元素,并在identity inspector中添加一个用户定义的运行时属性,该属性将设置本地化键:
UILabel+Localization.m
#import "UILabel+Localization.h"
@implementation UILabel (Localization)
-(void)setLocalizeKey:(NSString*)key {
self.text = NSLocalizedString(key, nil);
}
@end