Comment changer le langage de développement dans Xcode avant d'internationaliser mon application?

Je prends en charge une application entièrement écrite en français. Les strings sont codées en français dans le code, et tous les messages du storyboard sont en français. Mais la région de développement initiale dans Info.plist a été laissée à l'anglais. J'ai donc changé CFBundleDevelopmentRegion en fr pour qu'il corresponde au langage réel utilisé. Mais XCode ne cesse de me dire que ma langue de développement est l'anglais:

Onglet Infos du projet XCode 6.3.2

Comment puis-je corriger cela? L'objective est d'être en mesure d'activer l'internationalisation de base et d'utiliser le français comme langue de base au lieu de l'anglais.

La procédure suivante a fonctionné pour moi, mais elle inclut l'édition manuelle du file project.pbxproj :

  1. Quitter XCode
  2. Ouvrez le file project.pbxproj avec votre éditeur de text favori
  3. Mettez à jour la section suivante (à proximité de developmentRegion ):

VIEUX:

  developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); 

NOUVEAU:

 developmentRegion = fr; hasScannedForEncodings = 0; knownRegions = ( fr, Base, ); 

J'ai créé un référentiel GitHub avec un exemple de projet initialement créé avec l' anglais comme langage de développement par défaut, puis mis à jour par la procédure ci-dessus pour utiliser le français comme langage de développement.

Projet ScreenShot

Je pourrais avoir compris.

J'ai construit une application en suédois, mais la langue de développement est l'anglais.

J'ai édité MyProject.xcodeproj/project.pbxproj manuellement. Il y a deux lignes comme ceci:

 91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.ssortingngs; name = en; path = en.lproj/InfoPlist.ssortingngs; sourceTree = "<group>"; }; 

et cette section:

 developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); 

Changer tout "en" en "sv" comme ceci:

 91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.ssortingngs; name = sv; path = sv.lproj/InfoPlist.ssortingngs; sourceTree = "<group>"; }; 

et

 developmentRegion = Swedish; hasScannedForEncodings = 0; knownRegions = ( sv, Base, ); 

et le déplacement du file MyProject/en.lproj/InfoPlist.ssortingngs vers MyProject/sv.lproj/InfoPlist.ssortingngs semble l'avoir corrigé. Maintenant, le "langage de développement" apparaît comme suédois, et je peux append une traduction en anglais.

Après avoir ajouté la traduction, le storyboard a un sortingangle d'expansion où la langue de base est la version suédoise existante, et la traduction est un file de strings en anglais.

Le storyboard a une traduction en anglais. Yay.

Je voulais développer le projet dans ma propre langue "développeur" en utilisant des espaces réservés à la place de vrais texts dans l'exemple "WLAN_NOT_AVAILABLE" à l'intérieur de NSLocalizedSsortingng qui sera traduit plus tard dans différentes langues y compris l'anglais, bien sûr. Je n'aime pas quand je dois écrire des phrases entières dans le code.

J'ai simplement ouvert le file * .pbxproj dans le dossier * .xcodeproj et changé la ligne suivante en:

 developmentRegion = Base; 

Après cela, l'anglais n'était plus défini comme langue de développement et j'étais capable de le traiter comme n'importe qui d'autre. Cela vous donne en tant que développeur la possibilité d'écrire des espaces réservés de text courts et de déléguer l'orthographe correcte à un autre membre de votre équipe.

J'espère avoir compris la question. AFAIK, il est assez simple de réaliser ce que vous voulez en utilisant l'interface graphique de Xcode comme décrit ici: https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html

Sélectionnez le file Info.plist sous le groupe Supporting Files dans le browser de projet (sur la droite). Ensuite, dans l'éditeur-vue de la Localization native development region click les flèches haut et bas à droite de 'English' et select France .

Ouvrir la sélection de la langue de base

Cela devrait être ça. Bien que, Xcode ne met parfois pas à jour la vue "Info" des parameters du projet.

Voici un script Ruby pour changer la région de développement dans le projet Xcode en utilisant les bibliothèques de cocoapods:

 require 'fileutils' require 'Xcodeproj' filename = ARGV.first raise "Argument '#{filename}' is not a valid .xcodeproject" unless filename && File.directory?(filename) && File.extname(filename).downcase == ".xcodeproj" puts "Region to set: " region = $stdin.gets.chomp project = Xcodeproj::Project.open(filename) project.root_object.development_region = region project.save puts "#{project.path}", "development_region = #{project.root_object.development_region}" 

https://www.ralfebert.de/snippets/ios/xcode-change-development-language/