A note on language

Why the Spanish pages here say «haz un commit» and not «confirma los cambios»

Writing about software in Spanish has no settled convention. No authority dictates it, the big style guides contradict each other at the edges, and every team ends up deciding text by text. So did we. This is what we decided instead.

The criterion

A word stays in English for two DIFFERENT reasons. Conflating them is easy, and it is the mistake that made us rewrite this policy from scratch.

One: it is an identifier. It appears verbatim in the command line, in an API, in an error message you are about to paste into a search box. Translating it breaks the REFERENCE: the text reads well and is useless, because you can no longer get from it to the tool. This holds in every language — it is not an opinion about Spanish.

Two: there is no faithful word. No Spanish word carries the concept without displacing it. Translating it breaks the CONCEPT. «Compuerta» sends it to electronics; «puerta» already means something else here; «umbral» loses the typed policy; «punto de control» loses that it BLOCKS. Every candidate looks reasonable and each loses something different. This one IS a claim about Spanish, and in another language it might be false.

And if Spanish does have the word, we use it. A term that happens to resemble a directory name is not thereby untranslatable.

It also settles the question that seemed to have no answer. «How do you say run in Spanish?» has none BECAUSE IT IS NOT A TERM: it is an ordinary English word. But a Run with an id and a log IS an entity, and it stays. We were looking for one translation of two different things; that is why it never turned up.

What we do not translate

These stay in English, and the last column says by which of the two roads.

TermWhat it isWhy it stays
gateuna gate — la comprobación que corta el paso: si no se cumple, el cambio no llega a ocurrir; no avisa, impideno hay palabra española fiel — traducirlo rompe el concepto
sensorun sensor — la comprobación que se dispara después de generar; en ontoref, además, declara qué miróSourceLanguage
ambient affordancesambient affordances — propiedades que hacen un entorno legible sin instrucciones; se ve qué se puede hacer con solo mirarno hay palabra española fiel — traducirlo rompe el concepto
Hard`Hard` — severidad tipada de una restricción: vincula, y una violación rompe; su par es `Soft`, que se audita y no bloqueaes un identificador — traducirlo rompe la referencia
commitun commit — cada vez que guardas un cambio en git queda uno: una foto del proyecto en ese instante, con su mensaje y su autores un identificador — traducirlo rompe la referencia
pushun push — subir tus commits al servidor donde vive el repositorio compartido; hasta entonces solo existen en tu máquinaes un identificador — traducirlo rompe la referencia
rebaseun rebase — coger tus commits y volver a aplicarlos encima de la rama ya actualizada, como si los hubieras hecho despuéses un identificador — traducirlo rompe la referencia
pull requestun Pull Request — pedir que tus cambios entren en la rama principal, y que alguien los mire antes de que entrenes un identificador — traducirlo rompe la referencia
hookun hook — un programa que la herramienta ejecuta sola en un momento fijo: por ejemplo, justo antes de aceptar un commites un identificador — traducirlo rompe la referencia
NCLNCL — el lenguaje de configuración tipada en el que se declara todo estoes un identificador — traducirlo rompe la referencia
ADRun ADR — el registro de una decisión de arquitectura, con sus restriccioneses un identificador — traducirlo rompe la referencia
DAGun DAG — grafo dirigido acíclico: pasos con dependencias y sin ciclos; la forma que tiene un modoes un identificador — traducirlo rompe la referencia
JSONLJSONL — un objeto JSON por línea; el formato del testigoes un identificador — traducirlo rompe la referencia
Ed25519Ed25519 — la firma criptográfica con la que se sella un testigo: cualquiera puede comprobar que nadie lo ha tocado despuéses un identificador — traducirlo rompe la referencia
exitexit — el código de salida de un proceso (0 = pasa)es un identificador — traducirlo rompe la referencia
CustomerSupplierCustomerSupplier — dependencia de una vía: un dominio consume a otro sin reciprocidad; un plano degenerado.es un identificador — traducirlo rompe la referencia
PartnershipPartnership — vínculo mutuo: ninguno gobierna al otro pero cada uno exige al otro para existir; el 2-ciclo que constituye un plano.es un identificador — traducirlo rompe la referencia
OpenHostServiceOpenHostService — un dominio publica un servicio/protocolo abierto que varios consumidores usan sin negociar caso a caso.es un identificador — traducirlo rompe la referencia
ConformistConformist — el consumidor se pliega al modelo del proveedor sin traducción, aceptando su lenguaje tal cual.es un identificador — traducirlo rompe la referencia
SharedKernelSharedKernel — dos dominios comparten un núcleo común de modelo/código, con cambios coordinados.es un identificador — traducirlo rompe la referencia
AnticorruptionLayerAnticorruptionLayer — capa de traducción que aísla el modelo propio del de otro dominio para no contaminarlo (p. ej. la frontera del deck).es un identificador — traducirlo rompe la referencia

What we do translate

Spanish carries the whole concept. There is nothing to preserve.

