selección de idioma manual en una aplicación iOS (iPhone y iPad)

Mi pregunta

¿Cómo puede mi aplicación para iPhone decirle al iOS que el usuario seleccionó un idioma en las preferencias de las aplicaciones, que es diferente del idioma configurado en la configuración general?

Otra formulación de la misma pregunta:

¿Cómo puedo decirle al sistema queNSLocalizedString (@"text", @"comment"); no debe acceder al idioma seleccionado en todo el sistema, sino al idioma seleccionado en la aplicación?

background, ejemplo:

Por favor, tome esta situación como ejemplo: un hijo de inmigrantes alemanes vive en el noreste de Francia junto a Luxemburgo y Alemania. Su idioma nativo es el francés, por lo que configuró el idioma de las interfaces de usuario de su iPhone en francés (Configuración -> General -> Internacional -> Idioma -> Francés). Pero debido a sus antecedentes culturales y porque la región donde vive es bilingüe, también habla alemán muy bien. Pero él no habla diez palabras de inglés. En un iPhone (y también en un iPad) no tiene oportunidad de seleccionar un segundo idioma, por lo que el teléfono solo sabe que habla francés. No tiene conocimiento de las habilidades de los usuarios en otros idiomas.

Ahora viene mi aplicación: la desarrollé en inglés y alemán (el alemán es mi lengua materna y el inglés es el idioma estándar en TI). Lo desarrollé de acuerdo con todas las reglas y mejores prácticas para aplicaciones multilingües de iOS. El "primer" idioma (idioma predeterminado) de mi aplicación es el inglés.

Esto significa

Si alguien ha elegido inglés o alemán en su configuración, la interfaz de usuario de la aplicación utilizará automáticamente el idioma seleccionado. El usuario ni siquiera notará que hay otros idiomas disponibles.

Pero si seleccionó cualquier otro idioma (como chino, polaco o francés) en la configuración general, obtendrá el idioma predeterminado de las aplicaciones, que, en mi caso, es inglés. Pero para mi amigo francés-alemán, esta no es la mejor opción. Le gustaría usar la versión alemana existente, pero parece que no hay forma de permitir que el usuario seleccione esta versión.

Agregar una traducción al francés resolvería el problema para nuestro amigo francés-alemán, pero no para las personas que hablan otros dos idiomas (como el italiano y el alemán), y no puedo admitir mi aplicación con todos los idiomas que se hablan en este planeta. Establecer el idioma predeterminado en alemán tampoco es óptimo, ya que esto plantearía el mismo problema para las personas que hablan francés (un idioma nativo) e inglés (como segundo idioma).

Así que creo que mi aplicación debe tener la posibilidad de seleccionar manualmente un idioma que sea diferente del idioma preseleccionado. Agregar una selección de idioma al panel de configuración de aplicaciones no es el problema. Pero, ¿cómo puedo decirle al sistema queNSLocalizedString (@"text", @"comment"); no debe acceder al idioma seleccionado en todo el sistema, sino al idioma seleccionado en la aplicación?

Respuestas a la pregunta(12)

Su respuesta a la pregunta