[IN ENGLISH] [EN CASTELLANO]

JAVAGALICIAN 1.1 PUBLICADO! (21 xuño 2010). [DESCARGAR]

JAVAGALICIAN é unha extensión para a máquina virtual Java (JVM) que engade soporte para as localizacións galegas (gl, gl_ES). Brevemente:

O proxecto JAVAGALICIAN

O problema

Fixémonos neste fragmento de código, que debería amosar unha data formateada en galego:

    final Locale glLocale = new Locale("gl","ES");        // language = Galician, country = Spain
    final String myDateStr = DateFormat.getDateInstance(DateFormat.FULL, glLocale).format(myDate);
    System.out.println(myDateStr);

Porén, isto é o que amosa:

Monday, September 21, 2009

Iso non é galego! E isto acontece porque, aínda que especificamos a localización 'gl_ES', esta localización non existe na máquina virtual estándar... de modo que o que obtemos é unha saída formateada en inglés.

A solución

Java SE 6 (JDK 1.6.0) engadiu á súa API unha xerarquía de interfaces de provisión de servizos (Service Provider Interfaces, SPIs) que permiten unha sinxela adición de capacidades de localización á máquina virtual Java. Estes SPIs extenden á clase java.util.spi.LocaleServiceProvider e cubren as seguintes funcionalidades:

FuncionalidadeSPIExemplo localizado por JAVAGALICIAN
Formato de datasjava.text.spi.DateFormatProviderxoves 31 de decembro de 2009 23H59' CET
S 355mbolos de formato de datasjava.text.spi.DateFormatSymbolsProviderxaneiro, venres
Formato de n 372merosjava.text.spi.NumberFormatProvider2.312.600,35, 2.312.600,35  200
S 355mbolos de formato de n 372merosjava.text.spi.DecimalFormatSymbolsProvider2.312.600,35
Ordenaci 363n e comparaci 363n de textosjava.text.spi.CollatorProvider{at 363mico,  301tomo, at 363nito,  301tono}
Segmentaci 363n de textosjava.text.spi.BreakIteratorProvider|O| 341baco|sit 372ase|sobre|o|capitel|
Nomes de localizaci 363ns (pa 355ses + idiomas)java.util.spi.LocaleNameProviderArxentina, Alema 361a, castel 341n
Nomes de zonas horariasjava.util.spi.TimeZoneNameProviderHora de ver 341n de Europa Central
S 355mbolos de moedasjava.util.spi.CurrencyNameProviderEUR,USD

TODAS estas funcionalidades de localización están cubertas por JAVAGALICIAN, de modo que funcione como unha solución completa á falla de soporte nativo para galego na JVM, convertindo 'gl' e 'gl_ES' en localizacións completamente soportadas na máquina virtual Java.

Por exemplo, con JAVAGALICIAN instalado, o mesmo fragmento de código de arriba daría como resultado:

luns 21 de setembro de 2009

Contexto

A lingua galega

O galego é unha lingua falada por máis de 3 millóns de persoas no noroeste de España, principalmente na Comunidade Autónoma de Galicia. É unha lingua romance orixinada a partir do latín durante a idade media e moi próximamente emparentada co portugués, e actualmente ten o estatus de cooficial na Comunidade Autónoma de Galicia tal e como é recoñecido na Constitución Española, compartindo este estatus coa lingua castelá e en igualdade de dereitos con ela dentro da Comunidade.

O galego é ademais o idioma oficial do Goberno e as institucións oficiais desta Comunidade Autónoma, é ensinado en tódalas escolas de Galicia e usado para o ensino nunha distribución de materias do 50% co castelán. Varias canles de televisión rexionais e estacións de radio emiten os seus contidos exclusivamente en galego, e varios periódicos usan tamén esta lingua (tanto en forma monolingüe coma bilingüe).

O galego é estudiado e estandarizado por unha institución oficial denominada Real Academia Galega, que promulga normas de gramática, ortografía e vocabulario, e traballa para a promoción da lingua.

Podes ler máis sobre estes temas na Wikipedia: [Galicia] [Lingua Galega] [Real Academia Galega]

Localización galega

O código de idioma estándar para o galego é 'gl', de acordo co establecido na especificación ISO 639-1 para códigos de idiomas. Polo tanto as localizacións galegas son 'gl' para a versión sen país e 'gl_ES' para a versión con país.

A lingua galega en Java

A máquina virtual Java de Sun Microsystems nunca incluíu soporte para as localizacións galegas, aínda que estas foron aceptadas en 2004 como RFE (Request For Enhancement/Petición de Mellora) 5104387 para o JDK 1.4.2, e vén sendo un importante tema de discusión dende entón.

Durante todo este tempo, as empresas de desenvolvemento de software Java en Galicia ou en calquera outro lugar que traballasen para o Goberno ou institucións galegas, ou que simplemente orientasen os seus produtos de software ao mercado galego-falante, tiveron que desenvolver as súas propias solucións (a miúdo incompletas ou non adheridas a estándares) para paliar a falla de soporte nativo para a lingua galega na máquina virtual Java.