powersync-docs/i18n/devices.yaml
Patrick Schurig 846c0c7525 feat(i18n): traduire ce qu'on écrit, garder verbatim ce que la machine affiche
Signalé sur /de/appareils/bornes/goecharger/ : la page était allemande sur deux
lignes et anglaise sur tout le reste. Le diagnostic a séparé deux choses que
j'avais mises dans le même sac le 2026-10-12.

LA LIGNE DE PARTAGE, écrite en tête du générateur :

  • les LIBELLÉS QUE NOUS ÉCRIVONS (en-têtes de colonnes, titres de section,
    oui/non, « Documentation fabricant ») → TRADUITS. Ils ne désignent rien à
    l'écran, l'anglais n'y était qu'une friction. REF devient REF_I18N, trois
    jeux de 20 libellés.

  • le CONTENU VENANT DE NYMEA (noms de modèles, clés de registres, libellés de
    champs comme « MAC address », unités) → VERBATIM, en anglais. Ce sont
    exactement les chaînes que l'installateur lit DANS L'APP, qui tourne en
    en_US. Les traduire rendrait la doc inutilisable pour retrouver un champ à
    l'écran.

Et la pièce qui change l'expérience plus que la traduction elle-même : une note
`verbatim`, générée dans la langue de la page, en tête du bloc de référence.
Sans elle le mélange FR/EN passe pour une traduction bâclée ; avec elle c'est
une convention que le lecteur comprend.

L'injection devient sensible à la langue : `locale_of()` déduit la langue du
suffixe du fichier et `process()` rend le bloc en conséquence. Sans ça le même
bloc partait à l'identique dans les trois versions.

TAGLINES ET TITRES — i18n/devices.yaml, 52 entrées

Le tagline vivait en paragraphe libre, écrit UNE SEULE FOIS à la création de la
page : il restait donc en anglais sur les trois versions, y compris la
FRANÇAISE. Il entre dans le bloc badges, donc il est régénéré, donc traduisible
pour toujours. 52 taglines en fr et de ; l'anglais retombe sur l'amont.

Les traductions vivent dans le dépôt de DOC et pas dans les meta.json : trois
des cinq dépôts plugins sont des dépôts nymea amont que l'AGENTS.md interdit de
modifier. Repli sur l'amont pour toute entrée absente.

Deux titres s'affichaient en FRANÇAIS sous /de/ et /en/ — « Compteur ABB B2x »,
« Borne ABB Terra AC » : corrigés, dans la page et dans la nav.

Deux coquilles AMONT corrigées au passage, repérées en relisant les 57 entrées :
meta.json annonçait « Bestel » pour Vestel et « Easeex » pour Easee. Signalées
comme corrections, pas comme traductions, dans i18n/devices.yaml.

48 FICHES FR ÉTAIENT DANS UN ANCIEN FORMAT, ET MENTAIENT

Trouvé en vérifiant : 48 fiches FR n'avaient pas de marqueur `__badges_*__`.
Leurs badges étaient du HTML figé, écrit une fois — goecharger affichait
« NIGHTLY » alors que PORTING_STATUS dit `stable` depuis. Elles sont migrées au
format canonique : badges générés, donc exacts, plus titre localisé, tagline et
intertitre. Reste `hvac/homeconnect.md`, orpheline (plugin hors PORTING_STATUS).

NAV : UN CONSTAT QUI ÉVITE DE REFAIRE L'ESSAI

`literate-nav` ne lit que son `nav_file` : la substitution par suffixe de
mkdocs-static-i18n ne s'y applique PAS. Un `SUMMARY.de.md` généré n'était lu par
personne et la barre latérale allemande gardait les noms français. Testé, puis
retiré — et la raison est écrite dans le générateur pour que personne n'y
revienne. Les libellés de nav passent par `nav_translations` : 31 éléments
traduits par langue au lieu de 29.

RÉFÉRENCE API : LAISSÉE EN ANGLAIS, DÉLIBÉRÉMENT

