2012-03-01 10 views
5

Definicja [NSLocale preferredLanguages] według dokumentacji:Jaka jest różnica między preferredLocalization a preferredLanguage?

na język preferencji użytkownika celu w szereg obiektów NSString, z których każda jest canonicalized IETF BCP 47 identyfikator języka.

Definicja [[NSBundle mainBundle] preferredLocalizations]:

Tablica NSString obiektów, z których każdy określa lokalizację w pakiecie do odbiornika. Języki są w preferowanej kolejności.

Naprawdę nie rozumiem, jaka jest różnica. Który z nich powinien być używany?

Odpowiedz

4

Uważam, że język jest po prostu językiem, ale lokalizacja oznacza znacznie więcej (np. Obliczenia kalendarza/daty, waluty, formatowanie liczb itp.). The Locales Programming Guide jest krótką lekturą, doskonałym miejscem do rozpoczęcia.

Dokładniej +preferredLocalizations, jako zasobu wiązki, jest składnikiem samą aplikacją, konfigurowalny podczas aplikacji konstrukcji, natomiast +preferredLanguages, pochodzących z NSLocale (przy okazji, że jest to metoda klasy, a nie metody obiektu) reprezentuje system-level preferencje użytkownika.

W związku z tym zapewnia język, w którym aplikacja faktycznie działa, podczas gdy +preferredLanguages zapewnia język, w którym użytkownik preferuje uruchamianie swoich aplikacji (nawet jeśli aplikacje jeszcze go nie obsługują).

+0

Dzięki, właśnie sobie uświadomiłem, że to była metoda klasowa :) Czytam to, okrzyki. –

Powiązane problemy