Cómo implementar el cambio de idioma local en jQuery
2. Cree un nuevo archivo Localizable.strings, que se puede utilizar como un diccionario multilingüe para almacenar varios idiomas. Haga clic en Localización a la derecha y marque chino e inglés.
3. Agregue un campo,
Para inglés, agregue: SUBMIT _ BTN _ TITLE = Ir
Para chino, agregue: SUBMIT _ BTN _ TITLE; = inicio;
4. Una clase de herramienta GDLocalizableController, utilizada para cambiar los idiomas locales:
//
// GDLocalizableController.h
// Guía
//
//Creado porWhy el 16/7/14.
//Copyright (c) 2014 Por qué. Todos los derechos reservados
//
#Import
@ interfaz gdlocalizable controlador:ns objeto
+(ns paquete *)paquete; //Obtener el archivo de recursos actual
+(void)init user language; //Inicializar el archivo de idioma
+(ns string *)user language; de la aplicación.
+(void)establecer idioma de usuario:(ns string *)language; //Establecer el idioma actual
@end
//
// GDLocalizableController.m
//Pautas
//
//Creado por Why el 16/7/14.
//Copyright (c) 2014 Por qué. Todos los derechos reservados
//
#Import GDLocalizableController.h
@Implement GDLocalizableController
NSBundle estático * paquete = nil
+ (NSBundle *)Bundle{
Paquete de devolución;
}
+(void)initUserLanguage{
nsuserrefaults * def =[nsuserrefaults standardUserDefaults];
ns string * string =[def valueForKey:@ idioma del usuario];
if(string.length == 0){
//Obtener la versión de idioma actual del sistema.
NSArray * idiomas =[def objectForKey:@ idiomas de Apple];
ns cadena * actual =[idiomas objectAtIndex:0];
string =current;
[def setValue:current forKey:@ user language];
[Sincronización de definición]; // Persistencia, si no se agrega, no se guardará.
}
//Obtener la ruta del archivo
ns cadena * ruta =[[ns paquete paquete principal]ruta para recurso:cadena de tipo:@ lproj ] ;
bundle =[ns paquete paquete con ruta: ruta];//Generar paquete
}
+(NSString *)Idioma de usuario{ p>
nsuserrefaults * def =[nsuserrefaults standardUserDefaults];
ns string * language =[def valueForKey:@ idioma del usuario];
Idioma de retorno;
}
+(void)setuser language:(ns string *)language {
nsuserrefaults * def =[nsuserrefaults standardUserDefaults];
//1 .El paso 1 cambia el valor del paquete.
ns cadena * ruta =[[paquete ns paquete principal]ruta para el recurso:idioma del tipo:@lproj];
paquete =[paquete ns paquete con ruta:ruta];
//2. Persistente
[def setValue:language forKey:@ idioma del usuario];
[Sincronización de definición];
}
@end
5. Personaliza las macros para facilitar el procesamiento:
//-Configuración en varios idiomas
#Definir chino @ zh-Hans
#Definition English@en
# define GDLocalizedString(key)[[paquete de controlador gdlocalizable]localizedStringForKey:(key)value:@ table:nil]
Uso:
[GDLocalizableController setuser idioma: chino];
NSLog(GDLocalizedString(@ SUBMIT _ BTN _ TITLE));
[GDLocalizableController setuser] idioma:INGLÉS];
NSLog(GDLocalizedString(@ SUBMIT _ BTN _ TITLE)