Les 23 pages de l'API n'ont pas de variante par langue. Leur traduire les
libellés aurait fait voir du FRANÇAIS aux lecteurs /de/ et /en/ par le repli —
une régression. Créer 46 variantes pour traduire dix libellés aurait triplé
28 000 mots de contenu généré pour un gain nul : le reste de la page (noms de
méthodes, de champs, de types, descriptions) est l'API elle-même, et ce sont les
chaînes qu'on écrit dans ses requêtes. À la place, une note explique dans les
trois langues POURQUOI cette référence est en anglais.

Vérifié : build --strict sans avertissement, les deux générateurs rendent « Doc à
jour » en --check, et la fiche goecharger relue dans les trois langues.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-13 08:42:21 +02:00

264 lines
10 KiB
YAML

# ═══════════════════════════════════════════════════════════════════════════════
# TRADUCTIONS DES FICHES APPAREILS — titres et taglines
#
# Pourquoi ce fichier existe ici et pas en amont : les `name` viennent de
# PORTING_STATUS.yaml et les `tagline` des meta.json des cinq dépôts plugins.
# Trois de ces cinq sont des dépôts nymea AMONT, que l'AGENTS.md du workspace
# interdit de modifier. Les traductions vivent donc dans le dépôt de doc.
#
# Lecture par scripts/gen_device_reference.py. Toute langue omise retombe sur la
# source amont — il n'y a donc jamais de page vide, seulement une page non
# traduite.
#
# L'anglais (`en`) est volontairement absent presque partout : l'amont EST en
# anglais, le repli suffit. On ne le renseigne que pour corriger l'amont.
#
# ⚠️ Ce fichier sert à DEUX choses, et il faut les distinguer en le relisant :
# 1. traduire (le gros du fichier) ;
# 2. CORRIGER un libellé amont erroné — signalé par « coquille amont ».
# Ces corrections portent les trois langues, puisqu'il ne s'agit pas de
# langue mais d'exactitude.
# ═══════════════════════════════════════════════════════════════════════════════
# ── Compteurs ────────────────────────────────────────────────────────────────
eastron:
tagline:
fr: Raccorder les compteurs d'énergie Eastron SDM en Modbus RTU.
de: Eastron-SDM-Energiezähler über Modbus RTU anbinden.
abbb2x:
# Le nom venait de PORTING_STATUS en français : il s'affichait tel quel sous
# /de/ et /en/. C'est le défaut que ces trois lignes referment.
name:
fr: Compteur ABB B2x
de: ABB-B2x-Zähler
en: ABB B2x meter
tagline:
fr: Raccorder les compteurs d'énergie ABB B21 / B23 / B24 en Modbus RTU.
de: ABB-B21-/-B23-/-B24-Energiezähler über Modbus RTU anbinden.
powerfox:
tagline:
fr: Relier nymea à powerfox.
de: nymea mit powerfox verbinden.
bgetech:
tagline:
fr: Raccorder les compteurs d'énergie B+G E-Tech.
de: B+G-E-Tech-Energiezähler anbinden.
inepro:
tagline:
fr: Raccorder les compteurs d'énergie inepro Metering en Modbus RTU.
de: inepro-Metering-Energiezähler über Modbus RTU anbinden.
senseair:
tagline:
fr: Raccorder les capteurs Senseair à nymea.
de: Senseair-Sensoren an nymea anbinden.
# ── Bornes de recharge ───────────────────────────────────────────────────────
abbterra:
name:
fr: Borne ABB Terra AC
de: ABB Terra AC Ladestation
en: ABB Terra AC charging station
tagline:
fr: Raccorder les bornes ABB Terra AC en Modbus TCP ou Modbus RTU.
de: ABB-Terra-AC-Ladestationen über Modbus TCP oder Modbus RTU anbinden.
keba:
tagline:
fr: Piloter les bornes de recharge Keba.
de: Ladestationen von Keba steuern.
easee:
# coquille amont : meta.json annonce « Easeex »
name:
fr: Easee
de: Easee
en: Easee
tagline:
fr: Intégrer les bornes Easee à nymea.
de: Easee-Wallboxen in nymea integrieren.
goecharger:
tagline:
fr: Piloter et superviser la wallbox connectée go-eCharger pour véhicules électriques.
de: Die vernetzte go-eCharger-Wallbox für Elektrofahrzeuge steuern und überwachen.
evbox:
tagline:
fr: Intégrer les bornes EVBox à nymea.
de: EVBox-Wallboxen in nymea integrieren.
everest:
tagline:
fr: Piloter et superviser les bornes de recharge basées sur EVerest.
de: Ladestationen auf EVerest-Basis steuern und überwachen.
schrack:
tagline:
fr: Intégrer la wallbox Schrack i-CHARGE CION à nymea.
de: Die Wallbox Schrack i-CHARGE CION in nymea integrieren.
vestel:
# coquille amont : meta.json annonce « Bestel »
name:
fr: Vestel
de: Vestel
en: Vestel
tagline:
fr: Raccorder les bornes Vestel à nymea.
de: Vestel-Wallboxen an nymea anbinden.
amperfied:
tagline:
fr: Raccorder les bornes Amperfied / Heidelberg à nymea.
de: Amperfied-/Heidelberg-Wallboxen an nymea anbinden.
mennekes:
tagline:
fr: Raccorder les bornes MENNEKES à nymea.
de: MENNEKES-Wallboxen an nymea anbinden.
webasto:
tagline:
fr: Intégrer la wallbox Webasto Live DC à nymea.
de: Die Wallbox Webasto Live DC in nymea integrieren.
pcelectric:
tagline:
fr: Intégrer la wallbox PCE EV11.3 à nymea.
de: Die Wallbox PCE EV11.3 in nymea integrieren.
phoenixconnect:
tagline:
fr: Piloter et superviser les bornes Wallbe, Compleo et Scapo.
de: Wallboxen von Wallbe, Compleo und Scapo steuern und überwachen.
inro:
tagline:
fr: Raccorder les bornes INRO PANTABOX à nymea.
de: INRO-PANTABOX-Wallboxen an nymea anbinden.
# ── SmartDevices ─────────────────────────────────────────────────────────────
shelly:
tagline:
fr: Utiliser les appareils Shelly avec nymea.
de: Shelly-Geräte mit nymea verwenden.
tasmota:
tagline:
fr: Raccorder à nymea les ESP équipés de Tasmota.
de: Mit Tasmota geflashte ESPs an nymea anbinden.
tuya:
tagline:
fr: Se connecter au cloud Tuya.
de: Mit der Tuya-Cloud verbinden.
gpio:
tagline:
fr: Piloter les GPIO d'un Raspberry Pi ou d'une BeagleBone Black.
de: GPIOs eines Raspberry Pi oder BeagleBone Black steuern.
usbrelay:
tagline:
fr: Piloter des relais raccordés en USB.
de: Über USB angeschlossene Relais steuern.
usbrly82:
tagline:
fr: Piloter des relais raccordés en USB et lire des entrées numériques et analogiques.
de: Über USB angeschlossene Relais steuern und digitale sowie analoge Eingänge lesen.
mqttclient:
tagline:
fr: S'abonner au broker MQTT interne ou externe, pour émettre et recevoir des messages MQTT.
de: Den internen oder einen externen MQTT-Broker abonnieren und MQTT-Nachrichten senden und empfangen.
modbuscommander:
tagline:
fr: Lire et écrire des registres Modbus.
de: Modbus-Register lesen und schreiben.
unipi:
tagline:
fr: Intégrer UniPi à nymea.
de: UniPi in nymea integrieren.
# ── HVAC ─────────────────────────────────────────────────────────────────────
daikinairco:
tagline:
fr: Découvrir et piloter les climatiseurs Daikin.
de: Daikin-Klimageräte erkennen und steuern.
sgready:
tagline:
fr: Piloter par GPIO les pompes à chaleur dotées de l'interface SG-Ready.
de: Wärmepumpen mit SG-Ready-Schnittstelle über GPIOs steuern.
simpleheatpump:
tagline:
fr: Piloter les pompes à chaleur offrant une simple entrée relais, pour augmenter
leur consommation quand l'énergie est bon marché ou autoproduite.
de: Wärmepumpen mit einfachem Relaiseingang steuern, um ihren Verbrauch zu
erhöhen, wenn Energie günstig oder selbst erzeugt ist.
tado:
tagline:
fr: Se connecter à votre compte Tado pour agir sur l'installation de chauffage.
de: Mit Ihrem Tado-Konto verbinden, um auf die Heizungsanlage einzuwirken.
stiebeleltron:
tagline:
fr: Intégrer les pompes à chaleur Stiebel Eltron à nymea.
de: Stiebel-Eltron-Wärmepumpen in nymea integrieren.
idm:
tagline:
fr: Piloter les pompes à chaleur iDM raccordées au réseau.
de: Netzwerkfähige iDM-Wärmepumpen steuern.
drexelundweiss:
tagline:
fr: Se connecter aux systèmes de ventilation et chauffage Drexel und Weiss.
de: Mit Lüftungs- und Heizungssystemen von Drexel und Weiss verbinden.
alphainnotec:
tagline:
fr: Intégrer les pompes à chaleur alpha innotec à nymea.
de: alpha-innotec-Wärmepumpen in nymea integrieren.
mypv:
tagline:
fr: Piloter les résistances de chauffe my-PV raccordées au réseau.
de: Netzwerkfähige my-PV-Heizstäbe steuern.
# ── Onduleurs / PV ───────────────────────────────────────────────────────────
fronius:
tagline:
fr: Se connecter aux équipements solaires Fronius.
de: Mit Fronius-Solargeräten verbinden.
bosswerk:
tagline:
fr: Intégrer les onduleurs solaires Bosswerk à nymea.
de: Bosswerk-Solarwechselrichter in nymea integrieren.
solarlog:
tagline:
fr: Intégrer les équipements Solar-Log à nymea.
de: Solar-Log-Geräte in nymea integrieren.
sma:
tagline:
fr: Se connecter aux équipements solaires SMA.
de: Mit SMA-Solargeräten verbinden.
solax:
tagline:
fr: Se connecter aux onduleurs SolaX Power X1 et X3 G4.
de: Mit SolaX-Power-Wechselrichtern X1 und X3 G4 verbinden.
sungrow:
tagline:
fr: Se connecter aux onduleurs Sungrow.
de: Mit Sungrow-Wechselrichtern verbinden.
huawei:
tagline:
fr: Se connecter aux équipements Huawei FusionSolar.
de: Mit Huawei-FusionSolar-Geräten verbinden.
kostal:
tagline:
fr: Se connecter aux onduleurs Kostal Solar Electric.
de: Mit Kostal-Solar-Electric-Wechselrichtern verbinden.
wattsonic:
tagline:
fr: Raccorder les équipements Wattsonic à nymea.
de: Wattsonic-Geräte an nymea anbinden.
sunspec:
tagline:
fr: Se connecter aux équipements SunSpec.
de: Mit SunSpec-Geräten verbinden.
# ── Tarifs & prévisions ──────────────────────────────────────────────────────
openmeteo:
tagline:
fr: Obtenir les données météo courantes pour votre site.
de: Aktuelle Wetterdaten für Ihren Standort abrufen.
awattar:
tagline:
fr: Obtenir le dernier prix de l'énergie chez aWATTar.
de: Den aktuellen Energiepreis von aWATTar abrufen.
tempo:
tagline:
fr: Récupérer les heures enregistrées depuis Tempo.
de: Erfasste Stunden aus Tempo abrufen.
spothinta:
tagline:
fr: Obtenir le prix courant de l'énergie en Finlande depuis spot-hinta.fi.
de: Den aktuellen Energiepreis Finnlands von spot-hinta.fi abrufen.