Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Sacar el texto de las fechas en español en Lazarus (https://www.clubdelphi.com/foros/showthread.php?t=87142)

fidel 19-11-2014 20:18:51

Sacar el texto de las fechas en español en Lazarus
 
Acabo de hacer la primera aplicación con una base de datos con Lázarus, una cosa simple que tenía hecha en delphi y Firebird la he pasado a Linux con Lazarus y Firebird para probar.

Instalando Firebird, instalando los components IBX en Lázarus que son los que usaba, copiando el código, y con una copia de la base de datos Firebird que ya tenía pero dandole los permisos y usuarios necesarios para que ande en linux funciona.

Pero en un panel y con un TTimer tengo puesta la fecha y hora:
Código Delphi [-]
  PFecha.Caption := FormatDateTime('h:mm',Now) + '               ' +
  FormatDateTime('dddd',Date) + ', ' +
  FormatDateTime('d "de "mmmm "de "yyyy',Date);
y el texto del día de la semana y del mes sale en inglés
También sale en inglés el mes en un campo del DBGrid que tengo con su propiedad Display Format: DD MMMM YYYY

Esta misma base de datos en Delphi salía todo en español, y aquí sale en inglés, por lo que supongo que será asunto de Lázarus o de Linux (Mint Debian Cinnamon 64 bit)

¿Aguna manera de solucionarlo?

Gracias.

ecfisa 19-11-2014 20:47:52

Hola fidel.

Pienso que es el S.O. donde deberías configurar el idioma. Todavía no me he echo el tiempo de conocer a Debian, pero leyendo sobre el tema encontre esto:
Cita:

...
3. Instalar el paquete de idioma

Si bien por defecto Linux Mint nos instala el paquete de idioma español (o cualquier otro que hayamos indicado durante la instalación) no lo hace de forma completa. Para revertir esta situación podemos ir a Menú > Preferencias > Soporte de idiomas o también escribiendo el siguiente comando en un terminal:
Cita:

sudo apt-get install language-pack-gnome-es language-pack-es language-pack-kde-es libreoffice-l10n-es thunderbird-locale-es thunderbird-locale-es-es thunderbird-locale-es-ar
...
La fuente: Que hacer despues de instalar....

Espero que sea la solución o al menos te oriente sobre ella...

Saludos :)

fidel 20-11-2014 17:52:54

No tengo Linux Mint 17, que se basa en Ubuntu que a su vez se basa en debian, el que uso ahora es Linux Mint Debian (LMDE 201403 Cinnamon 64 bit), que es un Linux Mint basado directamente en Debian (no tiene ya nada de Ubuntu), y esta versión no tiene la opción Menú ... Preferencias ... Soporte de idiomas y si intento instalarlo desde un terminal con sudo apt-get install no funciona, me da este error No se ha podido localizar el paquete language-pack-gnome-es, lang ....

Por otra parte la configuración regional está bien, la fecha en el panel y en el calendario me salen en español, las opciones del menú también, la ayuda de Libre Office también, aunque esto último puede ser porque instalé manualmente otra versión mas reciente que la de los repositorios.

Sí veo que en algunas páginas, como por ejemplo ahora mismo al escribir esto, el corrector me marca todas las palabras con subrayado rojo como si fueran incorrectas, por lo que parece que hay algún problema de idiomas.

Seguiré mirando a ver como lo soluciono.

Gracias.

fidel 28-11-2014 19:47:02

En Mint Debian los paquetes de idioma son otros (task-spanish, task-spanish-desktop y task-spanish-kde-deskt) pero los tengo instalados.

Además he probado Lázarus en una versión que aún tengo de Mint 13 y ocurre lo mismo y lo del idioma ya lo tenía resuelto allí también, es problema de Lázarus.

Lo curioso es lo que me ocurre ahora, he empezado a hacer en Lázarus Linux otra aplicación que tenía y me sale el texto de la fecha cogida del sistema en español y el texto de las fechas formateadas en un grid también en español.

Utilizo la misma base de datos para las dos aplicaciones, por lo que deduzco que como he estado mirando bastante por los menús de Lázarus, he debido tocar algo que lo ha arreglado, pero no se que habrá sido.

Ahora bien, cargo la primera aplicación me lo saca en inglés, cargo la otra y sale bien en español, pero no se lo que he podido hacer ni como solucionarlo.

¿Alguna idea?

Gracias.

fidel 30-11-2014 19:59:54

Lo he resuelto, lo pongo aquí por si a alguien le sirve, simplemente añadiendo en el uses la unit CLocale (preferiblemente en las primeras units de la aplicación).

Lo he descubierto porque al hacer un reporte con LazReport me funcionaba bien, he ido quitando componentes y uses poco a poco hasta que he visto que si quitaba la unit LR_Class volvía al inglés.

He buscado en esta página el código de la unit LR_Class y he visto que al principio tenia en su uses CLocale
https://github.com/alrieckert/lazaru...e/lr_class.pas

Después he buscado información sobre CLocale y he encontrado esto que lo explica
http://lazarus-ccr.sourceforge.net/d...ale/index.html

Por lo que entiendo solo debe ponerse en Linux por lo que si solo se usa Linux puede añadirse al uses solo:

CLocale

pero si se usa en Win, es conveniente añadir al uses esto:

{$ifdef unix}clocale{$endif}

Casimiro Notevi 30-11-2014 20:11:42

^\||/^\||/^\||/


La franja horaria es GMT +2. Ahora son las 18:13:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi