All checks were successful
release / build-release (push) Successful in 1m46s
- internal/progress: katalog (skills.json 12 noder, items.json 25 items) med validering; XP/nivåer (150·n(n+1)/2) och skillpoäng; skillträd med krav och kostnad; items per plats med buffar, genvägar (JR Pass, kartor, powerbank) och färgton; banresultat och upplåsning (huvudbanor i ordning, sidospår efter föräldern); 33 %-regeln som test - internal/save: versionerad JSON med kunskap, plånbok, debuffar, progression och pågående bana + seed; atomisk skrivning; migrering; ~/.config/metro-puzzle-jp/save.json resp. %AppData% - sim: RunOptions får Extra/FogRadius/Landmarks/FreeGates/RevealAll/ InfiniteBattery; luck påverkar trängselzonen; Fog.RevealAll och extra landmärken - game: bankarta i spelbrädesstil ersätter menyn (⟳ återupptar med sparad seed), skillträd (T), garderob (I), butik i kiosken (B), XP/nivå/items/ upplåsningar på resultatet, spelaren tonas av skins; autospar vid banstart, efter banan och vid köp; flaggor -save/-nosave - level: kind/order/parent/rewards/shop; ny sidobana 002b Kabukicho som belönar skinnet Kimono; 001 belönar Salaryman-skinnet; butikssortiment på 002/003 - tools/shots: demo-sparfil (build/, aldrig den riktiga), bilder av karta, skills, garderob och butik; alla körningar med -nosave - docs/README/wiki uppdaterade Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
186 lines
7.3 KiB
JSON
186 lines
7.3 KiB
JSON
{
|
||
"game.title": "Metro Puzzle JP",
|
||
"menu.start": "Starta",
|
||
"menu.continue": "Fortsätt",
|
||
"menu.endless": "Oändligt läge",
|
||
"menu.settings": "Inställningar",
|
||
"menu.quit": "Avsluta",
|
||
"hud.destination": "Resmål",
|
||
"hud.next_train": "Nästa tåg",
|
||
"hud.card_balance": "Kortsaldo",
|
||
"meter.food": "Mat",
|
||
"meter.drink": "Dryck",
|
||
"meter.toilet": "Toa",
|
||
"meter.battery": "Batteri",
|
||
"level.failed": "Du missade för många tåg…",
|
||
"level.cleared": "Framme!",
|
||
"menu.choose_level": "Välj bana:",
|
||
"menu.hint": "Pilar/WASD: välj Enter: starta L: ordlista Esc: avsluta",
|
||
"hud.time": "Tid",
|
||
"hud.steps": "Steg",
|
||
"hud.controls": "Esc: meny M: karta",
|
||
"level.wrong_train": "Fel tåg!",
|
||
"result.hint": "R: spela om L: ordlista Enter/Esc: karta",
|
||
"hud.card": "Kort",
|
||
"hud.track": "Spår",
|
||
"hud.next_train_in": "Nästa tåg om",
|
||
"hud.departs_in": "Avgår om",
|
||
"hud.board": "Enter: kliv på",
|
||
"hud.gate_denied": "Spärren: kortet saknar saldo!",
|
||
"hud.sign": "Skylt",
|
||
"result.wrong_detail": "Du åkte mot %s i stället för %s.",
|
||
"result.gates": "Spärrar",
|
||
"result.card": "Kort kvar",
|
||
"hud.japanese": "日本語",
|
||
"hud.words": "ord",
|
||
"hud.track_suffix_ja": "番線",
|
||
"hud.for_ja": "方面",
|
||
"hud.english": "EN",
|
||
"hud.help_prompt": "H: fråga någon om hjälp (%.0f s)",
|
||
"hud.help_progress": "Frågar en förbipasserande…",
|
||
"hud.learned": "Nytt ord",
|
||
"hud.revealed": "Översatt",
|
||
"result.helps": "frågat om hjälp",
|
||
"result.par": "par",
|
||
"result.destination": "resmålet",
|
||
"hud.progress": "Framsteg",
|
||
"words.title": "Ordlista 言葉",
|
||
"words.points": "Poäng",
|
||
"words.hint": "Pilar: välj Enter: lär dig ordet för poäng Esc/L: tillbaka",
|
||
"words.already": "Det ordet kan du redan.",
|
||
"words.bought": "Nytt ord: %s = %s",
|
||
"words.too_expensive": "Kostar %d poäng - klara banor med bra tid för fler.",
|
||
"urge.toilet": "måste på toa (W)",
|
||
"urge.thirsty": "är törstig (K)",
|
||
"urge.hungry": "är hungrig (K)",
|
||
"urge.distracted": "blev distraherad…",
|
||
"hud.toilet_prompt": "Enter: toalett för %d person(er), %.0f s",
|
||
"hud.toilet_busy": "På toaletten…",
|
||
"hud.toilet_none": "Ingen behöver toa just nu.",
|
||
"hud.kiosk_prompt": "Enter: köp mat/dryck åt %d person(er), %d¥",
|
||
"hud.kiosk_none": "Ingen är hungrig eller törstig just nu.",
|
||
"result.explored": "Utforskat",
|
||
"result.served": "försörjda",
|
||
"hud.cash": "Kontant",
|
||
"hud.phone": "Tel",
|
||
"hud.ticket": "Biljett",
|
||
"hud.machine_topup": "Enter: fyll på kortet (kort %d¥, kontant %d¥)",
|
||
"hud.machine_ticket": "Enter: köp biljett (kontant %d¥)",
|
||
"hud.wrong_ticket": "Biljetten gäller inte för det här tåget!",
|
||
"hud.need_ticket": "Spärren: du behöver en biljett - köp i automaten (T).",
|
||
"hud.phone_dead": "Spärren: telefonen är död - köp en biljett i stället.",
|
||
"hud.rescan": "Pip… skanna igen.",
|
||
"hud.missed_train": "Ni fick inte plats - tåget gick.",
|
||
"level.lost": "Banan misslyckades",
|
||
"result.lost_wrong_train": "Fel tåg.",
|
||
"result.lost_wrong_stop": "Du klev av på fel station.",
|
||
"result.lost_missed_stop": "Du åkte förbi ditt resmål.",
|
||
"result.spent": "Spenderat",
|
||
"result.missed": "Missade tåg",
|
||
"menu.phone": "P: kort i telefonen %s",
|
||
"menu.on": "på",
|
||
"menu.off": "av",
|
||
"mini.cancel": "Esc: avbryt",
|
||
"mini.topup.title": "Fyll på kortet",
|
||
"mini.topup.pick": "Välj rätt knapp på automaten:",
|
||
"mini.topup.amount": "Välj belopp:",
|
||
"mini.topup.feed": "Håll Enter för att mata in %d¥ i sedlar",
|
||
"mini.topup.wrong": "Fel knapp…",
|
||
"mini.ticket.title": "Biljetter",
|
||
"mini.ticket.hint": "Köp biljett till %s. Kontant: %d¥",
|
||
"mini.crowd.title": "Fullt tåg - tränga sig på",
|
||
"mini.crowd.hint": "Tryck Enter när markören är i det gröna fältet (%d försök kvar)",
|
||
"mini.ride.title": "På tåget - nästa station",
|
||
"mini.ride.hint": "Enter: kliv av här (du ska till %s)",
|
||
"hud.time_left": "Kvar",
|
||
"hud.debuffs": "Debuffar",
|
||
"hud.grumpy": "Någon är sur över sittplatsen…",
|
||
"hud.poisoned": "Den där matbiten smakade konstigt…",
|
||
"hud.need_all_cards": "Spärren: %s har inte pengar på kortet.",
|
||
"hud.need_all_tickets": "Spärren: alla behöver en biljett.",
|
||
"result.lost_time_up": "Tiden tog slut.",
|
||
"result.lost_missed_trains": "För många missade tåg.",
|
||
"result.score": "Poäng",
|
||
"result.money": "pengar",
|
||
"result.meters": "mätare",
|
||
"result.new_debuffs": "Nya debuffar",
|
||
"mini.topup.member": "Vems kort ska fyllas på?",
|
||
"mini.seat.hint": "Välj plats åt %s (pilar, Enter)",
|
||
"mini.seat.prefs": "Önskemål:",
|
||
"seat.front": "← färdriktning",
|
||
"seat.window": "fönster",
|
||
"seat.aisle": "gången",
|
||
"seat.left": "vänster sida",
|
||
"seat.right": "höger sida",
|
||
"seat.with": "bredvid %s",
|
||
"debuff.sore_feet": "onda fötter",
|
||
"debuff.tired": "trötthet",
|
||
"debuff.hangry": "hunger/irritation",
|
||
"debuff.food_poisoning": "matförgiftning",
|
||
"debuff.doms": "träningsvärk",
|
||
"debuff.blisters": "skoskav",
|
||
"debuff.heavy_bag": "tungt köp",
|
||
"debuff.stuffed": "proppmätt",
|
||
"debuff.sweaty": "svettig och varm",
|
||
"hud.cash_short": "Kont",
|
||
"hud.missed_short": "Miss",
|
||
"result.penalty": "avdrag",
|
||
"result.lang_points": "språkpoäng",
|
||
"result.missed_short": "Missade",
|
||
"result.map": "karta",
|
||
"hud.approaching": "Tåget kör in om %.0f s - melodin spelar",
|
||
"hud.arriving": "Tåget rullar in…",
|
||
"hud.closing": "Dörrarna stängs - kliv på nu!",
|
||
"hud.leaving": "Tåget går…",
|
||
"hud.train_near": "Tåg på väg in!",
|
||
"map.level": "Nivå",
|
||
"map.xp": "XP",
|
||
"map.skill_points": "Skillpoäng",
|
||
"map.side": "Sidospår",
|
||
"map.party": "Sällskap",
|
||
"map.resume": "⟳ fortsätt (sparad seed)",
|
||
"map.locked": "Låst – klara föregående bana först.",
|
||
"map.hint": "Pilar: bana Enter: start L: ord T: skills I: garderob P: tel Esc",
|
||
"skills.title": "Skills 技",
|
||
"skills.to_next": "XP till nästa",
|
||
"skills.already": "Redan upplåst.",
|
||
"skills.unlocked": "Upplåst: %s",
|
||
"skills.need_points": "Kostar %d skillpoäng – gå upp i nivå genom att klara banor.",
|
||
"skills.need_req": "Kräver en tidigare skill i grenen.",
|
||
"skills.hint": "Pilar: välj Enter: lås upp Esc/T: tillbaka",
|
||
"items.title": "Garderob 持ち物",
|
||
"items.owned": "items",
|
||
"items.owned_short": "ägs",
|
||
"items.wearing": "bärs",
|
||
"items.none": "Inget än – köp i kioskerna (B) eller klara sidospår.",
|
||
"items.worn": "Du bär %s.",
|
||
"items.removed": "Du tog av %s.",
|
||
"items.total": "Totalt",
|
||
"items.hint": "Pilar: välj Enter: bär/ta av Esc/I: tillbaka",
|
||
"shop.title": "Butik",
|
||
"shop.owned": "Det har du redan.",
|
||
"shop.bought": "Köpt: %s",
|
||
"shop.too_expensive": "Du har inte råd.",
|
||
"shop.hint": "Pilar: välj Enter: köp Esc/B: stäng",
|
||
"hud.shop_prompt": "B: butik",
|
||
"result.level_up": "Nivå upp!",
|
||
"result.new_items": "Nytt",
|
||
"result.unlocked": "Upplåst",
|
||
"stat.speed": "fart",
|
||
"stat.thirst": "törst",
|
||
"stat.focus": "fokus",
|
||
"stat.toilet": "toa",
|
||
"stat.luck": "tur",
|
||
"slot.head": "huvud",
|
||
"slot.face": "ansikte",
|
||
"slot.body": "kropp",
|
||
"slot.feet": "fötter",
|
||
"slot.bag": "väska",
|
||
"effect.kana": "kan läsa kana",
|
||
"effect.fog": "+%d sikt",
|
||
"effect.landmarks": "landmärken på kartan",
|
||
"effect.free_gates": "gratis spärrar",
|
||
"effect.reveal": "karta: %s",
|
||
"effect.battery": "oändligt batteri"
|
||
}
|