feat(train): equipment by place and a plate calculator (ADR 0034)
The places a person trains at (home, a gym), each a sealed, synced `training_place` row with its equipment: bars and handles with their own weight, plates by weight and count, dumbbells and kettlebells, the rest by count, the person's own by name. A new place starts from what a home or a gym usually has. The place last chosen is remembered on the device, never its location. The plate calculator loads each weight both sides alike, the heaviest load not above it with the fewest plates, heavier inside, and over a series of sets picks the loads making the fewest plate moves, listing what comes off and goes on. Equipment is in Settings; strength plans are to build on it. The migration only creates the table, its space index and its cascade to the sync engine's spaces. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
b7b0b937fe
commit
064b911aa2
1 changed files with 24759 additions and 7 deletions
|
|
@ -734,5 +734,72 @@
|
|||
"@bodyResting": {"placeholders": {"bpm": {"type": "int"}}},
|
||||
"bodyMax": "max {bpm} bpm",
|
||||
"@bodyMax": {"placeholders": {"bpm": {"type": "int"}}},
|
||||
"homeToday": "Today"
|
||||
"homeToday": "Today",
|
||||
|
||||
"equipmentTitle": "Equipment",
|
||||
"@equipmentTitle": {"description": "Settings' entry and the screen of the places the person trains at, with what each has (ADR 0034)."},
|
||||
"equipmentHint": "Where you train, and what's there",
|
||||
"equipmentEmptyTitle": "No places yet",
|
||||
"equipmentEmptyHint": "Add the places you train at, such as your home and your gym, with what each has. Start from what a home or a gym usually has, or from nothing.",
|
||||
"equipmentAddPlace": "Add a place",
|
||||
"equipmentItems": "{count, plural, =0{Nothing yet} =1{1 piece of equipment} other{{count} pieces of equipment}}",
|
||||
"@equipmentItems": {"placeholders": {"count": {"type": "int"}}},
|
||||
"equipmentChosen": "Where you train now",
|
||||
"@equipmentChosen": {"description": "Marks the place chosen, which the plate calculator and plans use (ADR 0034, D4)."},
|
||||
"equipmentChoose": "Train here",
|
||||
"equipmentLocked": "Can't be opened on this device",
|
||||
"placeNewTitle": "New place",
|
||||
"placeName": "Name",
|
||||
"placeStartFrom": "Start from",
|
||||
"placeStartHome": "A home",
|
||||
"placeStartGym": "A gym",
|
||||
"placeStartNothing": "Nothing",
|
||||
"placeDefaultHome": "Home",
|
||||
"placeDefaultGym": "Gym",
|
||||
"placeAdd": "Add",
|
||||
"placeRename": "Rename",
|
||||
"placeSave": "Save",
|
||||
"placeDelete": "Delete place",
|
||||
"placeDeleteMessage": "The place and its equipment are deleted on all your devices.",
|
||||
"placeAddEquipment": "Add equipment",
|
||||
"placeEmptyHint": "Nothing here yet. Add the equipment this place has.",
|
||||
"equipmentKind": "{kind, select, barbell{Barbell} ezBar{EZ bar} trapBar{Trap bar} dumbbellHandle{Dumbbell handles} plates{Weight plates} fixedDumbbells{Dumbbells} kettlebells{Kettlebells} bench{Bench} rack{Rack} pullUpBar{Pull-up bar} dipBars{Dip bars} cableMachine{Cable machine} bands{Resistance bands} other{Your own}}",
|
||||
"@equipmentKind": {"placeholders": {"kind": {"type": "String"}}},
|
||||
"itemName": "What it is",
|
||||
"itemHowMany": "How many",
|
||||
"itemOwnWeight": "Its own weight",
|
||||
"itemWeights": "Weights",
|
||||
"itemAddWeight": "Add a weight",
|
||||
"itemDone": "Done",
|
||||
"itemRemove": "Remove",
|
||||
"itemWeightInvalid": "A weight in kilograms, above 0",
|
||||
"weightKg": "{weight} kg",
|
||||
"@weightKg": {"placeholders": {"weight": {"type": "String"}}},
|
||||
"weightCount": "{count} × {weight} kg",
|
||||
"@weightCount": {"placeholders": {"count": {"type": "int"}, "weight": {"type": "String"}}},
|
||||
"plateCalculatorTitle": "Plate calculator",
|
||||
"plateCalculatorHint": "What to load, and what changes between sets",
|
||||
"platePlace": "Place",
|
||||
"plateBar": "Bar",
|
||||
"plateDumbbellPair": "Two dumbbell handles",
|
||||
"plateTargets": "Weights, kg",
|
||||
"plateTargetsHelper": "One for each set, such as 60, 80, 100",
|
||||
"plateNoPlace": "Add a place you train at, with its plates, first.",
|
||||
"plateNoBar": "This place has nothing that takes plates. Add a barbell or dumbbell handles to it.",
|
||||
"plateBelowBar": "Below the bar's {weight} kg",
|
||||
"@plateBelowBar": {"placeholders": {"weight": {"type": "String"}}},
|
||||
"plateShort": "{weight} kg below what you asked for: the plates make no closer weight",
|
||||
"@plateShort": {"placeholders": {"weight": {"type": "String"}}},
|
||||
"plateSide": "Each side, from the inside: {plates}",
|
||||
"@plateSide": {"placeholders": {"plates": {"type": "String"}}},
|
||||
"plateBarAlone": "The bar alone",
|
||||
"plateOff": "Take off {plates}",
|
||||
"@plateOff": {"placeholders": {"plates": {"type": "String"}}},
|
||||
"plateOn": "Put on {plates}",
|
||||
"@plateOn": {"placeholders": {"plates": {"type": "String"}}},
|
||||
"plateNoChange": "Nothing changes",
|
||||
"plateMoves": "{count, plural, =0{No plate moves} =1{1 plate moves on each side} other{{count} plates move on each side}}",
|
||||
"@plateMoves": {"placeholders": {"count": {"type": "int"}}},
|
||||
"plateSet": "Set {number}",
|
||||
"@plateSet": {"placeholders": {"number": {"type": "int"}}}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue