Fractalis per dins: traduir un videojoc no és prémer un botó
Una visita al taller local que importa fitxers, protegeix estructures, reutilitza memòria, assisteix la revisió i reconstrueix les traduccions en el format que necessita cada joc
Quan una persona publica moltes localitzacions de videojocs en poc temps, apareix una explicació còmoda: «Ho deu fer una IA».
La frase acostuma a servir per resumir tot allò que no s’ha volgut observar. No pregunta com s’han extret els textos, en quin format estaven, quines parts podien traduir-se, quines havien de quedar intactes, com s’han protegit les variables, com s’han detectat els errors ni com s’ha reconstruït després el fitxer que espera trobar el joc.
La màgia és una hipòtesi molt útil quan no es vol mirar la maquinària.
Fractalis va néixer precisament per ordenar aquesta maquinària. No és una intel·ligència artificial que rep un videojoc i el retorna traduït. Tampoc és un simple traductor automàtic embolcallat amb una interfície atractiva. És un taller local de localització: una eina que transforma fitxers heterogenis en un procés comú, protegeix els elements tècnics, recupera traduccions anteriors, presenta suggeriments de fonts diferents, facilita la revisió humana i intenta retornar el resultat al format original sense destruir-lo durant el trajecte.
La diferència és important. Un traductor produeix una frase. Fractalis administra un procés.
En el moment d’escriure aquestes línies, el projecte encara no s’ha publicat. El seu desenvolupament és experimental, i les traduccions generades o assistides continuen requerint revisió. Però l’eina ja permet veure amb força claredat què hi ha darrere de moltes de les meves prelocalitzacions: no un botó miraculós, sinó un sistema de treball.
Fractalis no va arribar per evitar que hagués d’aprendre la feina manual. Va arribar després, quan ja l’havia repetida prou vegades per saber quina part mereixia ser automatitzada i quina havia de continuar en mans humanes.
Una aplicació local amb aparença web
Fractalis s’executa a l’ordinador de la persona que l’utilitza. A Windows, es pot iniciar amb un fitxer .bat; l’aplicació engega un servidor local i obre la interfície al navegador mitjançant l’adreça 127.0.0.1.
Això pot semblar una plataforma en línia, però no ho és. El navegador actua només com a interfície. La base de dades, la memòria de traducció, els projectes i els fitxers de treball romanen a l’ordinador.
No hi ha comptes d’usuari, analítica, publicitat ni seguiment. Tampoc es puja automàticament el contingut dels videojocs a cap servidor.
Hi ha, això sí, una distinció necessària. El model executat amb Ollama és local i no envia text a l’exterior. En canvi, les funcions de Softcatalà i Google necessiten connexió i només transmeten el segment quan la persona prem voluntàriament el botó corresponent.
Per tant, dir que Fractalis és local no significa fingir que Internet ha deixat d’existir. Significa que el sistema principal, les dades, la memòria i el model local poden funcionar dins de l’equip, mentre que els serveis externs són opcionals, visibles i activats de manera expressa.
Treballar on són els fitxers
Fractalis treballa in situ. La persona selecciona la ruta real d’un fitxer o d’una carpeta i l’eina hi opera sense traslladar tot el projecte a un espai opac o apropiar-se’n.
Abans d’escriure sobre un fitxer, crea una còpia de seguretat amb marca temporal. També permet generar còpies generals de la seva base de dades i dels recursos de treball.
Aquesta precaució no és decorativa. En localització de videojocs, un sol caràcter mal situat pot inutilitzar un fitxer sencer. Una coma en un JSON, una tabulació en un YAML o una variable eliminada poden impedir que el joc carregui, fer desaparèixer textos o provocar errors difícils d’identificar.
La còpia de seguretat no és la part més espectacular del procés. Només és la que permet que continuï existint després d’un error.
Quins formats pot llegir
Els videojocs no guarden els textos en un únic format universal. Alguns utilitzen fitxers pensats específicament per a traducció; altres barregen text visible, identificadors, paràmetres i estructures internes.
En aquests moments té compatibilitat amb:
PO;
JSON;
TXT;
CSV;
XML;
YAML;
YAML utilitzat en jocs de Paradox, com Stellaris o Victoria;
SRT;
masters de text de FromSoftware, utilitzats en projectes relacionats amb Dark Souls, Elden Ring o Bloodborne.
Fractalis pot importar un únic fitxer o recórrer una carpeta sencera. Durant la importació prova de detectar-ne el format, la codificació i, quan correspon, el delimitador.
A continuació separa les cadenes traduïbles de les claus i estructures que no s’haurien de tocar. Aquesta distinció és fonamental. En un fitxer de localització no tot allò que sembla text és necessàriament una frase destinada al jugador.
El PO com a llengua comuna
Una de les decisions centrals de Fractalis és utilitzar PO com a format pivot.
PO és un format habitual en processos de localització. Permet conservar, per a cada unitat, el text original, la traducció, el context i altra informació associada.
Quan Fractalis importa un CSV, un JSON, un YAML o un altre format compatible, genera una representació PO interna. La traducció es treballa sobre aquesta estructura comuna i, al final, es retorna al format que utilitzava el joc.
El recorregut pot resumir-se així:
Fitxer del joc → importació → PO pivot → traducció i revisió → validació → format original
Aquesta operació d’anada i tornada és el que sovint s’anomena round-trip.
Sense aquest mecanisme, cada format necessitaria un entorn completament separat. Amb un format pivot, diversos videojocs poden alimentar una mateixa memòria de traducció, compartir glossaris i passar per les mateixes comprovacions de qualitat.
Fractalis no converteix tots els jocs en el mateix joc. Converteix els seus textos en unitats que poden ser tractades amb una metodologia comuna.
Una memòria que no comença de zero cada matí
A la captura del projecte de Bloodborne es pot veure una memòria formada per més de dos milions i mig d’unitats procedents de centenars d’orígens.
Aquesta dada no significa que totes les frases siguin adequades per a tots els jocs. Significa que Fractalis pot cercar si una expressió ja ha estat traduïda abans i mostrar-ne la procedència.
La memòria ofereix dos tipus principals de coincidències.
Una coincidència exacta indica que el text original ja existeix a la base de dades. Una coincidència aproximada, o fuzzy, indica que hi ha una frase semblant, però no equivalent.
La diferència entre totes dues es mostra explícitament. Fractalis no presenta una semblança del 85% com si fos una veritat revelada. La presenta com el que és: un antecedent que pot ser útil o completament inadequat segons el context.
Internament, el sistema combina cerca de text complet i comparació aproximada. També estableix prioritats entre orígens: la feina procedent de videojocs pot tenir preferència davant d’un corpus general de programari.
Això permet aprofitar decisions anteriors sense fingir que la coherència consisteix a copiar frases de manera mecànica.
Una memòria de traducció no pensa. Recorda. I recordar bé ja és una forma considerable d’estalviar feina inútil.
El glossari com a autoritat terminològica
La memòria conserva traduccions prèvies. El glossari fixa com s’han de tractar determinats termes.
En videojocs amb milers de segments, un mateix concepte pot aparèixer en menús, diàlegs, descripcions d’objectes, tutorials i missatges del sistema. Sense una referència comuna, és fàcil que la mateixa paraula rebi traduccions diferents al llarg del projecte.
Fractalis permet importar un glossari propi i aplicar-lo durant la revisió. En la versió mostrada, el sistema treballa amb centenars de termes i diverses regles d’estil.
El glossari té prioritat perquè una decisió terminològica conscient hauria de pesar més que una proposta estadística accidental.
Això tampoc converteix el glossari en una llei universal. Un terme pot necessitar una flexió diferent, una excepció narrativa o una adaptació específica segons la frase. Però assenyala el punt de partida i permet detectar desviacions.
La guia d’estil
Fractalis pren com a referència la Guia d’estil de Softcatalà per a diverses comprovacions i suggeriments.
També aplica alguns criteris contextuals propis. Per exemple, prova d’evitar el tuteig indiscriminat en menús i cadenes d’interfície, on sovint resulta més natural una formulació impersonal, mentre que el diàleg pot conservar el tractament de «tu».
Aquesta distinció és modesta, però important. Moltes traduccions automàtiques tendeixen a tractar totes les frases com si una persona estigués parlant directament amb el jugador. El resultat són interfícies que semblen excessivament familiars, repetitives o artificials.
Fractalis intenta reduir aquest patró. No perquè sigui capaç d’interpretar infal·liblement qualsevol situació, sinó perquè pot aplicar criteris previs i marcar casos que necessiten revisió.
Quatre maneres diferents d’obtenir una proposta
Quan un segment necessita traducció, Fractalis no depèn d’una única font.
L’ordre de prioritat conceptual és:
glossari → memòria exacta → memòria aproximada → traducció automàtica
La traducció automàtica, per tant, arriba després de les decisions ja conservades, no abans.
L’eina ofereix diverses opcions.
El model local executat amb Ollama pot proposar una traducció sense enviar el text fora de l’ordinador. Softcatalà pot oferir una traducció ràpida i també un corrector lingüístic basat en LanguageTool. Google proporciona una alternativa multilingüe útil, sobretot quan la llengua d’origen no disposa de la mateixa cobertura en altres serveis.
Aquestes fonts no s’amaguen dins d’un únic botó misteriós. La interfície les separa perquè la persona sàpiga quin sistema està consultant.
Això és especialment rellevant quan dues eines ofereixen solucions diferents. Fractalis no resol el desacord declarant guanyadora l’opció que ha arribat més de pressa. Les mostra perquè puguin comparar-se.
Què és exactament un segment
Un segment és una unitat de text traduïble.
Pot ser una frase completa, una línia de diàleg, el nom d’un objecte, una opció de menú o un missatge breu del sistema. Fractalis mostra cada segment al costat del text original, la traducció i el context disponible.
En un projecte amb desenes de milers de cadenes, aquesta visualització és indispensable. Permet filtrar els segments traduïts, els buits o el conjunt complet. També incorpora un cercador que pot localitzar paraules dins de l’original, la traducció o el context.
A la captura de Bloodborne es veuen, per exemple, diverses variants relacionades amb «caçador» i «caçadora». El fet que apareguin juntes permet detectar problemes de concordança, coherència i gènere que una traducció frase per frase podria passar per alt.
La taula tampoc és una pantalla ornamental per contemplar la productivitat. És el lloc on el volum es converteix en unitats revisables.
La revisió humana no ha desaparegut
En clicar una traducció, Fractalis obre un editor específic.
La persona pot modificar lliurement el text, consultar el model local, demanar una proposta a Softcatalà o Google i examinar les coincidències de la memòria.
La captura de revisió mostra un exemple revelador. El segment castellà «Sin embargo, está aquí, en este sueño…» ja disposa d’una traducció catalana. La memòria recupera una coincidència exacta procedent del mateix projecte i, a sota, diverses coincidències aproximades.
Cada proposta inclou:
el text suggerit;
el tipus de coincidència;
el percentatge aproximat quan correspon;
l’original relacionat;
l’origen de la memòria;
un botó per aplicar-la.
Cap d’aquestes propostes s’incorpora automàticament només perquè existeixi. La persona ha de prémer «Usa», editar el resultat o ignorar-lo.
Aquí es veu la jerarquia real del sistema:
Fractalis cerca, compara, ordena i proposa. La persona decideix.
Traduir quaranta mil frases sense perdre quaranta mil tardes
Fractalis també permet treballar en lot.
Això és, probablement, el que més fàcilment alimenta el malentès. Si una eina pot processar milers de segments, algú acabarà concloent que aquests milers de segments han quedat perfectament traduïts i revisats.
No és el mateix.
La funció «Pretradueix buits» omple segments sense traducció utilitzant coincidències d’alta confiança procedents del glossari i de la memòria. En aquest cas no necessita recórrer a traducció automàtica.
Altres opcions permeten:
traduir buits amb el model local;
utilitzar Softcatalà;
generar un esborrany ràpid amb Google;
corregir el text ja traduït;
reprocessar totes les cadenes;
proposar millores sobre traduccions existents.
Les operacions llargues mostren el progrés en viu, permeten pausa i represa i utilitzen punts de control.
Tot això accelera el treball mecànic. No converteix l’esborrany en una edició definitiva.
Una pretraducció pot cobrir una proporció enorme del joc i continuar necessitant revisió contextual, narrativa i terminològica. Pot contenir frases correctes de manera aïllada que no encaixen amb l’escena, el personatge, el gènere gramatical o l’espai disponible a la interfície.
La velocitat de processament i la qualitat final són dues variables relacionades, però no idèntiques. Confondre-les és molt humà. També és molt còmode.
Protegir allò que no s’ha de traduir
Les cadenes d’un videojoc poden contenir elements com aquests:
%s
{0}
<npc_name>
\nNo són errors ni paraules estranyes. Són variables, etiquetes i instruccions que el joc utilitza per inserir noms, quantitats, salts de línia o altres dades.
Una traducció automàtica convencional pot modificar-les, moure-les, duplicar-les o eliminar-les. Quan això passa, la frase pot semblar correcta a simple vista i, tanmateix, quedar tècnicament inutilitzable.
Fractalis protegeix aquestes estructures abans de traduir. Les congela temporalment, processa el text i després comprova que continuïn presents.
Si una proposta trenca una variable, es descarta.
Aquesta funció explica per què localitzar programari no és simplement traduir literatura amb botons. La frase ha de tenir sentit, però també ha de continuar sent executable.
Detectar problemes abans que els detecti el jugador
Després de la pretraducció arriba una fase menys vistosa i molt més important: buscar què ha sortit malament.
El detector de qualitat de Fractalis pot marcar:
segments buits;
fragments que encara semblen estar en la llengua d’origen;
traduccions idèntiques a l’original;
problemes de concordança;
incompliments del glossari;
castellanismes;
errors de majúscules;
espais o puntuació problemàtics;
variables trencades;
salts de línia alterats;
ecos i repeticions sospitoses.
Aquests avisos no són veredictes infal·libles. Un nom propi pot coincidir legítimament amb l’original. Una paraula assenyalada com a possible castellanisme pot ser correcta en un context concret. Una línia buida pot ser intencionada.
El sistema detecta indicis. La revisió determina si són problemes reals.
En el projecte mostrat de Bloodborne, Fractalis assenyala 2.904 incidències potencials entre 40.947 segments. La majoria corresponen a buits, però també apareixen problemes de llengua d’origen, concordança, coincidència amb l’original, glossari i altres categories.
El volum és útil perquè converteix una sensació difusa —«segur que encara hi ha coses malament»— en un conjunt filtrable de casos concrets.
Corregir sense convertir el sistema en jutge
Des del panell de qualitat es poden aplicar algunes operacions controlades.
Fractalis pot intentar imposar el glossari, corregir problemes de format, eliminar determinats ecos o demanar al model local una proposta per als segments filtrats.
També pot generar informes en CSV perquè les incidències es revisin fora de l’aplicació o es documentin.
La paraula important és «proposta». Una eina de qualitat que no mostra els casos i només modifica el text en silenci és una altra forma de caixa negra.
Fractalis intenta mantenir visibles tant l’error detectat com l’acció possible. Aquesta traçabilitat no garanteix que totes les decisions siguin bones, però permet saber on s’han pres.
Alimentar la memòria
Quan un fitxer ha avançat prou, les seves traduccions poden incorporar-se a la memòria.
A partir d’aquell moment, expressions, terminologia i estructures resoltes en un projecte poden ajudar en els següents.
Aquesta acumulació és una de les raons per les quals Fractalis guanya utilitat amb el temps. No perquè adquireixi consciència ni perquè «aprengui» en el sentit fantasiós que sovint s’atribueix a qualsevol base de dades, sinó perquè conserva treball anterior i el torna cercable.
La memòria és patrimoni de treball. Per això la base de dades fractalis.db necessita còpies de seguretat pròpies. Si es perd, no desapareix només un fitxer tècnic: desapareixen milers o milions de decisions acumulades.
Tornar al format del joc
Un cop revisats els segments, Fractalis actualitza el PO pivot i exporta el resultat al format original.
Aquesta fase és tan important com la importació. Un editor podria permetre traduir perfectament cada frase i fracassar igualment si no fos capaç de reconstruir el CSV, JSON, YAML o fitxer específic que el videojoc necessita.
Abans d’escriure, Fractalis valida el contingut. Comprova variables i estructures, bloqueja allò que podria trencar el fitxer i genera un informe quan detecta problemes.
També crea una còpia de seguretat de l’original.
L’objectiu del round-trip no és només que el text pugui sortir del joc. És que pugui tornar-hi.
Què no fa Fractalis
Una eina s’explica millor quan també s’expliquen els seus límits.
Fractalis no extreu automàticament els recursos interns de qualsevol videojoc existent. En molts casos, abans cal localitzar, desempaquetar, convertir o preparar els fitxers amb eines específiques.
Tampoc sap de manera infal·lible qui parla, què passa a la pantalla o quina intenció narrativa té una frase. Si el fitxer no proporciona prou context, el sistema no pot fabricar-lo per decret.
No garanteix que una proposta automàtica sigui literàriament bona.
No substitueix les proves dins del joc.
No comprova necessàriament totes les limitacions visuals d’una interfície.
No converteix una pretraducció en una localització professional acabada.
No elimina la necessitat de criteri humà.
El que fa és reduir el treball repetitiu, ordenar els materials, protegir estructures, conservar decisions i concentrar la revisió allà on és més necessària.
No és poc. Només és menys cinematogràfic que dir que una IA ho ha fet tot.
Una eina experimental, no un oracle
Fractalis continua sent experimental.
Les traduccions automàtiques són esborranys. Cal revisar-les, provar-les i fer còpies de seguretat. També cal respectar els drets d’autor, les llicències i els acords d’ús dels videojocs.
El codi propi es prepara sota llicència MIT i el projecte es construeix sobre eines i serveis de programari lliure o tercers, entre els quals Softcatalà, Apertium, Ollama, FastAPI, RapidFuzz i polib.
No hi ha cap intenció d’ocultar aquesta dependència. Les eines no apareixen del buit. El que importa és com s’integren, amb quines prioritats, amb quines garanties i al servei de quin procés.
El botó màgic continua sense existir
Fractalis no elimina la feina de localització. La redistribueix.
Automatitza conversions, cerques, comprovacions i tasques repetitives. Conserva una memòria comuna. Aplica glossaris. Protegeix variables. Permet comparar fonts. Assenyala problemes. Facilita operacions en lot. Reconstrueix fitxers i en conserva còpies.
Però les traduccions continuen sent visibles. Les alternatives continuen sent discutibles. Els errors continuen necessitant comprovació. Les decisions continuen tenint responsable.
Potser aquest és el malentès més fàcil de corregir.
Fractalis no és una màquina que substitueix la localització. És una infraestructura construïda perquè localitzar desenes de milers de segments deixi de ser una successió artesanal de tasques mecàniques i es converteixi en un procés documentat, reutilitzable i revisable.
La màquina no fa desaparèixer la persona.
Fa desaparèixer una part de la feina absurda que li impedia arribar a la part important.
Nota final: Fractalis només és una part del procés
Convé afegir una precisió. Fractalis ocupa una part important del procés de localització, però no el conté sencer. De fet, acostuma a començar quan ja s’ha resolt una de les fases més ingrates: aconseguir que els textos del videojoc siguin accessibles i, després, descobrir com tornar-los a introduir sense destruir res pel camí.
Els videojocs no acostumen a lliurar els seus textos en una carpeta amablement etiquetada com a «traduïu-me». Segons el motor, la plataforma i l’època, poden estar dins de paquets, arxius binaris, biblioteques, bases de dades, executables o contenidors propietaris. De vegades cal desempaquetar-los amb eines existents. D’altres, analitzar-ne l’estructura, adaptar scripts, estudiar codi o recórrer a enginyeria inversa.
Cada projecte pot imposar restriccions diferents. Hi ha formats que conserven taules d’adreces o offsets; textos que no poden superar una determinada llargada en bytes; codificacions antigues; cadenes de mida fixa; caràcters que el joc no sap representar; índexs que s’han de recalcular; arxius que s’han de recompondre en el mateix ordre i contenidors que cal tornar a empaquetar exactament com el motor espera.
En alguns casos, afegir una sola lletra altera la longitud d’una cadena, desplaça les dades següents i fa que el joc deixi de funcionar. En d’altres, el text es pot traduir correctament però no tornar a inserir perquè l’eina d’extracció només resolia la meitat amable del problema. Extreure és obrir la porta. La localització no acaba fins que saps tancar-la de nou.
Aquesta fase continua sent, en gran part, manual i específica de cada videojoc. Requereix identificar patrons, provar hipòtesis, comparar fitxers, observar què canvia, reconstruir recursos i executar el joc repetidament per comprovar si el resultat carrega, es mostra bé i no ha trencat cap altra cosa.
Amb el temps, una part d’aquesta feina deixa de semblar excepcional perquè es converteix en costum. Però el costum no significa que la dificultat hagi desaparegut. Significa que s’ha acumulat prou experiència per reconèixer més ràpidament on pot estar el problema i quina eina, script o modificació convé provar.
Fractalis no substitueix aquesta enginyeria prèvia ni pretén obrir automàticament qualsevol videojoc. Actua sobretot quan els textos ja han estat localitzats, extrets o convertits a un format tractable: els organitza, els protegeix, els relaciona amb una memòria, facilita la traducció i la revisió, comprova incidències i els retorna al format importat.
Després encara pot quedar la reconstrucció exterior: tornar a empaquetar recursos, substituir fitxers, generar un pedaç o un instal·lador i provar el resultat dins del joc.
Per tant, Fractalis no és tota la fàbrica. És el taller lingüístic construït al centre d’una cadena més extensa d’extracció, enginyeria inversa, conversió, reconstrucció i proves.
La part visible és traduir les frases.
La part que permet que aquestes frases arribin vives al videojoc acostuma a passar en silenci.







