Xcode 9 - Scénario D'Avertissement De Problème De Localisation

je suis actuellement en train de tester Xcode 9 beta 3 au moment de cet écrit.

en regardant le storyboard je reçois une liste d'avertissements indiquant que dans d'autres langues/régions ma contrainte fixe posera un problème.

l'application est assez complexe et de nombreux points de vue sont confrontés à ces avertissements.

l'avertissement est:

Certain autolayout constraint combinations may result in an appropriate layout in the current development language but will pose issues in other languages and regions.

je sais que l'application ne sera pas utilisé dans les autres langues de sitôt.

Est-il possible de transformer cet avertissement? Cela semble stupide mais je ne peux pas supporter de voir toutes mes vues avec le jaune l'icône d'avertissement et compter au sommet (110 Avertissements!)

localization issue

20
demandé sur allenh 2017-07-11 19:19:58

4 réponses

la source des avertissements indésirables est que Xcode est par défaut d'avoir des storyboards" préparés " pour la localisation. Ils sont " préparés "en les mettant en place en utilisant internationalisation de base .

complètement désactiver cet avertissement dans un storyboard, vous devez laisser Xcode savoir que le storyboard ne doit pas être considéré comme localizable. La façon la plus facile que j'ai pu faire cela était de simplement déplacer le storyboard fichier à partir du dossier Base.lproj jusqu'à un niveau et ajouter de nouveau le fichier au projet. Une fois que j'ai fait ça, les avertissements ont disparu.

Étapes

ce processus devrait fonctionner avec des projets anciens et nouveaux. Testé sur Xcode 9.1 en utilisant un projet créé avec Xcode 9.1

  1. déplacez le storyboard du Base.lproj dossier vers le haut d'un niveau via Finder
  2. Supprimer la référence storyboard de votre projet via Xcode
  3. Glisser-déposer (ou sinon ajouter de nouveau) le storyboard pour votre projet
  4. vérifier à l'aide de L'inspecteur de fichier que le storyboard n'a plus de localisation de base

     

Walkthrough Pictural

Xcode par défaut pour avoir des storyboards "préparés" pour la localisation

Xcode default storyboard folder structure

     

déplacez vos fichiers storyboard hors de la Base.dossier lproj pour prévenir les Avertissements

Desired folder structure

     

supprimer la référence de fichier

Delete the file reference

     

ajouter à nouveau le storyboard

Drag and drop the file back into the project enter image description here

     

vous verrez le localiser..." bouton quand vous avez réussi

Yay! No more warnings

     

Si vous souhaitez localiser dans l'avenir

tapez juste le " Localisez..."bouton et suivez les instructions de Xcode. En outre, vous aurez effectivement besoin de répondre aux avertissements dont Xcode vous parle. Il y a plusieurs façons de les aborder, je recommande cette question pour commencer.

pour une démonstration vidéo du processus, regardez cet enregistrement d'écran

48
répondu allenh 2017-11-28 16:53:06

si votre application n'est pas localisée, vous devez restaurer le paramètre Localize dans votre storyboard. L'un des nôtres a été mis à l'anglais. Décochez la boîte anglaise, ou ce que vous voulez. Le storyboard est dans un dossier avec le code de langue, en pour l'anglais. Si vous décochez cette case, vous la supprimez du répertoire du projet car L'application ne recherche plus le dossier en. Trouvez le storyboard dans le dossier finder, déplacez-le du dossier en, puis ramenez-le dans le projet. Assurer la Cible de l'Adhésion est cochée. Propre, fermer, ouvrir, quitter de force, etc comme nécessaire et vous devriez être bon d'aller! Nous avions 360 avertissements dans un storyboard donc il était agréable de résoudre ce problème!

enter image description here

3
répondu John 2017-11-29 04:52:49

vous pouvez également supprimer l'avertissement de problème de localisation en intégrant simplement l'étiquette ou le bouton dans une vue transparente. Ensuite, supprimez la contrainte de largeur fixe de l'étiquette ou du bouton et réglez-la à la vue du conteneur à la place.

en utilisant une vue de conteneur, vous pouvez réduire au silence l'avertissement et encore être en mesure de localiser le storyboard. Parfois, vous avez besoin d'avoir une étiquette ou un bouton avec une largeur fixe, même si la langue est en passe de changer, et si vous êtes sûr que la largeur fixe. est assez grand il ne devrait pas être un problème mais Xcode ne le sait pas, c'est pourquoi vous obtenez l'avertissement; -)

2
répondu boherna 2017-09-13 12:09:27

une solution facile: désactiver le Respect de la Direction de la langue pour chaque contrainte problématique.

voir https://stackoverflow.com/a/45764271/201828 .

0
répondu phatmann 2017-12-20 11:41:38