Avec la sortie de Swift 5, les développeurs ont obtenu la possibilité de définir des méthodes d’interpolation de chaînes personnalisées. Cette fonctionnalité peut être particulièrement utile pour la localisation des chaînes visibles par les utilisateurs, un besoin courant dans de nombreuses applications. Voici un aperçu approfondi sur la manière d’exploiter cette fonctionnalité pour simplifier la localisation dans vos projets Swift.

Interpolation des chaînes personnalisée

Pour mettre en œuvre l’interpolation des chaînes personnalisées pour la localisation, vous pouvez étendre String.StringInterpolation et définir une méthode qui gère la logique de localisation. Voici un guide étape par étape :

  1. Etendre String.StringInterpolation:
import Foundation

extension String.StringInterpolation {
    mutating func appendInterpolation(localized key: String, _ args: CVarArg...) {
        let localized = String(format: NSLocalizedString(key, comment: ""), arguments: args)
        appendLiteral(localized)
    }
}
  1. Localizable.strings:
    Assurez-vous d’avoir un fichier Localizable.strings dans votre projet avec les paires clé-valeur nécessaires pour la localisation. Par exemple :
"welcome.screen.greetings" = "Hello %@!";
  1. Utilisation dans le code :
    Utilisez l’interpolation personnalisée dans votre code comme suit :
let userName = "John"
print("\(localized: "welcome.screen.greetings", userName)")
// Output: Hello John!

Explication

  • Extension de String.StringInterpolation : En étendant String.StringInterpolation, vous pouvez ajouter un comportement personnalisé au processus d’interpolation de chaînes. La méthode appendInterpolation(localized:key:args:) formate la chaîne localisée en utilisant NSLocalizedString et l’ajoute au texte littéral.
  • Chaînes Localisées : La fonction NSLocalizedString récupère la chaîne localisée pour la clé donnée à partir du fichier Localizable.string et la formate avec les arguments fournis.
  • Utilisation : L’interpolation personnalisée est utilisée de la même manière que n’importe quelle autre interpolation de chaînes, ce qui la rend intuitive et réduit le code répétitif pour la localisation.

Avantages

  • Lisibilité : Le code devient plus lisible et concis, car la logique de localisation est encapsulée dans la méthode d’interpolation personnalisée.
  • Réutilisabilité : La méthode d’interpolation personnalisée peut être réutilisée dans l’ensemble du projet, garantissant ainsi la cohérence dans le traitement de la localisation.
  • Maintenabilité : La localisation des chaînes devient plus facile à maintenir, car la logique est centralisée en un seul endroit.

Conclusion

L’interpolation de chaînes personnalisée en Swift 5 offre un outil puissant pour gérer la localisation de manière propre et efficace. En encapsulant la logique de localisation dans une méthode d’interpolation personnalisée, vous pouvez rendre votre code plus lisible, réutilisable et maintenable. Cette fonctionnalité est un ajout précieux à l’arsenal de tout développeur Swift, notamment pour ceux travaillant sur des applications internationalisées.

Categorized in:

Swift,