Internacionalització de programari: el cas del català
Jordi Mas i Hernàndez, coordinador general
de Softcatalà

Introduction
La internacionalització és un conjunt de tècniques força vinculades a la programació de sistemes informàtics destinades a assegurar que un programa pot treballar correctament en qualsevol llengua. El procés d'internacionalització es va convertir ja fa molt anys en un aspecte clau en el desenvolupament de programari, i avui en dia podem dir que cada producte de programari de certa importància té una persona o un equip dedicat a aquesta tasca.

El procés d'internacionalització acostuma a estar estretament relacionat amb el procés de localització, entès aquest com la traducció i adaptació d'una aplicació a una llengua i al seu entorn cultural corresponent.

En aquest article, ens concentrarem en els aspectes més pràctics i visibles de la internacionalització, i deixarem de banda els aspectes tècnics relacionats amb la programació. Veurem el cas del català i com comprovar si un programari la suporta la nostra llengua correctament, i no aprofundirem en aspectes específics d'altres llengües que estan fora de l'abast d'aquest article.

El concepte de locale

Un locale és el conjunt de paràmetres i convencions que s'utilitzen a una zona geogràfica o cultural determinada, i que inclouen, entre d'altres el format de la data i l'hora, nom de la moneda, separador per desenes i centenes, per citar-ne alguns. Totes les aplicacions ben escrites consulten al sistema operatiu detalls del vostre locale per oferir-vos la informació d'una forma coherent al vostre entorn cultural.

Comprovar o configurar el vostre locale és una tasca senzilla. Si teniu PC amb Microsoft Windows, la configuració es realitza a través del Tauler de control > Configuració regional; on cal tenir el català com a idioma actiu. No us oblideu de seleccionar la distribució del teclat correcta.

En cas de GNU/Linux s'han de canviar diferents paràmetres del sistema que depenen de quins components utilitzeu, us recomanem el document [1], que explica en detall com fer-ho.

Anàlisi del producte

El procés inicial d'anàlisi d'un producte és un procés de vital importància per tal de determinar si un projecte és viable i es pot realitzar la localització del programa i tots els seus components associats i si suporta correctament la nostra llengua, és a dir, comprovar el seu grau d'internacionalització.

Si aquest pas no es fa correctament i en profunditat, podem trobar-nos que el projecte no es pot finalitzar ja que determinat component no es pot traduir completament o no té la capacitat per representar correctament les particularitats de la nostra llengua.

Conèixer el programa a fons

Abans de començar, és important conèixer la versió original del programa, normalment l´anglesa, molt bé. Cal estar familiaritzat amb el funcionament del programa, totes les seves opcions i funcions, característiques tècniques, etc.

El no estar familiaritzats amb l'operatòria del programa no ens permetrà la detecció de situacions peculiars quan s'analitzi la versió traduïda simulada, ni podrem comprovar que el suport internacional sigui correcte.

En cas de no ser usuaris habituals del programa, el primer pas a realitzar serà conèixer en profunditat el programa: cercar les PMF (preguntes més freqüents), documentació, buscar pàgines web amb informació, preguntar a usuaris del programa, etc.

Comprovar el suport internacional

Si un programa no suporta o no permet configurar la utilització dels elements propis de la nostra llengua (com ara la 'ç' o la 'l·l'), no fa servir el nostre format horari (els americans fan servir mes/dia/any i nosaltres, en canvi, dia/mes/any), no suporta els símbols per representar la nostra moneda, etc., es diu que aquest programa no suporta el nostre locale. Abans de començar la comprovació del suport internacional, assegureu-vos que teniu el vostre PC en locale català.

