Cambiar el lenguaje de desarrollo en Xcode


81

Necesito establecer el español como idioma de desarrollo para una aplicación iOS. Ya estoy usando Xcode 6, y cambié la Localization native development regionentrada en la aplicación Info.plist( CFBundleDevelopmentRegion) de "en" a "es". Sin embargo, en Proyecto> Información> Localizaciones, el inglés permanece configurado como Idioma de desarrollo.

Como se dice en Referencia clave de la lista de propiedades de información , CFBundleDevelopmentRegionespecifica el idioma predeterminado. Necesito configurar el español como el idioma predeterminado, ¿qué me falta?

Gracias

Respuestas:


91

He aquí cómo puede hacer esto:

  1. Agregue primero el idioma que desea que sea su idioma base. Desmarque todos los archivos que Xcode le ofrece para localizar.
  2. En Info.plist, cambie la región de desarrollo al idioma que desea que sea su idioma base. Tenga en cuenta que la propiedad está un poco mal nombrada, porque su valor debe ser un código de idioma (con un código de país opcional), en lugar de un código de región o país.
  3. Cierre su proyecto en Xcode. En otro editor de código, abra projectname.xcodeproj/project.pbxprojy busque developmentRegion. Debería ver una línea como developmentRegion = English;. Cambie esto para hacer referencia al mismo idioma que puso en su Info.plistarchivo.
  4. Vuelva a abrir el proyecto en Xcode. Revise todos sus archivos localizables y marque las casillas junto al inglés para generar los recursos localizables. Tenga en cuenta que para guiones gráficos y xibs, Xcode puede crear un guión gráfico en lugar de un archivo de cadenas. Si eso sucede, simplemente cambie el tipo de archivo a archivo de cadenas.

Aquí hay un ejemplo del resultado para mí usando frcomo idioma base:

Información del proyecto

Información del archivo


3
¿Cambiaste la línea a developmentRegion = francais, o developmentRegion = fr?
Flimm

2
fr es lo que quieres usar aquí
lensovet

3
Tenga en cuenta que es posible que también deba agregar su código de idioma a la knownRegionslista (en el archivo .pbxproj) para que muestre la propiedad en la configuración del proyecto.
Patrick Pijnappel

1
No debería necesitar hacer eso si agrega la localización primero, que es el paso 1 de las instrucciones en esta respuesta.
lensovet

2
Solo para aclarar. developmentRegiondebe establecerse en fry no en francais. Motivo: la región de desarrollo de project.pbxproj se pasa al destino como export DEVELOPMENT_LANGUAGE=fry este valor se usa generalmente como <key>CFBundleDevelopmentRegion</key<string>$(DEVELOPMENT_LANGUAGE)</string>en Info.plist y la CFBundleDevelopmentRegiondocumentación dice que debería estar en formato ISO 639-1 o ISO 639-2 developer.apple.com/documentation/bundleresources /… . Entonces 'fr' es correcto y 'francais' no lo es.
nacho4d

54

Para Xcode 9 a 11:

Cierre Xcode.

  1. Abra su project.pbxproj en un editor de texto
  2. Busque DevelopmentRegion y establezca su valor (es para español, fr para francés, ...)
  3. Busque regiones conocidas y agregue el nuevo idioma a la lista

Abra Xcode: la información de su proyecto ahora debería mostrar el nombre del idioma con Development Language junto a él.


3
Para encontrar el .pbxprojarchivo de su proyecto : stackoverflow.com/a/3054073/4084269 😉
Josselin

1
No es necesario cerrar Xcode, aparentemente (al menos en Xcode 11)
Snowy_1803

¿Cómo puedo agregar un par de idiomas como idioma de la aplicación en la App Store? Por ejemplo, el idioma de mi aplicación ya publicada solo se muestra en inglés, pero también quiero agregar el alemán como idioma de la aplicación
David

@David, eso es algo que puedes hacer en App Store
Connect

Gracias por tu respuesta @ahbou. Pero no pude encontrar ningún lugar para hacer eso. ¿Puedes por favor dirigirme?
David

37

En el archivo .xcodeproj de su proyecto, busque la cadena developmentRegion . Supuestamente, dice "inglés" en este momento. Si lo cambia a "español", Xcode 6 debería reconocer el español como el idioma de localización predeterminado de su proyecto en la pestaña "Información" siempre que agregue "español" a la lista.

Puede leer más sobre este tema en http://eschatologist.net/blog/?p=224


1
Gracias. Acabo de hacer lo que me explica, y ahora tengo el idioma español configurado como Objetivo de desarrollo en Información> Ubicaciones. Sin embargo, si cambio el idioma del dispositivo a un idioma que no he definido en Localizaciones (digamos francés, ya que solo he definido localizaciones en inglés y español), obtengo la aplicación aún localizada en inglés, y no en español como esperado ...
AppsDev

Es probable que el dispositivo esté configurado para preferir el inglés al español con respecto a un idioma alternativo. Aquí hay algunos datos sobre cómo se busca contenido localizado en el paquete de la aplicación: developer.apple.com/library/ios/documentation/CoreFoundation/…
Elwisz

1
Si desea cambiar el idioma predeterminado y ya tiene su aplicación en la tienda, no olvide cambiarla también en iTunes Connect.
Vive el

@Arefly en la configuración de Idioma y región en el dispositivo, toque el botón Editar en la parte superior derecha y reordene la lista de idiomas para que el inglés esté debajo del español en la lista de idiomas.
lensovet

5

abra su destino -> información -> cambie "Región de desarrollo nativo de localización" a su idioma


17
esto solo no es suficiente.
lensovet

0

Para alguien que necesita ayuda como yo, tengo dos objetivos, uno quiero ser la localización de la base EN y el segundo objetivo necesito ser otro idioma. La opción mencionada anteriormente: "cambiar projectname.xcodeproj / project.pbxproj y buscar developmentRegion y cambiar ..." no funciona para mí debido a los objetivos.

Lo que funcionó para mí, Xcode 11.5, es que solo necesito cambiar el código de idioma en la "Región de desarrollo nativo de localización" para ese objetivo en particular y funciona, no es necesario cambiar nada en projectname.xcodeproj / project.pbxproj PS Here " Región de desarrollo nativo de localización "debe ir el código de país como fr_Fr o, en mi caso, hr para croata

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.