AvalancheClarity

How We Translate Avalanche Bulletins

Avalanche bulletins are safety-critical documents. A mistranslated danger level or a mangled slope aspect could send someone into terrain they should be avoiding. We take that seriously — and we've built a translation system that goes far beyond what a browser plugin can do.

Where the data comes from

French Alps: Météo-France

The French avalanche bulletins are published daily by Météo-France, the national meteorological service. We pull the official XML data directly from their public API for every massif in the French Alps. This is the same data that feeds the official Météo-France website — we're not scraping web pages or working from screenshots.

The XML contains structured risk data: danger levels (1–5), altitude thresholds, dangerous slope aspects, avalanche problem types, snow quality assessments, weather summaries, and more. Having structured data means we can validate the translation against the original with precision.

Switzerland: SLF

Swiss bulletins come from the SLF (WSL Institute for Snow and Avalanche Research), one of the world's leading avalanche research institutions. SLF publishes natively in four languages: German, French, Italian, and English. For those four, we serve the official SLF text directly — no AI translation involved.

We only use AI translation for the four additional languages we support (Dutch, Swedish, Danish, Polish), where SLF doesn't publish.


The translation pipeline, step by step

Here's what happens when a French bulletin arrives:

Step 1: Parse the bulletin into segments

We break the bulletin into individual translatable blocks — paragraphs, headings, list items, table cells. Each becomes a separate translation segment. HTML tags, images, and styling are preserved exactly; only the text content is sent for translation.

Step 2: Build a domain-specific glossary

Before any translation happens, we scan the French source text against our terminology database to find every technical term that appears. For each matched term, we look up the required translation in the target language and build a glossary table specific to that bulletin: "this French term must be translated as this target-language term."

The strength of this glossary depends on the target language. For English, the glossary typically matches 15–30 terms per bulletin from a pool of 600 verified concepts. For Dutch or Danish, it might match 5–10 from a smaller pool of 42. See The terminology database below for the full picture on language coverage.

Step 3: Translate with guided terminology

We use Google's Gemini AI model with a carefully constructed prompt that includes:

  • Role: "You are a professional translator specialising in avalanche safety bulletins"
  • The glossary table: matched terms with their preferred translations, as a reference the AI should follow
  • Rules: preserve all HTML, don't translate place names, preserve number formatting, use glossary terms as the target — but apply them as a fluent writer would

The goal is for the AI to use these terms the way a trained forecaster would write them in English — not to mechanically substitute them word-for-word. When the bulletin says "couche fragile persistante", the translation should say "persistent weak layer" (the EAWS standard term), not "lasting fragile layer" or "ongoing weak stratum."

Why we don't enforce terms rigidly

Early versions of the prompt treated the glossary as strictly non-negotiable — the AI was told to use each term exactly, with no alternatives. In practice this produced unnatural output. The AI wasn't pluralising or capitalising correctly because it was substituting terms so mechanically. A phrase like "plusieurs plaques en neige ventée" ("several wind slabs") would occasionally come out as something like "many Slab in the Wind Slab" — the AI had found the term "Wind Slab" in the glossary and used it verbatim, twice, without understanding that plaques here needed to be a plural common noun rather than a proper-noun category heading.

The current prompt gives the AI latitude to apply terminology naturally: pluralise where grammatically required, adjust capitalisation to match context (category heading vs. in-sentence noun), and pick the closest term when a phrase partially matches. The terminology database provides the vocabulary; the AI is responsible for assembling that vocabulary into fluent, readable English.

Step 4: Verify the translation

Every translation goes through a two-stage verification process:

Structural checks (deterministic, no AI involved):

  • Does the translation have the same number of segments as the original?
  • Are all HTML tags preserved exactly?
  • Is the translation a reasonable length compared to the source? (Catches severe truncation or hallucinated padding.)

Safety checks (a second, independent AI review):

  • Do the danger level numbers and labels match?
  • Are altitude thresholds accurately conveyed?
  • Are slope aspects (N, S, E, W) correct?
  • Are avalanche problem types correctly translated?
  • Has any safety-critical information been omitted or fabricated?

If verification fails, the translation is automatically regenerated — up to three attempts. If it still fails, we fall back to no translation rather than serve something unreliable.

Step 5: Add interactive glossary highlights

Technical terms in the translated bulletin are highlighted with interactive tooltips. Hover over a highlighted term and you'll see the original French, the official translation, a plain-language definition, and which authority the translation comes from (EAWS, IACS, SLF, etc.).

This helps you learn the terminology over time and lets you check our work. If a tooltip says the term came from EAWS, you know it's the internationally agreed standard.


