2010-06-11 20 views
6

Witam wszystkich,zmiana locale programowo

i HV widok tabeli pokazano 4 języki angielski, hiszpański, niemiecki i francuski,

utworzonego XIB dla każdego widoku, również stworzonego Localizable.strings. wszystko działa poprawnie, gdy zmieniam język z symulatora. Cała aplikacja zostanie zmieniona zgodnie z wybranym językiem.

próbuję zrobić, zamiast zmieniać język z katalogu symulatora języka, Chcę zmienić język za pomocą mojego widoku tabeli, który pokazuje języki. jeśli dotknę tabeli wartościami hiszpańskimi, cała aplikacja powinna zmienić swój język.

możemy to zrobić.

Ustawienie języka symulatora zmienia język całego symulatora, Chcę zmienić język mojej aplikacji za pomocą mojej aplikacji.

nadzieję na szybką odpowiedź

pomoc jest zawsze mile widziane

pozdrowienia Shishir

Odpowiedz

11

Spróbuj następujące rzeczy.

NSArray *languages = nil; 

languages = [NSArray arrayWithObject:@"en"]; 
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

NSString *localizedStr = NSLocalizedString(@"ABOOK", @"Hello"); 
NSLog(@"String 11 = %@", localizedStr); 
+1

Dlaczego jest to zaakceptowana odpowiedź? To zupełnie nie działa dla mnie: -/ –

+0

To działa dla mnie! Po ustawieniu za pomocą powyższej funkcji. wypróbuj 'NSLocale.preferredLanguages ​​() [0] jako String' –