[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:

Funcionalidade SPI Exemplo localizado por JAVAGALICIAN
Formato de datas java.text.spi.DateFormatProvider xoves 31 de decembro de 2009 23H59' CET
Símbolos de formato de datas java.text.spi.DateFormatSymbolsProvider xaneiro, venres
Formato de números java.text.spi.NumberFormatProvider 2.312.600,35, 2.312.600,35 €
Símbolos de formato de números java.text.spi.DecimalFormatSymbolsProvider 2.312.600,35
Ordenación e comparación de textos java.text.spi.CollatorProvider {atómico, Átomo, atónito, Átono}
Segmentación de textos java.text.spi.BreakIteratorProvider |O|ábaco|sitúase|sobre|o|capitel|
Nomes de localizacións (países + idiomas) java.util.spi.LocaleNameProvider Arxentina, Alemaña, castelán
Nomes de zonas horarias java.util.spi.TimeZoneNameProvider Hora de verán de Europa Central
Símbolos de moedas java.util.spi.CurrencyNameProvider EUR,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.