Why this is better than Google Translate

We're not knocking Google Translate — it's an incredible tool for general text. But avalanche bulletins are not general text. Here's where a general-purpose translator falls short:

No domain knowledge

Google Translate doesn't know that "risque marqué" means danger level 3 ("Considerable") on the European avalanche scale. It might translate it as "marked risk" or "significant risk" — which sounds reasonable but doesn't match the standardised terminology that every avalanche professional in Europe uses. Our system enforces the exact EAWS terms because we have a database that maps them.

No safety verification

If Google Translate drops a number, swaps "north-facing" for "south-facing," or hallucinates a word, nobody checks. Our system runs an independent AI review specifically looking for safety-critical errors in risk levels, altitudes, aspects, and problem types.

HTML mangling

Browser translation plugins work on the rendered page. They often break formatting, strip styling, mangle tables, or translate things that shouldn't be translated (like place names, codes, or numbers). We parse the HTML structure, translate only the text content, and reassemble with the original formatting intact.

No consistency

Ask Google Translate the same sentence twice and you might get different results. Our two-level caching system ensures that identical text segments always produce the same translation, and bulletins that haven't changed don't get re-translated with different wording.

No cross-language consistency

When we translate "plaque à vent" into English, German, Italian, Dutch, Swedish, Danish, and Polish, every language gets the same term every time — "wind slab," "Triebschnee," "neve ventata," etc. For English, German, and Italian these are the official EAWS terms. For Dutch, Danish, Swedish, and Polish, they're our best-sourced equivalents. Google Translate has no way to enforce this kind of cross-language consistency.

No context

A browser plugin translates whatever is on screen with zero context about what the document is. Our system knows it's translating an avalanche safety bulletin and is specifically tuned for that domain.


Head-to-head comparison study

In April 2026 we ran a side-by-side comparison using three live bulletins from the French Alps (Beaufortain, Maurienne, Haute-Maurienne — all issued 5 April 2026). We took the original French source text, ran it through our translation system, then separately submitted the same text to Google Translate and recorded the results.

1. Headline translation

French (original) AvalancheClarity Google Translate
GRANDE DOUCEUR : PROBLEMATIQUE D'ACTIVITEE NATURELLE EN NEIGE HUMIDE VERY MILD CONDITIONS: NATURAL WET SNOW ACTIVITY ISSUES GREAT SOFTNESS: PROBLEM OF NATURAL ACTIVITY IN WET SNOW

"Grande douceur" is a meteorological term for mild/warm weather. Google's literal "Great softness" is meaningless to an English reader. The word order in Google's subtitle also loses the sense that wet snow is the avalanche problem type.

2. Key snow-science terminology

French term AvalancheClarity Google Translate Verdict
plaques en neige ventée wind slabs patches of windy snow ⚠️ "Wind slabs" is the EAWS standard term for consolidated slab layers. "Patches of windy snow" is not a technical term and is misleading.
Départs spontanés Naturally triggered avalanches Spontaneous departures ⚠️ EAWS standard term. "Spontaneous departures" carries no safety meaning in English.
Déclenchements provoqués Skier-triggered release Caused triggers ⚠️ "Caused triggers" is grammatically awkward and loses the human-triggered context.
cassures linéaires linear fracture lines linear breaks ⚠️ "Fracture lines" is the EAWS term for the crown of a slab avalanche. "Breaks" is too vague.
pentes NE/NO NE/NW slopes NE/NO slopes ⚠️ Google leaves "NO" (Nord-Ouest) untranslated. Our system converts French compass abbreviations to English.
couloirs Nord North couloirs northern corridors ⚠️ A couloir is a steep mountain gully — a specific terrain feature. "Corridor" is too generic.
couches fragiles persistantes persistent weak layers persistent fragile layers 🚨 "Persistent weak layers" is a defined EAWS avalanche problem type. "Fragile layers" implies brittleness, not structural weakness.
fissures sous les skis glide cracks under the skis cracks under the skis ⚠️ "Glide cracks" is the EAWS term for cracks that form when the snowpack slides on smooth ground — a specific instability indicator.

3. Snow conditions section — critical errors

