You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
French translation updates and corrections for Localizable.xcstrings #884
I noticed a few translation errors on various screens of the app, as well as several missing French translations for newer strings (the ones taggued as "New").
The idea
While looking to fix these errors directly at the source, I took the opportunity to translate all the empty fields into French and standardize some of the existing translations to make the app's terminology more consistent.
Alternatives you've considered
Not applicable.
Additional context
I have attached the updated Localizable.xcstrings file.
Note that all the changes I made are tagged as "Needs review" in the file so you can easily spot them if you want to check the diff. Thank you for this great app!
PS: It's my first time ever on GitHub (I'm not an IT guy!), so please be kind if I didn't do this quite right!
You did this exactly right — an attached file with the changes marked "Needs review" is a perfectly good way to contribute, and this was a genuinely valuable review. Thank you.
All 31 of your corrections are applied in #919, credited to you. The howlers you caught were real machine-translation damage — « POULET RESTORATOIRE », « piscines de sommeil », « lecture d'un verre », « RECOUVREMENT » for Recovery — and your VFC / FCR / bracelet standardisation is now the catalogue's convention.
One of your changes deserves special mention: the bare W and M keys. I checked them against the code before applying — every use is a week/month range picker, so your S / M is right, and the old « L » meant French users have been seeing a Monday abbreviation on a Month toggle. You fixed a UI bug, not just a translation.
Two small things I adjusted while applying, so you know for next time (neither was your error):
One entry came through as %6$lldcalculée — Xcode's editor renumbered a format placeholder in a way that would break at runtime, and a space went missing. Repaired to %lld calculée.
I applied your 31 changes onto the current file rather than replacing it wholesale, because the file had moved on since you downloaded it and Xcode had also auto-added ~200 keys the project doesn't carry. If you do this again, the same attach-the-file approach is fine — whoever applies it will diff it the same way.
If you spot more (the Italian, Russian and Chinese catalogues have known gaps, and the same French issues may exist in the Android app's own strings), the same kind of issue is very welcome.
Scope note, so nothing you did gets lost: #919 carries your 31 corrections plus 2 more of the same class found in a second catalogue (GRADIENT DE RÉCUPÉRATION, Survolez/VFC). Two parts of your file remain open here rather than closed with it:
Your 209 translations for strings that aren't yet in the project's catalogue. Xcode pulled those strings out of the source code when you opened the project — the project tracks them for future extraction, and when that happens your French for them is here in your attachment, ready to apply. Not lost, just early.
The Android app's own French has the same problems at larger scale — the same RECOUVREMENT, VHR×7, and sangle (a harness strap) ×80 where you standardised on bracelet. That sweep changes grammatical gender on ~80 strings so it needs a careful pass; it will follow as its own change, using your terminology as the reference.
One more item for this issue's running list, found while re-reviewing #919: the Spanish translation of the Charge explainer renders "from time in heart-rate zones" as « de vez en cuando en las zonas » ("from time to time in the zones") — the same machine-translation damage class you found in French, in a locale nobody has natively reviewed yet. The broken %6$lld format specifier that string carried in de/es/fr is fixed in #919; the Spanish prose itself awaits a native reader.
Sweep the Android French for the #884 error classes, with agreement (#884) #921 — the Android app swept to your terminology: 87 strings, sangle/bande → bracelet, VHR/VRH → VFC, RECOUVREMENT → RÉCUPÉRATION, RHR → FCR. That sweep turned up more of the same machine-translation damage you'd spotted — broadcasting « ressources humaines » for HR, « des bûches de sangles » (firewood) for strap logs, « Les partitions » (sheet music) for scores, an alarm that « fait feu ». All fixed.
Two things kept open rather than dropped, both linked from here: #920 (your 209 translations for strings not yet in the catalogue — they'll be used when those get extracted) and #922 (a whitespace defect across four locales that your work exposed).
For a first GitHub contribution this was unusually good: you set the French terminology standard the project now follows on both platforms, and the W/M catch was a real UI bug nobody had noticed. Thank you.
Activity
ryanbr commentedon Jul 28, 2026
You did this exactly right — an attached file with the changes marked "Needs review" is a perfectly good way to contribute, and this was a genuinely valuable review. Thank you.
All 31 of your corrections are applied in #919, credited to you. The howlers you caught were real machine-translation damage — « POULET RESTORATOIRE », « piscines de sommeil », « lecture d'un verre », « RECOUVREMENT » for Recovery — and your VFC / FCR / bracelet standardisation is now the catalogue's convention.
One of your changes deserves special mention: the bare W and M keys. I checked them against the code before applying — every use is a week/month range picker, so your S / M is right, and the old « L » meant French users have been seeing a Monday abbreviation on a Month toggle. You fixed a UI bug, not just a translation.
Two small things I adjusted while applying, so you know for next time (neither was your error):
%6$lldcalculée— Xcode's editor renumbered a format placeholder in a way that would break at runtime, and a space went missing. Repaired to%lld calculée.If you spot more (the Italian, Russian and Chinese catalogues have known gaps, and the same French issues may exist in the Android app's own strings), the same kind of issue is very welcome.
Correct 31 French translations from a native-speaker review (#884)
Correct 31 French translations from a native-speaker review (#884)
ryanbr commentedon Jul 28, 2026
Scope note, so nothing you did gets lost: #919 carries your 31 corrections plus 2 more of the same class found in a second catalogue (
GRADIENT DE RÉCUPÉRATION,Survolez/VFC). Two parts of your file remain open here rather than closed with it:RECOUVREMENT, VHR×7, andsangle(a harness strap) ×80 where you standardised onbracelet. That sweep changes grammatical gender on ~80 strings so it needs a careful pass; it will follow as its own change, using your terminology as the reference.This issue stays open to track both.
Correct 31 French translations from a native-speaker review (#884)
ryanbr commentedon Jul 28, 2026
One more item for this issue's running list, found while re-reviewing #919: the Spanish translation of the Charge explainer renders "from time in heart-rate zones" as « de vez en cuando en las zonas » ("from time to time in the zones") — the same machine-translation damage class you found in French, in a locale nobody has natively reviewed yet. The broken
%6$lldformat specifier that string carried in de/es/fr is fixed in #919; the Spanish prose itself awaits a native reader.Correct 31 French translations from a native-speaker review (#884) (#919
Sweep the Android French for the #884 error classes, with agreement (#…
ryanbr commentedon Jul 28, 2026
Closed — your review is fully landed.
sangle/bande→bracelet, VHR/VRH → VFC, RECOUVREMENT → RÉCUPÉRATION, RHR → FCR. That sweep turned up more of the same machine-translation damage you'd spotted — broadcasting « ressources humaines » for HR, « des bûches de sangles » (firewood) for strap logs, « Les partitions » (sheet music) for scores, an alarm that « fait feu ». All fixed.Two things kept open rather than dropped, both linked from here: #920 (your 209 translations for strings not yet in the catalogue — they'll be used when those get extracted) and #922 (a whitespace defect across four locales that your work exposed).
For a first GitHub contribution this was unusually good: you set the French terminology standard the project now follows on both platforms, and the
W/Mcatch was a real UI bug nobody had noticed. Thank you.Sweep the Android French for the ryanbr#884 error classes, with agree…
Correct 31 French translations from a native-speaker review (ryanbr#884…
Sweep the Android French for the ryanbr#884 error classes, with agree…