cis-style · hub

Interfaces de computador

Esta sección fija cómo se escribe sobre lo que el lector ve en una pantalla o escribe en una terminal. Cubre comentarios de referencia de API, código dentro de una oración, muestras de código, comandos con sus argumentos, marcadores de posición y elementos de interfaz. Aplica a todo documento técnico del grupo: el manual de operación de vps-cis, los README de cis-admin y cochid-datos, los runbooks, la ayuda en pantalla y los procedimientos del archivo societario.

Seis temas, en este orden:

Tres reglas de la casa atraviesan los seis temas y ganan sobre la fuente original: cero raya (P05: usa «·», paréntesis o punto y oración nueva), nunca voseo (P06) y títulos en minúscula de oración (P37). Donde el original usa Title Case, comillas inglesas o la raya para introducir un ejemplo, aquí verás la forma española.

Comentarios en referencia de API

Cuando documentas una API, entrega una referencia completa. Por lo general se genera desde el código fuente con comentarios de documentación (docstrings en Python, JSDoc o TSDoc en TypeScript) que describen todas las clases, métodos, constantes y demás miembros públicos.

Usa estas pautas según tenga sentido para el lenguaje. Esta sección no fija cómo se marca cada comentario: eso lo decide la herramienta que genera la referencia (Sphinx, pdoc, TypeDoc). El idioma del docstring sigue la convención del repo y no se mezcla dentro de un mismo módulo; la mayoría de los repos del grupo documentan en español.

Fuentes complementarias: AIP-192: Documentation (estándares de API de Google), Inline API documentation (guía de diseño de API de Google Cloud) y la guía de estilo de cada lenguaje.

Lo básico

La referencia de API debe traer una descripción para cada uno de estos elementos:

Lo que sigue son sugerencias muy fuertes. En algunos casos no calzan con una API o un lenguaje en particular, pero en general se cumplen:

Recomendado Devuelve los objetos Asiento del período indicado.
No recomendado Devuelve los Asientos del período indicado.

Clases, interfaces y estructuras

En la primera oración de la descripción de una clase, di en breve su propósito o función con información que no se deduzca del nombre ni de la firma. En el resto de la documentación, explica cómo se usa la API: cómo se invoca o instancia, cuáles son sus funciones clave y qué buenas prácticas o trampas tiene.

Muchas herramientas extraen la primera oración de cada clase para armar la lista de todas las clases. Por eso la primera oración tiene que ser única, descriptiva y corta. Y también:

El siguiente ejemplo es la primera oración de la descripción de la clase Conciliador de cis-admin:

Recomendado Cruza los movimientos de la cartola bancaria con los asientos en borrador y propone los calces que faltan aprobar.
No recomendado Esta clase Conciliador se encargará de realizar la conciliación bancaria. (repite el nombre, habla en futuro y nominaliza: P03)

Miembros

Haz las descripciones de los miembros (constantes y campos) lo más breves que puedas. Enlaza los métodos que usan esa constante o ese campo.

Por ejemplo, la descripción de la constante ESTADO_APROBADO de la clase Asiento:

Recomendado Estado de un asiento que ya entró a los estados financieros y no admite edición directa.
Ver también: aprobar(asiento_id), anular(asiento_id, glosa).
No recomendado Esta constante representa el estado aprobado. Un asiento aprobado es aquel que ha sido aprobado por un usuario con permisos de aprobación y que por lo tanto se considera parte de los estados financieros de la compañía.

Métodos

En la primera oración de la descripción de un método, di en breve qué acción ejecuta. En las oraciones siguientes, explica por qué y cómo usarlo, qué condiciones previas se cumplen antes de llamarlo, qué excepciones puede lanzar y qué APIs relacionadas existen.

Documenta toda dependencia necesaria para llamar al método (por ejemplo, pertenecer a un grupo de Authentik) y cómo se comporta si falta esa dependencia (por ejemplo, «el método lanza PermisoDenegado» o «el método devuelve None»).

Por ejemplo, la descripción del método Movimiento.esta_conciliado:

Recomendado Comprueba si el movimiento ya tiene un asiento aprobado asociado. Se usa en proponer_calces para saltar los movimientos que no requieren acción y evitar calces duplicados.
No recomendado Este método retornará true o false dependiendo de si el movimiento fue conciliado o no.

Usa el presente en todas las descripciones (ver Presente y Verbos en documentos de referencia):

Recomendado Agrega un asiento al libro diario.
Devuelve un asiento.
No recomendado Agregará un asiento al libro diario.
Este método se encarga de devolver un asiento.

Descripción

Parámetros

Para describir parámetros, sigue estas pautas:

Recomendado limite: El número máximo de asientos que devuelve la consulta, entre 1 y 500. Por defecto: 100.
No recomendado limite: límite (default 100)

Valores de retorno

Sé lo más breve que puedas en la descripción del valor de retorno; el detalle va en la descripción de la clase.

Excepciones

En lenguajes donde el generador de referencia inserta solo la palabra «Lanza» (o Raises, Throws), empieza la descripción con «Si…»:

En los demás casos, empieza con «Se lanza cuando…»:

Obsolescencia

Cuando algo queda obsoleto, dile al lector qué usar en su reemplazo. Si versionas la API, menciona en qué versión quedó obsoleto. El término de la casa es obsoleto; no uses el calco «deprecado» (ver Anglicismos y su forma en español).

Solo la primera oración de una descripción aparece en el resumen y en el índice, así que pon ahí la información más importante. Las oraciones siguientes pueden explicar por qué quedó obsoleto y cualquier otro dato útil para quien usa la API.

Si un método queda obsoleto, dile al lector qué hacer para que su código siga funcionando.

Recomendado Obsoleto. Usa PoseCamara en su lugar.
Obsoleto desde la versión 2.4. Accede a este campo con el método obtener_campo.
No recomendado Deprecated. Este método ya no debería usarse porque fue reemplazado en una refactorización reciente del módulo.

Código en el texto

En oraciones de texto corriente (a diferencia de las muestras de código), usa tipografía de código para marcar casi todo lo que tenga que ver con código. La tipografía de código le aclara al lector qué parte del texto nombra una entidad, de tres maneras:

Para marcar texto como código:

Para elegir entre HTML y Markdown, ver Markdown contra HTML.

Esta sección explica cómo formatear código dentro de oraciones corrientes. Los casos vecinos están en Formato de marcadores de posición, Sintaxis de línea de comandos, Muestras de código y Títulos y encabezados.

Algunos elementos que van en tipografía de código

La tabla siguiente lista elementos que van en tipografía de código. No es exhaustiva.

ElementoRecomendado
Nombres y valores de atributosEl atributo data-theme-toggle marca el botón que cambia entre tema claro y oscuro.
Puedes crear la unidad con el tipo oneshot y el valor RemainAfterExit=yes.
Nombres de claseLa clase Conciliador incluye el método proponer_calces.
Salida de comandosLa salida es similar a la siguiente:
cis-build: lock OK · avail=7449MB swap=5187MB
...
cis-build: terminó (rc=0)
Nombres de utilidades de línea de comandos, como vault, cis-build, cis-note y prosa-lintPuedes usar la herramienta vault para leer un secreto del core-server.
Tipos de datosEl monto se guarda como NUMERIC(14,0), sin decimales.
Elementos de base de datos (nombres de filas, columnas, esquemas, tablas)La consulta extrae los valores fecha, glosa y monto de la tabla asientos del esquema gold.
Valores definidos (constantes) de un elemento o atributoLa constante CIUDAD tiene el valor "Santiago".
Tipos de registro DNSCrea un registro DNS A en la zona de Cloudflare que apunte a la IP de vps-cis.
Nombres de elementos (HTML y XML)Los elementos HTML script y cis-navbar van dentro del elemento body de la página.
Un DTE contiene un encabezado y un detalle dentro del elemento XML Documento.
Cuando nombras un elemento, no le pongas los signos menor y mayor (<>) alrededor.
Nombres de enumeradoresGenerado a partir del enumerador APROBADO = 2; del protobuf.
Nombres de variables de entornoDefine la variable de entorno RESEND_API_KEY_CIS con la clave del dominio verificado.
Nombres de archivo, extensiones (si se usan) y rutasAbre el archivo pg_hba.conf, que suele estar en el directorio /etc/postgresql/16/main.
Carpetas y directoriosLa configuración de cada sitio está en un archivo .caddy dentro de la carpeta /etc/caddy/sites.d.
Valores de content-type HTTPEl encabezado Content-Type es obligatorio y tiene que ser application/json.
Códigos de estado HTTPEl código de estado HTTP 500 Internal Server Error indica que el servidor encontró una condición inesperada que le impidió atender la solicitud.
Verbos HTTPPara subir el PDF directo desde un archivo local, puedes usar una solicitud POST.
Nombres de roles y grupos de AuthentikAgrega la cuenta de servicio al grupo superadmins de la aplicación cis-admin.
Direcciones IPLos demás nodos tienen que contactar a este host en la dirección IP 192.0.2.10.
Palabras clave del lenguajeLa sentencia SQL lleva el nombre de la tabla después de la palabra clave FROM, con la forma ESQUEMA.TABLA.
Nombres de métodos y funcionesLa función ST_VoronoiPolygons recibe la tolerancia como segundo argumento.
Para consultar el estado del trabajo, llama al método obtener_estado.
Esquemas y espacios de nombresAplica la migración solo al esquema silver.
Marcadores de posiciónReemplaza NOMBRE_UNIDAD por el nombre de la unidad systemd que quieres revisar.
Nombres de paquetesLa librería de autenticación compartida se distribuye como el paquete core-auth-lib.
Números de puertoEl backend de cis-admin escucha en el puerto TCP 8244.
Nombres y valores de parámetros de consultaSi quieres incluir los asientos en borrador, agrega el parámetro de consulta incluir_borradores=true a la solicitud.
Cadenas (como URL o nombres de dominio) usadas en comandos y códigoUna regla de Caddy puede limitar una ruta a un host concreto, por ejemplo https://admin.innovacionsantiago.cl.
El campo emisor incluye el dominio auth.innovacionsantiago.cl.
Texto que el lector escribeEn el campo Glosa, escribe Capitalización préstamo socio.
Elementos de UI que se muestran a partir de texto escrito antes (como el nombre de un servidor o de una instancia)En la lista Servicio, selecciona cis-admin.
Haz clic en vps-cis.

Si un elemento con formato de código aparece en la interfaz, agrégale negrita. Ver Código en elementos de UI.

En general, no pongas comillas alrededor del código salvo que las comillas sean parte del código. Y al revés: nunca uses comillas para marcar código; las comillas no reemplazan la tipografía de código.

Recomendado Edita el archivo config.py.
No recomendado Edita el archivo «config.py».

Elementos que van en tipografía normal

La tabla siguiente lista elementos que no van en tipografía de código. Tampoco es exhaustiva. Si te refieres a alguno de ellos como entrada o salida del computador, o como una entidad de código (un atributo, un valor), entonces sí va en código.

ElementoRecomendado
Nombres de dominioEl entorno de pruebas solo atiende los sitios estándar de innovacionsantiago.cl.
Nombres de productos, servicios y organizacionesCompañía de Innovación de Santiago opera cis-admin, cis-mailer y el atlas de cochid.cl.
URL que el lector debe abrir en un navegadorPuedes pedir ayuda en https://soporte.innovacionsantiago.cl.

Casi siempre conviene formatear la URL como enlace con texto descriptivo en vez de exponer la URL. Ver Referencias cruzadas y enlaces.

Fíjate en la diferencia entre el producto y su unidad técnica. cis-admin (el producto) va en tipografía normal. cis-admin.service (la unidad systemd) y cis-admin (el nombre tal como aparece en un comando o en una lista de la interfaz) van en código.

Código en elementos de UI

Si un elemento de UI cumple los requisitos para ir en tipografía de código, usa código y negrita a la vez.

Recomendado En la lista Red, selecciona red-interna-2.
En el panel Resultados, aparece la columna monto.
No recomendado En la lista Red, selecciona «red-interna-2».
En el panel Resultados, aparece la columna Monto.

Elementos que a veces van en código

La lista siguiente incluye elementos que a veces van en tipografía de código. No es exhaustiva.

Nombres de métodos

Cuando nombras un método en el texto, omite el nombre de la clase salvo que incluirlo evite una ambigüedad.

Recomendado Para recuperar los metadatos del asiento, llama a su método obtener.
No recomendado Para recuperar los metadatos del asiento, llama a su método asiento.obtener.

Códigos de estado HTTP

Para referirte a un solo código de estado, usa este formato y esta redacción:

un código de estado HTTP 400 Bad Request

En particular, llámalo código de estado, no código de respuesta ni código de error, y pon el número y el nombre en tipografía de código. El nombre del código no se traduce: es el texto que viaja en la respuesta. Si «HTTP» se entiende por el contexto, puedes omitirlo.

Para referirte a un rango de códigos, usa esta forma:

un código de estado HTTP 2xx o 400

Es decir, usa Nxx (con un dígito concreto en lugar de N) para decir cualquiera en el rango N00 a N99, y pon el número en tipografía de código aunque omitas el nombre.

Si prefieres indicar el rango exacto, puedes hacerlo:

un código de estado HTTP en el rango 200 a 299

Aquí también los números van en tipografía de código. Fíjate en que el rango se escribe con «a», no con guion ni raya (P05).

Recomendado La sonda devuelve un código de estado 503 Service Unavailable mientras la base no responde.
No recomendado La sonda devuelve un código de error 503 (servicio no disponible) mientras la base no responde.

Tratamiento gramatical de los elementos de código

En general, no uses elementos de código (palabras clave, nombres de archivo) como si fueran verbos o sustantivos del español. No flexiones el nombre de un elemento de código: ni plural, ni género, ni terminación verbal. En su lugar, pon un sustantivo que diga qué es el elemento (la constante, el archivo, el método, la solicitud) y flexiona ese sustantivo.

Recomendado El valor de la constante DIRECCION se define en el archivo settings.h.
No recomendado DIRECCION se define en settings.h.
Recomendado Para agregar los datos, envía una solicitud POST.
No recomendado POSTea los datos.
Recomendado Para recuperar los datos, envía una solicitud GET.
No recomendado Recupera la información GETeando los datos.
Recomendado No puedes cerrar el archivo antes de abrirlo.
No puedes llamar al método close de un archivo antes de llamar a open.
No recomendado Closear el archivo exige haberlo openado antes.
Recomendado Recibe un arreglo de puntos de código ASCII extendido (un arreglo de valores INT64) y devuelve valores BYTES.
Para argumentos STRING, devuelve la cadena original con todas las letras en mayúscula.
No recomendado Recibe un arreglo de puntos de código ASCII extendido (ARRAY de INT64) y devuelve BYTES.
Recomendado La migración crea dos tablas movimiento nuevas, una por banco.
No recomendado La migración crea dos movimientos nuevas, una por banco.

Enlazar términos de API en la referencia generada

Cuando escribes comentarios de código que se convierten en referencia generada, enlaza la primera aparición de cada elemento de la API (clases, métodos, constantes, atributos) a su página de referencia. Usa tipografía de código y un elemento a corriente. En las apariciones siguientes dentro de la misma sección, mantén la tipografía de código pero no repitas el enlace.

Las clases muy comunes de un dominio no necesitan enlace cada vez. Si usas un término como concepto y no como clase, no lo pongas en tipografía de código ni con mayúscula inicial. Ejemplos de términos que en los repos del grupo se leen como concepto:

Si usas uno de estos términos para referirte a una instancia concreta, usa el nombre formal de la clase y enlaza su página de referencia.

Recomendado La clase Asiento es la unidad de registro del libro diario.
Cada movimiento de la cartola se representa como un objeto derivado de la clase Movimiento.
No recomendado Cada Movimiento de la cartola genera un Asiento en borrador. (son conceptos aquí, no instancias)

Para enlazar una clase o un método:

Muestras de código

Esta sección explica cómo formatear muestras de código. El código dentro de una oración, la sintaxis de comandos y los marcadores de posición tienen sus propias secciones: Código en el texto, Sintaxis de línea de comandos y Formato de marcadores de posición.

Pautas básicas

Sigue estas pautas al formatear muestras de código:

Recomendado
<pre>
function saludar() {
  alert('Hola. Esta oración es tan larga que se corta y sigue en una
    segunda línea.');
}
</pre>
Se renderiza así:
function saludar() {
  alert('Hola. Esta oración es tan larga que se corta y sigue en una
    segunda línea.');
}
No recomendado
function saludar() {
    alert('Hola. Esta oración es tan larga que se corta y sigue en una segunda línea, y nadie la va a leer completa en una ventana angosta.');
}
(sangría de 4 en JavaScript y línea de más de 80 caracteres)
Recomendado
[Unit]
Description=cis-admin backend
# Se omiten varias líneas.
[Service]
ExecStart=/srv/projects/releases/SHA/.venv/bin/uvicorn app.main:app --port 8244
Restart=always
No recomendado
[Unit]
Description=cis-admin backend
...
[Service]
ExecStart=/srv/projects/releases/SHA/.venv/bin/uvicorn app.main:app --port 8244
Restart=always
(los tres puntos no son sintaxis de systemd; el lector no sabe si son parte del archivo)

Frases de entrada

En casi todos los casos, antecede la muestra de código con una oración o un párrafo de entrada. La entrada puede terminar en dos puntos o en punto. Por lo general van dos puntos si la muestra viene justo después. Va punto si hay más material entre medio (como una nota) o si el párrafo de entrada termina con una oración que no se relaciona directo con la muestra. Ver Dos puntos.

Recomendado (termina en punto) La siguiente muestra enseña cómo usar el método obtener. Para los demás métodos, ver [enlace]. [muestra]

También recomendado La siguiente muestra enseña cómo usar el método obtener: [muestra] Para los demás métodos, ver [enlace].
No recomendado (termina en dos puntos) La siguiente muestra enseña cómo usar el método obtener. Para los demás métodos, ver [enlace]: [muestra]

Para ver cómo se introducen comandos, ver Sintaxis de línea de comandos.

Guías de estilo de código

Guías públicas que se usan como referencia en los repos del grupo:

Algunos proyectos de código abierto tienen su propia guía y esa manda cuando contribuyes ahí. Por ejemplo, el código Java del Android Open Source Project sigue la guía AOSP Java Code Style for Contributors.

Sintaxis de línea de comandos

Esta sección muestra cómo documentar comandos de línea de comandos y sus argumentos. Los temas vecinos: Código en el texto, Formato de marcadores de posición y Muestras de código.

Buenas prácticas

Cuando escribes documentación procedimental o conceptual sobre un comando, aplica estas prácticas:

Formato de un comando

Para marcar un bloque de código como un comando largo o una muestra, usa este formato:

Para formatear un comando con varios elementos:

Cuando documentas un comando de bash o sh, sigue la convención de comillas de la guía de shell de Google.

Recomendado
pg_dump -Fc --no-owner \
    --host=127.0.0.1 \
    --port=5432 \
    --username=cochid \
    --file=/srv/backups/cochid-datos/FECHA.dump \
    cochid_datos
No recomendado
pg_dump -Fc --no-owner --host=127.0.0.1 --port=5432 --username=cochid --file=/srv/backups/cochid-datos/FECHA.dump cochid_datos
(una sola línea de 120 caracteres; en pantalla angosta se pierde el final)

Prompt de la terminal

Si tus instrucciones muestran varias líneas de entrada en un mismo bloque, empieza cada línea de entrada con el símbolo del prompt. Si no quieres que el lector copie el símbolo junto con el comando, puedes desactivar la selección de texto para ese símbolo, por ejemplo con CSS.

No muestres la ruta del directorio actual antes del prompt, ni siquiera si la instrucción incluye cambiar de directorio. Pero si cambia el contexto general de la interfaz (por ejemplo, de la máquina local a una remota), agrega un indicador de prompt distinto para el contexto nuevo.

Recomendado Escribe el siguiente comando en la terminal:
$ systemctl --user list-units --type=service
La salida es la siguiente:
UNIT                    LOAD   ACTIVE SUB     DESCRIPTION
cis-inbox.service       loaded active running cis-inbox
cis-mailer.service      loaded active running cis-mailer
No recomendado
illanes00@vps-cis:/srv/projects/cis$ systemctl --user list-units --type=service
UNIT                    LOAD   ACTIVE SUB     DESCRIPTION
cis-inbox.service       loaded active running cis-inbox
(ruta en el prompt; entrada y salida mezcladas en un bloque)
Recomendado
$ ssh vps-dev
vps-dev$ systemctl status core-claude
vps-dev$ exit
$ cis-note "core-claude activo en vps-dev"
No recomendado
$ ssh vps-dev
$ systemctl status core-claude
$ exit
$ cis-note "core-claude activo en vps-dev"
(no se ve en qué máquina corre cada línea)

Cuando muestras un comando de una sola línea, el prompt (el símbolo $) es opcional. Pero si el documento mezcla comandos de una línea y de varias, usa el prompt en todos para mantener la consistencia.

Si las instrucciones combinan líneas de entrada y de salida, usa bloques separados para la entrada y para la salida.

Recomendado
$ cat ~/.ssh/id_ed25519.pub
La salida es similar a la siguiente:
ssh-ed25519 VALOR_DE_LA_CLAVE USUARIO
No recomendado
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK... sopapo@mac

Argumentos opcionales

Usa corchetes alrededor de un argumento para indicar que es opcional. Si hay más de un argumento opcional, encierra cada uno en su propio par de corchetes.

Evita los argumentos opcionales en los ejemplos para copiar con un clic. Ver Argumentos opcionales en comandos para copiar.

En el siguiente ejemplo, PROYECTO y CLAVE son obligatorios, y el guion final (leer el valor desde la entrada estándar) es opcional:

vault set PROYECTO CLAVE [-]

Argumentos mutuamente excluyentes

Usa llaves para indicar que el lector tiene que elegir una (y solo una) de las opciones que van dentro. Puede haber más de dos opciones excluyentes. Para separar cada opción, usa una barra vertical (|).

Evita los argumentos mutuamente excluyentes en los ejemplos para copiar con un clic.

En el siguiente ejemplo, elige TEXTO o -:

cis-note {TEXTO|-}

En el siguiente ejemplo también hay dos opciones:

vault {set-file PROYECTO CLAVE RUTA | set PROYECTO CLAVE [-]}

Argumentos que se pueden repetir

Usa tres puntos sin espacios (...) para indicar que el lector puede especificar varios valores para el argumento.

Evita los tres puntos en los ejemplos para copiar con un clic.

En este ejemplo, el lector puede pasar varias instancias del parámetro opcional ARGUMENTO:

cis-build COMANDO [ARGUMENTO ...]

Argumentos opcionales en comandos para copiar

Los argumentos opcionales, los mutuamente excluyentes y los repetibles contienen caracteres (corchetes, llaves, barras verticales, tres puntos) que rompen el comando si el lector no los quita. Evita esos tipos de argumento en los comandos para copiar con un clic. En su lugar, elige una de estas cuatro salidas:

Salida de comandos

No tienes que mostrar la salida de cada comando. Agrégala solo si aporta: por ejemplo, si el lector necesita copiar un valor de la salida o verificar un valor en ella.

Si muestras la salida, usa una de estas frases de entrada para separar el comando de la salida:

Recomendado La salida es similar a la siguiente:
La salida es la siguiente:
No recomendado Deberías ver algo así:
Output:

Si quieres destacar algo de la salida, puedes personalizar la frase de entrada.

Recomendado La salida es similar a la siguiente, donde la columna ACTIVE muestra el estado de cada unidad:
No recomendado La salida es similar a la siguiente — fíjate en la columna ACTIVE:

Para indicar que se omiten una o más líneas de la salida de ejemplo, usa tres puntos sin espacios (...) en una línea aparte. No uses el carácter de puntos suspensivos (). Por ejemplo:

cis-build: lock OK · avail=7449MB swap=5187MB · dir=/srv/projects/cis/cis-www
vite v5.4.2 building for production...
...
cis-build: terminó (rc=0)

Más sobre cómo presentar la salida:

Terminología de línea de comandos

Cuando hablas de comandos y sus partes, tanto en las herramientas del grupo (vault, cis-build, cis-note, prosa-lint) como en comandos de Linux, sigue estas pautas:

En la prosa del grupo, el término genérico para cualquier elemento que no sea el comando es opción; argumento es el valor que recibe un comando o una opción (por ejemplo, un nombre de proyecto). Flag queda solo para citar la documentación de una herramienta que lo use así (ver Anglicismos y su forma en español).

Comandos del grupo

vault {projects | list PROYECTO | get PROYECTO CLAVE | set PROYECTO CLAVE [-] |
    set-file PROYECTO CLAVE RUTA | delete PROYECTO CLAVE}

La sintaxis de vault distingue entre el comando (vault) y el subcomando (get, set). En la documentación, sin embargo, «el comando vault get» es una forma aceptada de nombrar el conjunto.

Puedes usar un comando o subcomando solo o con una o más opciones. Un comando o una opción también puede recibir un argumento, por ejemplo el nombre de un proyecto.

Ejemplo de comando

vault projects

Ejemplo de comando con argumento

vault list cis-mailer

Ejemplo de comando con varios elementos

systemd-run --user --scope \
    --property=MemoryMax=2G \
    --unit=etl-dipres-$(date +%s) \
    -- \
    python -m datos.etl dipres \
    --desde=2024 \
    --hasta=2025 \
    --solo-catalogo

El comando anterior consta de estos elementos:

Comandos de Linux

Precaución: la sintaxis de los comandos de Linux es compleja. Esta sección cubre solo los elementos más comunes. Para una referencia detallada, ver The Linux Command Line.

Donde las herramientas del grupo usan los términos comodín opción y argumento, los comandos de Linux usan opciones, parámetros, argumentos y una serie de elementos de sintaxis especializados. Un ejemplo:

find /srv/projects/cis -follow -type f -name '*.caddy' | xargs grep -iHn reverse_proxy

El comando anterior consta de estos elementos:

Los resultados del primer comando se redirigen con una tubería (|) al comando xargs grep -iHn reverse_proxy. Otros símbolos de redirección son el signo mayor (>), el signo menor (<), el doble menor (<<) y el doble mayor (>>). Redirigir significa capturar la salida de un archivo, comando, programa, script o incluso de un bloque dentro de un script, y enviarla como entrada a otro archivo, comando, programa o script.

Señales de Linux

Las señales de Linux exigen un vocabulario que en el resto de la documentación se evita. Usa los términos de la tabla siguiente solo en el contexto del control de procesos. Los nombres de las señales no se traducen; los verbos sí, y cada señal tiene el suyo.

SeñalDescripción
SIGKILLSeñal enviada para matar un proceso, todos los miembros de un grupo de procesos o todos los procesos del sistema. SIGKILL no se puede capturar, bloquear ni ignorar. No la sustituyas por cancelar, finalizar, salir, detener ni terminar.
SIGTERMSeñal enviada como solicitud de terminar un proceso. Se parece a SIGKILL, pero le da al proceso la oportunidad de limpiar los procesos hijos que tenga corriendo. No la sustituyas por cancelar, finalizar, salir ni detener.
SIGQUITSeñal enviada desde el teclado para salir de un proceso. Algunos procesos pueden capturar, bloquear o ignorar esta señal. No la sustituyas por cancelar, finalizar ni detener.
SIGINTSeñal enviada para interrumpir un proceso de inmediato. La acción por defecto es terminar el proceso de forma ordenada. Se puede manejar, ignorar o capturar. Se puede enviar desde una terminal, por ejemplo cuando el usuario presiona Control+C. No la sustituyas por suspender, finalizar, salir, pausar ni terminar.
SIGPAUSESeñal que le indica a un proceso que se pause, o duerma, hasta que llegue una señal que lo termine o que invoque una función de captura de señales. No la sustituyas por cancelar ni interrumpir.
SIGSUSPENDSeñal enviada para suspender de forma temporal la ejecución de un proceso. Se usa para impedir la entrega de una señal durante la ejecución de una sección crítica de código. No la sustituyas por pausar ni salir.
SIGSTOPSeñal enviada para detener la ejecución de un proceso y continuarla después (al recibir una señal SIGCONT). SIGSTOP no se puede capturar, bloquear ni ignorar. No la sustituyas por cancelar, finalizar, salir, interrumpir ni terminar.
Recomendado Si el proceso no responde a SIGTERM en 30 segundos, systemd lo mata con SIGKILL.
No recomendado Si el proceso no responde a SIGTERM en 30 segundos, systemd lo cierra con SIGKILL.

Formato de marcadores de posición

Esta sección explica cómo formatear marcadores de posición en comandos, muestras de código y cadenas de texto. No explica cómo implementar el estilo visual; sí muestra ejemplos de cómo esta guía los renderiza distintos del resto del texto. Los temas vecinos: Código en el texto, Sintaxis de línea de comandos y Muestras de código.

Los marcadores de posición en código y comandos de ejemplo representan valores que el lector tiene que reemplazar cuando usa la muestra. En la salida de ejemplo, representan valores que varían. En general, un marcador lleva un nombre descriptivo como valor por defecto.

Por ejemplo, el marcador ID_PROYECTO representa el id de un proyecto en código, comandos y salida de ejemplo.

En una salida de ejemplo, el marcador CODIGO_RESPUESTA_HTTP representa un código de respuesta HTTP; no se espera que el lector lo fije en un valor concreto.

Marcadores de posición

Cuando creas marcadores, sigue esta pauta general sobre la letra x:

Recomendado vault get PROYECTO CLAVE
un código de estado 5xx
No recomendado vault get xxx yyy

Hay varias maneras de formatear marcadores según trabajes en HTML o Markdown, y según el marcador vaya dentro de una oración, en un bloque de código o en un párrafo. Los detalles, en las secciones siguientes.

Marcadores en texto corrido

Si los marcadores de tu muestra o comando aparecen dentro de una oración, usa este formato:

Si el marcador no representa código ni un comando, usa este formato:

Marcadores en bloques de código

Si los marcadores están en un bloque de código, usa este formato:

Texto del marcador

Usa mayúsculas con guion bajo como separador. El marcador es un identificador que vive dentro de código y de shells, así que va en ASCII: sin tildes y sin eñe. Escríbelo en español y, si una palabra lleva eñe, busca otra (EJERCICIO en vez de AÑO).

Recomendado
  • .../NOMBRE_API
  • .../NOMBRE_METODO
En Markdown:
  • .../*NOMBRE_API*
  • .../*NOMBRE_METODO*
No recomendado
  • .../NOMBRE-API
  • .../NOMBRE_api
  • .../NOMBRE API
  • .../nombre_api
  • .../nombre-api
  • .../nombreApi
  • .../NOMBRE_MÉTODO

Si el contexto hace que las mayúsculas con guion bajo sean una mala idea (por ejemplo, un lenguaje donde eso colisiona con constantes reales), usa otra convención que tenga sentido, pero sé consistente dentro del documento.

No incluyas adjetivos posesivos en los marcadores.

Recomendado
  • .../NOMBRE_API
  • vault get PROYECTO CLAVE
No recomendado
  • .../MI_NOMBRE_API
  • .../TU_NOMBRE_API
  • vault get TU_PROYECTO TU_CLAVE

Nota: puedes marcar la sintaxis de un comando con corchetes, llaves y tres puntos. No pongas esos corchetes, llaves ni puntos dentro del elemento var.

Explicar los marcadores de posición

Cuando usas un marcador en texto o en código, explícalo la primera vez que aparece. No hace falta repetir la explicación en el resto del documento, salvo que le sirva al lector, por ejemplo en estas circunstancias:

El siguiente es un ejemplo de comando que usa un marcador, con la explicación del marcador:

<pre>
journalctl -u <var>UNIDAD</var> -n 100 --no-pager
</pre>
<p>Reemplaza <code><var>UNIDAD</var></code> por el nombre de la unidad systemd
que quieres revisar.</p>

Un solo marcador

Para un solo marcador, usa esta fórmula:

Recomendado
  1. Sigue el registro de la unidad en vivo:
    journalctl -u UNIDAD -f
    Reemplaza UNIDAD por el nombre de la unidad que anotaste en el paso anterior, por ejemplo cis-admin.
No recomendado
  1. Sigue el registro de la unidad en vivo:
    journalctl -u UNIDAD -f
    (sin explicación: el lector tiene que adivinar qué va en UNIDAD)

Dos o más marcadores

Para dos o más marcadores, usa esta fórmula:

Recomendado
  1. Guarda un secreto leyendo el valor desde un archivo:
    vault set-file \
        PROYECTO \
        CLAVE \
        RUTA
    Reemplaza lo siguiente:
    • PROYECTO: el proyecto dueño del secreto, como cis-mailer
    • CLAVE: el nombre de la clave, por ejemplo RESEND_API_KEY_CIS
    • RUTA: la ruta local del archivo con el valor
No recomendado
  1. Guarda un secreto leyendo el valor desde un archivo:
    vault set-file PROYECTO CLAVE RUTA
    Donde RUTA es la ruta, PROYECTO es el proyecto y la clave es la clave.
(orden distinto al del comando, sin formato de código, descripciones vacías)
Recomendado
  1. En la terminal de vps-cis, define las variables de entorno:
    export DATOS_PG_HOST=HOST_PG \
        DATOS_PG_PORT=PUERTO_PG
    Reemplaza lo siguiente:
    • HOST_PG: el host del pooler del lago de datos. Lo encuentras en la sección Conexiones del manual de operación.
    • PUERTO_PG: el puerto del pooler, por ejemplo 6432.
No recomendado
  1. Define las variables de entorno con el host y el puerto que correspondan:
    export DATOS_PG_HOST=... DATOS_PG_PORT=...

Marcadores de posición en la salida

Si entregas una salida de ejemplo, explica los marcadores que aparecen en ella:

Más sobre salida en Salida de comandos.

Recomendado

Respuesta

La salida es similar a la siguiente:
{
  "servicio": "cis-admin",
  "release": "SHA_RELEASE",
  "db": "ok",
  "ultimo_asiento": NUMERO_ASIENTO,
  "saldo_actualizado_en": "FECHA_HORA",
  "url": "https://admin.innovacionsantiago.cl/api/status?release=SHA_RELEASE"
}
Esta salida incluye los siguientes valores:
  • SHA_RELEASE: el hash corto del commit desplegado, por ejemplo a1b2c3d
  • NUMERO_ASIENTO: el número del último asiento aprobado
  • FECHA_HORA: la hora de la última lectura del saldo bancario, en formato ISO 8601 y zona America/Santiago
No recomendado
{
  "servicio": "cis-admin",
  "release": "xxxxxxx",
  "db": "ok",
  "ultimo_asiento": 604,
  "saldo_actualizado_en": "2026-08-20T09:15:00-04:00"
}
(mezcla una x genérica con valores reales que el lector cree que tiene que ver)

Elementos de UI e interacción

Céntrate en la tarea

Cuando sea práctico, escribe las instrucciones en términos de lo que el lector tiene que lograr, no de los controles y gestos. Al no nombrar los elementos de la interfaz, ayudas al lector a entender el propósito de la instrucción y el procedimiento resiste mejor los cambios de diseño.

Recomendado Actualiza la página.
Expande la sección Opciones avanzadas.
No recomendado Haz clic en el botón redondo con la flecha curva arriba a la derecha.
Haz clic en el triangulito al lado de Opciones avanzadas.

Pero conoce a tu audiencia y el contexto. En algunos casos, el objetivo del procedimiento es guiar al lector por los elementos de la página. O la interfaz no es obvia y conviene explicar los gestos para completar un paso. Entrega el nivel de detalle que le sirva a la audiencia prevista.

Recomendado Haz clic en Actualizar.
Para expandir la sección Opciones avanzadas, haz clic en la flecha de expansión .
No recomendado Actualiza. (cuando el lector no sabe cómo)

El resto de esta sección cubre los casos en que decidiste que conviene hablar de los elementos de la interfaz. Para escribir procedimientos, ver Procedimientos.

Formato de los nombres de elementos de UI

Cuando nombras cualquier elemento de la interfaz, pon su nombre en negrita con el elemento b en HTML o ** en Markdown. Esto incluye botones, menús, diálogos, ventanas, elementos de lista y cualquier otra cosa de la página que tenga un nombre visible. No uses tipografía de código para elementos de UI, salvo que el elemento cumpla los requisitos para ir en código. En ese caso, usa código y negrita a la vez.

Nota: se usa el elemento b porque en HTML moderno b connota texto al que quieres atraer la vista, mientras que el elemento strong indica importancia fuerte.

No pongas en negrita el nombre oficial de una función o de un producto, salvo cuando se refiere directo a un elemento de la página que usa ese nombre (como el título de una ventana o el texto de un botón).

Recomendado En la ventana Nuevo asiento, marca la casilla Guardar como borrador y luego haz clic en Siguiente.
No recomendado En la ventana Nuevo Asiento, selecciona «Guardar como borrador» y después haz clic en el botón «Siguiente».

Si documentas un elemento de UI fuera de un procedimiento, dale contexto al elemento.

Recomendado El servicio te deja revisar el estado de todos los trabajos en la sección Trabajos en curso de la consola de cis-mando.
No recomendado El servicio te deja revisar el estado de todos los trabajos en la sección Trabajos en curso.

Usa las mayúsculas que corresponden

En casi todos los casos, sigue las mayúsculas tal como aparecen en la página. Pero si las etiquetas son inconsistentes o están todas en mayúscula, usa minúscula de oración. En español no existe el Title Case (P37): si la interfaz dice Nuevo Asiento por un descuido del desarrollador, en la documentación va Nuevo asiento y se abre un ticket para corregir la interfaz.

PautaRecomendadoNo recomendado
Cuando una etiqueta está toda en mayúscula, usa minúscula de oración.Haz clic en Actualizar.Haz clic en ACTUALIZAR.
Cuando nombras varias etiquetas con mayúsculas inconsistentes, usa minúscula de oración en todas.Haz clic en Nuevo proyecto y luego en Nueva actividad.Haz clic en NUEVO PROYECTO y luego en Nueva Actividad.

Nombrar elementos de UI

No uses los elementos de UI como si fueran verbos o sustantivos del español.

Recomendado En el campo Nombre, escribe un nombre de cuenta.
No recomendado Nombra la cuenta.
Recomendado Para guardar la configuración, haz clic en Guardar.
No recomendado Guarda la configuración.
Recomendado En el campo ID de cuenta de servicio, escribe un nombre.
En ID de cuenta de servicio, escribe un nombre.
No recomendado Especifica un ID de cuenta de servicio.

Terminología y uso

Una interfaz puede contener muchos tipos de elementos. En general, céntrate en la función, no en el elemento. Si crees que le aclara algo al lector, usa el nombre del elemento. Por ejemplo, estas dos oraciones son válidas:

Recomendado Ve a Archivo > Herramientas.
En el menú Archivo, haz clic en Herramientas.
No recomendado Ve a Archivo, y ahí busca Herramientas en el desplegable.

No uses jerga para los elementos de UI, como hamburguesa o zippy. Ver Botones e iconos.

Recomendado Para expandir la sección Opciones avanzadas, haz clic en la flecha de expansión .
Expande Opciones avanzadas.
No recomendado Para expandir la sección Opciones avanzadas, haz clic en el zippy.

Las secciones siguientes definen los términos para nombrar elementos de UI. Para las preposiciones que van con cada uno, ver la tabla de Preposiciones.

Ventanas, páginas, diálogos, paneles y secciones

Casi siempre, una ventana es la ventana completa de la aplicación en un entorno de escritorio. Pero también puede referirse a elementos modulares de la aplicación que se abren y cierran. Por ejemplo, en un IDE hay varias ventanas disponibles en el menú Ver > Ventanas de herramientas.

Recomendado En la ventana Conciliación, haz clic en Editar.
No recomendado En la página Conciliación, haz clic en Editar. (cuando es una ventana de escritorio)

Página es el término preferido para una página web en general y para una subpágina de una consola en particular.

Recomendado En la consola de cis-admin, ve a la página Asientos.
No recomendado En la consola de cis-admin, ve a la ventana Asientos.

Un diálogo es una ventana más pequeña, por lo general separada de la ventana principal, que aparece delante de ella. La casa usa diálogo; no pop-up, ventana emergente ni modal en prosa (ver Términos de la casa).

Recomendado En el diálogo Bienvenida, haz clic en Aceptar.
No recomendado En la ventana emergente Bienvenida, haz clic en Aceptar.

Un panel es una región rectangular distinguible dentro de una ventana mayor del navegador o de la aplicación. Un panel suele estar acoplado a las regiones vecinas, mientras que una ventana está separada y se puede ocultar. No uses ventana, sección, área ni columna para referirte a un panel.

Recomendado En el panel Crear cuenta de servicio, haz clic en Nueva.
No recomendado En la sección Crear cuenta de servicio, haz clic en Nueva.

Una sección es un grupo con etiqueta de opciones y controles, por lo general dentro de una ventana o de un panel. No uses área ni columna para referirte a una sección.

Recomendado En el panel Crear métrica, haz lo siguiente:
  • En la sección Tipo de métrica, selecciona Contador.
  • En la sección Etiquetas, haz clic en Agregar etiqueta.
No recomendado En el área Crear métrica, en la columna Tipo de métrica, selecciona Contador.

Menús y barras de menús

En una aplicación de escritorio, la barra de menús aparece en la parte superior de la ventana o de la pantalla. Es un conjunto de menús (como Archivo o Editar), cada uno de los cuales es un conjunto de comandos relacionados o de submenús anidados.

Para referirte a un elemento de un menú, usa el término comando, no opción, elemento de menú ni alternativa. Excepción: si documentas cómo construir una interfaz, puedes usar elemento de menú.

Para referirte a un menú, usa la forma el menú NOMBRE.

Para decirle al lector dónde encontrar un comando dentro de un menú o submenú, usa una frase como En el menú Archivo, selecciona Abrir.

No uses desplegable como sinónimo de menú.

Recomendado En el menú Período, selecciona Cerrar mes.
No recomendado En el desplegable Período, elige la opción Cerrar mes.
Usar el signo mayor

Otra opción es usar el signo mayor (>) para encadenar menús. Si lo usas, sigue estas pautas:

En el siguiente ejemplo, el texto se renderiza como Selecciona Ver > Herramientas > Herramientas para desarrolladores. Un lector de pantalla lo interpreta como Selecciona Ver y luego Herramientas y luego Herramientas para desarrolladores.

HTML

Selecciona <b>Ver&nbsp;<span aria-label="y luego">></span> Herramientas&nbsp;<span aria-label="y luego">></span> Herramientas para desarrolladores</b>.

Markdown

Selecciona **Ver&nbsp;<span aria-label="y luego">></span> Herramientas&nbsp;<span aria-label="y luego">></span> Herramientas para desarrolladores**.

Esta notación sirve para abreviar una frase larga como En el menú Archivo, selecciona Abrir. Pero aplica solo a elementos de menú. No la uses para describir una combinación de elementos de UI distintos.

Recomendado Selecciona cis-admin > Preferencias y luego selecciona el panel de preferencias Idiomas.
No recomendado Selecciona cis-admin > Preferencias > Idiomas > + > CSS.

Menú de navegación

Un menú de navegación es un control (por lo general un panel o una ventana) que contiene una lista de elementos en los que el usuario hace clic para ir a páginas de una aplicación o sitio. No uses barra de navegación, panel de navegación ni ventana de navegación para ese control.

Recomendado En el menú de navegación de cochid-datos, haz clic en Consultas programadas.
No recomendado En la barra de navegación de cochid-datos, haz clic en Consultas programadas.

Barra de herramientas

Una barra de herramientas es un conjunto de botones para acciones frecuentes. Un botón de la barra que incluye un menú se llama botón de menú. Nombra la barra si crees que el usuario necesita ayuda para encontrar un botón.

Recomendado En la barra de herramientas de cis-admin, haz clic en Buscar.
Haz clic en Buscar.
No recomendado Arriba a la derecha, haz clic en la lupita.

Botones e iconos

Un botón inicia una acción cuando se hace clic en él (o se toca, en una pantalla táctil). Para referirte a un botón, usa su etiqueta.

Recomendado Haz clic en Aceptar.
No recomendado Haz clic en el botón «Aceptar».

Un icono es un símbolo o imagen que representa un objeto o una función. Un icono también puede ser un botón. Si el botón incluye un icono, escribe el nombre del botón tal como aparece en la descripción emergente (tooltip) y pon el icono antes del nombre. Si necesitas un espacio entre el icono y el nombre para que se lea bien, usa un espacio duro.

Recomendado Haz clic en Configuración y utilidades.
No recomendado Haz clic en .

Si la descripción emergente del icono es idéntica al nombre del icono, usa un atributo alt vacío.

Si no sabes el nombre del icono, inspecciona el elemento con las herramientas del navegador. En muchos casos, un elemento visual como un icono tiene un atributo ARIA con una descripción textual para lectores de pantalla. Para inspeccionar un elemento, haz clic derecho sobre él y selecciona Inspeccionar o Inspeccionar elemento, según el navegador. Busca una de estas etiquetas: aria-labelledby, aria-label, aria-describedby, label, placeholder o title. Más información en Using aria-label y Accessible Name and Description calculation.

Si un botón con icono no tiene descripción emergente, abre un ticket para que la agreguen. Las descripciones emergentes son esenciales para la accesibilidad, para la documentación y para que el lector encuentre las cosas.

Recomendado Haz clic en Agregar.
No recomendado Haz clic en el icono del martillo.

Si el nombre de un elemento de UI termina en puntos suspensivos (...), omítelos.

Recomendado Haz clic en Examinar.
No recomendado Haz clic en Examinar....

No uses lenguaje direccional para orientar al lector, como arriba, abajo o a la derecha. Esas frases funcionan mal para la accesibilidad y para la localización. Si un elemento es difícil de encontrar, agrega una captura de pantalla.

Recomendado Haz clic en Menú.
No recomendado En el panel de la izquierda, haz clic en el botón con tres líneas.
Elementos difíciles de encontrar

Si un elemento de UI es difícil de encontrar, considera una de estas alternativas al lenguaje direccional:

Pestaña

Una pestaña es un elemento de navegación con forma de pestaña de carpeta. Para referirte a una pestaña, usa la forma la pestaña NOMBRE.

Recomendado Selecciona Herramientas > Opciones y luego haz clic en la pestaña Editar.
No recomendado Selecciona Herramientas > Opciones > Editar. (la pestaña no es un menú)

Campo de texto

Un campo de texto es una caja donde el usuario escribe. La casa usa campo y la forma el campo NOMBRE; no uses cuadro de texto ni caja. Formatea el texto que el usuario escribe con el elemento code en HTML, o con formato de código (monoespaciado) en otros lenguajes de marcado.

Recomendado En el campo Responsable, escribe tu nombre.
En el campo Nombre, escribe vps-cis-01.
En el campo Instancia, especifica un valor de menos de 64 caracteres.
No recomendado En el cuadro de texto Nombre, tipea «vps-cis-01».

Lista, cuadro combinado y selector numérico

Una lista (o cuadro de lista) es un control que le ofrece al usuario una lista de elementos. Para referirte a ella, usa la forma la lista NOMBRE.

Recomendado En la lista Elemento, selecciona Escritorio.
No recomendado En el combo Elemento, elige Escritorio.

Un cuadro combinado es una combinación de campo de texto y lista. Para referirte a él, usa la forma el campo NOMBRE. Para describir cómo se ingresa un valor, usa los verbos escribe o selecciona, o ingresa.

Recomendado En el campo Fuente, escribe o selecciona la fuente que quieres usar.
No recomendado En el cuadro combinado Fuente, tipea la fuente o bájala del desplegable.

Un selector numérico es un campo que le permite al usuario elegir un valor con flechas o escribiéndolo. Para referirte a él, usa la forma el campo NOMBRE. Para describir cómo se ingresa un valor, usa el verbo ingresa.

Recomendado En el campo Tamaño de fuente, ingresa un tamaño.
No recomendado En el spinner Tamaño de fuente, sube o baja hasta el tamaño.

Casilla

Una casilla es un cuadro pequeño que indica si una opción está activada o no. Para referirte a ella, usa la forma la casilla NOMBRE.

En inglés los verbos check y uncheck son ambiguos; en español, marca y desmarca no lo son y son la forma de la casa. No uses chequea, tilda ni destilda.

Recomendado Marca la casilla Buscar actualizaciones automáticamente.
Desmarca la casilla Marcadores.
No recomendado Chequea la casilla Buscar actualizaciones automáticamente.
Destilda Marcadores.

Si necesitas referirte al estado de la casilla, di marcada o desmarcada.

Recomendado Asegúrate de que la casilla Marcadores esté marcada.
Asegúrate de que la casilla Marcadores esté desmarcada.
No recomendado Asegúrate de que la casilla Marcadores esté en on.

Botón de opción

Un botón de opción (o botón de radio) es un botón pequeño que sirve para elegir un elemento de un grupo de opciones mutuamente excluyentes. Para referirte a él, usa su etiqueta, o refiérete al grupo por la etiqueta del grupo.

Recomendado Selecciona No recordar contraseñas.
En Modo de inicio, selecciona una opción.
No recomendado Haz clic en el circulito de No recordar contraseñas.

Flecha de expansión

Una flecha de expansión es el elemento de UI que expande o contrae una sección de navegación o de contenido. Evita nombrarla en la documentación; cuando lo hagas, usa flecha de expansión y sección expandible, no expando ni zippy.

Recomendado Para expandir la sección Opciones avanzadas, haz clic en la flecha de expansión .
No recomendado Para expandir la sección Opciones avanzadas, haz clic en el zippy.

Interruptor

Un interruptor (toggle) es el elemento de UI que alterna entre los estados activado y desactivado. No uses togglear ni alternar como verbo. Describe la acción que quieres que el usuario haga.

Recomendado Para activar la opción, haz clic en el interruptor Wi-Fi.
No recomendado Togglea Wi-Fi.

A veces no sabes en qué estado está el interruptor antes de que el usuario lo toque; en ese caso, di con claridad en qué posición tiene que quedar.

Recomendado En Configuración, pon el interruptor Modo oscuro en la posición activado.
No recomendado En Configuración, haz clic en Modo oscuro. (si ya estaba activado, el clic lo apaga)

Presionar y escribir teclas

Para indicar que el usuario tiene que presionar una tecla o una combinación, usa el elemento kbd.

Un ejemplo de etiqueta <kbd>:

Recomendado Presiona <kbd>Control+C</kbd>.
Renderizado: Presiona Control+C.
No recomendado Presiona <b>Ctrl</b> + <b>C</b>.

Si trabajas con un lenguaje de marcado que no es HTML, usa formato monoespaciado, que es como se renderiza el elemento kbd.

Para referirte a una tecla de letra, usa mayúscula, no minúscula.

Recomendado Para guardar, presiona Control+S.
No recomendado Para guardar, presiona Control+s.

Para referirte a una tecla que el usuario escribe para ingresar su valor como texto, usa el elemento code, no kbd. Ver Resumen de formato de texto.

Para referirte a una tecla, usa su nombre. Si es ambiguo, usa la forma la tecla NOMBRE.

Recomendado Presiona Esc.
Presiona la tecla Esc.
No recomendado Presiona escape.
Apreta Esc. (apretar es coloquial; el verbo de la casa es presionar)

Escribe completos los nombres de las teclas modificadoras: Control, Mayús, Alt, Comando, Opción. No uses símbolos (, ) ni las abreviaturas Ctrl y Shift. Para una combinación, usa la forma MODIFICADORA+TECLA.

Recomendado Presiona Control+V.
No recomendado Presiona Ctrl + v.

Cuando entregas atajos para varios sistemas operativos, pon el atajo de macOS entre paréntesis después del de Windows y Linux.

Recomendado Para copiar, presiona Control+C (o Comando+C en macOS).
No recomendado Para copiar, presiona Ctrl+C (⌘+C).

Para una tecla o combinación que usa la tecla Mayús, usa la forma MODIFICADORA+Mayús+TECLA.

Recomendado Presiona Control+Mayús+?.
No recomendado Presiona Ctrl+Shift+?.

Escribe con palabras los nombres de los caracteres que pueden confundir dentro de un atajo, como coma, guion, punto y más.

Recomendado Para acercar, presiona Control+más.
No recomendado Para acercar, presiona Control++.

Para referirte a un atajo, usa atajo de teclado o combinación de teclas.

Para describir la acción de presionar una tecla o combinación que provoca algo, usa el verbo presionar. Para describir la acción de escribir una tecla o combinación como parte de un texto, usa los verbos escribir o ingresar.

Preposiciones

La guía original distingue entre in y on según el elemento. En español las dos se traducen por en, así que la regla se reduce a una: usa en para todos los elementos de UI. Lo que sí importa es no reemplazarla por sobre, dentro de ni a través de.

PreposiciónElemento de UIRecomendado
endiálogosEn el diálogo Alerta, haz clic en Aceptar.
camposEn el campo Nombre, escribe vps-cis-01.
listasEn la lista Elemento, selecciona Escritorio.
menúsEn el menú Archivo, haz clic en Herramientas.
panelesEn el panel Métricas, haz clic en Nueva.
ventanasEn la ventana Tarea, haz clic en Iniciar.
páginasEn la página Crear instancia, haz clic en Agregar.
pestañasEn la pestaña Editar, haz clic en Guardar.
barras de herramientasEn la barra de herramientas Tablero, haz clic en Editar.
Recomendado En la pestaña Editar, haz clic en Guardar.
No recomendado Sobre la pestaña Editar, haz clic en Guardar.
Dentro del diálogo Alerta, haz clic en Aceptar.

Verbos en procedimientos

Para describir una acción en la página, usa estos verbos. Todos van en imperativo de tú (P06: nunca voseo). En los documentos en modo estricto de la norma de prosa (runbooks, mensajes de error), la orden va en infinitivo según P29: «Hacer clic en Guardar». Cada verbo tiene su entrada en la lista de palabras.

Verbo de la casaOriginalRecomendadoNo recomendado
haz clic enclickHaz clic en Guardar.Clickea Guardar. · Cliquea en Guardar. · Dale a Guardar.
eligechooseElige un período.Escoge un período.
arrastradragArrastra el archivo al panel Adjuntos.Draguea el archivo.
habilita, deshabilitaenable, disableHabilita la API antes de crear la clave.Enablea la API.
escribe, ingresaenter, typeEn el campo Glosa, escribe Aporte socio.Tipea la glosa.
ve ago toVe a la página Asientos.Scrollea hasta Asientos.
mantén el puntero sobrehold the pointer overMantén el puntero sobre el icono para ver el nombre.Hoverea el icono.
presionapressPresiona Intro.Apreta Enter. · Pulsa Intro.
seleccionaselectSelecciona Borrador.Seleccioná Borrador. (P06)
tocatapToca Enviar.Tapea Enviar. · Pincha Enviar.
activa, desactivaturn on, turn offActiva Modo oscuro.Prende el Modo oscuro. · Enciende el switch.
marca, desmarcaselect, clear (casillas)Marca la casilla Borrador.Chequea la casilla Borrador.

Para escribir procedimientos, ver Procedimientos.

Adaptación al español y a las convenciones del grupo de la Google developer documentation style guide, publicada bajo CC BY 4.0. Donde esta guía y la norma de prosa de la casa difieren, manda la norma (core/prosa/NORMA.md).