Número 55
17 de maio de 2023

Internacional e local

Queremos que o noso software teña éxito, e para a maioría da xente iso significa que se usa en todo o mundo. Porén, se queremos acadar este obxectivo, é necesario facer adaptacións nel. Moitas veces, esta adaptación só precisa dunha tradución; outras veces, os cambios son máis sutís.

Un debuxo ao estilo xaponés da era Edo de Don Quixote atacando o muíño.A localización xaponesa de Don Quixote.

No tempo dos ordenadores de 8 bits, António escribiu un programa para facer letreiros coa impresora matricial. Este programa tivo moito éxito en Europa pero non nos Estados Unidos, cos usuarios americanos queixándose de que os letreiros sempre saían desencaixados. Resultou que António non sabía que en Europa usaban papel tamaño A4 e nos EEUU usaban “Letter”!

Urraca vive en Tokio e precisa do seu certificado de nacemento de España. Por sorte hai unha páxina web na que o pode solicitar e que llo envíen á casa; por desgraza, isto non lle serve a Urraca, porque o formulario de solicitude pide un enderezo en formato español, incluso para os enderezos estranxeiros, e os enderezos de Tokio son incompatibles con este formato.

Cando escribimos os nosos programas, moitas veces incluímos neles sen nos decatar algunhas das normas e costumes da cultura na que vivimos: o papel ten tamaño DIN, os enderezos conteñen un nome de rúa, as datas teñen formato día-mes-ano, a coma separa os decimais, e a xente le de esquerda a dereita. Estas normas implícitas non teñen moita importancia cando os usuarios pertencen á mesma cultura ca nós, pero nun ambiente internacional poden presentar obstáculos, coma nos exemplos de enriba.

Se queremos adaptar os nosos programas a outras culturas, teñen que pasar por dous procesos: a internacionalización e a localización.

O proceso de internacionalización consiste en eliminar esas normas culturais implícitas dos nosos programas. Pódese facer substituíndoas por normas “neutras” ou facendo que o programa escolla unha ou outra dependendo da cultura na que viva o usuario.

Por exemplo, unha maneira simple de internacionalizar o formulario do rexistro civil consistiría en pedirlle ao usuario que escriba o seu enderezo nunha caixa de texto no canto de pedir o nome de rúa, número, piso, escaleira, etc., e despois formatalos no estilo español.

Pola outra banda, para internacionalizar o seu programa de xeración de letreiros, António podía ter engadido unha maneira de especificar o tamaño do papel e usar A4 ou “Letter” por defecto dependendo de se o usuario vive en Europa ou nos EEUU.

Hoxe en día hai “frameworks” de internacionalización para case todas as linguaxes de programación. Estes frameworks teñen funcións para formatar datas e números, ordenar cadeas de texto, converter a maiúsculas e minúsculas, e facer outras tarefas que dependen do idioma ou do país.

Se a internacionalización fai que un programa sexa “internacional”, a localización volve facelo “local”: o proceso de localización adapta un programa a un idioma e cultura determinados.

Na maioría dos casos, a localización consiste en traducir e amosar os textos do programa no idioma que corresponda ao usuario. Os frameworks de localización teñen un mecanismo para marcar as cadeas de texto visibles polo usuario para poder extraelas e substituílas polas súas traducións. Con este mecanismo non é necesario manter unha versión en inglés do código fonte, unha versión en galego, outra en francés, etc., senón que o código fonte pode usar só texto en inglés e incluír ficheiros que conteñen as traducións de todas as cadeas de texto a cada idioma.

Cun sistema de localización moderno, os tradutores non traballan no código fonte, senón que traballan con ficheiros de tradución. Non inventedes o voso sistema de localización, que xa hai varios formatos estándar para eses ficheiros de tradución, e os tradutores teñen moitas ferramentas á súa disposición para traballar con eles. Adicionalmente, case todos os sistemas permiten engadir traducións a un programa sen ter que recompilalo; isto engade moita flexibilidade para facer e distribuír traducións.

E xa que estou a falar de localizacións, e co gallo do Día das Letras Galegas, vou mencionar o Proxecto Trasno, que son os responsables de que poidades usar o voso software libre favorito en galego. 23 anos levan xa! Se queredes colaborar nesta importante tarefa, podedes unirvos á súa canle de Telegram e axudar a traducir á nosa lingua pezas de software tan importantes como Firefox, LibreOffice, WordPress, GIMP, KDE ou Gnome.

A ilustración desta Folla foi composta coa axuda de intelixencia artificial.