In EnglishWe write
witnesstestigo
doorpuerta
bondvínculo
nodenodo
planeplano
axiseje
edgearista
guideguía
harnessarnés
harnessabilityarnesabilidad
driftderiva
workflowflujo de trabajo
fixtureconfiguración de prueba
guardrailsalvaguarda
guardrailssalvaguardas
red-teamprueba adversaria
onboardingincorporación
onboardedincorporado
scriptedautomatizado
FSMmáquina de estados
flagopción de línea de comandos
runtimetiempo de ejecución
backlogcartera de pendientes
seedsemilla
constraintrestricción
constraintsrestricciones
modesmodos
schemaesquema
reflectionreflexión
ontologyontología
mergefusión
parseanalizar
deploydesplegar
linkenlazar
logregistrar
buildcompilar
debugdepurar
testprueba
forkbifurcación
librarybiblioteca
runejecución

The verbs, which are the real problem

This is where everyone gets stuck, and the fix is grammatical, not a matter of taste.

A borrowed NOUN is harmless: it enters Spanish, picks a gender, and is done.

A borrowed VERB must pick a conjugation — and in Spanish that is -ear, which drags a colloquial register in with it. That is why «commitear» grates and «commit» does not: it is not the loanword, it is the MORPHOLOGY.

The way out is a construction Spanish already uses productively: LIGHT SPANISH VERB + ENGLISH NOUN. «Hacer un commit». Spanish supplies the grammar; the loanword stays a noun and keeps pointing at the artifact.

We do not writeWe writeWhy
gatearevaluar la gate / poner una gatecalco
driftarderivacalco
comitearhacer un commitcalco
commitearhacer un commitcalco
pushearhacer un pushcalco
rebasearaplicar un rebasecalco
mergearfusionarcalco
parsearanalizarcalco
deployardesplegarcalco
deploardesplegarcalco
linkearenlazarcalco
loguearregistrarcalco
buildearcompilarcalco
debuggeardepurarcalco
testearprobarcalco
forkearbifurcarcalco
forkarbifurcarcalco

And the ones that do not grate — the truly dangerous

A calque announces itself. A FALSE FRIEND does not: it looks like the right translation, reads fluently, and displaces the meaning unnoticed. «Librería» is a SHOP; the word is «biblioteca». Languages evolve their cognates apart, and that drift is invisible precisely because the word still looks like its source.

Others are true cognates borrowed from ANOTHER discipline: «compuerta» comes from electronics, and drags a logic-circuit reading into a sentence about state transitions.

We do not writeWe writeWhy
compuertagatedesplaza — Cognato de la ELECTRÓNICA (logic gate). Arrastra la lectura de circuito a una frase sobre transiciones de estado.
puertagatedesplaza — Ya la usa `door` (la entrada de embudo, ADR-064). Traducir así fusionaría dos conceptos en una palabra.
armazónarnésdesplaza — «armazón» es estructura inerte; el arnés dirige y corrige, no sostiene.
duroHardfalso amigo — Traduce el nombre de un valor de tipo como si fuera adjetivo; «fallar en duro» no deja nada que un lector pueda buscar. gateable=false: «d…
blandoSoftfalso amigo — Mismo defecto que «duro», y además sugiere una severidad intermedia que no existe.
confirmarhacer un commitfalso amigo — git ENVÍA este locale español y dice «confirmar» — y casi nadie lo usa, porque corta al lector de todo mensaje de error y de toda la do…
enviarhacer un pushfalso amigo — «enviar» pierde que el destino es el remoto declarado, no un destinatario cualquiera. NO gateable: la web está llena de «Enviar Mensaje»…
petición de tirónPull Requestfalso amigo — Literal y sin referente: nadie lo reconocería en la forja.
enganchehookdesplaza — «enganche» no nombra nada en la herramienta; el lector no puede volver de la palabra al fichero.
libreríabibliotecafalso amigo — Una librería es una TIENDA. El cognado derivó, y el desplazamiento es invisible precisamente porque la palabra sigue pareciéndose a su ori…
corridaejecuciónregional — Válido en varias variantes americanas; en España evoca la tauromaquia y rompe la frase. Es una elección de REGISTRO, no una corrección �…
corridasejecucionesregional —

Speech is another matter

None of the above applies to a conversation. A calque spoken communicates perfectly and is jargon on the page. The policy says exactly that: denied in writing, permitted in the mouth. A rule that pretended otherwise would be lying about how its own authors speak, and nobody obeys a rule that lies to them.

A false friend, by contrast, misleads a listener exactly as much as a reader. That one is always flagged.

The same goes for pronunciation. Saying «ráuter» inside a Spanish sentence is not ignorance: it is phonological accommodation, and every borrowing language does it.

This is not a legal notice

The page next door is the privacy policy, and it exists because the law compels it. This one does not. This is a STYLE CONTRACT: the right analogy is the licence or the code of conduct — normative, published, versioned, referenced.

With one difference from either: this one is EXECUTED.

The tables you just read are not hand-written. They are generated from the same declared file that checks every Spanish text on this site before it ships, and that fails the build if it finds a word that should not be there — or if this page stops matching the rule it claims to explain.

That a project's language policy is itself a declared, versioned and verified artifact is not bureaucracy. It is the project's thesis applied to itself.


This page is a projection of the project's lexical policy. If it contradicts what you read elsewhere on the site, that is a bug and we want to know. ontoref@jesusperez.pro

We use cookies to help this site function, understand service usage, and support marketing efforts. Cookie Policy for more info.