2011-04-22 14 views
9

Estoy desarrollando una aplicación PhoneGap en varios idiomas y me gustaría almacenar las preferencias de idioma del usuario. En el primer lanzamiento de la aplicación, una pantalla emergente aparecería con 4 indicadores, selecciones del usuario y luego se dirigiría a una página de inicio en ese idioma. A partir de ese momento, la carga de la aplicación se salta la pantalla de presentación y va directamente a la página de destino en el idioma preferido. ¿Fácil de hacer? Sugerencias? Estoy familiarizado con las cookies/almacenamiento local, pero si alguien ha hecho esto antes, agradecería direcciones específicas. Gracias.Phonegap local storage

Respuesta

0

Preferiría que utilizara el almacenamiento local, ya que el uso de cookies dio algún problema en IOS.

7

Lo que describa debería ser muy fácil de hacer con localStorage. Lo investigué antes de usarlo en Android, y encontré este webpage para tener code examples and explanations muy útil. Muy corto y dulce.

+0

enlaces obsoletos fijos , contiene sigue siendo el mismo. – Libby

0

Tuve el mismo problema y tomé un enfoque diferente.

Los archivos de idioma se encuentran en directorios separados, p.

/assets/www/de/index.html 
/assets/www/en/index.html 

El usuario puede seleccionar el idioma en cada aplicación web mediante un botón en la barra de herramientas que abre un cuadro de diálogo.

En la actividad/pantalla de inicio, quiero seleccionar el idioma elegido cuando inicio la aplicación, así que tengo que saber de forma nativa (Android, iOS) qué idioma fue seleccionado. Pero el idioma se selecciona en la aplicación web.

Así que creé un complemento PhoneGap (actualmente solo Android, pero seguirá iOS) que me permite establecer un par de clave/valor. En la aplicación web configuré el idioma. Nativamente (en la actividad) leo el idioma (obtengo el par clave/valor) y selecciono el index.html apropiado.

Sé que hay soluciones disponibles que me permiten almacenar la fecha dentro de la aplicación web. Pero quería una solución que me permitiera acceder a los valores desde ambos lados (nativo y web).

2

Para guardar en el uso de almacenamiento local:

function saveLanuageID(languageID) 
    window.localStorage.setItem('lang', languageID); 

Leer de almacenamiento local

function readLanguageID(){ 
if (typeof window.localStorage.getItem('lang')!== 'undefined' && window.localStorage.getItem('lang')!=null) { 
    return window.localStorage.getItem('lang'); 
} 
else return false 
} 

Usted tendría que probar para el idioma almacenado con el código anterior

if(!readLanguageID()) 
//redirect to splash 
Cuestiones relacionadas