Je sais que certaines personnes n'aiment pas # define, mais elles fonctionnent bien pour ce programmeur C old-school.
Dans chaque projet, je dispose d'un fichier « strings.h » qui contient un tas de # définir de tels que:
#define SK_String_I_Want_To_Display @"String I Want To Display"
(. Où SK_ est ma préface pour indiquer « constante chaîne »)
Pour la localisation, j'ai un autre fichier appelé "LocalStrings.h" avec des chaînes comme:
#define SK_LOCAL(a) NSLocalizedString(@a, "") // keeps string defs simple
#define SK_Localized_String SK_LOCAL("Localized String")
#define SK_Another_String SK_LOCAL("Another String")
Alors je viens #import "strings.h" ou "LocalStrings.h" en cas de besoin. Parce que j'ai toutes les chaînes localisées dans un fichier, il est facile de m'assurer que j'ai tout localisé.
Le plus gros problème avec cette approche est que vous devez faire attention de ne pas faire quelque chose comme ceci:
#define SK_Another_String SK_LOCAL("Another String");
--- comme celui virgule à la fin peut causer des bugs difficiles qui sont difficiles à trouver.
Le surdébit d'avoir le #define étendu en place est assez faible. Les compilations prennent un peu plus de temps si vous changez l'un de ces fichiers .h, mais je trouve que la solution fonctionne bien.
Veuillez clarifier la question et donner un peu de contexte. –
c'est mieux ???? –