2011-08-02 8 views
6

He ido a través de mis archivos fuente y actualicé todas mis cadenas usando la macro NSLocalizedString(). Ahora, debido a que tengo muchas cadenas que surgen en varios archivos fuente, decidí colocar una gran cantidad de cadenas en un archivo de encabezado llamado "LocalizedStringDefinitions.h" usando la directiva #define. Así, por ejemplo, cada línea tiene este aspecto,¿Cómo localizar los archivos fuente de Xcode usando genstrings?

#define kLocalizedSTRINGNAME NSLocalizedString(@"STRINGNAME", @"Comment") 

simplemente me encontré con los genstrings comando en el terminal y el archivo Localizable.strings que se creó sólo contenía las cadenas localizadas que se colocan directamente en mi código y ninguno de los # definidos. Tengo alrededor de 100 líneas de cadenas definidas # que no quiero volver a colocar en mi código, especialmente porque aparecen en varios archivos. ¿Cómo puedo localizar las cadenas?

+3

+1 por esta simple pero dulce idea de mantener todas las localizaciones en 1 archivo y hacer que el código sea más legible. Sin embargo, descubrir que hay algún inconveniente en este enfoque. –

+0

contento de que te haya gustado la idea ... – cgossain

Respuesta

6

Me acabo de dar cuenta de lo simple que es esto. Si mira el comando de la Terminal genstrings *.m, la parte .m especifica claramente para mirar a través de los archivos de implementación. El archivo con # define's es un archivo de encabezado (.h) por lo que al usar el comando genstrings *.h pude generar el archivo .strings, o simplemente pude cambiar el nombre del archivo con las definiciones a "LocalizableStringDefinitions.m"

Cuestiones relacionadas