我想在我的Localizable.strings文件中引用另一个字符串中的字符串,就像我们在android的strings.xml文件中一样,如下所示
<string name="app_name">My App</string>
<string name="activity_title">@string/app_name</string>
任何帮助将不胜感激。我试着寻找文档和stackoverflow,但是无法从中获取任何东西。
答案 0 :(得分:2)
iOS Localizable.strings 不如Android的 strings.xml 灵活。你不能用plist,只能从代码中做到这一点。
答案 1 :(得分:0)
您可以创建一个这样的辅助类:
Lang.h文件
#import <Foundation/Foundation.h>
@interface Lang : NSObject
+(NSString *)getString : (NSString *)key;
@end
Lang.m文件
#import "Lang.h"
@implementation Lang
+(NSString *)getString : (NSString *)key
{
@try {
NSString *path = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
//find and return the desired string
NSString* str = [languageBundle localizedStringForKey:key value:@"" table:nil];
return str;
}
@catch (NSException *exception) {
return @"";
}
}
@end
创建一个.string文件,并将您的键值作为附加图像添加到此文件中:
现在您可以像这样获取密钥的值:
NSString *value = [Lang getString:@"YOUR_KEY"];