French term AvalancheClarity Google Translate Verdict
Enneigement Snow conditions Snowfall ❌ 🚨 Serious error. Enneigement = current snow cover depth/state. Snowfall = precipitation. These are opposite concepts in a bulletin context.
le manteau the snow cover the coat ❌ 🚨 "Manteau neigeux" = snowpack. Google translates literally (manteau = coat in French). Completely wrong in context.
la bise the Bise wind the wind ⚠️ La Bise is a named cold NE wind specific to the French/Swiss Alps. Losing the name removes geographic and seasonal precision.
croupes/crêtes pelées scoured broad ridges/crests peeled ridges/ridges ⚠️ "Pelées" means wind-stripped of snow. "Scoured" is correct in alpine context; "peeled" sounds like removing paint. Also "ridges/ridges" is a nonsensical duplicate.
décaillage softening rapid flaking ❌ 🚨 "Décaillage" is a specific Alpine skiing term for the morning snow thaw/softening. "Flaking" describes snow falling apart — completely wrong.

Overall scorecard

Category AvalancheClarity Google Translate
EAWS standard terminology✅ Strong❌ Poor
Snow science accuracy✅ Strong⚠️ Moderate
Meteorological terms✅ Strong⚠️ Moderate
Named features (Bise, couloir)✅ Preserved❌ Lost
Compass direction conversion (NO→NW)
Fluency / readability✅ Publication quality⚠️ Awkward phrases
Bulletin structure awareness✅ Structured❌ Flat prose
Fatal errors03 (Snowfall, coat, flaking)

What we cannot guarantee

We believe in being straight with you. Here's what our system doesn't do:

It's still AI

Despite the glossary enforcement and verification, the core translation is performed by a large language model. LLMs can hallucinate, misinterpret ambiguous sentences, or produce subtly wrong output that passes verification. This is not a human translator reviewing every word.

Some languages are better than others

Our glossary coverage is heavily weighted towards English, French, German, and Italian. If you're reading a bulletin in Dutch or Danish, the translation has far less terminology enforcement. The AI is doing more of the work unaided, and there's a higher chance of non-standard term choices. This doesn't mean Dutch or Danish translations are bad — but there are fewer guardrails catching mistakes.

Nuance can be lost

Météo-France forecasters write with deliberate nuance. The difference between "quelques départs spontanés possibles" and "des départs spontanés probables" matters. AI generally handles this well, but not always perfectly. Shades of likelihood, subtle hedging, and forecaster intent can occasionally be flattened.

We don't translate everything

Some content — like detailed weather tables, complex diagrams, or PDF-only supplements — may not be covered by our translation pipeline. We translate the core bulletin text, which is the safety-critical content.

It's not a substitute for the official bulletin

We say this on every screen and we'll say it again: always check the official source. Our translations are a tool to help you understand the bulletin in your language, not a replacement for the authoritative French or German original. If something looks wrong or unclear, go to Météo-France or SLF WhiteRisk directly.


The terminology database

Rather than trusting the AI to know avalanche terms (it often does, but not always correctly), we maintain a curated database of 725 concepts with 2,700+ terms across 14 languages.

Every term is linked to an abstract concept and traced back to its source. Sources include:

  • EAWS (European Avalanche Warning Services) — official European standard, highest priority
  • IACS/UNESCO — the International Classification for Seasonal Snow on the Ground
  • National avalanche services: SLF (Swiss), NVE/varsom.no (Norwegian), Avalanche Canada, Météo-France, TOPR (Polish), AINEVA (Italian), Svelav (Swedish)
  • Academic sources: American Meteorological Society, US avalanche centres

Language quality is not equal

We want to be upfront about this: our terminology coverage varies significantly by language.

English, French, German, Italian have strong coverage. English alone has 778 terms, 97% from official published sources. French has 471, German 256, Italian 228 — all drawing heavily from EAWS, IACS, SLF, and national avalanche services.

Swedish and Polish have moderate coverage — 42 and 47 terms respectively, mixing official sources with our own curated translations.

Dutch and Danish are the weakest, with 42 terms each, none from an official avalanche authority — because no Dutch or Danish national service publishes standardised terminology. We cover 42 of the 725 concepts for these languages; for English we cover 600. That gap matters.

Browse the database

You can explore the full terminology database — every concept, every language, every authority — in our interactive glossary:

Explore the Avalanche Terminology Database

725 concepts · 2,700+ terms · 14 languages · sources traced to EAWS, IACS, and national services

Open Glossary →

Our commitment

We translate avalanche bulletins because language shouldn't be a barrier to safety information. We've put significant effort into making these translations as accurate as possible — domain-specific AI prompting, a curated terminology database, automated safety verification, and interactive glossaries so you can check our work.

We know the system has blind spots, and we've tried to be honest about them here. The English and French translations are strong. German and Italian are good. Dutch, Danish, Swedish, and Polish are usable but have thinner glossary backing, and we're actively working to improve them.

If you spot a translation error, especially a safety-critical one, we want to know. We'd rather fix a mistake than have someone make a bad decision in the mountains because of it.

Stay safe out there.