feat(train): a recording follows a route, its turns told (ADR 0030, D45)

The Record sheet offers the routes with a way planned; the recorder's
service follows the one chosen offline (RouteGuide.kt): turns told 50 m
before them (100 m on a bike) after a tone, off the route past 40 m for
10 s a cue with the way back, told again on rejoining, the end told.
The recording file keeps the route and the guidance; the recording
screen shows the next turn or the way back, and swipes to a map of the
route, the track and the position, north or the heading up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-29 08:27:27 +01:00
commit b0c0eeb3d5
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -524,5 +524,46 @@
"routeDelete": "Delete",
"routeDeleteTitle": "Delete this route?",
"routeDeleteMessage": "It's deleted on all your devices.",
"routeDeleted": "Route deleted"
"routeDeleted": "Route deleted",
"turnStraight": "Go straight on",
"turnLeft": "Turn left",
"turnSlightLeft": "Bear left",
"turnSharpLeft": "Turn sharp left",
"turnRight": "Turn right",
"turnSlightRight": "Bear right",
"turnSharpRight": "Turn sharp right",
"turnKeepLeft": "Keep left",
"turnKeepRight": "Keep right",
"turnAround": "Turn around",
"turnRoundabout": "At the roundabout, take exit {exit}",
"@turnRoundabout": {"placeholders": {"exit": {"type": "int"}}},
"turnExitLeft": "Take the exit on the left",
"turnExitRight": "Take the exit on the right",
"routeSayIn": "In {metres} metres: {turn}",
"@routeSayIn": {"description": "Spoken before a turn while following a route.", "placeholders": {"metres": {"type": "int"}, "turn": {"type": "String", "example": "Turn left"}}},
"routeSayOff": "Off the route. It lies {metres} metres {direction}.",
"@routeSayOff": {"description": "Spoken off the route; the recorder puts the figures in.", "placeholders": {"metres": {"type": "String", "example": "80"}, "direction": {"type": "String", "example": "to the north-east"}}},
"routeSayOn": "Back on the route",
"routeSayArrived": "End of the route",
"directionNorth": "to the north",
"directionNorthEast": "to the north-east",
"directionEast": "to the east",
"directionSouthEast": "to the south-east",
"directionSouth": "to the south",
"directionSouthWest": "to the south-west",
"directionWest": "to the west",
"directionNorthWest": "to the north-west",
"recordRoute": "Route",
"recordNoRoute": "None",
"recordingNextTurn": "In {distance}",
"@recordingNextTurn": {"placeholders": {"distance": {"type": "String", "example": "320 m"}}},
"recordingOffRoute": "Off the route: {distance} {direction}",
"@recordingOffRoute": {"placeholders": {"distance": {"type": "String", "example": "80 m"}, "direction": {"type": "String", "example": "to the north-east"}}},
"recordingRouteEnd": "End of the route",
"recordingFollowRoute": "Following {name}",
"@recordingFollowRoute": {"placeholders": {"name": {"type": "String"}}},
"recordingMapHint": "Swipe for the map",
"recordingFiguresHint": "Swipe back for the figures",
"recordingNorthUp": "North up",
"recordingHeadingUp": "Heading up"
}