How do I localize a string that has placeholders in it with NSLocalizedString?
[NSString stringWithFormat:@"You can afford %i at %@%li.",[kCash integerValue]/self.price, kYen, self.price]
Have the localized strings include the placeholders. That's pretty much the only proper way to do it as otherwise, as you mentioned, you couldn't take varying word order into account.
Something along these lines:
[NSString stringWithFormat:NSLocalizedString(@"Foo %i", @"Foo %i"), 123]
(Caution: I've never used Objective-C and hate the syntax with a vengeance; but I'm pretty adamant about proper localization)