Slides de la Localisation

1,047 views

Published on

1 Comment
0 Likes
Statistics
Notes
  • Bonjour,
    Si vous êtes intéressés de traduire logiciels pour Internet, pour PC, pour mobiles ou tout autre type de logiciels, je vous recommandons chaleureusement le instrument numérique ”l10n” que mon équipe a récemment créé – et qui a toutes les chances de rendre vos activités de bureau bien plus faciles et rapides.
    http://poeditor.com/
    POEditor est intuitif, basé sur travail en collaboration. Il comprend de nombreuses fonctions qui puissent vous soutenir lors du processus de gestion de traductions, que vous pourriez découvrir sur notre page Internet.Vous pouvez importer depuis multiples types de fichiers de localisation (pot, po, xls, xlsx, strings, xml, resx, properties) ou se servir directement de notre REST API.
    N’hésitez pas de l’essayer et/ou le proposer aux développeurs ou, en général, a ceux qui en seraient intéressés.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
1,047
On SlideShare
0
From Embeds
0
Number of Embeds
83
Actions
Shares
0
Downloads
11
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Slides de la Localisation

  1. 1. Localisation d’applications
  2. 2. Pourquoi localiser ? • Meilleure expérience utilisateur • Plus de clients 8 % 17 % 8 % 7 % Irlande Belgique Grèce 18 % Espagen Autriche Taiwan Russie Turquie Chili Equateur Malaisie Salvador Australie Danemark Portugal Pays Bas Suisse Italie Japon Allemagne France 19 % USA Royaume Uni
  3. 3. Internationalisation • NSNumberFormatter - (NSString *)stringFromNumber:(NSNumber *)number $1,000.00 1 000,00 $
  4. 4. Internationalisation • NSDateFormatter - (NSString *)stringFromDate:(NSDate *)date - (void)setDoesRelativeDateFormatting:(BOOL)b + (NSString *)dateFormatFromTemplate: (NSString *)template options:(NSUInteger)opts locale:(NSLocale *)locale !!"#$%&'& NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; NSString * dateComponents = @"yMMMMd"; NSString * dateFormat = [NSDateFormatter dateFormatFromTemplate:dateComponents options:0 locale: [NSLocale currentLocale]]; [dateFormatter setDateFormat:dateFormat]; ! September 9, 2010 9 Septembre 2010
  5. 5. Processus de localisation • Préparer la localisation • Traduire • Ajuster les élements d’interface
  6. 6. Localisation • Fichiers .strings Encodage UTF-16 • Stockés sous forme key/value "clé" = "valeur"; • Accessibles avec : NSLocalizedString(@"Key", @"Localization hint"); Fichier Localizable.strings
  7. 7. genstrings • Outil pour scanner et produire un fichier .strings • Insère les commentaires trouvés dans le code • Accessible avec : genstrings ./*.m NSLocalizedString(@"Key", @"Localization hint"); /* Localization hint */ "Key" = "Clé";
  8. 8. XIBs localisés
  9. 9. Démo
  10. 10. Recommendations • Utiliser des images le plus souvent possible • Utiliser les variables “%1$@” pour permettre un ordre différent /* Message in alert panel when something fails */ "Oh %@! %@ failed!" = "%2$@ blah blah, %1$@ oh!";
  11. 11. Recommendations • Formattage des strings NSLocalizedString(@"reversedDomainStyleKey", @"'English translation' and localization hint"); /* 'English translation' and localization hint */ "reversedDomainStyleKey" = "reversedDomainStyleKey"; /* 'Enter passcode' text when unlocking the application */ "passCodeUnlockEnterPassCode" = "Saisissez le code"; /* 'Wrong passcode' text when unlocking the application */ "passCodeUnlockWrongPassCode" = "Code erroné"; /* 'Numeric keypad' in the settings */ "settingsNumericKeypad" = "Clavier numérique"; /* 'Enter Decimals Automatically' in the settings */ "settingsNumericKeypadEnterDecimalsAutomatically" = "Décimales automatiques"; /* 'Use Decimal Key' in the settings */ "settingsNumericKeypadUseDecimalKey" = "settingsNumericKeypadUseDecimalKey";
  12. 12. Recommendations Eviter de localiser les XIBs • Maintenance difficile Localiser dans le code • Traduire les labels, boutons, etc... • Ajuster les élements d’interface Avantages • Résultat immédiat pour les traducteurs sous OS X • Taille de l’application réduite
  13. 13. Recommendations - (void)loadView { ! [super loadView]; ! ! [self sq_localizeControls]; ! [self sq_layoutViewControls]; } - (void)sq_localizeControls { ! accountsHistoryLabel.stringValue = NSLocalizedStringFromTable(@"accountsHistoryLabelTitle", @"PreferencesCharts", @"'Accounts history:' title of the corresponding label"); ! ! graphTypeLabel.stringValue = NSLocalizedStringFromTable(@"graphTypeLabelTitle", @"PreferencesCharts", @"'Graph type:' title of the corresponding label"); ! [graphTypePopUpButton addItemWithTitle:NSLocalizedStringFromTable (@"graphTypePopUpButtonBalanceHistoryItemTitle", @"PreferencesCharts", @"'Balance history' title of the menu item to display the balance history in the history graph")]; @"PreferencesCharts", @"'Activate rotation' title of the checkbox button to activate the Z-axis rotation of the history graph"); ... } NSLocalizedStringFromTable(@"Key", @"Table", @"Localization hint");
  14. 14. Recommendations ! - (void)sq_layoutViewControls { ... // Percentages button ! [displayPercentageButton sizeToFit]; ! NSRect displayPercentageButtonFrame = displayPercentageButton.frame; ! displayPercentageButtonFrame.origin.x = borderMargin + 20; ! displayPercentageButton.frame = displayPercentageButtonFrame; } (UIView) - sizeToFit; iOS (UITextField & UILabel) @property(nonatomic) BOOL adjustsFontSizeToFitWidth; (NSControl) OS X - sizeToFit;
  15. 15. Recommendations Vos traducteurs • Laissez-les vous contacter • Uniquement des natifs • Vérifiez leur «CV» • Intégrez-les à vos béta testeurs

×