Ai-je besoin de l'anglais à côté de la Base de la localisation qui permettrait de contenir exactement le même "traduction"?
J'attendrait le fichier de base pour contenir mes mots anglais depuis mon projet a "Localisation natif de la région de développement" mis à l'anglais.
De mise à jour pour préciser ma question:
Vous devez vous connecter pour publier un commentaire.
Bien que je ne suis pas entièrement sûr si je reçois correctement, je vais essayer de répondre à votre question TTBOMK.
Supposons que vous utilisez
NSLocalizedString(key, comment)
à partir de votre code. Vous pouvez clairement voir que le premier argument est en fait est une clé pour une chaîne de caractères, plutôt que de le traduire (ou traduits) chaîne elle-même. Par conséquent, lorsque vous “écrire du code” en fait vous n'avez pas à écrire des chaînes de caractères dans la base de la langue ou de toute autre langue d'ailleurs. Vous devez penser comme si vous ajoutez de la chaîne des espaces réservés dans votre code.Plus tard, vous êtes censé créer une
Localizable.strings
fichier pour chaque langue que vous souhaitez soutenir, sous forme dekey = value;
. Pour faire de votre INTERFACE utilisateur apparaît, au moins dans un humainement lisibles à la langue que vous devriez au moins avoir unLocalizable.strings
fichier avec une bonne chaîne de valeurs pour chaque espace réservé clé.Par exemple: si vous aviez
NSLocalizedString(@“ConfirmationButtonTitle", @“Yada yada”)
dans votre code, alors il fait totalement sens d'avoir unLocalizable.strings
fichier qui contient”GreenButtonTitle” = “Tap here to confirm”;
élément en elle. Si vous ne créez pas unLocalizable.strings
fichier ou n'Localizable.strings
fichier contientGreenButtonTitle
clé, puis sur le bouton titre revient àConfirmationButtonTitle
, puisque c'est le nom de l'emplacement de la clé.Cela dit, la plupart des gens préfèrent nommer les touches exactement comme valeurs de chaîne pour diverses raisons. C'est sans doute une pratique très commune — pratique, mais pourrait conduire à des conflits dans l'esprit des gens.
Donc, si vous étiez à créer de la précédente
NSLocalizedString
exemple commeNSLocalizedString(@“Tap here to confirm", @“Yada yada”)
au lieu de cela, alors votre/par défaut de la base deLocalizable.strings
fichier serait probablement contenir un élément comme“Tap here to confirm” = “Tap here to confirm”;
.Ce qui se passe ici n'est pas que vous êtes de vous répéter, mais vous êtes plutôt un nom à votre clé exactement comme votre langue de base de la chaîne de valeur, c'est tout.
MODIFIER
Il y en a toujours été une langue de base de concept, mais comme je le comprends Xcode 5 met l'accent sur ce même plus: c'est tout bon. Si votre langue de base est l'anglais, alors vous n'avez pas à avoir un
Localizable.strings
fichier pour l'anglais, encore une fois.Localizable.strings
fichier pour l'anglais, encore une fois.ViewController.strings
contenant les éléments d'INTERFACE utilisateur dans le fichier xib. Si j'ajoute un nouvel élément de l'INTERFACE utilisateur, le fichier de chaînes ne pas se mettre à jour avec le nouvel élément. Comment puis-je faire la mise à jour?À l'exception de résoudre la question de ce que la langue des utilisateurs finaux verrez, vous devez tenir compte aussi de ce que sera montré sur l'AppStore.
Mon expérience est que si vous utilisez la Base de l'anglais, l'anglais n'apparaît pas dans la liste des langues prises en charge (comment Apple sait dans quelle langue votre base de localisation) dans la description de votre application.
J'ai rencontré ce problème moi - même- de base (en anglais), l'allemand et le russe
Les paramètres de la cible se référer à:
Mais sur l'Appstore, il apparaît sous cette forme:
aucune référence à l'anglais
Je considère pour dupliquer la base de la localisation de l'anglais (pas une priorité, comme les utilisateurs de captures d'écran que l'Application fonctionne en anglais de toute façon)
Edit: il semble y avoir un comportement différent dans iOS8 - Paramètres de l'Application (Paramètres.bundle) semblent ignorer traduction de Base, si l'une des traductions correspondent à votre "Langue de préférence de l'Ordre".
En d'autres termes, l'Application est localisée: de Base, l'allemand, le russe.
l'iPhone est configuré pour utiliser l'anglais, langues préférées de l'ordre est l'anglais, l'allemand, le russe.
Paramètres de l'Application de venir en ... allemand!
Une fois de plus: cette méthode est appliquée pour que les Réglages de de ne pas l'application elle-même!
Selon la la documentation (défiler vers le bas pour la Création de Chaînes de Fichiers pour l'Utilisateur Face du Texte dans Votre Code), vous ne devez pas ajouter
Localizable.strings
à la Base de la localisation. Même si votre langage de développement est l'anglais, créer un dossier séparé etLocalizable.strings
pour l'anglais. D'en créer d'autres pour chaque langue supplémentaire que vous souhaitez ajouter.Lecture