Objective-C中改变格式化字符串的顺序
摘自cocoa programming for mac os x 3rd
用格式化串标明 Token 的顺序
把文本是从一种语言转换为另一种语言时,因为语序的变化,词句也会出现相应变化。例如 语句:“Ted wants a scooter. ”,在另一种语言中语序可能是“A scooter is what Ted wants ”。 假如您尝试像这样本地化格式字符串:
NSString * theFormat = NSLocalizedString(@"WANTS", @"%@ wants a %@"); x = [NSString stringWithFormat:theFormat, @"Ted", @"Scooter"];
在第一种语言中,这可以工作得很好:
"WANTS" = "%@ wants a %@";
但在第二种语言中,你需要显示的标明插入 token 的位置,token 包含 1 个数字和 1 个$符号: "WANTS" = "A %2$@ is what %1$@ wants".
posted on 2011-01-11 16:13 VinceOniPhone 阅读(685) 评论(1) 编辑 收藏 举报