Tengo una aplicación de iPhone que necesita ser localizada. No hay problema con las cadenas, pero tengo problemas con los recursos: necesito cargar páginas HTML que están localizadas. Los archivos son como: presentation.htm Los archivos se agregan en el proyecto con la carpeta donde están (html /) y agrega el grupo llamado como la carpeta.No se pueden cargar recursos localizados automáticamente con pathForResource
me carga las páginas HTML con el código:
NSString *pathPresentation = [[NSBundle mainBundle] pathForResource:@"presentation" ofType:@"htm"];
if(!pathPresentation) {
NSLog(@"Could not find presentation.htm");
}
NSURL *url = [NSURL fileURLWithPath:pathPresentation];
NSLog(@"-> path presentation.htm : %@", pathPresentation);
UIWebView *webViewPresentation = [[UIWebView alloc] init];
NSData *htmlData = [NSData dataWithContentsOfFile:pathPresentation];
if (htmlData) {
[webViewPresentation loadData:htmlData MIMEType:@"text/html" textEncodingName:@"Latin-1" baseURL:url];
}
primer intento:
He seguido las indicaciones de esta web I Can Localize, ya que todavía se localizó recursos en la aplicación. Las carpetas se nombran: en.lproj y fr.lproj.
que probarlo en el simulador, pero no tuvo éxito:
- el registro indica que la ruta es: (...)/myapp.app/presentation.htm
- el archivo cargado en el simulador está en francés, mientras que el simulador está en inglés.
segundo intento:
Luego, elimine los recursos y volver a poner en su carpeta de grupo (Recursos/html /). Presioné el botón Información y elegí "Hacer que el archivo sea localizable". El archivo se agregó en una carpeta English.lproj. Luego elijo "Agregar localización" y "Francés".
que probarlo en el simulador, pero no tuvo éxito (no tengo limpia la acumulación antes de la prueba):
- el registro indica que la ruta es: (...)/myapp.app /presentation.htm
- el archivo cargado en el simulador está en francés, mientras que el simulador está en inglés.
tercer intento:
Después de leer acerca de los recursos this page carga localizada en el iPhone OS 4.0, he cambiado los recursos localizados en carpetas (eliminar recursos, y cambiar el nombre de carpetas en es_ES. lproj y fr_FR.lproj
que probarlo en el simulador, pero no tuvo éxito (no tengo limpia la acumulación antes de la prueba) :
- el registro indica que la ruta es: (...)/myapp.app/presentation.htm
- el archivo cargado en el simulador está en francés, mientras que el simulador está en Inglés.
Ayuda?
¿Alguna idea? Sé que es la función: - (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension inDirectory:(NSString *)subpath forLocalization:(NSString *)localizationName
Pero yo quiero que sea lo más automático posible, y la fijación de cosas como Directory o localizationName pueden impedir que mi aplicación sea automático.
Después de retirar el aplicación del simulador, no funcionó, pero la ruta ha cambiado. Ahora es: (...)/myapp.app/fr_FR.lproj/presentation.htm – AlexandreD