2012-03-01 9 views
5

Definición de [NSLocale preferredLanguages] de acuerdo con las documentaciones:¿Cuál es la diferencia entre preferredLocalization y preferredLanguage?

orden de preferencia de idioma del usuario como una matriz de objetos NSString, cada uno de los cuales es un identificador de idioma IETF BCP 47 canónica.

Definición de [[NSBundle mainBundle] preferredLocalizations]:

Una matriz de objetos NSString, cada uno de los cuales identifica la una localización en el paquete del receptor. Los idiomas están en el orden preferido.

Realmente no entiendo cuál es la diferencia. ¿Cuál debería ser uno?

Respuesta

4

Creo que el lenguaje es solo el lenguaje, pero la configuración regional implica mucho más (por ejemplo, cálculos de calendario/fecha, moneda, formato de número, etc.). El Locales Programming Guide es una lectura corta, un excelente lugar para comenzar.

Más específicamente, +preferredLocalizations, ser un recurso haz, es un componente de una aplicación en sí, configurable durante el diseño de la aplicación, mientras que +preferredLanguages, procedente de NSLocale (por cierto que es un método de clase, no un método de objeto) representa el nivel de sistema preferencias del usuario.

Por lo tanto, +preferredLocalizations proporciona el idioma en el que se ejecuta la aplicación, mientras que +preferredLanguages proporciona el idioma que el usuario prefiere que ejecuten sus aplicaciones (incluso si las aplicaciones aún no lo admiten).

+0

Gracias, me acabo de dar cuenta de que era un método de clase :) Estoy leyendo eso, aplausos. –

Cuestiones relacionadas