---
title: "Ver y restaurar el historial de una clave en Studio"
description: "Lee cómo cambió una traducción de commit en commit y carga un valor anterior de vuelta en el editor desde la pestaña History de Verbatra Studio."
type: "how-to"
---
# Ver y restaurar el historial de una clave en Studio

Lee cómo cambió una traducción de commit en commit y carga un valor anterior de vuelta en el editor desde la pestaña History de Verbatra Studio.

<AvailableFrom version="0.7.0" pkg="@verbatra/studio" />

Úsalo cuando una traducción se reformuló y quieres recuperar la redacción anterior, o para ver quién cambió una clave y cuándo. Lee git. Studio nunca prepara, confirma ni revierte nada: restaurar solo rellena el editor con el texto antiguo, y lo guardas como cualquier edición.

## Abre la pestaña History [#abre-la-pestaña-history]

Arranca Studio ([Review in Studio](https://verbatra.kreitz-webdev.de/es/docs/review-in-studio.md#arranca-studio)), abre una clave en Translations y elige **History** junto a **Locales**. Elige el locale si el proyecto tiene varios. Studio lee el historial de esta clave en git solo cuando abres la pestaña.

La lista empieza con **Working tree (uncommitted)** cuando el archivo en disco difiere del último commit. Debajo, de más reciente a más antiguo, va cada commit que cambió el valor de la clave en ese locale, veinte filas cada vez y con **Show N more** para el resto. Cada fila muestra:

| Parte | Qué te dice |
| --- | --- |
| Autor, fecha, hash corto, asunto | el commit, con el nombre del autor y nunca el correo |
| Origin | quién escribió el valor, según lo registrado con ese commit, omitido si ese registro no se pudo leer |
| Valor | el texto en ese commit, en el idioma y la dirección del locale, nunca recortado |
| Changes from the previous value | palabras añadidas o quitadas, marcadas con subrayado y tachado además del color, y leídas como «added» y «removed» |

Todo es texto plano, nunca marcado. Una clave que aparezca en un valor, un asunto o un nombre de autor se sustituye por `[REDACTED]`.

## Restaura un valor anterior [#restaura-un-valor-anterior]

1. Pulsa **Restore** en una fila. El editor se abre en **Locales** con ese valor como borrador. Todavía no se escribe nada.
2. Lee el borrador y pulsa **Save**. Se ejecutan las comprobaciones habituales, incluidos marcadores e ICU, y un rechazo se muestra tal cual con el archivo intacto. Un valor guardado se registra con el origen `human`.

Si tienes cambios sin guardar, Studio pregunta antes. **Save draft, then restore** conserva tu borrador y luego carga el valor antiguo, **Discard draft and restore** lo descarta y **Keep editing** lo deja todo como estaba. En el editor de Review la pregunta queda arriba del diálogo y **Discard draft and restore** es la única forma de sustituir el borrador.

Una fila no tiene **Restore**, y dice por qué, cuando su valor es el que la clave tiene ahora, cuando Studio aún no ha leído el valor actual o no pudo, y cuando el valor parece una clave de API: History no muestra ese valor y no se puede restaurar desde aquí.

Una clave de `pinnedKeys` está reservada a una persona, así que una restauración guardada desde Studio se acepta, mientras que la edición de un agente se rechaza.

### Cuando el origen ha cambiado [#cuando-el-origen-ha-cambiado]

Si el texto de origen ha cambiado desde ese commit, **Restore** pide antes una confirmación, y si Studio no puede saberlo (el lock file de ese commit no se pudo leer o no tiene entrada para la clave) lo dice. Al guardar, la clave cuenta como al día respecto al origen actual y el valor entra en la memoria de traducción, así que una redacción antigua puede reutilizarse en claves parecidas. **Cancel** o Escape lo deja todo como estaba.

## Sabe qué deja fuera la lista [#sabe-qué-deja-fuera-la-lista]

Studio nunca presenta una lista parcial como completa. Aparece un aviso cuando:

- no se leyeron commits más antiguos, por el límite de commits, un clon superficial o el presupuesto de lectura;
- el archivo de un commit no se pudo leer ni analizar, o el valor era demasiado largo, y Studio cuenta cuántos;
- el archivo en disco no se pudo comparar con el último commit, por ejemplo durante un conflicto de merge.

Studio examina primero 50 commits. Si ese límite recortó la lista, el aviso lo dice y **Read further back** lee hasta 200 en un solo paso; después el aviso solo dice que Studio no lee más allá. Cada otra causa tiene su propio aviso, y **Read further back** no aparece para ninguna de ellas. Una lista vacía dice si está vacía o solo lo está la parte que Studio leyó. Los cambios de nombre no se siguen, las ediciones nunca confirmadas se pierden, una clave renombrada en el origen parece nueva y un cambio que llegó por merge aparece en el commit de merge.

Cuando falta git, la carpeta no es un repositorio o git la rechaza, Studio lo dice en una frase. Una lectura que falla o tarda demasiado muestra **Retry** y conserva la última lista.

## Sabe qué tan reciente es [#sabe-qué-tan-reciente-es]

La pestaña lee de nuevo cuando cambia un archivo de locale, de lock o de procedencia, cuando cambia el índice de git o `HEAD` y cuando vuelves a la pestaña de Studio. Las lecturas se espacian, así que una serie de commits no inunda Studio. Una lectura en segundo plano nunca mueve tu foco.

En el editor de Review, **Show history** abre la misma lista para esa entrada, lee de nuevo del mismo modo y **Restore** rellena su campo.

Las mismas lecturas están disponibles como [`keyHistory`](https://verbatra.kreitz-webdev.de/es/docs/sdk/history.md#keyhistory), para un [cliente MCP](https://verbatra.kreitz-webdev.de/es/docs/cli/mcp.md) y para un [agente del navegador](https://verbatra.kreitz-webdev.de/es/docs/agent-tools-in-studio.md).
