0
iOS有一個genStrings函數來幫助將來自NSLocalizedString(及相關函數)的調用本地化爲用於翻譯的鍵值對的輸出文件。iOS - genStrings -s無法使用替換函數
看看我的.h文件中:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
-(NSString*)CustomLocalizedString :(NSString*) key defaultString:(NSString*)comment;
@end
這裏CustomLocalizedString將是我的替換功能,而不是NSLocalizedString。
讓我們看到的.m實現文件:
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self CustomLocalizedString:@"my key" defaultString:@"my default"];
}
-(NSString*)CustomLocalizedString:(NSString *)key defaultString:(NSString *)comment{
NSString* mystring= NSLocalizedString(key ,comment);
return mystring;
}
@end
當我去命令行運行genStrings,並告訴它使用我的自定義功能:
genstrings -o . -s CustomLocalizedString ViewController.m
但效果奇:
Bad entry in file ViewController.m (line = 19): Argument is not a literal string.
Bad entry in file ViewController.m (line = 24): Argument is not a literal string.
Bad entry in file ViewController.m (line = 26): Argument is not a literal string.
如果我們檢查名爲Localizable.strings的輸出文件,它看起來像這樣:
?%%