anthropics / anthropics/claude-code

Feature: word-by-word gloss (interlinear translation) under English text, esp. thinking blocks

Abierto
#87,810 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area:ui enhancement stale
Lenguaje dominante
Python
Estrellas
145k
Forks
23.1k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

### Summary

For non-native English speakers, add an optional **word-by-word gloss (interlinear translation)** rendered underneath English text in the UI — especially thinking blocks — in the user's configured language.

### Motivation

I use Claude Code in Korean (`CLAUDE.md` instructs Korean responses), but **thinking blocks are always emitted in English** and are not language-controllable from the user side. So a large amount of the text I read every day is English I did not ask for.

That turns out to be an opportunity rather than only a problem: those blocks are high-quality, domain-relevant English about *my own code*, which is close to ideal study material. Today I work around it by instructing Claude to hand-write an interlinear gloss at the top of each reply:

```
An event interrupts the rotation to prioritize the alert.
한 사건이 중단시킨다 그 순환을 위해 우선하다 그 경보를
```
> 사건이 발생하면 순환을 멈추고 그 경보를 우선 처리한다.

This works, but it burns model tokens, pushes the actual answer down the screen, depends on the model remembering to do it, and can't be applied to the thinking blocks themselves (they're already streamed by then).

### Proposal

A client-side rendering option, e.g. `/config` → "Gloss English text", with:

- **Target language** — default to the user's locale / `CLAUDE.md` language.
- **Scope** — thinking blocks only (my main need) / all assistant text / off (default).
- **Density** — every word, or only words above a difficulty threshold (skip `the`, `is`, `and`; gloss `interrupts`, `prioritize`, `deprecated`).
- **Interaction** — an unobtrusive form such as hover/tap on a word to reveal its meaning, or a toggle that expands the interlinear line beneath the paragraph, so it doesn't wreck the layout when off.

Skipping code spans, file paths, identifiers, and commands is essential — glossing `npm run build` or a variable name is noise.

### Why in the client rather than in the prompt

- Thinking blocks can be glossed at render time; the model can't retroactively annotate its own already-streamed reasoning.
- No token cost and no latency added to the answer.
- Deterministic — it doesn't depend on the model remembering an instruction across a long session.
- It's a display concern, which is where display concerns belong.

### Scope note

I'd be happy with a minimal first version: thinking blocks only, hover-to-reveal, one target language from a config key. The value is mostly in it being automatic and always-on for people who read English all day but don't think in it.

### Environment

- Claude Code Desktop (Microsoft Store / MSIX) `Claude_1.32352.1.0`, engine 2.1.229
- Windows 11 Pro 26200
- Working language: Korean

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Start by locating the /config handling and the thinking-block renderer in the client UI. Trace how streamed English text reaches rendering, then assess where an optional target-language gloss could be applied while excluding code, paths, identifiers, and commands. Done should cover the proposed minimal thinking-block-only, hover-to-reveal option with one configured language.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Área
desktop, frontend
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.