7 September 2026
"Seated Flat" doesn't translate: RideComposer now speaks nine languages
The interface now comes in nine languages, but the teaching vocabulary stays in English — and that is not a shortcut. The story of a translation, and of what it uncovered along the way.
As of version 1.4.0, RideComposer speaks English, French, Spanish, Italian, German, Dutch, Greek and Portuguese — Portugal and Brazil kept apart. Nine languages, the same nine as the user manual.
But not everything is translated, and that is deliberate.
What doesn't get translated, and why
Open the app in Dutch: menus, messages and buttons are in Dutch. The Track Editor, however, still reads Seated Flat, Jumps, Sprints on a Hill, Fartlek.
That is not an oversight. Those are the terms of your syllabus.
A Schwinn®-certified instructor learned Standing Climb. They read it in that form in their training manual, heard it in that form throughout their course, and will meet it in that form across all of their brand's documentation. Rendering it as "montée en danseuse" would not help: it would force a mental conversion at every annotation, and open a gap between the screen and the training.
So the rule we settled on is this: the language of the application is yours, the language of the method is the one your certification uses. Energy zones, ride names, techniques and units — BPM, RPM, Power — stay in English across all nine languages.
The language choice is never final
In RideComposer, your teaching choice is locked: once you declare your method, the app holds you to it. That is intentional — the theory it offers depends on it, and switching mid-class would make no sense.
For language we decided exactly the opposite way, for a very concrete reason: an instructor may run Windows in Dutch and teach in French. That is unremarkable in Belgium, and just as common in Switzerland, Luxembourg or Canada.
On first launch the app therefore follows your Windows language — and a selector at the bottom of the sidebar lets you change it at any time. Each language names itself in its own language: if the app opens in an alphabet you cannot read, you can still find yours without understanding a word of it.
And there is no language prompt during installation. One less question at the moment you simply want the software installed.
What the translation uncovered
Here is the part that flattered us least.
To translate an application you first have to hunt down every displayed string, one by one, across sixteen thousand lines of code. Doing that inventory, we found around a hundred messages written in French inside the English build.
Not strings forgotten in some corner: the word "SUIVANT" that an English-speaking instructor was reading mid-class in Coach Mode, the entire message set of ride export — a paid feature — file sizes in "Go" and "Mo", the library's progress messages. And in one case, a sentence that mixed both languages in the same line, on the screen you see when reconnecting an external drive.
Those strings had been there a long time. They caused no error, no crash, no log line: they simply displayed, and an English-speaking customer read them without being able to do anything about it. Nobody had reported them, and we had never seen them — because we develop in French, and French text looks normal to us.
It took an unrelated reason — translating — for the defect to become visible. That is often how old defects surface: through work that had nothing to do with them.
The manual follows
All nine user manuals are up to date and document the language selector. They download from the manual page, each in its own language.
The interface vocabulary follows the manual language by language: pistas in Spanish, brani in Italian, κομμάτια in Greek, faixas in Portuguese. The application and its documentation use the same word for the same thing — far from automatic across nine parallel translations.
What is honestly still weak
We proofread French and English ourselves. The other seven languages nobody will proofread — not here, not anywhere. That is a conscious trade-off: an imperfect translation beats an interface the instructor cannot read at all.
So if you use RideComposer in Greek, Dutch or Portuguese and something reads awkwardly, write to us. We will fix it. That is already how the tempo detection got rebuilt: from one instructor's message.