Ver Mensaje Individual
  #2  
Antiguo 02-07-2014
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Reputación: 30
jhonny Va camino a la famajhonny Va camino a la fama
¡Caramba!, ya lo solucioné. Resulta que estaba capturando la cadena correspondiente al idioma configurado en Android (Para hacer esto solo es necesario asignarle True a la propiedad Autoselect del TLang), yo solo había ingresado la traducción para es (Español Latinoamerica) y en (Ingles), pero resultó que en algunos celulares, el codigo de idioma es sp (español estados unidos), al hacer dicha captura pues no encontraba sp y ahí el defecto.

Entonces las 2 posibles soluciones a este caso son:

1) Agregar sp como idioma al TLang.
2) Y por esta fue la que opté... validar la situación manualmente donde se presente el problema e indicarle que si no está en la lista (TLang.Resource) el idioma en cuestión, pues ejecute el valor por defecto.

En mi caso tenía lo siguiente:

Código Delphi [-]
   vMensajeAdvertencia := LngPpal.LangStr[LngPpal.Lang].Values['vMensajeAdvertencia'];

Y ahora tuve que hacer...

Código Delphi [-]
   if LngPpal.Resources.IndexOf(LngPpal.Lang) <> -1 then
     vMensajeAdvertencia := LngPpal.LangStr[LngPpal.Lang].Values['vMensajeAdvertencia']
   else
     vMensajeAdvertencia := 'Aún quedan';

Quizá no sea lo más optimo, pero mientras comprendo más este componente, dicha solución me ha funcionado muy bien.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita