Eduard Ereza Martínez
Software localizer

Time to embark on a new path

23 July 2020

In 1999, when I was only 13, I started translating several video games and applications into Catalan. I have continued to do so as a hobby to this day, but I have devoted myself professionally to app development (at first it was websites in PHP and Java, and later, Android apps). Working on programming has allowed me to see localization from a new point of view.

Today, I feel ready to embark on a new path full of challenges: localizing software and video games professionally. I have already worked on official translations: for the To the Moon and Finding Paradise video games, for several applications (Weblate, Aegisub, Tachiyomi) and for various websites (Weblate, itch.io and others).

Thanks to my experience in application development, I know perfectly well the different problems that appear when localizing software: the importance of context for localizers, pluralization, variable placeholders, and so on. Also, in the specific case of mobile apps, adaptation to multiple devices (and therefore, the length of strings and the importance of testing).

We’ll see if this path takes me to new horizons, but I think it’s the right decision for me. I look forward to sharing future translations with you!

Bye-bye, WordPress!

29 October 2018

For a long time, I wanted to change my website software, but I never found the time to do it. I got into it this week, and finally got rid of WordPress.

When I created this website back in 2008 (although it was a personal blog at the time), WordPress was already emerging as the quintessential blogging software. I has been using Serendipity, and WordPress seemed pretty more advanced, so I chose it.

For the first few years, I didn’t have many problems. But in recent years it had become a source of constant problems: security updates were constant, themes were also constantly updated, and since the blog had defined a “child theme” from another theme, when something changed in the main theme, the appearance of the site broke.

Therefore, since updating always required maintenance to repair minor visual damage, I began to do it less frequently. And that meant that someone used one of the WordPress security holes to penetrate into the server and place some malicious scripts on it. Luckily, my service provider realized that my server was doing denial of service attacks and I was able to fix it without any hassle. Since then, I’ve updated whenever a new update appears, with the corresponding loss of time.

But that is over. I have decided that, to avoid all these problems, the site will now consist only of static pages. That way, no one will be able to take advantage of any security holes in the blogging system.

For this purpose, I use one of the most famous static website generators, Jekyll. The truth is, I’m very happy with it, and it gives me a freedom that WordPress didn’t give me, because if I feel the need, I can modify any little thing from the template code.

So now this site is purely static… And by the way, it now has a slightly more modern design!

Més pals a les rodes: L'Àrea Metropolitana bloqueja el servidor de Proper bus Barcelona! [Catalan only]

20 April 2015

Actualització (20/04/2015 09:50): El departament d’informàtica de Cetramsa ha contactat amb mi i m’ha comentat que el servidor va ser bloquejat automàticament dissabte per un alta quantitat de peticions. No obstant, analitzant l’historial del servidor no veig cap pic de peticions dissabte. El bloqueig segueix actiu, però l’eliminaran.

Monitorització de la crida ”properes arribades”: el pic s’origina de la no-resposta del servidor de l’AMB. Torna a la normalitat després de canviar a Tor:

Ahir la meva app Proper bus Barcelona va començar a informar que els servidors de l’AMB (Àrea Metropolitana de Barcelona) estaven caiguts, i que s’estava usant el servidor alternatiu de TMB. En un primer moment no em vaig preocupar en absolut ja que això tendeix a passar alguns caps de setmana: el servidor de l’AMB deixa de funcionar i ningú el reinicia fins dilluns al matí (suposo que demanar que una persona estigui de guàrdia per a casos així és massa costós per a l’administració…). Però aquest matí el servei de monitorització de Monitis ha començat a informar que els serveis donaven un error. Quan he entrat al servidor per veure què estava passant, he descobert que el host “www.ambmobilitat.cat” no responia a res. Hi havia un error al meu codi que resultava en un error intern del servidor, el qual he arreglat en 5 minuts, però la causa arrel era que els servidors de l’AMB estaven caiguts. Res gaire alarmant: com ja he dit, sol passar més freqüentment del que hauria de passar.

No obstant, el que m’ha mosquejat ha estat que l’app oficial “AMB Temps bus” i el lloc web estaven funcionant i rebien dades en temps real correctament. Així que he decidit comprovar si era un problema del meu servidor.

M’he trobat amb el següent:

  • Puc comunicar-me amb www.ambmobilitat.cat des del meu propi ordinador personal sense cap mena de problema:
ereza@sylvarant:~$ wget http://www.ambmobilitat.cat/Principales/Inicio.aspx
--2015-04-19 13:47:53-- http://www.ambmobilitat.cat/Principales/Inicio.aspx
S'està resolent www.ambmobilitat.cat (www.ambmobilitat.cat)... 194.30.12.199
S'està connectant a www.ambmobilitat.cat (www.ambmobilitat.cat)|194.30.12.199|:80...connectat.
HTTP: s'ha enviat la petició, s'està esperant una resposta...200 OK
Mida: 145314 (142K) [text/html]
S'està desant a: «Inicio.aspx»

100%[==========================>] 145.314 613K/s en 0,2s

