最近在为Star Order做中文本地化,其中涉及到对含参字符串做本地化的需求,参考写法如下:
原句: Are you sure to rename XXX
翻译句: 是否确定重命名 XXX
XXX是一个字符串参数,用于接收传入的名称
代码如下:
NSString *localizedString = NSLocalizedString(@"Rename", nil);
NSString *title = [NSString stringWithFormat:@"{304f6ed0b3d59a494ff3bafd10e3c2eb0fd01a1c7bd37925658f43c0521dfc40}@ '{304f6ed0b3d59a494ff3bafd10e3c2eb0fd01a1c7bd37925658f43c0521dfc40}@'",localizedString, 入参];
简而言之,即将需要翻译的部分和参数部分分离即可.
在编辑
Localizable.strings
文件的时候,需要注意格式问题,例如"Enter new tag name" = "输入新标签名";
结尾的那个;
漏掉的话会导致整个Localizable.strings
文件失效,进而导致APP中引用了NSLocalizedString
的地方统统失效,需要特别小心