2010-09-22 4 views
-1

Как интернационализировать следующий код:iPhone Интернационализация

NSLog(@"Feature: %@, Cost: %f, ID: %@",[product localizedTitle], 
      [[product price] doubleValue], [product productIdentifier]); 

... на код ниже:

NSLocalizedString(@"Feature", @""); 
NSLocalizedString(@"Cost", @"");     

ответ

2
NSLog(@"%@", [NSString stringWithFormat:NSLocalizedString(@"myKey",nil),[product localizedTitle], [[product price] doubleValue], [product productIdentifier]]); 

В файле Localizable.strings:

"mykey" = "Feature: %@, Cost: %f, ID: %@"; 

Убедитесь, что у вас есть запись в каждом регионе, в включая английский.

+0

Спасибо TyB Это сработало для меня :-) – Developer

1

Для локализации цены ...

NSNumberFormatter *moneyFormatter = [[NSNumberFormatter alloc]init];  
[moneyFormatter setNumberStyle:kCFNumberFormatterCurrencyStyle]; 
[moneyFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];  
[moneyFormatter setLocale:product.priceLocale]; 

NSString *defaultString = [moneyFormatter stringFromNumber:product.price]]; 
[moneyFormatter release]; 

ProductIdentifier уникален и она одинакова для всех языков, для строки используйте product.localizedTitle и product.localizedDescription свойство.

+0

Вы должны использовать moneyFormatter, потому что в США цена указана в символе «$», а для других стран - другое. –

+0

Привет, Чандан, благодарю вас за то, что вы обратили внимание. Мне также понадобится ответ, который дал мне. – Developer

Смежные вопросы