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
Motor sound: gate previews on parked + translate generic preset names
Preview safety
- SettingsViewModel exposes engineParked (StateFlow<Boolean>) derived
from WheelRepository.wheelData.speed and ConnectionState:
disconnected = allowed, connected + |speed| < 0.5 km/h = allowed,
connected + moving = blocked. Speed is the canonical telemetry field
on every adapter (InMotion V1/V2, Begode, KingSong, Veteran, P6), so
the gate works across the whole wheel catalog.
- EngineSoundSection now takes a parked flag and nulls each section's
onPreview lambda when the rider is riding. SegmentedChoice already
hides the ▶ when onPreview is null, so the title-level previews
silently disappear. EngineTypePicker got the same treatment.
- When moving, a small hint sits under the engine-type field:
"Previews disabled while moving — stop first to test sounds."
Translations — generic preset names
- 24 strings × 13 locales = 312 new entries. Translated names that have
natural localizations: Tractor, Lawn mower, Helicopter, Steam
locomotive, 2-stroke, 4-stroke single, Inline-4/6 silky, Quad bike,
Quad ATV, City car, Diesel truck, Motorcycle, Big diesel, Car cruise,
Broken exhaust, Jet turbine, Hover bike, F1 electric whine, UFO
hover, Lightsaber. Plus the new engine_preview_parked_only hint.
- Proper nouns stay English (V8 Cobra, V-twin Ducati, Aston Martin,
Tron whine, Pod racer, Boxer 6).
Storage stability — the AppSettings.engineType field stores the stable
key like "SAMPLED_TRACTOR" or "JET_TURBINE". The picker resolves the
display name at render time via engine_preset_<key.lowercase()> string
resource lookup, so translations do NOT change what's persisted. A
user switching device language picks up new labels with no migration.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: app/src/main/res/values-da/strings.xml
+26Lines changed: 26 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -462,4 +462,30 @@
462
462
<stringname="engine_duck_mix">Miks</string>
463
463
<stringname="engine_headphones_only">Kun med hovedtelefoner</string>
464
464
<stringname="engine_headphones_only_hint">Springer telefonens højttaler over. Motor spiller kun, når kablet eller Bluetooth-lyd er tilsluttet.</string>
465
+
466
+
<!-- Motor sound: generic preset names + parked hint -->
467
+
<stringname="engine_preview_parked_only">Forhåndsvisning slået fra i bevægelse — stop for at teste lyde.</string>
Copy file name to clipboardExpand all lines: app/src/main/res/values-de/strings.xml
+26Lines changed: 26 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -478,4 +478,30 @@
478
478
<stringname="engine_duck_mix">Mischen</string>
479
479
<stringname="engine_headphones_only">Nur mit Kopfhörern</string>
480
480
<stringname="engine_headphones_only_hint">Spielt nicht über den Lautsprecher. Motorklang läuft nur, wenn kabelgebundenes oder Bluetooth-Audio verbunden ist.</string>
481
+
482
+
<!-- Motor sound: generic preset names + parked hint -->
483
+
<stringname="engine_preview_parked_only">Vorschau in Bewegung deaktiviert — zuerst anhalten, um Klänge zu testen.</string>
Copy file name to clipboardExpand all lines: app/src/main/res/values-es/strings.xml
+26Lines changed: 26 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -479,4 +479,30 @@
479
479
<stringname="engine_duck_mix">Mezclar</string>
480
480
<stringname="engine_headphones_only">Solo con auriculares</string>
481
481
<stringname="engine_headphones_only_hint">Omite el altavoz del teléfono. El motor solo suena cuando hay audio por cable o Bluetooth conectado.</string>
482
+
483
+
<!-- Motor sound: generic preset names + parked hint -->
484
+
<stringname="engine_preview_parked_only">Vista previa deshabilitada mientras te mueves — detente para probar los sonidos.</string>
Copy file name to clipboardExpand all lines: app/src/main/res/values-fr/strings.xml
+26Lines changed: 26 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -462,4 +462,30 @@
462
462
<stringname="engine_duck_mix">Mixer</string>
463
463
<stringname="engine_headphones_only">Uniquement au casque</string>
464
464
<stringname="engine_headphones_only_hint">Ignore le haut-parleur du téléphone. Le moteur ne sonne que si un audio filaire ou Bluetooth est connecté.</string>
465
+
466
+
<!-- Motor sound: generic preset names + parked hint -->
467
+
<stringname="engine_preview_parked_only">Aperçu désactivé en mouvement — arrête-toi pour tester les sons.</string>
0 commit comments