我想在句子中用数字本地化字符串。我不使用iOS的Localizable.strings文件,因为它很繁琐且容易出错,我可能会决定稍后再改写单词。
这是我做的:
#define sf_buy_bombs @"Are you sure you want to buy %i bombs for $%i? "
其中'sf'后缀表示'字符串格式'
这是我需要使用它的时候:
[NSString stringWithFormat: [Helper getLocalizedStringWithString:sf_buy_bombs], num_shop_items_bundle, price_bombs]
和处理翻译的辅助方法
+(NSString*) getLocalizedStringWithString: (NSString*) str {
if ([Helper isSimplifiedChinese]) {
if ([str isEqualToString:sf_buy_bombs]) {
return @"确定要购买%i个炸弹道具吗? ($ %i)";
}
}
return str;
}
显示的最终标签是“确定要购买%i个炸弹道具吗?($%i)”,该数字未被替换。
答案 0 :(得分:1)
在助手课程中
#define sf_buy_bombs @"Are you sure you want to buy %i bombs for $%i? "
和
+(NSString *)localizedStringWithString{
return sf_buy_bombs;//all other stuffs
}
在所需的课程中:
NSString *string=[NSString stringWithFormat:[Helper localizedStringWithString],10,100];
NSLog(@"%@",string); //gives correct output as checked by me as :
//Are you sure you want to buy 10 bombs for $100?
编辑:使用中文字符串: Find working Model here.