2010-06-13 10 views
8

Mi pregunta está relacionada con la siguiente pregunta, y se puede decir casi lo mismo.Mostrando el teclado del iPhone en diferentes idiomas según la entrada del usuario

Setting the iPhone keyboard language

Pero aquí son mi requisito. Estoy escribiendo la aplicación de diccionario para iPhone, que admite varios idiomas. Por lo tanto, mi requisito es mostrar el teclado en inglés cuando el usuario ha seleccionado el idioma inglés y mostrar el teclado holandés cuando el usuario ha seleccionado holandés, y así sucesivamente.

Entonces, me preguntaba si esto es posible?

Tengo la corazonada de que si "internacionalizo" la punta, se mostrará el teclado correspondiente pero no estoy seguro.

Gracias.

+1

He creado varios teclados iOS personalizados que funcionan muy bien, es posible que desee ir en esa ruta –

+0

@Cirrostratus Creo que tiene razón, parece que no hay otra manera. Gracias – itsaboutcode

Respuesta

4

Desafortunadamente, no puede controlar el idioma del teclado. El usuario elige qué teclados desea que estén disponibles a través de la aplicación de configuración y puede alternar entre ellos utilizando el icono de globo en el teclado. Cuando se abra el teclado, se abrirá en el teclado utilizado más recientemente.

+0

¿Pero quizás el idioma actual del teclado está almacenado en los valores predeterminados del usuario? –

-3

En este artículo se explica lo que tienen que hacer con el fin de crear una aplicación internacionalizada usando cadenas localizadas http://www.iphonesdkarticles.com/2008/11/localizing-iphone-apps.html

Básicamente se crean las cadenas localizadas para los idiomas desarrolladores que quieren apoyar:

//Localizable.String file for the English version. 
"WelcomeKey" = "Welcome!!!"; 
//Localizable.strings file for the Italian version. 
"WelcomeKey" = "Benvenuto!!!"; 

Entonces utilícelos en la aplicación:

- (void)applicationDidFinishLaunching:(UIApplication *)application { 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; 
NSString *currentLanguage = [languages objectAtIndex:0]; 

NSLog(@"Current Locale: %@", [[NSLocale currentLocale] localeIdentifier]); 
NSLog(@"Current language: %@", currentLanguage); 
NSLog(@"Welcome Text: %@", NSLocalizedString(@"WelcomeKey", @"")); 

// Override point for customization after application launch 
[window makeKeyAndVisible]; 
} 

Los usuarios pueden cambiar el idioma del teclado en el configuración en el iphone Configuración-> General-> Internacional

+0

No resuelve el problema. En primer lugar, no es algo que el usuario pueda cambiar fácilmente como para el diccionario. En segundo lugar, no cambia su teclado – vodkhang

+0

Bueno, el problema es sobre el teclado, no la localización. – itsaboutcode

+0

@itsaboutcode, lo curioso es que su nombre de usuario también tiene que ver con el código. –

Cuestiones relacionadas