La Red de Conocimientos Pedagógicos - Currículum vitae - Cómo implementar el cambio de idioma local en jQuery

Cómo implementar el cambio de idioma local en jQuery

1 está configurado en el proyecto y se agregan dos idiomas, chino e inglés.

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{

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)