iOS游戏使用字符串格式进行本地化

时间:2013-04-08 14:13:21

标签: ios objective-c xcode localization

我想在句子中用数字本地化字符串。我不使用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)”,该数字未被替换。

1 个答案:

答案 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.

enter image description here