---
name: translate-wine-content
description: Translate, proofread, edit, or review wine-specific content in English, Hebrew, and Russian, including catalog descriptions, tasting notes, vineyard and cellar terminology, label classifications, and sweetness language. Use for wine translation among EN/HE/RU, monolingual wine-copy proofreading, terminology normalization, translation QA, or a trilingual wine-term explanation. Do not use for generic language work unrelated to wine.
---

# Translate Wine Content

Translate and polish wine descriptions and tasting notes naturally while preserving their technical meaning, voice, and verifiable details.

## Choose the mode

- **Translate:** Produce one or more requested target languages from English, Hebrew, or Russian.
- **Proofread/edit:** Improve a tasting note or wine description in its current language without translating it.
- **Translation QA:** Compare an existing translation with its source and correct it.

If the request combines modes, complete them in that order. Ask only when the intended language, audience, or editing depth would materially change the result.

## Load the right references

1. Read `references/translation-rules.md` before translating or auditing prose.
2. For ordinary translation, proofing, QA, or term explanation, **do not read or paste the full `references/wine-terms.json` into model context**. Run the deterministic lookup and use only its matched records. From this skill directory, prefer a UTF-8 file:

   ```text
   node scripts/lookup_terms.mjs --file path/to/note.txt --languages en,he --related 2 --pretty
   ```

   Standard input is also supported and is the default when piped:

   ```text
   node scripts/lookup_terms.mjs --stdin --languages en,ru --related 2 --pretty
   ```

   Select the source and requested target languages with `--languages`. Use `--query "foudre"` only for a short, non-sensitive dictionary query. Prefer file or stdin for descriptions and tasting notes so their contents do not appear in shell history or process listings.
3. Read the lookup's `matches` and capped `related` records. The helper resolves qualified longest phrases before substrings, applies context guards to ambiguous forms, preserves exact-form collisions for review, and can resolve a conceptual query when no exact form matches. For a long document, look up one to three paragraphs at a time and combine the findings; do not compensate by loading the full glossary.
4. Read `references/classification-and-sweetness.md` when the text mentions sugar, dosage, German predicates, regulated terms, or wine classifications.
5. Read `references/sources.md` when checking a factual or regulatory explanation or supplying citations.

Only dictionary maintainers may read the complete `references/wine-terms.json`, and only when adding, reviewing, validating, or regenerating terminology. Browser-only ChatGPT or Gemini sessions cannot execute the local Node helper. They require a future public lookup endpoint or a supplied compact, task-specific shard; they must not inject the 300+ KB glossary into a prompt as a fallback.

Treat the bundled glossary as translation guidance, not proof that a producer qualifies for a regulated claim. Preserve source wording and flag questionable claims instead of silently strengthening them.

## Verify names before writing them

Apply this workflow to every place, vineyard, village, winery, and winemaker name in translations and proofed copy:

1. Perform an Internet lookup even when the supplied spelling looks familiar. Search authoritative or primary web sources for the exact identity and determine whether a canonical target-language spelling or established transliteration exists. Prefer the producer's official site, an official localized page, an appellation or municipal authority, or the person's official profile. Do not rely on model memory alone.
2. When verified, render every covered name as `Target-language form (Original form)`. Preserve diacritics and exact identity. If the two verified forms are identical, write the name once rather than duplicating it as `Name (Name)`.
3. Keep a source URL for every name decision in working notes. Include a concise provenance link or citation in the response when the choice is consequential, contested, not obvious, or when the user requests sources.
4. If Internet access is unavailable or the evidence is inconclusive, preserve the original form unchanged and explicitly flag the unresolved name. Never guess or invent a translation or transliteration.

Do not translate a cuvée name merely because it resembles an ordinary word. Preserve grape, critic, and publication names unless an established target-language rendering is clearly appropriate.

## Translate

1. Detect the source language and requested target language or languages; support every direction among English, Hebrew, and Russian.
2. Infer region, wine style, technical level, and audience from the supplied context. Ask only when unresolved context would materially change the result.
3. Normalize spelling and accents for lookup while preserving the original text for any audit trail.
4. Resolve the longest qualified terminology match first. Resolve negative phrases before their positive substrings. Apply context and exclusions from the terminology record.
5. Translate the full sentence naturally. Do not assemble prose by replacing terms word for word.
6. Apply the verified-name workflow above.
7. Preserve numbers, vintages, scores, units, percentages, ages, ranges, and comparison signs. Convert units only when requested, and show the original value when useful.
8. Verify negation, fermentation status, vessel type, vine/root status, sweetness, dosage, classifications, and explicit ages after translating.
9. Flag ambiguity rather than inventing precision. Give the most likely rendering and a concise alternative when needed.

## Proofread or edit wine descriptions and tasting notes

1. Keep the requested language. Preserve the author's meaning, sensory intensity, factual claims, and recognizable voice.
2. Correct grammar, spelling, agreement, punctuation, repetition, awkward syntax, and wine-terminology misuse.
3. Use a conservative, publication-ready edit unless the user asks for light proofreading, a rewrite, or a specific house style.
4. Apply the verified-name workflow above; do not silently replace an uncertain name.
5. Recheck every number, vintage, score, unit, duration, negation, regulated term, and producer-attributed claim.
6. Return a complete polished version. Explain only material terminology, factual-risk, or name-rendering changes unless the user requests tracked edits.

## Review an existing translation

1. Compare it with the source sentence, not only with the glossary.
2. Identify omissions, additions, polarity changes, term errors, proper-name changes, and number or unit drift.
3. Classify each finding as `high`, `medium`, or `low` severity.
4. Suggest a complete corrected sentence so the terminology fits natural prose.
5. Apply the verified-name workflow to the source and target; flag any identity or rendering that cannot be confirmed.
6. Keep accepted aliases when they are accurate and idiomatic; do not force mechanical uniformity.

For structured JSON records, run the deterministic audit when useful:

```text
node scripts/audit_translation.mjs --input path/to/records.json
```

The audit reports likely terminology mismatches; it does not replace contextual review and never rewrites input files.

## Return useful output

For a translation request, return:

1. The target-language translation or translations.
2. `Terminology notes` only for consequential choices.
3. `Ambiguities` only when unresolved issues remain.

For a proofreading request, return:

1. The complete polished text in the original language.
2. `Material edits` only when terminology, meaning, facts, or verified name forms changed.
3. `Unresolved items` for names or claims that could not be verified.

For a review request, return:

1. A concise findings table with source context, current wording, proposed wording, and severity.
2. Corrected complete translations.
3. Any items that require regional, producer, or legal confirmation.

Do not expose internal typo aliases as recommended public terminology. Do not claim legal, organic, biodynamic, geographic, or age status beyond what the source establishes.

## Validate terminology data

Full-glossary access is allowed in this maintenance workflow. After changing `references/wine-terms.json`, run:

```text
node scripts/validate_terminology.mjs
```

Resolve all errors before using the updated data. Review warnings about alias collisions rather than suppressing them blindly.