Per poder determinar si el programa té un suport internacional que doni suport a la nostra llengua, s'han de comprovar els següents punts:

  • Qualsevol part del programa on es puguin introduir textos o noms ha d'acceptar els caràcters especials que es fan servir per representar la llengua catalana. Alguns programes tenen filtres als camps d'edició que limiten l'ús del joc de caràcters que podem fem servir. El joc de caràcters per representar el català és: les lletres de la a a la z més à é è í ó ò ú ü ï ç i l·l, així com els signes de puntuació necessaris. Si el programa realitza conversió de majúscules a minúscules o viceversa, cal comprovar que els caràcters necessaris per representar la nostra llengua (à é è í ó ò ú ü ç l·l ï) es converteixen correctament. Molts programes converteixen una á en A, etc.

  • Verificar que allà on el programa mostra dates i hores, les visualitza fent servir el nostre format horari de DIA/MES/ANY i no pas amb el format americà mes/dia/any o en qualsevol altre. Verificar el mateix per a les hores (format 12/24 hores, indicació de matí i tarda). És molt confús per a l'usuari quan un programa està traduït i mostra dates fent servir un format no vàlid.

  • Que en la visualització de números es faci servir el "." com a separador per als milers i la ',' per als decimals.

  • Allà on es visualitzi informació ordenada alfabèticament, aquesta ordenació ha de seguir les normes de la llengua catalana (l'ordre ha de ser ABCDEFGHIJKLMNOPQRSTUVXYZ, primer les majúscules i després les minúscules); quan es modifica un valor d'aquestes llistes, ha de modificar la seva posició d'acord amb la nova posició.

  • Les unitats de mesura han de ser les d'ús normal al nostre país, com el sistema mètric decimal (per exemple, les distàncies les ha de representar en centímetres en comptes de polzades). És acceptable -de fet recomanable- que l'usuari pugui canviar d'unitats de mesura, però la versió catalana ha de fer servir per omissió el sistema mètric decimal. El programa ha de permetre aquest canvi.

  • Si el programa fa servir valors per omissió o d'exemple que tinguin alguna característica geogràfica o personal com ara nom de ciutats, països, noms de persones, etc, aquesta informació també cal localitzar-la a noms propers a nosaltres.

  • A les pantalles d'introducció de dades, si es demana un nom de país, aquest ha de ser el nostre i no els Estats Units o qualsevol altre.

  • La possibilitat de localització dels elements gràfics del programa, com ara logotips i components gràfics. Si un programa mescla textos i gràfics és molt difícil -gairebé impossible- localitzar aquests elements sense disposar del format original del paquet de disseny gràfic.

i un programa compleix tots aquests requisits podem dir que suporta correctament la nostra llengua, malgrat no estigui en català.

Comprovar la localització: simulació de la traducció

La traducció simulada o pseudo-traducció es una tècnica força emprada per poder determinar el grau de localització i el suport internacional d'una aplicació. El procés consisteix en reemplaçar els textos en anglès per textos escollits aleatòriament amb caràcters específics de la llengua que simulem.

Una aplicació que permet realitzar aquest tipus d'anàlisis és Alchemy Catalyst [2], un producte originalment desenvolupat a Corel com a eina interna per realitzar la traducció dels seus productes i que després es va comercialitzar.

Una versió pseudo-traduida d'un producte ens permet identificar les parts del programa que poden ser traduïdes i quines no. També ens permet detectar els problemes que tindrem durant la traducció abans de començar a treballar.

Una vegada tenim una traducció completa simulada del programa hem de buscar:

  • Text fix, text que no es pot traduir. En una aplicació normal només podem traduir el text que està en els recursos. La simulació modifica tots els recursos afegint-hi un text al principi i al final. Els textos que no estiguin modificats no formen part dels recursos i segurament no es podran traduir sense una modificació del programa per part de l'autor. S'ha d'investigar d'on venen aquests textos i quines accions cal seguir per traduir-los.

  • Cadenes funcionals. Són cadenes que estan en els recursos que no s'han de modificar perquè tenen un impacte en la funcionalitat del programa. Per exemple, noms de claus del registre del sistema, paràmetres que fan referència a altres programes, o noms de seccions de fitxers INI.

  • Límits de les memòries intermèdies (buffers). És comú que els programes carreguin una cadena dels recursos i després facin operacions amb ella. Per exemple, afegir el nom del fitxer on s'ha produït l'error. Algunes aplicacions tenen mides predeterminades de memòria intermèdia i alguns cops poden ser massa petites per a la cadena traduïda. Igualment, s'han de mirar els possibles llocs on l'estructura de la frase sigui vàlida en anglès però no en català.

  • Recursos no estàndards. Algunes aplicacions fan servir recursos que no són estàndards del sistema operatiu, com ara formularis de Delphi o Visual Basic. Aquests recursos s'han d'identificar, ja que hem de buscar les eines adients per poder-los traduir i comprovar que es pugui fer correctament.

  • Gràfics amb text. Podem trobar-nos amb gràfics que contenen text (barres d'eines) i que s'han de modificar per traduir aquest text. Les aplicacions ben dissenyades obtenen el text que es sobreposa sobre els gràfics de les cadenes que podem traduir.

  • Tecles d'accés ràpid fixes. El procés de simulació modificarà totes les tecles d'accés ràpid del programa ja que en la versió traduïda ho haurem de fer en la majoria dels casos. Alguns programes permeten canviar la representació visual d'aquestes tecles d'accés ràpid però no la seva funcionalitat, és a dir, podem tenir un menú en la versió anglesa pel qual hem de fer servir la tecla C per accedir-hi, però en català n'hem de fer servir una altra, per exemple la E. Un cop canviat, el programa mostra la E però a nivell funcional.

Només quan tenim la certesa que la major part dels problemes són solucionables, començarem el procés de traducció. No patiu, que ja trobarem més problemes durant les altres parts del procés.

Conclusió

Malgrat que els traductors mai duen a terme el procés d'internacionalització saber valorar si les aplicacions suporten la nostra llengua i el nostre entorn cultural sempre és important per poder determinar problemes que puguin sortir en una aplicació traduida i com a coneixement complentari de cara a treballar en el camp de la localització.

Referències en línia

[1] http://linux.softcatala.org/projectes/doc/Catala/Catalan-HOWTO.html
[2] http://www.alchemysoftware.ie/

Referències impreses

Kano, Nadine (1995). Developing International Software for Windows 95 and Windows NT (Microsoft Programming Series). Microsoft Press.

 

Octubre 2002