2

Как изменить язык приложения, поскольку я использую xibs в моем проекте.Как изменить xib с локализованным языком в iOS

/* Class = "UILabel"; text = "Clients"; ObjectID = "22E-Bc-4Af"; */ 
"22E-Bc-4Af.text" = "Klienci"; 

/* Class = "UILabel"; text = "Messages"; ObjectID = "5y0-E0-aXx"; */ 
"5y0-E0-aXx.text" = "Wiadomości"; 

/* Class = "UILabel"; text = "Calendar"; ObjectID = "H9g-zr-B2l"; */ 
"H9g-zr-B2l.text" = "Kalendarz"; 

/* Class = "UILabel"; text = "Settings"; ObjectID = "Hxq-Ij-R8l"; */ 
"Hxq-Ij-R8l.text" = "Ustawienia"; 

/* Class = "UILabel"; text = "Recommend"; ObjectID = "ka7-JK-tWz"; */ 
"ka7-JK-tWz.text" = "Poleć"; 

/* Class = "UILabel"; text = "Label"; ObjectID = "pYM-Zf-LI7"; */ 
"pYM-Zf-LI7.text" = "Label"; 

/* Class = "UILabel"; text = "Shop"; ObjectID = "zhW-HV-pnE"; */ 
"zhW-HV-pnE.text" = " Zakupy"; 

The xib не меняется, когда я изменить язык приложения, только изменения из файла .string.

ответ

0

Вы не можете интернационализировать номер xib. Есть возможности, если вы добавите category для каждого компонента.

Пример:

@implementation UILabel (i18n) 

- (void)localizeFromNib { 
    if (self.text.length > 0) { 
     self.text = [[NSBundle mainBundle] localizedStringForKey:self.text value:@"" table:nil]; 
    } 
} 

@end 

Но вручную осуществить это очень тяжелая работа, и может содержать ошибки. Я рекомендую вам использовать AGi18nPod, он уже делает интернационализацию каждого компонента.