2015-04-19 13:48:02 (613 KB/s) - s'ha desat «Inicio.aspx» [145314/145314]
  • Un servidor a la mateixa subxarxa que el servidor de Proper bus Barcelona tampoc té cap problema:
root@brinstar:~#  wget http://www.ambmobilitat.cat/Principales/Inicio.aspx
--2015-04-19 13:50:37--  http://www.ambmobilitat.cat/Principales/Inicio.aspx
Resolving www.ambmobilitat.cat (www.ambmobilitat.cat)... 194.30.12.199
Connecting to www.ambmobilitat.cat (www.ambmobilitat.cat)|194.30.12.199|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 145314 (142K) [text/html]
Saving to: `Inicio.aspx'

100%[==========================>] 145,314      391K/s   in 0.4s    

2015-04-19 13:50:39 (391 KB/s) - `Inicio.aspx' saved [145314/145314]
  • El servidor de Proper bus Barcelona no pot contactar amb el servidor de l'AMB:
root@crateria:~# wget http://www.ambmobilitat.cat/Principales/Inicio.aspx
--2015-04-19 13:50:40--  http://www.ambmobilitat.cat/Principales/Inicio.aspx
Resolving www.ambmobilitat.cat (www.ambmobilitat.cat)... 194.30.12.199
Connecting to www.ambmobilitat.cat (www.ambmobilitat.cat)|194.30.12.199|:80... failed: Connection timed out.

Això sembla indicar que el meu servidor ha estat bloquejat per adreça IP. Aquí hi ha un diagrama per fer-ho entenedor per a tothom:

Vull creure que això és el resultat d’un bloqueig automàtic i no d’un bloqueig manual. No obstant, els incidents passats em diuen que bé podria ser un bloqueig manual. Intentaré contactar amb l’Àrea Metropolitana per preguntar-los què passa.

Mentrestant, per no deixar sense servei els usuaris, he configurat els meus scripts perquè utilitzin Tor (m’he copiat la idea d’en Roc Boronat, que ja ho va fer per a la seva app Vicing). Fent això puc saltar-me el bloqueig, i l’adreça IP variarà a cada petició, de manera que és difícil que puguin tornar a bloquejar-me. Això té un inconvenient: la connexió serà una mica més lenta, per culpa de les capes addicionals entre el meu servidor i el servidor de l’AMB, però per ara servirà (espero que aguanti el trànsit del dilluns al matí correctament). Els scripts que obtenen dades estàtiques encara no utilitzen Tor, però no són crítics (les dades antigues seguiran estant disponibles). Un cop més, deixo un petit diagrama:

Dit això, m’agradaria preguntar-li a l’Àrea Metropolitana, a l’Ajuntament de Barcelona i a qui sigui que correspongui: Es aquest l’“open data” que promocioneu? Com pot algú crear un producte (comercial o no), existint la possibilitat de perdre accés a les dades de manera sobtada i sense avís? Si es tracta d’un bloqueig manual, per què les empreses públiques tenen tanta por d’una app feta per algú en el seu temps lliure? I per què els servidors cauen els diumenges? Què més he de fer perquè la meva app deixi de tenir problemes?

També m’agradaria recordar que segueixo esperant que algú de CETRAMSA contacti amb mi per accedir a les dades de manera oficial. I ja ha passat un any i mig des que em van dir que ho farien. Sé que hi ha hagut alguns esforços per obrir algunes de les dades, però ningú m’ha contactat mai per avisar-me de canvis o informant-me que s’han obert dades. No obstant, sí que han tingut temps per afegir “Proper BUS” (sic) a la llista d’usuaris de dades “obertes”.

Proper bus Barcelona: Sense rastre de les dades [Catalan only]

22 December 2013

Avui fa exactament dos mesos que em vaig reunir amb CETRAMSA pel cas Proper bus Barcelona, ja que m’havien enviat un burofax amenaçant perquè retirés l’aplicació. La notícia va córrer per Twitter i va aparèixer en algun diari, i van decidir intervenir-hi, així que em van convocar a una reunió urgent per parlar-ne. En aquella reunió, se’m va dir que se’m donaria ràpidament accés a les dades de manera oficial, ja que l’Ajuntament està compromès amb les dades obertes i li sembla interessant obrir-les. Pel que es va parlar, semblava que tot seria molt ràpid, aquell mateix dia em van demanar que tornés a publicar l’aplicació i em van dir que en els següents dies em donarien accés a les dades perquè no em calgués extreure-les simulant peticions d’un navegador a la seva web.

Des d’aleshores, la meva comunicació amb CETRAMSA ha estat bàsicament correus recordatoris, i sempre m’han dit que cal esperar que l’Àrea Metropolitana ho tingui enllestit. Tinc feedback de l’Ajuntament de Barcelona (del qual, repeteixo un cop més, mai he tingut cap queixa en aquest afer, ja que s’ha mostrat sempre comprensiu) indicant-me que estan preparant les dades, però fins avui, ningú ha estat capaç de donar-me cap data.

