2016-04-14 16 views
2

würde Ich mag eine Zeichenfolge aus einem anderen String in meiner Localizable.strings-Datei verweisen, wie wir in Androiden strings.xml Datei zu tun, wie untenReferenz eine Zeichenfolge aus einer anderen Zeichenfolge in Localizable.strings

<string name="app_name">My App</string> 
<string name="activity_title">@string/app_name</string> 

Jede Hilfe wird sehr geschätzt werden. Ich habe versucht, nach der Dokumentation und Stackoverflow zu suchen, konnte aber nichts daraus machen.

+1

@LuciusHipan diese Frage für Android ist. Meins ist für iOS. – Kesava

+0

sorry dafür, meine Schuld –

+0

Ich entwickle für beide Plattformen, mit den meisten meiner Erfahrung in Android, etwas in iOS-Titel schockiert mich, dass sie nicht besser funktionieren, bringen Lokalisierung ist einer von ihnen. –

Antwort

2

iOS Localizable.strings ist nicht so flexibel wie Androids strings.xml. Sie können dies nicht von plist aus tun, nur vom Code.

0

Sie können eine Hilfsklasse wie folgt erstellen:

Lang.h Datei

#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 

erstellen Datei eine .String Datei und fügen Ihr Schlüsselwert für diese Datei als angehängtes Bild:

enter image description here

Jetzt können Sie den Wert Ihrer Schlüssel wie diese:

NSString *value = [Lang getString:@"YOUR_KEY"]; 
Verwandte Themen