web-dev-qa-db-fra.com

Comment localiser mon application avec Xcode 4?

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?

66
jacob

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.

Strings File

Ensuite, créez le fichier en tant que "Localizable.strings". Create As

Une fois le fichier créé, sélectionnez-le et ouvrez l'inspecteur de fichiers.

The Localizable FileFile Inspector

[~ # ~] 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é" Make localized button

Rendez-vous maintenant sur la page de votre projet principal. Main Project page

Cliquez ensuite sur le bouton "+" sous Localisation et sélectionnez les langues que vous souhaitez prendre en charge.

(Je vais sélectionner allemand/allemand)

List of languages

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.

Only the "Localizable.strings" file is selected

}

{ 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)

List of languages

}

.

.

.

.

Vous devriez maintenant voir que vous avez deux fichiers sous le fichier "Localizable.strings".

Localizable Files

Ensuite, ajoutez vos chaînes de localisation dans les deux fichiers de localisation.

English

German

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".

Connect IBOutlet

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.

English ResultChange the languageGerman Result

210
Aleksander Azizi

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

13
Pierre

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".

8
pragmatic

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

4
korat prashant

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

enter image description here

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)];

1
rafaperez

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.

1
Kaibin

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.

0
VisualFrames

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.

0
Nick N