Doncs bé, aquesta setmana CETRAMSA ha publicat una nova versió de l’aplicació AMBtempsbus, molt millorada respecte de l’anterior, ja que ara també inclou mapa, cerca de parades i recorreguts, com ja fa la meva des de fa mesos. I sorpresa, he investigat una mica i extreuen les dades d’Internet, d’una URL pública, i sense contrasenya! Les mateixes dades que a mi no se m’han cedit perquè les estan preparant.

Vull pensar que no hi ha mala fe per part de CETRAMSA i que tot es tracta d’un conflicte burocràtic, però d’altra banda, si les dades ja estan publicades a internet, per què no se’m dóna directament l’adreça i ja està? L’Ajuntament està interessat en obrir les dades, però les empreses concessionàries potser no tant…

Localització del nom de l'aplicació en aplicacions que utilitzen Android Runtime per a BlackBerry [Catalan only]

26 October 2013

Avui explicaré un petit truc que he fet servir per localitzar el nom de les meves aplicacions Android al menú del sistema de BlackBerry. No he trobat documentació d’aquest tema a Google, així que exposaré la meva solució.

Quan vaig començar a portar algunes de les meves aplicacions a BlackBerry la primera cosa que vaig observar va ser que el nom de l’aplicació no es podia localitzar. Òbviament, dins del codi d’Android si que es pot, però el nom que es mostra al menú de la BlackBerry (almenys a la PlayBook) és sempre el nom per defecte (en anglès). Si la teva aplicació té un nom propi això no és un problema, però quan el nom de l’aplicació és traduïble, queda una mica estrany.

Així que vaig explorar una mica. Vaig cercar per fòrums i vaig trobar algú que parlava de fitxers “.bbr” (va ser fa temps i ja no conservo l’enllaç). Vaig seguir buscant i vaig acabar trobant part d’una documentació que algú va publicar a PasteBin (potser part de la documentació de BlackBerry o QNX? No ho sé!). S’hi descriuen els paràmetres que es poden especificar al fitxer MANIFEST.MF, el qual identifica i descriu la teva aplicació BlackBerry.

Així que després d’algunes proves (i mirant el codi descompilat de les eines de BlackBerry per a Android), vaig descobrir que només calia especificar un paràmetre amb els idiomes suportats i incloure’l en el fitxer del manifest, així que això vaig fer (explicaré el procés més endavant).

Però després d’aconseguir compilar-lo en el fitxer BAR, el sistema es queixava que no existien els fitxers MANIFEST_ca.bbr, MANIFEST_en.bbr o MANIFEST_es.bbr. Vaig intentar que els reconegués l’Eclipse, però no ho vaig aconseguir. Vaig intentar afegir-los a mà al fitxer BAR, però òbviament aleshores es queixava que no estava correctament signat.

Així que vaig trobar una alternativa. És una mica “cutre”, però funciona: executar un shell script que injecti els fitxers .bbr en els fitxers temporals creats durant el procés de construcció del BAR (un directori a /tmp/apk2bar[…]/).

Així que vaig a explicar els passos necessaris.

1. Crea un fitxer MANIFEST.MF dins del teu projecte, al següent camí: assets/blackberry/MANIFEST.MF, amb almenys el següent codi:

Package-Locale: [els teus codis d'idioma, separats per comes, per exemple: en,es,ca]

2. Assegura’t que el teu manifest es combina amb el que es genera automàticament: fes clic dret al teu projecte a l’Eclipse, selecciona Properties, llavors BlackBerry, i defineix “Custom BAR manifest” com a “Add custom values (merge)”. Desa els canvis.

3. Crea un directori amb tots els teus fitxers .bbr i aquest script (add_localization.sh). Cada nom de fitxer .bbr ha de ser “MANIFEST_[codi d’idioma].bbr”, i ha de contenir els següents paràmetres:

Entry-Point-Localization: [el nom per defecte de la teva app]
Entry-Point-Name: [el nom localitzat de la teva app]

Per exemple, en el meu cas, MANIFEST_ca.bbr tindria:

Entry-Point-Localization: Next bus Barcelona
Entry-Point-Name: Proper bus Barcelona

4. Quan estiguis llest per construir el teu fitxer BAR, simplement executa l’script add_localization.sh. Quan comenci l’execució, començarà a comprovar que el directori apk2bar sigui creat, i llavors hi copiarà els fitxers .bbr.

5. Construeix el fitxer BAR. Si tot ha anat bé, l’script hauria de treure per pantalla “Files copied into temporary directory!”. El teu fitxer BAR hauria de contenir els fitxers .bbr.

Tingues en compte que aquest script no verifica si s’han produït errors, i pot tenir problemes de concurrència, així que hauries de comprovar sempre que el fitxer BAR generat tingui tots els fitxers .bbr inclosos.

Ara ja pots executar la teva aplicació i es mostrarà el nom correcte segons l’idioma del sistema!

Entries 1-5 of 23 | Older entries »