Je viens de passer à Xcode 4.
Normalement, lors de la localisation des applications, nous ajoutons le fichier "Localizable.String" au projet, puis naviguons vers le menu "Get Info" et cliquez sur le bouton "Make It Localized".
Cependant, dans Xcode 4, il n'y a pas de menu "Get Info".
Lorsque j'essaie d'ajouter une langue, cela n'affecte que le fichier "InfoPlist.String" (qui ne peut que localiser le nom de l'application).
Comment puis-je ajouter la localisation à mon application dans Xcode 4?
C'est simple une fois que vous l'avez compris.
Si vous souhaitez accomplir cela avec Xcode 5 . X et iOS 7 ou Xcode 6 . x et iOS 8 , consultez "- Comment localiser mon application avec Xcode 5? "à la place.
J'ai aimé SNR link , mais sa réponse était un peu courte.
De plus, je vois que cette question est un peu ancienne, et ma réponse peut être différente des anciennes versions de Xcode. (J'ai utilisé Xcode v. 4.3.3)
Cependant , j'ai mis à jour ma réponse pour travailler avec les deux Xcode 4.3.5 et inférieur + 4.4 et supérieur (et Xcode 5.x et 6.x ici: Comment localiser mon application avec Xcode 5? ).
Pour commencer, vous devez ajouter un nouveau "fichier de chaînes" dans la catégorie des ressources iOS.
Ensuite, créez le fichier en tant que "Localizable.strings".
Une fois le fichier créé, sélectionnez-le et ouvrez l'inspecteur de fichiers.
[~ # ~] modifier [~ # ~] : Les choses ont changé (un peu) avec le nouveau Xcode 4.4, 4.5 (et supérieur) (pour Prise en charge iOS 6). Si vous Pas utilisez Xcode 4.4 ou ci-dessus , évitez de sauter ceci étape.
{ La méthode Xcode 4.4, 4.5 (et plus) :
Cliquez sur le bouton "Rendre localisé"
Rendez-vous maintenant sur la page de votre projet principal.
Cliquez ensuite sur le bouton "+" sous Localisation et sélectionnez les langues que vous souhaitez prendre en charge.
(Je vais sélectionner allemand/allemand)
Maintenant, une fenêtre apparaîtra vous demandant quels fichiers vous souhaitez localiser, assurez-vous seulement que le fichier "Localizable.strings" est sélectionné et cliquez sur Terminer.
}
{ Le Xcode 4.3.5 et ci-dessous:
Cliquez sur le bouton "+" sous Localisation, puis sélectionnez les langues que vous souhaitez prendre en charge.
(Je vais sélectionner allemand/allemand)
}
.
.
.
.
Vous devriez maintenant voir que vous avez deux fichiers sous le fichier "Localizable.strings".
Ensuite, ajoutez vos chaînes de localisation dans les deux fichiers de localisation.
Voici maintenant la partie codage.
Ici, je vais simplement déclarer un UILabel
et définir son texte sur la chaîne de fichier Localizable.
Déclarer:
IBOutlet UILabel *testLabel;
Et à l'intérieur de ViewDidLoad, je définirai le texte en utilisant NSLocalizedString
:
[testLabel setText:NSLocalizedString(@"TEST", nil)];
Pour finir, connectez simplement notre testLabel
dans "Interface Builder".
Vous devriez maintenant pouvoir exécuter le projet et voir la chaîne localisée. Et si vous changez la langue, vous devriez également voir la chaîne localisée changer.
Sélectionnez le fichier que vous souhaitez localiser et cliquez sur l'inspecteur de fichiers dans la section utilitaires. Il y a une section Localisation
Vous pouvez afficher les informations sur le fichier (et ajouter des localisations) lorsque vous sélectionnez le fichier et ouvrez le "File Inspector" via le menu principal "View" -> "Utilities" -> "File Inspector".
vous devez d'abord ajouter un nouveau fichier Localizable.string et le sélectionner et aller dans Affichage "->" Utilitaires "->" Inspecteur de fichiers, cliquez sur le bouton + pour ajouter une langue dans la section de localisation. vérifiez-le également XCode 4, Ajout de localisation
Vous pouvez utiliser les attributs d'exécution définis par l'utilisateur:
http://cupobjc.blogspot.com.es/2014/04/interfaz-builder-localization.html
Définissez d'abord une nouvelle catégorie pour UILabel:
#import "UILabel+Localized.h"
@implementation UILabel (Localized)
-(void) setTextLocalized:(NSString *)aText{
[self setText:NSLocalizedString(aText, nil)];
}
@end
Ensuite, dans le générateur d'interface, Attributs d'exécution définis par l'utilisateur:
textLocalized String votre chaîne à localisée
Et vous n'avez pas besoin de déclarer l'IBOutlet, et vous n'avez pas besoin de le coder dans ViewDidLoad [testLabel setText: NSLocalizedString (@ "TEST", nil)];
la façon de localiser dans xcode4 a changé! cliquez avec le bouton droit sur les chaînes localisables, et pour ajouter la prise en charge d'une autre langue, cliquez simplement sur le "+" dans le volet "Localisation" à droite.
Ou vous pouvez utiliser TraductoPro pour automatiser ce processus pour vous et gagner beaucoup de temps. Il s'agit d'une application Mac qui s'intègre bien avec Xcode.
Si vous voulez un moyen dynamique de changer de langue dans votre application ET d'utiliser une solution basée sur Pods, consultez:
https://github.com/nullic/DPLocalizationManager
Installer avec: pod 'DPLocalization', '~> 1.2'
Il prend en charge les mêmes fichiers de localisation standard mais utilise également la liaison dynamique à l'aide de User Defined runtime attributes
et également dans du code tel que viewDidLoad
.
Quelques exemples dans l'exemple de projet:
self.startup.text = DPLocalizedString(@"TITLE", nil);
self.label.autolocalizationKey = @"LABEL_TEXT";
[self.label updateAutolocalizationArguments:@[@"Hello", @1234567890, [NSDate date]]];
self.autolocalizationKey = @"TITLE";
Téléchargez le projet git qui comprend un exemple de projet montrant plusieurs exemples.