Translation glossary — French & Spanish
The IBA site is published in English, French and Spanish. The FR and ES strings were originally machine-translated, and the tool had no way to know it was reading indoor skydiving / vertical wind tunnel vocabulary. Everyday-word translations of sport terms went out to members:
- currency — in this domain, being current, i.e. qualified to fly. It was read as money:
devise/monnaiein French,moneda/divisasin Spanish. - flyer — a person who flies in the tunnel. It became a leaflet (
folleto), a traveller (viajero), a steering wheel (volant) or an aircraft pilot (pilote/piloto). - IBA — the organisation’s name, which Spanish translated to “OTROS” (“others”) and “SOLO” (“only”).
A French member reported the result as “the Foldable’s Motto”. This page is the fixed vocabulary that prevents it recurring. It was reviewed and signed off by native French and Spanish speakers in August 2026.
This page is for humans. The machine-readable copy that Google Translate ingests lives at
api/src/i18n/glossary/
and is loaded into Google as a translation glossary. If you change a term here, change it there
too; nothing keeps them in sync automatically.
Canonical terms
| EN term | Meaning here | FR | ES | Never use |
|---|---|---|---|---|
| currency | Recency — being qualified to fly. Not money. | validité | vigencia | devise, monnaie, moneda, divisas |
| current (adj.) | Qualified to fly right now | à jour | Activo | actuel, actual (= present-time) |
| uncurrent / not current | Lapsed; no longer qualified | non à jour | Expirado | non actuel, no actual |
| flyer | A person who flies in the tunnel | pratiquant | volador | volant, pilote, élève, viajero, folleto, aviador |
| (wind) tunnel | The facility | soufflerie (fem.) | túnel de viento | tunnel domestique (= household) |
| home tunnel | The member’s base facility | soufflerie de référence | túnel de referencia | tunnel domestique, túnel de inicio |
| rating | A qualification / level | qualification | calificación | note, notation, cote |
| logbook | Flight logbook | carnet de vol | bitácora | cuaderno, libro de registro |
| refresher | Re-qualification session | remise à niveau | repaso | mise à jour, refresco (= soft drink) |
| back flying | Body orientation (on your back) | vol sur le dos | vuelo de espalda | volando de vuelta (= returning) |
| IBA | The organisation. Never translate. | IBA | IBA | OTROS, OTRAS, Otros, SOLO |
Role names: Coach ≠ Trainer ≠ Instructor
These are three distinct IBA roles, and the translations used to collapse them. In Spanish,
Coach Currency Status and Trainer Currency Status both rendered as “Estado de moneda del
entrenador” — a member could not tell which role an email was about.
| EN role | FR | ES | Never use |
|---|---|---|---|
| Coach | Coach (keep English) | Coach (keep English) | entraîneur, entrenador |
| Coach Spotter | Coach Spotter (don’t invert) | Coach Spotter (don’t invert) | observateur d'entraîneur, observador de entrenadores |
| Coach Assessor | Évaluateur Coach | Evaluador de Coaches | Asesor de entrenadores (= advisor) |
| Trainer | Formateur | Entrenador | — |
| Instructor | Instructeur | Instructor | — |
Brand and product names keep the English word
flyer → pratiquant / volador when it means the person. Membership and product names don’t
translate:
| EN | FR | ES |
|---|---|---|
| IBA Flyer (membership) | Flyer IBA | Volador IBA |
| IBA Benefits | Avantages IBA | Beneficios del IBA |
| IBA STN | IBA STN | IBA STN |
The money exception
Three places genuinely are about money, and devise / moneda is correct there. Do not let a
find-and-replace touch them:
account/fees.json→currency.select,currency.updated,paymentIntro.firstTimeInforesponse-messages/index.json→paymentNeedToPay(“we accept the following currencies”)
These are the only remaining occurrences of the old terms anywhere in the FR/ES corpus. If a scan reports more than these, something has regressed.
Where the strings live
Two trees, one per deployable. Each holds en/, fr/ and es/ subdirectories with the same file
layout — 18 files per locale in api/, 38 in www/, roughly 1,950 distinct English strings.
api/src/i18n/— emails, API responses, mobile app stringswww/src/i18n/— the public site and member portal
Links below point at the English source; fr/ and es/ are siblings at the same path.
Eleven files exist in both trees. They are byte-identical copies, not a shared module — a fix applied to one is not picked up by the other. Always change both.
Shared — the same file exists in both trees
| File | English source |
|---|---|
account/charts.json | api · www |
account/dashboard.json | api · www |
account/logbook.json | api · www |
account/notifications.json | api · www |
account/profile.json | api · www |
common.json | api · www |
navigation.json | api · www |
public/auth.json | api · www |
public/contact.json | api · www |
public/legal.json | api · www |
public/safety.json | api · www |
api/ only
| File | Purpose | English source |
|---|---|---|
communication/index.json | Transactional email templates — the largest file | api |
response-messages/index.json | API response + validation messages | api |
public/mobile.json | Mobile app strings | api |
public/faq.json | FAQ content | api |
extras/common.json | Third copy of the common strings | api |
extras/locals.json | Resource page metadata | api |
account/settings.json | Account settings | api |
www/ only
| File | English source |
|---|---|
account/approval-level-increases.json | www |
account/approve-manually-confirm.json | www |
account/approve-manually.json | www |
account/approve.json | www |
account/change-requests.json | www |
account/coach-assessment.json | www |
account/fees.json | www |
account/guides.json | www |
account/manage-requests.json | www |
account/member-directory.json | www |
account/profile-update.json | www |
account/reference-materials.json | www |
account/safety-training.json | www |
header.json | www |
public/book.json | www |
public/chatbot.json | www |
public/convergence.json | www |
public/discover.json | www |
public/home.json | www |
public/join.json | www |
public/news.json | www |
public/resources.json | www |
public/skills.json | www |
public/tunnels.json | www |
public/videos.json | www |
seo.json | www |
server.json | www |
Adding or changing a term
- Add the row to the tables above.
- Add the matching line to both TSVs in
api/src/i18n/glossary/. - Re-create the Google glossary resources — they’re immutable, so they are deleted and recreated rather than updated in place.
- Sweep the existing FR/ES files for the old term, skipping the money exceptions above.
Prefer keeping an English term over inventing a translation for role and product names. Members
recognise “Coach Spotter” and “IBA Flyer”; they do not recognise observateur d'entraîneur.
Known gaps
public/legal.jsonhas no real privacy policy in FR or ES. The EnglishprivacyPolicy(info1–info52) andaiDisclaimer(info1–info9) are full GDPR text; the FR and ES versions are placeholder/abridged text, not translations. French- and Spanish-speaking members effectively have no privacy policy. This needs a real translation and legal sign-off — tracked separately from the vocabulary work.public/discover.json → info4, “inlet contractor” still readscontratista de entrada(a building contractor), which is wrong. The correct term is an aerodynamics one — probablytobera de entrada— and needs confirming by someone on the engineering side.- English source bug:
wwwpublic/tunnels.json → sFirstreads “Privious” in English — a typo, and mislabelled (the “first” control shouldn’t say “previous”). Fix the English so the translations follow. - Spanish register is mixed between usted and tú across the corpus. Both forms were supplied by the reviewer and applied as given. Worth a normalisation pass.
- ES chart labels are inconsistent —
militaryChartisTabla Militar(reviewer’s wording) whileflyerChart/coachChartuseGráficoandinstructorChartusesCuadro.
History
Raised as TUN-655 in February 2026 after a French member reported the currency message. Audited across both i18n trees, reviewed by native speakers, and applied to roughly 420 strings across 72 files in August 2026.