diff --git a/index.html b/index.html index 61716fc..14d7123 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,13 @@ - + + + diff --git a/lang/fr.css b/lang/fr.css new file mode 100644 index 0000000..a6ac9d9 --- /dev/null +++ b/lang/fr.css @@ -0,0 +1,4 @@ +.button{width: 100px !important;} +#outsidePanel .button{width: 115px! important;} + +.eventPanel .button { width: 122px !important;} \ No newline at end of file diff --git a/lang/fr.js b/lang/fr.js index dca54b5..425f176 100644 --- a/lang/fr.js +++ b/lang/fr.js @@ -1 +1 @@ -_.setTranslation({"a shivering man approaches and attacks with surprising strength": "un homme tremblant s'approche et attaque avec une force surprenante", "the room is {0}": "la pi\u00e8ce est {0}", "punch twice as fast, and with even more force": "frapper deux fois plus vite, et avec plus de force", "The Nomad": "Le nomade", "more traps won't help now": "plus de pi\u00e8ge n'apportera rien de plus maintenant", "only a few die.": "seuls quelques uns meurent.", "mild": "ti\u00e8de", "after a skirmish they are driven away, but not without losses.": "ils sont repouss\u00e9s apr\u00e8s une escarmouche, mais pas sans pertes.", "it puts up little resistance before the knife.": "elle r\u00e9siste faiblement face au couteau.", "the body of a wanderer lies in a small cavern.": "le corps d'un vagabond repose dans une petite caverne.", "use meds": "utiliser un m\u00e9dicament", "steel's stronger than iron": "l'acier est plus dur que le fer", "something's in the store room": "il y'a quelque chose dans l'entrep\u00f4t", "strange noises can be heard through the walls": "de l'autre cot\u00e9 du mur s'\u00e9chappe des bruits \u00e9tranges ", "a destroyed village lies in the dust.": "Des ruines d'un village recouvert de poussi\u00e8res.", "save.": "sauvegarder.", "learned to make the most of food": "vous savez tirer partie un maximum de la nourriture", "buy teeth": "acheter des dents", "the sky is grey and the wind blows relentlessly": "le ciel est gris et le vents souffle implacablement", "the tracks disappear after just a few minutes.": "les empruntes disparaissent apr\u00e8s quelques minutes.", "a safe place in the wilds.": "Une place s\u00fbre dans la nature.", "fur": "fourrure", "buy scales": "acheter des \u00e9cailles", "the hunting lodge stands in the forest, a ways out of town": "la cabane de chasseur est construite \u00e0 la sortie du village", "leave": "partir", "the convoy can haul mostly everything": "le convoi peut transporter presque tout", "learned to strike faster without weapons": "appris \u00e0 attaquer plus vite sans arme", "ignore them": "les ignorer", "willing to talk about it, for a price.": "Elle veut bien en parler, mais \u00e7a a un prix.", "a beast, wilder than imagining, erupts out of the foliage": "une b\u00eate, incroyablement sauvage, surgit des feuillage", "builder stokes the fire": "L'ouvrier attise le feu", "the rickety cart will carry more wood from the forest": "la charrette d\u00e9labr\u00e9e aidera \u00e0 ramener plus de bois de la for\u00eat", "a ragged stranger stumbles through the door and collapses in the corner": "une \u00e9trang\u00e8re en loque rentre en titubant et s'effondre dans un coin", "the fight is short and bloody, but the beasts are repelled.": "le combat est bref et sanglant, mais les b\u00eates sont repouss\u00e9es.", "the wood is running out": "il n'y a bient\u00f4t plus de bois", "restart.": "recommencer.", "rot's been to work on it, and some of the pieces are missing.": "le corps est en pleine d\u00e9composition et il en manque une partie.", "workshop's finally ready. builder's excited to get to it": "l'atelier est enfin pr\u00eat. L'ouvri\u00e8re est impatiente de s'y mettre", "a trading post would make commerce easier": "un comptoir rendrait le commerce plus facile", "some wood is missing.": "il manque du bois.", "The Beggar": "Le mendiant", "the torch goes out": "la torche s\u2019\u00e9teint", "the sickness is cured in time.": "la maladie est soign\u00e9 \u00e0 temps.", "tannery goes up quick, on the edge of the village": "au bord du village, la tannerie se construit vite", "learned to fight quite effectively without weapons": "apprendre \u00e0 se battre de fa\u00e7on efficace sans arme", "leaves a pile of small teeth behind.": "il laisse une pile de petites dents derri\u00e8re lui.", "leave city": "quitter la cit\u00e9", "leave cave": "sortir de la cave", "a lone frog sits in the muck, silently.": "une grenouille solitaire est assise dans la vase, silencieuse.", "a gaunt man approaches, a crazed look in his eye": "un homme d\u00e9charn\u00e9 approche, ses yeux ont un regard d\u00e9ment", "A Destroyed Village": "Un village d\u00e9truit", "learned how to ignore the hunger": "vous savez ignorer la faim", "An Outpost": "Un avant poste", "explore": "explorer", "a pack of snarling beasts pours out of the trees.": "une meute de b\u00eates sort de la foret.", "punches do even more damage.": "les coups de points font plus de d\u00e9gats", "roaring": "flambant", "something's in there.": "il y'a quelque chose \u00e0 l\u2019int\u00e9rieur.", "a bundle of sticks lies just beyond the threshold, wrapped in coarse furs.": "quelques brindilles enroul\u00e9es d'une fourrure grossi\u00e8re sont pos\u00e9s sur le seuil de la porte.", "builder says she could make finer things, if she had the tools": "L'ouvri\u00e8re dit qu'elle pourrait faire des objets de meilleurs qualit\u00e9s, si elle avait les outils.", "learn scouting": "apprendre la reconnaissance", "share.": "partager.", "A Murky Swamp": "Un marais boueux", "scales": "\u00e9cailles", "a shot rings out, from somewhere in the long grass": "un tir retenti, quelque part dans les hautes herbes", "gather wood": "ramasser du bois", "A Scavenger": "Un pilleur", "the villagers hang the thief high in front of the store room.": "les villageois pendent le voleur devant l\u2019entrep\u00f4t.", "1 medicine": "1 m\u00e9dicament", "leaves some scraps of cloth behind.": "il laisse quelques vieux v\u00eatements derri\u00e8re lui.", "are you sure?": "\u00eates vous sur ?", "charcutier": "boucher", "a military perimeter is set up around the mine.": "un p\u00e9rim\u00e8tre s\u00e9curis\u00e9 a \u00e9t\u00e9 mis en place autour de la mine.", "trading post": "comptoir", "a wanderer arrives with an empty cart. says if she leaves with furs, she'll be back with more.": "une vagabonde arrive avec une charrette vide. elle dit que si elle peut emmener des fourrures, elle en ram\u00e8nera encore plus.", "in exchange, the wanderer offers his wisdom.": "en \u00e9change, il offrira un peu de sa sagesse.", "sulphur miner": "mineur de souffre", "warm": "douce", "stoke fire": "Attiser le feu", "A Strange Bird": "Un oiseau \u00e9trange", "leave town": "quitter la ville", "a strange looking bird speeds across the plains": "un oiseau \u00e9trange vole rapidement au dessus des plaines", "if the code is invalid, all data will be lost.": "si le code est incorrect, toutes les donn\u00e9es seront perdues.", "A Feral Terror": "Une terreur sauvage", "can't see what's inside.": "impossible de voir ce qu'il y'a \u00e0 l'int\u00e9rieur.", "a large beast charges out of the dark": "Une grande b\u00eate appara\u00eet dans l'obscurit\u00e9 en chargeant", "the stranger in the corner stops shivering. her breathing calms.": "l'\u00e9trang\u00e8re dans le coin arr\u00eate de tremble. sa respiration se calme.", "a small suburb lays ahead, empty houses scorched and peeling.": "devant, un petit lotissement. ses maisons br\u00fbl\u00e9es ou effondr\u00e9es.", "a wanderer arrives with an empty cart. says if he leaves with wood, he'll be back with more.": "un vagabond arrive avec une charrette vide. il dit que s'il peut emmener du bois, il en ram\u00e8nera encore plus.", " and ": " et ", "cured meat": "viande fum\u00e9e", "builder puts up a hut, out in the forest. says word will get around.": "l'ouvri\u00e8re construit une cabane dans la foret. Elle dit que \u00e7a se saura.", "learned how not to be seen": "vous savez comment ne pas \u00eatre vu", "punches do more damage": "les points font plus de d\u00e9gats", "some traps have been destroyed": "des pi\u00e8ges ont \u00e9t\u00e9 d\u00e9truits", "well armed men charge out of the forest, firing into the crowd.": "des hommes arm\u00e9s surgissent hors de la foret et tirent sur tout ce qui bouge.", "deep in the swamp is a moss-covered cabin.": "au centre du mar\u00e9cage, une cabane recouverte de mousse.", "app store.": "app store", "ignore it": "l'ignorer", "hot": "chaude", "he smiles warmly and asks for lodgings for the night.": "il souri chaleureusement et demande un abri pour la nuit.", "give 500": "en donner 500", "A Dark Room": "Une pi\u00e8ce sombre", "builder says leather could be useful. says the villagers could make it.": "l'ouvri\u00e8re dit que du cuir pourrait \u00eatre utile. elle dit que les villageois pourraient en fabriquer.", "craft:": "fabriquer:", "learned to be where they're not": "vous savez \u00eatre l\u00e0 o\u00f9 ils ne sont pas", "the remains of an old camp sits just inside the cave.": "a l'int\u00e9rieur de la grotte, les restes d'un ancien campement.", "soldiers patrol the perimeter, rifles slung over their shoulders.": "des soldats patrouillent dans le p\u00e9rim\u00e8tre, fusils pos\u00e9s sur leurs \u00e9paules.", "a small supply cache is hidden at the back of the cave.": "une petite cachette \u00e0 provision se trouve au fond de la cave.", "coal": "charbon", "can't tell what they're up to.": "impossible de comprendre ce qui se dit.", "enter": "entrer", "talk": "parler", "A Soldier": "Un soldat", "the man expresses his thanks and hobbles off.": "l'homme vous remercie et repart, boitillant.", "all the work of a previous generation is here.": "tout le travail d'une ancienne g\u00e9n\u00e9ration est l\u00e0.", "cold": "froide", "the iron mine is clear of dangers": "la mine de fer est s\u00fbre.", "the military presence has been cleared.": "la pr\u00e9sence militaire a \u00e9t\u00e9 n\u00e9ttoy\u00e9e.", "the fire is {0}": "le feu est {0}", "A Lonely Hut": "Une cabane solitaire", "iron's stronger than leather": "le fer est plus dur que le cuir", "bedrolls, torn and blackened, lay beneath a thin layer of dust.": "des sacs de couchage, d\u00e9chir\u00e9s et noircis, tra\u00eenent sous une mince couche de poussi\u00e8re.", "dodge attacks more effectively": "esquiver les attaques de fa\u00e7on plus efficace", "a madman attacks, screeching.": "un fou attaque un hurlant.", "lights off.": "lumi\u00e8res \u00e9teintes.", "learned to look ahead": "vous savez regarder plus loin", "the mine is now safe for workers.": "la mine est maintenant s\u00fbre pour les mineurs.", "hunter": "chasseur", "the coal mine is clear of dangers": "La mine de charbon est s\u00e9curis\u00e9e", "some weird glowing boxes he picked up on his travels.": "d'\u00e9trange boites lumineuses qu'il a ramass\u00e9 durant ses voyages.", "give 50": "donner 50", "a soldier, alerted, opens fire.": "un soldat, alert\u00e9, ouvre le feu.", "meat": "viande", "a terrible plague is fast spreading through the village.": "une terrible peste se propage rapidement dans le village.", "bone spear": "lance", "leather's not strong. better than rags, though.": "le cuir n'est pas tr\u00e8s r\u00e9sistant, mais c'est mieux que des chiffons.", "armourer": "armurier", "a small group arrives, all dust and bones.": "un petit groupe arrive, sale et affam\u00e9.", "a beggar arrives": "un mendiant arrive", "The Thief": "Le voleur", "the rest of the hospital is empty.": "le reste de l'hopital est vide.", "bits of meat": "des morceaux de viande", "go twice as far without eating": "aller deux fois plus loin sans manger", "the cask holds enough water for longer expeditions": "le tonneau contiendra assez d'eau pour des exp\u00e9ditions plus longues", "check traps": "v\u00e9rifier les pi\u00e8ges", "Plague": "La peste", "medicine": "m\u00e9dicament", "tannery": "tannerie", "no more room for huts.": "il n'y a plus de place pour des cabanes.", "a green cross barely visible behind grimy windows.": "une croix verte est a peine visible derri\u00e8re des rideaux d\u00e9pareill\u00e9s.", "a sick man hobbles up": "un homme arrive, boitillant", "cart": "charrette", "the wood has run out": "il n'y a plus de bois", "The Master": "Le ma\u00eetre", "a soldier opens fire from across the desert": "un soldat ouvre feu dans le desert", "go twice as far without drinking": "aller deux fois plus loin sans boire", "the villagers retreat to mourn the dead.": "les villageois rentrent et vont pleurer leurs morts", "A Modest Village": "Un village", "eat meat": "manger de la viande", "export or import save data, for backing up": "exporter ou importer vos donn\u00e9es de sauvegarde", "smokehouse": "fumoir", "vague shapes move, just out of sight.": "une forme indistincte se d\u00e9place dans l'ombre", "the earth here is split, as if bearing an ancient wound": "\u00e0 cet endroit, la terre s'ouvre en deux, comme une ancienne blessure", "the wanderer leaves, cart loaded with furs": "la vagabonde s'en va, la charrette charg\u00e9e de fourrure", "there are still supplies inside.": "il reste des provisions \u00e0 l'int\u00e9rieur.", "traps are more effective with bait.": "les pi\u00e8ges sont plus efficace avec des app\u00e2ts", "a sickness is spreading through the village.": "le village est contamin\u00e9 par une maladie", "a large creature attacks, claws freshly bloodied": "Une grande cr\u00e9ature attaque, les griffes d\u00e9goulinante de sang", "a second soldier joins the fight.": "un deuxi\u00e8me soldat rejoint le combat.", "attack": "attaquer", "turn her away": "la renvoyer", "not enough wood to get the fire going": "pas assez de bois pour alimenter le feu", "a stranger arrives in the night": "un \u00e9tranger arrive durant la nuit", "hut": "cabane", "trapper": "trappeur", "A Ruined Trap": "Un pi\u00e8ge d\u00e9truit", "steel": "acier", "the stranger is standing by the fire. she says she can help. says she builds things.": "l'\u00e9trang\u00e8re se tient pr\u00eat du feu. elle dit qu'elle peut aider. elle dit qu'elle sait construire des choses.", "the only hope is a quick death.": "le seul espoir est une mort rapide.", "iron": "fer", "light fire": "allumer le feu", "the stranger shivers, and mumbles quietly. her words are unintelligible.": "l'\u00e9trang\u00e8re tremble, marmonne quelques mots. ses mots sont inintelligible", "A Firelit Room": "Une pi\u00e8ce \u00e9clair\u00e9", "coal miner": "mineur de charbon", "all he has are some scales.": "quelques \u00e9cailles, toutes ses possessions.", "learned to predict their movement": "vous savez pr\u00e9dire leurs mouvement", "he begs for medicine.": "il supplie pour quelques m\u00e9dicaments.", "take": "prendre", "a nomad shuffles into view, laden with makeshift bags bound with rough twine.": "un nomade appara\u00eet, charg\u00e9 d'un sac de fortune ferm\u00e9 avec une corde rudimentaire.", "a convoy lurches in, equal parts worry and hope.": "un convoi arrive, plein de crainte et d'\u00e9spoir.", "the map uncovers a bit of the world": "la carte d\u00e9voile un petit morceau du monde", "the sounds stop.": "le bruit s\u2019arr\u00eate.", "rucksack": "gourde", "lights on.": "lumi\u00e8res allum\u00e9es.", "a torch to keep the dark away": "une torche pour repousser la nuit", "charm": "charme", "nothing": "rien", "Restart?": "Recommencer ?", "this is irreversible.": "Il n'y a pas de retour en arri\u00e8re possible.", "the town's booming. word does get around.": "la ville s'agrandie, le mot se passe.", "iron miner": "mineur de fer", "give 100": "donner 100", "Export": "Exporter", "A Sniper": "Un sniper", "the mysterious wanderer returns, cart piled high with wood.": "le myst\u00e9rieux vagabond reviens, la charrette d\u00e9bordante de bois.", "the plague is kept from spreading.": "La peste ne se propage plus.", "bait": "app\u00e2t", "The Sulphur Mine": "La mine de souffre", "a thief is caught": "un voleur est attrap\u00e9", "rotting reeds rise out of the swampy earth.": "des racines pourrissantes ressortent des mar\u00e9cages.", "the grass thrashes wildly as a huge lizard pushes through": "l'herbe bouge bizarrement et un \u00e9norme l\u00e9zard surgit", "medicine is needed immediately.": "des m\u00e9dicaments sont n\u00e9cessaires imm\u00e9diatement.", "A Crashed Ship": "Un vaisseau \u00e9cras\u00e9", "the town lies abandoned, its citizens long dead": "la ville est totalement abandonn\u00e9e. ses citoyens mort depuis longtemps", "give 1 medicine": "donner 1 m\u00e9dicament", "the old compass is dented and dusty, but it looks to work.": "le vieux compas est ab\u00eem\u00e9 et rouill\u00e9, mais il semble encore fonctionner", "wood": "bois", "lodge": "cabane de chasseur", "a scout stops for the night": "une \u00e9claireuse s\u2019arr\u00eate pour la nuit", "a gunshot rings through the trees.": "une d\u00e9tonation retenti dans la for\u00eat.", "freezing": "gel\u00e9e", "some of the traps have been torn apart.": "des pi\u00e8ges ont \u00e9t\u00e9 mis en pi\u00e8ces", "compass": "compas", "builder says it'd be useful to have a steady source of bullets": "l'ouvri\u00e8re dit que \u00e7a pourrait \u00eatre int\u00e9ressant d'avoir une source d'approvisionnement constante en munitions", "a mysterious wanderer arrives": "un myst\u00e9rieux vagabond arrive", "An Old House": "Une vieille maison", "leather": "cuir", "investigate": "enqu\u00eater", "the cave narrows a few feet in.": "la grotte se r\u00e9tr\u00e9cit apr\u00e8s quelques pas \u00e0 l'int\u00e9rieur.", "sword is sharp. good protection out in the wilds.": "l'\u00e9p\u00e9e est tranchante, une bonne protection dans la nature.", "the tentacular horror is defeated.": "l'horreur tentaculaire est vaincue.", "the steel is strong, and the blade true.": "l'acier est r\u00e9sistant, et la larme magnifique", "A Military Raid": "Un raid militaire", "the walls are moist and moss-covered": "les murs sont humides et recouverts de moisissures", "a giant lizard shambles forward": "Un l\u00e9zard gigantesque se tra\u00eene vers vous", "close": "fermer", "strange scales": "des \u00e9cailles \u00e9tranges", "learned to throw punches with purpose": "appris \u00e0 donner des coups de points avec un objectif", "spare him": "l'\u00e9pargner", "a beggar arrives.": "un mendiant arrive.", "the sulphur mine is clear of dangers": "la mine de souffre est maintenant sans danger", "weapons": "armes", "the man is thankful.": "l'homme est reconnaissant.", "broken streetlights stand, rusting. light hasn't graced this place in a long time.": "des r\u00e9verb\u00e8res cass\u00e9s ont rouill\u00e9s. Cet endroit est d\u00e9sert\u00e9 depuis longtemps.", "shares what he knows about sneaking before he goes.": "il partage ses astuces pour \u00eatre discret avant de s'en aller.", "import": "importer", "A Shivering Man": "Un homme tremblant", "the rest bury them.": "ils sont enterr\u00e9s par les survivants.", "smoldering": "fumant", "the ground is littered with small teeth": "le sol est jonch\u00e9 de petites dents", "the nest of a large animal lies at the back of the cave.": "le nid d'un grand animal se trouve au fond de la cave.", "A Tiny Village": "Un petit village", "agree": "accepter", "the double doors creak endlessly in the wind.": "le grincement des doubles portes battantes est port\u00e9 par le vent.", "got it": "compris", "a cave lizard attacks": "un l\u00e9zard attaque", "l armour": "c amure", "A Ruined City": "Une ville en ruine", "Noises": "Bruits", "can't tell what left it here.": "impossible de savoir ce qui \u00e0 fait \u00e7a.", "cancel": "annuler", "put the save code here.": "copier le code ici.", "hang him": "le pendre", "inside, the remains of its victims are everywhere.": "a l'int\u00e9rieur, les restes de ses victimes sont partout.", "this spear's not elegant, but it's pretty good at stabbing": "cette lance n'est pas tr\u00e8s jolie, mais elle est tr\u00e8s bonne pour frapper", "land blows more often": "mieux reconna\u00eetre les mouvements", "gatherer": "ramasseur", "the night is silent.": "la nuit est silencieuse.", "never go thirsty again": "plus jamais soif", "a small cache of supplies is tucked inside a rusting locker.": "quelques objets sont cach\u00e9s dans un casier rouill\u00e9.", "learned to love the dry air": "vous savez appr\u00e9cier l'air sec", "workshop": "atelier", "see farther": "voir plus loin", "the ground is littered with scraps of cloth": "le sol est jonch\u00e9 de morceaux de v\u00eatements", "The Coal Mine": "Une mine de charbon", "A Large Village": "A grand village", "precision": "pr\u00e9cision", "the sickness spreads through the village.": "la maladie se repend dans le village.", "won't say from where he came, but it's clear that he's not staying.": "il ne dit pas d'o\u00f9 il vient, mais il est clair qu'il ne restera pas.", "the wanderer takes the charm and nods slowly.": "le vagabond prend le charme et hoche lentement la t\u00eate.", "the mysterious wanderer returns, cart piled high with furs.": "la myst\u00e9rieuse vagabonde revient, la charrette d\u00e9bordante de fourrures.", "Export / Import": "Exporter/Importer", "steelworker": "sid\u00e9rurgiste", "learned to swing weapons with force": "vous savez manier vos armes avec plus de force", "a crudely made charm": "un charme rudimentaire", "the streets are empty.": "les rues sont vides.", "large prints lead away, into the forest.": "de larges empruntes vont vers la for\u00eat.", "not enough {0}": "pas assez de {0}", "a startled beast defends its home": "Une b\u00eate effray\u00e9e d\u00e9fend son territoire", "his time here, now, is his penance.": "sa pr\u00e9sence ici est sa p\u00e9nitence.", "where the windows of the schoolhouse aren't shattered, they're blackened with soot.": "les quelques fen\u00eatres de l'\u00e9cole qui n'ont pas \u00e9t\u00e9 bris\u00e9es sont recouvertes de suie.", "the man says he's grateful. says he won't come around any more.": "l'homme dit \u00eatre reconnaissant. Il dit qu'il ne reviendra plus.", "buy map": "acheter une carte", "scratching noises can be heard from the store room.": "des grattements semblent provenir de l'entrep\u00f4t.", "asks for any spare furs to keep him warm at night.": "il demande quelques morceaux de fourrure pour lui tenir chaud la nuit.", "A Raucous Village": "Un village bruyant", "the beggar expresses his thanks.": "le mendiant vous remercie chaleureusement.", "the {0} is dead.": "le {0} est mort", "carrying more means longer expeditions to the wilds": "porter plus signifie des exp\u00e9ditions plus longue dans les contr\u00e9s sauvages", "Room": "Pi\u00e8ce", "a swamp festers in the stagnant air.": "un mar\u00e9cage empeste.", "armoury's done, welcoming back the weapons of the past.": "l'armurerie est finie, r\u00e9cup\u00e9rant avec plaisir les armes d'un temps pass\u00e9.", "A Damp Cave": "Une grotte humide", "camp fires burn by the entrance to the mine.": "un feu de camps br\u00fble a l'entr\u00e9e de la mine.", "the mouth of the cave is wide and dark.": "l'entr\u00e9e de la grotte est grande et sombre.", "builder's not sure he's to be trusted.": "l'ouvri\u00e8re ne crois pas qu'il soit de confiance.", "evasion": "esquive", "buy bait": "acheter des app\u00e2ts", "builder": "ouvrier", "no": "non", "scattered teeth": "des dents", "buy:": "acheter:", "a weathered family takes up in one of the huts.": "une famille \u00e9puis\u00e9e s'intalle dans une cabane.", "stores": "entrep\u00f4t", "now the nomads have a place to set up shop, they might stick around a while": "maintenant que les nomades ont un endroit pour faire du commerce, ils resteront ici quelques temps", "the footsteps stop.": "les bruits de pas s'arr\u00eatent.", "A Man-Eater": "Un mangeur d'homme", "bring your friends.": "Invitez vos amis.", "The Sick Man": "Le malade", "yes": "oui", "the traps contain ": "les pi\u00e8ges contiennent ", "the old tower seems mostly intact.": "la vieille tour \u00e0 l'air globalement intacte.", "builder says she can make traps to catch any creatures might still be alive out there": "l'ouvri\u00e8re dit qu'elle peut fabriquer des pi\u00e8ges pour attraper des animaux qui pourraient \u00eatre toujours vivant dehors", "the path leads to an abandoned mine": "le chemin m\u00e8ne \u00e0 une mine abandonn\u00e9e", "the nights are rent with screams.": "les nuits sont remplies de cris.", "buy compass": "acheter un compas", "this waterskin'll hold a bit of water, at least": "cette gourde retiendra un peu d'eau, au moins", "turn him away": "le renvoyer", "The Mysterious Wanderer": "Le myst\u00e9rieux vagabond", "A Huge Lizard": "Un \u00e9norme l\u00e9zard", "a man joins the fight": "Une personne rejoint le combat", "A Deserted Town": "Une ville d\u00e9serte", "some weird metal he picked up on his travels.": "un m\u00e9tal \u00e9trange qu'il a ramass\u00e9 durant ses voyages.", "restore more health when eating": "r\u00e9cup\u00e9rer plus de vie en mangeant", "A Snarling Beast": "Une b\u00eate qui grogne", "Share": "Partager", "a haze falls over the village as the steelworks fires up": "une brume tombe sur le village lorsque l\u2019aci\u00e9rie d\u00e9marre", "an old iron mine sits here, tools abandoned and left to rust.": "ici se trouve une vieille mine de fer, les outils abandonn\u00e9s, bon pour rouiller.", "an old wanderer sits inside, in a seeming trance.": "\u00e0 l'int\u00e9rieur, un vieux vagabond est assis. il \u00e0 l'air en trance.", "builder says the villagers could make steel, given the tools": "l'ouvri\u00e8re dit qu'avec les bon outils, les villageois pourraient fabriquer de l'acier", "continue": "continuer", "flickering": "vacillant", "only the chief remains.": "seul le chef reste.", "melee weapons deal more damage": "les armes de m\u00eal\u00e9s font plus de d\u00e9g\u00e2ts", "save this.": "sauvegarder.", "this old mine is not abandoned": "cette vieille mine n'est pas abandonn\u00e9e", "a fight, maybe.": "un combat, peut-\u00eatre.", "dead": "\u00e9teind", "the torch sputters and dies in the damp air": "la torche cr\u00e9pite une derni\u00e8re fois et s\u2019\u00e9teint dans l'air humide.", "export": "exporter", "not far from the village lies a large beast, its fur matted with blood.": "pas loin du village g\u00eet une b\u00eate agonisante, sa fourrure pleine de sang.", "the darkness is absolute": "l\u2019obscurit\u00e9 est compl\u00e8te", "ambushed on the street.": "une embuscade dans la rue.", "there is nothing else here.": "il n'y a rien d'autre ici.", "builder says she can make a cart for carrying wood": "l\u2019ouvri\u00e8re dit qu'elle peut construire un charrette pour ramasser du bois", "trap": "pi\u00e8ge", "go home": "rentrer", "A Silent Forest": "Une for\u00eat silencieuse", "builder's not sure she's to be trusted.": "l'ouvri\u00e8re ne crois pas qu'elle soit de confiance.", "an old case is wedged behind a rock, covered in a thick layer of dust.": "une vieille valise est pos\u00e9e contre un rocher. elle est recouverte d'une \u00e9paisse couche de poussi\u00e8re.", "the point is made. in the next few days, the missing supplies are returned.": "le message est pass\u00e9. Les biens manquant sont rendus dans les jours qui suivent.", "the plague rips through the village.": "la peste d\u00e9cime tout le village", "an old wanderer arrives.": "un vieux vagabond arrive.", "the wanderer leaves, cart loaded with wood": "le vagabond s'en va, la charrette charg\u00e9e de bois", "a man hobbles up, coughing.": "un homme arrive. boitillant et toussant.", "The Scout": "L'\u00e9claireur", "leaves a pile of small scales behind.": "il laisse une pile de petites \u00e9cailles derri\u00e8re lui.", "better avoid conflict in the wild": "mieux \u00e9viter les conflits dans un environnement hostile", "time to move on.": "il est temps de repartir", "the ground is littered with small scales": "le sol est jonch\u00e9 de petites \u00e9cailles", "burning": "cr\u00e9pitant", "a nomad arrives, looking to trade": "un nomade arrive, pr\u00eat \u00e0 faire du troc", "black powder and bullets, like the old days.": "de la poudre noir et des balles, comme a l'\u00e9poque.", "restart the game?": "recommencer la partie ?", "inside the hut, a child cries.": "\u00e0 l'int\u00e9rieur de la cabane, un enfant pleur.", "a scavenger draws close, hoping for an easy score": "Un pilleur s'approche, esp\u00e9rant un cible facile", "Sickness": "Maladie", "build:": "construire:", "A Beast Attack": "Une attaque de b\u00eate", "go inside": "entrer", "torch": "torche", "a beast stands alone in an overgrown park.": "au milieu d'un parc se trouve une b\u00eate.", "he leaves a reward.": "il laisse une r\u00e9compense.", "the scout says she's been all over.": "l'\u00e9claireuse dit qu'elle a \u00e9t\u00e9 partout.", "cloth": "v\u00eatements", "squeeze": "serrer", "scraps of fur": "des morceaux de fourrure", "a scavenger waits just inside the door.": "un pillard attend de l'autre cot\u00e9 de la porte.", "the wind howls outside": "le vent siffle dehors", "the wagon can carry a lot of supplies": "le chariot peut transporter plus de provisions", "builder finishes the smokehouse. she looks hungry.": "L'ouvri\u00e8re a fini le fumoir. elle a l'air affam\u00e9e.", "a snarling beast leaps out of the underbrush": "des b\u00eates surgissent des buissons", "the forest is silent.": "la foret est silencieuse", "5 medicine": "5 m\u00e9dicaments", "do nothing": "ne rien faire", "A Gaunt Man": "Un homme d\u00e9charn\u00e9", "say goodbye": "dire au revoir", "{0} per {1}s": "{0} toutes les {1}s", "track them": "les suivre", "run": "courir", "he speaks of once leading the great fleets to fresh worlds.": "il raconte qu'il fut un temps ou il menait la grande flotte en qu\u00eate d'un monde meilleur.", "builder says there are more wanderers. says they'll work, too.": "l'ouvri\u00e8re dit qu'il y'a d'autres vagabonds dehors. elle dit qu'ils travailleront. eux aussi.", "an old wanderer arrives": "un vieux vagabond arrive", "through the walls, shuffling noises can be heard.": "a travers le murs, on peut entendre quelques bruits \u00e9touff\u00e9s ", "go back inside": "rentrer \u00e0 l\u2019int\u00e9rieur", "the man swallows the medicine eagerly": "l'homme avale le m\u00e9dicament avidement", "the days are spent with burials.": "les enterrements s\u2019encha\u00eenent durant des jours.", "more traps to catch more creatures": "plus de pi\u00e8ges pour attraper plus d'animaux", "the light from the fire spills from the windows, out into the dark": "la lumi\u00e8re du feu se repend \u00e0 travers la a fen\u00eatre, dehors dans la nuit", "tell him to leave": "lui dire de partir", "dry brush and dead branches litter the forest floor": "des buissons secs et des branches mortes recouvre le sol de la for\u00eat", "tattered cloth": "des v\u00eatements", "can't read the words.": "impossibles de d\u00e9chiffrer les mots.", "tanner": "tanneur", "should cure the meat, or it'll spoil. builder says she can fix something up.": "il faudrait fumer la viande pour \u00e9viter qu'elle pourrisse. L'ouvri\u00e8re dit qu'elle pourra bricoler quelque chose.", "or migrating computers": "pour sauver votre partie ou changer d'ordinateur", "teeth": "dent", "villagers could help hunt, given the means": "les villageois pourraient aider pour la chasse, si on leur donne les moyens", "the beast is dead.": "la b\u00eate est morte.", "The Iron Mine": "La mine de fer"}); +_.setTranslation({"water tank": "tonneau", "a shivering man approaches and attacks with surprising strength": "un homme tremblant s'approche et attaque avec une force surprenante", "the room is {0}": "la pi\u00e8ce est {0}", "punch twice as fast, and with even more force": "frapper deux fois plus vite, et avec plus de force", "The Nomad": "Le nomade", "more traps won't help now": "plus de pi\u00e8ge n'apportera rien de plus maintenant", "only a few die.": "seuls quelques uns meurent.", "mild": "ti\u00e8de", "bait": "app\u00e2t", "after a skirmish they are driven away, but not without losses.": "ils sont repouss\u00e9s apr\u00e8s une escarmouche, mais pas sans pertes.", "a masked soldier rounds the corner, gun drawn": "un soldat masqu\u00e9 appara\u00eet a un croisement, l'arme au poing", "it puts up little resistance before the knife.": "elle r\u00e9siste faiblement face au couteau.", "the body of a wanderer lies in a small cavern.": "le corps d'un vagabond repose dans une petite caverne.", "use meds": "se soigner", "steel's stronger than iron": "l'acier est plus dur que le fer", "lift off": "d\u00e9coller", "not enough alien alloy": "pas assez de carburant extra-terrestre", "the soldier is dead": "le soldat est mord", "the footsteps stop.": "les bruits de pas s'arr\u00eatent.", "something's in the store room": "il y'a quelque chose dans l'entrep\u00f4t", "embark": "partir", "scout": "\u00e9claireur", "a destroyed village lies in the dust.": "Des ruines d'un village recouvert de poussi\u00e8res.", "the trees yield to dry grass. the yellowed brush rustles in the wind.": "quelques arbres entour\u00e9s d'herbes s\u00e8ches et jauni, bruissant sous le vent", "save.": "sauvegarder.", "total score: {0}": "score total: {0}", "learned to make the most of food": "vous savez tirer partie un maximum de la nourriture", "blast": "tirer (lazer)", "the sky is grey and the wind blows relentlessly": "le ciel est gris et le vents souffle implacablement", "supplies:": "\u00e9quipement:", "the feral terror is dead": "la terreur sauvage est morte", "the tracks disappear after just a few minutes.": "les empruntes disparaissent apr\u00e8s quelques minutes.", "a safe place in the wilds.": "Un endroit s\u00fbr dans la nature.", "time to move on.": "il est temps de repartir", "buy scales": "acheter des \u00e9cailles", "the hunting lodge stands in the forest, a ways out of town": "la cabane de chasseur est construite \u00e0 la sortie du village", "leave": "partir", "the convoy can haul mostly everything": "le convoi peut transporter presque tout", "learned to strike faster without weapons": "appris \u00e0 attaquer plus vite sans arme", "an old house remains here, once white siding yellowed and peeling.": "une vielle maison est toujours l\u00e0. sa peinture, \u00e0 l'origine blanche, est maintenant jaune et \u00e9caill\u00e9e.", "ignore them": "les ignorer", "willing to talk about it, for a price.": "Elle veut bien en parler, mais \u00e7a a un prix.", "a beast, wilder than imagining, erupts out of the foliage": "une b\u00eate, incroyablement sauvage, surgit des feuillage", "go home": "rentrer", "A Murky Swamp": "Un marais boueux", "a ragged stranger stumbles through the door and collapses in the corner": "une \u00e9trang\u00e8re en loque rentre en titubant et s'effondre dans un coin", "the fight is short and bloody, but the beasts are repelled.": "le combat est bref et sanglant, mais les b\u00eates sont repouss\u00e9es.", "the wood is running out": "il n'y a bient\u00f4t plus de bois", "restart.": "recommencer.", "rot's been to work on it, and some of the pieces are missing.": "le corps est en pleine d\u00e9composition et il en manque une partie.", "workshop's finally ready. builder's excited to get to it": "l'atelier est enfin pr\u00eat. L'ouvri\u00e8re est impatiente de s'y mettre", "a trading post would make commerce easier": "un comptoir rendrait le commerce plus facile", "not enough fur.": "fourrure insuffisante.", "some wood is missing.": "du bois a disparu.", "perks:": "avantages:", "the torch goes out": "la torche s\u2019\u00e9teint", "starvation sets in": "la famine s'installe", "tannery goes up quick, on the edge of the village": "au bord du village, la tannerie se construit vite", "learned to fight quite effectively without weapons": "apprendre \u00e0 se battre de fa\u00e7on efficace sans arme", "leaves a pile of small teeth behind.": "il laisse une pile de petites dents derri\u00e8re lui.", "leave city": "quitter la cit\u00e9", "leave cave": "sortir de la cave", "hp: {0}/{1}": "vie: {0}/{1}", "a lone frog sits in the muck, silently.": "une grenouille solitaire est assise dans la vase, silencieuse.", "a gaunt man approaches, a crazed look in his eye": "un homme d\u00e9charn\u00e9 approche, ses yeux ont un regard d\u00e9ment", "A Destroyed Village": "Un village d\u00e9truit", "learned how to ignore the hunger": "vous savez ignorer la faim", "punch": "coup de poing", "water": "eau", "An Outpost": "Un avant poste", "explore": "explorer", "a pack of snarling beasts pours out of the trees.": "une meute de b\u00eates sort de la foret.", "punches do even more damage.": "les coups de points font plus de d\u00e9gats", "roaring": "flambant", "gatherer": "ramasseur", "a bundle of sticks lies just beyond the threshold, wrapped in coarse furs.": "quelques brindilles enroul\u00e9es d'une fourrure grossi\u00e8re sont pos\u00e9s sur le seuil de la porte.", "builder says she could make finer things, if she had the tools": "L'ouvri\u00e8re dit qu'elle pourrait faire des objets de meilleurs qualit\u00e9s, si elle avait les outils.", "soldier": "soldat", "learn scouting": "apprendre la reconnaissance", "share.": "partager.", "A Murky Swamp": "Un marais boueux", "iron sword": "\u00e9p\u00e9e en fer", "scales": "\u00e9cailles", "the grasses thin. soon, only dust remains.": "l'herbe se rar\u00e9fie. Il ne reste bient\u00f4t plus qu'une terre poussi\u00e9reuse.", "a shot rings out, from somewhere in the long grass": "un tir retenti, quelque part dans les hautes herbes", "gather wood": "ramasser du bois", "A Scavenger": "Un pilleur", "the villagers hang the thief high in front of the store room.": "les villageois pendent le voleur devant l\u2019entrep\u00f4t.", "eye for an eye seems fair.": "\u0153il pour \u0153il, dent pour dent, cela semble \u00e9quitable.", "1 medicine": "1 m\u00e9dicament", "feral terror": "terreur sauvage", "leaves some scraps of cloth behind.": "il laisse quelques vieux v\u00eatements derri\u00e8re lui.", "are you sure?": "\u00eates vous sur ?", "charcutier": "boucher", "a military perimeter is set up around the mine.": "un p\u00e9rim\u00e8tre s\u00e9curis\u00e9 a \u00e9t\u00e9 mis en place autour de la mine.", "trading post": "comptoir", "a wanderer arrives with an empty cart. says if she leaves with furs, she'll be back with more.": "une vagabonde arrive avec une charrette vide. elle dit que si elle peut emmener des fourrures, elle en ram\u00e8nera encore plus.", "in exchange, the wanderer offers his wisdom.": "en \u00e9change, il offrira un peu de sa sagesse.", "sulphur miner": "mineur de souffre", "warm": "douce", "stoke fire": "Attiser le feu", "A Strange Bird": "Un oiseau \u00e9trange", "shoot": "tirer (fusil)", "none": "aucune", "leave town": "quitter la ville", "a strange looking bird speeds across the plains": "un oiseau \u00e9trange vole rapidement au dessus des plaines", "linger": "s'attarder", "take:": "prendre:", "strange bird": "oiseau \u00e9trange", "if the code is invalid, all data will be lost.": "si le code est incorrect, toutes les donn\u00e9es seront perdues.", "A Feral Terror": "Une terreur sauvage", "can't see what's inside.": "impossible de voir ce qu'il y'a \u00e0 l'int\u00e9rieur.", "a large beast charges out of the dark": "Une grande b\u00eate appara\u00eet dans l'obscurit\u00e9 et charge", "salvage": "r\u00e9cup\u00e9rer", "the stranger in the corner stops shivering. her breathing calms.": "l'\u00e9trang\u00e8re dans le coin arr\u00eate de tremble. sa respiration se calme.", "a small suburb lays ahead, empty houses scorched and peeling.": "devant, un petit lotissement. ses maisons br\u00fbl\u00e9es ou effondr\u00e9es.", "a wanderer arrives with an empty cart. says if he leaves with wood, he'll be back with more.": "un vagabond arrive avec une charrette vide. il dit que s'il peut emmener du bois, il en ram\u00e8nera encore plus.", "gaunt man": "homme d\u00e9charn\u00e9", " and ": " et ", "cured meat": "viande fum\u00e9e", "builder puts up a hut, out in the forest. says word will get around.": "l'ouvri\u00e8re construit une cabane dans la foret. Elle dit que \u00e7a se saura.", "learned how not to be seen": "vous savez comment ne pas \u00eatre vu", "punches do more damage": "les points font plus de d\u00e9gats", "some traps have been destroyed": "des pi\u00e8ges ont \u00e9t\u00e9 d\u00e9truits", "well armed men charge out of the forest, firing into the crowd.": "des hommes arm\u00e9s surgissent hors de la foret et tirent sur tout ce qui bouge.", "deep in the swamp is a moss-covered cabin.": "au centre du mar\u00e9cage, une cabane recouverte de mousse.", "app store.": "app store", "An Old Starship": "Un ancien vaisseau spatial", "ignore it": "l'ignorer", "hot": "chaude", "upgrade engine": "am\u00e9liorer le moteur", "give 500": "en donner 500", "A Dark Room": "Une pi\u00e8ce sombre", "builder says leather could be useful. says the villagers could make it.": "l'ouvri\u00e8re dit que du cuir pourrait \u00eatre utile. elle dit que les villageois pourraient en fabriquer.", "craft:": "fabriquer:", "Iron Mine": "Mine :de fer", "learned to be where they're not": "vous savez \u00eatre l\u00e0 o\u00f9 ils ne sont pas", "the remains of an old camp sits just inside the cave.": "a l'int\u00e9rieur de la grotte, les restes d'un ancien campement.", "The Village": "Le village", "snarling beast": "b\u00eate qui grogne", "soldiers patrol the perimeter, rifles slung over their shoulders.": "des soldats patrouillent dans le p\u00e9rim\u00e8tre, fusils pos\u00e9s sur leurs \u00e9paules.", "strange noises can be heard through the walls": "de l'autre cot\u00e9 du mur s'\u00e9chappe des bruits \u00e9tranges ", "coal": "charbon", "Stratosphere": "Stratosph\u00e8re", "man-eater": "mangeur d'homme", "can't tell what they're up to.": "impossible de comprendre ce qui se dit.", "enter": "entrer", "Ship": "Vaisseau", "talk": "parler", "A Soldier": "Un soldat", "the man expresses his thanks and hobbles off.": "l'homme vous remercie et repart, boitillant.", "all the work of a previous generation is here.": "tout le travail d'une ancienne g\u00e9n\u00e9ration est l\u00e0.", "cold": "froide", "the iron mine is clear of dangers": "la mine de fer est s\u00fbre.", "the military presence has been cleared.": "la pr\u00e9sence militaire a \u00e9t\u00e9 n\u00e9ttoy\u00e9e.", "A Crashed Starship": "Un vaisseau spatial \u00e9cras\u00e9", "the fire is {0}": "le feu est {0}", "A Lonely Hut": "Une cabane solitaire", "buy teeth": "acheter des dents", "a small supply cache is hidden at the back of the cave.": "une petite cachette \u00e0 provision se trouve au fond de la cave.", "iron's stronger than leather": "le fer est plus dur que le cuir", "bedrolls, torn and blackened, lay beneath a thin layer of dust.": "des sacs de couchage, d\u00e9chir\u00e9s et noircis, tra\u00eenent sous une mince couche de poussi\u00e8re.", "dodge attacks more effectively": "esquiver les attaques de fa\u00e7on plus efficace", "hull: ": "bouclier:", "a madman attacks, screeching.": "un fou attaque un hurlant.", "lights off.": "lumi\u00e8res \u00e9teintes.", "learned to look ahead": "vous savez regarder plus loin", "the mine is now safe for workers.": "la mine est maintenant s\u00fbre pour les mineurs.", "Coal Mine": "Mine de charbon", "hunter": "chasseur", "the coal mine is clear of dangers": "La mine de charbon est s\u00e9curis\u00e9e", "some weird glowing boxes he picked up on his travels.": "d'\u00e9trange boites lumineuses qu'il a ramass\u00e9 durant ses voyages.", "give 50": "donner 50", "wagon": "chariot", "An Old House": "Une vieille maison", "a soldier, alerted, opens fire.": "un soldat, alert\u00e9, ouvre le feu.", "meat": "viande", "a terrible plague is fast spreading through the village.": "une terrible peste se propage rapidement dans le village.", "the gaunt man is dead": "l'homme d\u00e9charn\u00e9 est mort.", "bone spear": "lance", "trap": "pi\u00e8ge", "armourer": "armurier", "a small group arrives, all dust and bones.": "un petit groupe arrive, sale et affam\u00e9.", "weight": "poids", "torch": "torche", "The Thief": "Le voleur", "the rest of the hospital is empty.": "le reste de l'hopital est vide.", "bits of meat": "des morceaux de viande", "go twice as far without eating": "aller deux fois plus loin sans manger", "the plague is kept from spreading.": "La peste ne se propage plus.", "the cask holds enough water for longer expeditions": "le tonneau contiendra assez d'eau pour des exp\u00e9ditions plus longues", "check traps": "v\u00e9rifier les pi\u00e8ges", "Plague": "La peste", "medicine": "m\u00e9dicament", "tannery": "tannerie", "no more room for huts.": "il n'y a plus de place pour des cabanes.", "the meat has run out": "il n'y a plus de viande", "a green cross barely visible behind grimy windows.": "une croix verte est a peine visible derri\u00e8re des rideaux d\u00e9pareill\u00e9s.", "a sick man hobbles up": "un homme arrive, boitillant", "An Abandoned Town": "Une ville abandonn\u00e9e", "cart": "charrette", "the wood has run out": "il n'y a plus de bois", "the compass points north.": "le compas indique le nord.", "The Master": "Le ma\u00eetre", "thrust": "ba\u00efonnette", "a soldier opens fire from across the desert": "un soldat ouvre feu dans le desert", "go twice as far without drinking": "aller deux fois plus loin sans boire", "the villagers retreat to mourn the dead.": "les villageois rentrent et vont pleurer leurs morts", "A Modest Village": "Un village", "A Damp Cave": "Une grotte humide", "swing": "coup d'\u00e9p\u00e9e (fer)", "export or import save data, for backing up": "exporter ou importer vos donn\u00e9es de sauvegarde", "smokehouse": "fumoir", "vague shapes move, just out of sight.": "une forme indistincte se d\u00e9place dans l'ombre", "Wanderer": "Vagabond", "the earth here is split, as if bearing an ancient wound": "\u00e0 cet endroit, la terre s'ouvre en deux, comme une ancienne blessure", "barbarian": "barbare", "the wanderer leaves, cart loaded with furs": "la vagabonde s'en va, la charrette charg\u00e9e de fourrure", "there are still supplies inside.": "il reste des provisions \u00e0 l'int\u00e9rieur.", "traps are more effective with bait.": "les pi\u00e8ges sont plus efficace avec des app\u00e2ts", "a sickness is spreading through the village.": "le village est contamin\u00e9 par une maladie", "tangle": "bola", "a large creature attacks, claws freshly bloodied": "Une grande cr\u00e9ature attaque, les griffes d\u00e9goulinante de sang", "the rickety cart will carry more wood from the forest": "la charrette d\u00e9labr\u00e9e aidera \u00e0 ramener plus de bois de la for\u00eat", "builder just shivers": "L'ouvri\u00e8re \u00e0 trop froid", "a second soldier joins the fight.": "un deuxi\u00e8me soldat rejoint le combat.", "attack": "attaquer", "go inside": "entrer", "turn her away": "la renvoyer", "reinforce hull": "renforcer les bouclier", "not enough wood to get the fire going": "pas assez de bois pour alimenter le feu", "a stranger arrives in the night": "un \u00e9tranger arrive durant la nuit", "hut": "cabane", "trapper": "trappeur", "rifle": "fusil", "A Ruined Trap": "Un pi\u00e8ge d\u00e9truit", "steel": "acier", "the stranger is standing by the fire. she says she can help. says she builds things.": "l'\u00e9trang\u00e8re se tient pr\u00eat du feu. elle dit qu'elle peut aider. elle dit qu'elle sait construire des choses.", "the only hope is a quick death.": "le seul espoir est une mort rapide.", "score for this game: {0}": "score de la partie: {0}", "the lizard is dead": "le l\u00e9zard est mort", "iron": "fer", "the compass points east.": "le compas indique l'est.", "light fire": "allumer le feu", "the stranger shivers, and mumbles quietly. her words are unintelligible.": "l'\u00e9trang\u00e8re tremble, marmonne quelques mots. ses mots sont inintelligible", "A Firelit Room": "Une pi\u00e8ce \u00e9clair\u00e9", "The Beggar": "Le mendiant", "A Destroyed Village": "Un village d\u00e9truit", "coal miner": "mineur de charbon", "all he has are some scales.": "quelques \u00e9cailles, toutes ses possessions.", "learned to predict their movement": "vous savez pr\u00e9dire leurs mouvement", "the nights are rent with screams.": "les nuits sont remplies de cris.", "take": "prendre", "the scavenger is dead": "le voleur est mort.", "a nomad shuffles into view, laden with makeshift bags bound with rough twine.": "un nomade appara\u00eet, charg\u00e9 d'un sac de fortune ferm\u00e9 avec une corde rudimentaire.", "a convoy lurches in, equal parts worry and hope.": "un convoi arrive, plein de crainte et d'\u00e9spoir.", "the map uncovers a bit of the world": "la carte d\u00e9voile un petit morceau du monde", "the sounds stop.": "le bruit s\u2019arr\u00eate.", "rucksack": "sac \u00e0 dos", "lights on.": "lumi\u00e8res allum\u00e9es.", "a torch to keep the dark away": "une torche pour repousser la nuit", "the sickness is cured in time.": "la maladie est soign\u00e9 \u00e0 temps.", "charm": "charme", "the sniper is dead": "le sniper est mort", "nothing": "rien", "Restart?": "Recommencer ?", "this is irreversible.": "Il n'y a pas de retour en arri\u00e8re possible.", "the town's booming. word does get around.": "la ville s'agrandie, le mot se passe.", "iron miner": "mineur de fer", "give 100": "donner 100", "Export": "Exporter", "A Sniper": "Un sniper", "the mysterious wanderer returns, cart piled high with wood.": "le myst\u00e9rieux vagabond reviens, la charrette d\u00e9bordante de bois.", "precise": "pr\u00e9cision", "convoy": "convoi", "The Sulphur Mine": "La mine de souffre", "a thief is caught": "un voleur est attrap\u00e9", "a beggar arrives.": "un mendiant arrive.", "the strange bird is dead": "l'\u00e9trange oiseau est mort.", "rotting reeds rise out of the swampy earth.": "des racines pourrissantes ressortent des mar\u00e9cages.", "the grass thrashes wildly as a huge lizard pushes through": "l'herbe bouge bizarrement et un \u00e9norme l\u00e9zard surgit", "medicine is needed immediately.": "des m\u00e9dicaments sont n\u00e9cessaires imm\u00e9diatement.", "A Crashed Ship": "Un vaisseau \u00e9cras\u00e9", "the town lies abandoned, its citizens long dead": "la ville est totalement abandonn\u00e9e. ses citoyens mort depuis longtemps", "give 1 medicine": "donner 1 m\u00e9dicament", "the old compass is dented and dusty, but it looks to work.": "le vieux compas est ab\u00eem\u00e9 et rouill\u00e9, mais il semble encore fonctionner", "wood": "bois", "the trees are gone. parched earth and blowing dust are poor replacements.": "il n'y a plus d'arbre. la terre dess\u00e9ch\u00e9e et l'air emplis de poussi\u00e8re ne compensent pas leurs disparitions.", "lodge": "relais de chasse", "a scout stops for the night": "une \u00e9claireuse s\u2019arr\u00eate pour la nuit", "a gunshot rings through the trees.": "une d\u00e9tonation retenti dans la for\u00eat.", "somewhere above the debris cloud, the wanderer fleet hovers. been on this rock too long.": "quelque part au dessus du nuage de d\u00e9bris s'en va le vaisseau du vagabond. Assez de temps pass\u00e9 sur ce morceau de caillou.", "freezing": "gel\u00e9e", "the world fades": "le monde s\u2019efface", "some of the traps have been torn apart.": "des pi\u00e8ges ont \u00e9t\u00e9 mis en pi\u00e8ces", "compass": "compas", "builder says it'd be useful to have a steady source of bullets": "l'ouvri\u00e8re dit que \u00e7a pourrait \u00eatre int\u00e9ressant d'avoir une source d'approvisionnement constante en munitions", "a mysterious wanderer arrives": "un myst\u00e9rieux vagabond arrive", "An Old House": "Une vieille maison", "bleached bones are strewn about the entrance. many, deeply scored with jagged grooves.": "des os compl\u00e8tement blancs sont \u00e9parpill\u00e9s autour de l'entr\u00e9e. Nombre d'entre eux portent des traces de dents.", "leather": "cuir", "investigate": "enqu\u00eater", "the cave narrows a few feet in.": "la grotte se r\u00e9tr\u00e9cit apr\u00e8s quelques pas \u00e0 l'int\u00e9rieur.", "sword is sharp. good protection out in the wilds.": "l'\u00e9p\u00e9e est tranchante, une bonne protection dans la nature.", "the tentacular horror is defeated.": "l'horreur tentaculaire est vaincue.", "A Damp Cave": "Une cave humide", "the steel is strong, and the blade true.": "l'acier est r\u00e9sistant, et la larme magnifique", "A Military Raid": "Un raid militaire", "the walls are moist and moss-covered": "les murs sont humides et recouverts de moisissures", "a giant lizard shambles forward": "Un l\u00e9zard gigantesque se tra\u00eene vers vous", "close": "fermer", "some medicine abandoned in the drawers.": "quelques m\u00e9dicaments ont \u00e9t\u00e9 abandonn\u00e9s dans les placards.", "strange scales": "des \u00e9cailles \u00e9tranges", "learned to throw punches with purpose": "appris \u00e0 donner des coups de points avec un objectif", "spare him": "l'\u00e9pargner", "he smiles warmly and asks for lodgings for the night.": "il souri chaleureusement et demande un abri pour la nuit.", "stealthy": "furtif", "the sulphur mine is clear of dangers": "la mine de souffre est maintenant sans danger", "weapons": "armes", "the man is thankful.": "l'homme est reconnaissant.", "broken streetlights stand, rusting. light hasn't graced this place in a long time.": "des r\u00e9verb\u00e8res cass\u00e9s ont rouill\u00e9s. Cet endroit est d\u00e9sert\u00e9 depuis longtemps.", "shares what he knows about sneaking before he goes.": "il partage ses astuces pour \u00eatre discret avant de s'en aller.", "import": "importer", "available": "disponible", "A Shivering Man": "Un homme tremblant", "the rest bury them.": "ils sont enterr\u00e9s par les survivants.", "smoldering": "fumant", "the ground is littered with small teeth": "le sol est jonch\u00e9 de petites dents", "the nest of a large animal lies at the back of the cave.": "le nid d'un grand animal se trouve au fond de la cave.", "A Tiny Village": "Un petit village", "not enough wood.": "bois insuffisant.", "Mesosphere": "M\u00e9sosph\u00e8re", "agree": "accepter", "the double doors creak endlessly in the wind.": "le grincement des doubles portes battantes est port\u00e9 par le vent.", "got it": "compris", "a cave lizard attacks": "un l\u00e9zard attaque", "l armour": "c amure", "steelworks": "aci\u00e9rie", "A Ruined City": "Une ville en ruine", "Noises": "Bruits", "can't tell what left it here.": "impossible de savoir ce qui \u00e0 fait \u00e7a.", "trees loom on the horizon. grasses gradually yield to a forest floor of dry branches and fallen leaves.": "des arbres se dessinent \u00e0 l'horizon. l'herbe dispara\u00eet peu \u00e0 peu au profit d'une foret dont le sol est recouvert de feuilles mortes.", "baited trap": "pi\u00e8ge avec app\u00e2t", "cancel": "annuler", "put the save code here.": "copier le code ici.", "hang him": "le pendre", "inside, the remains of its victims are everywhere.": "a l'int\u00e9rieur, les restes de ses victimes sont partout.", "this spear's not elegant, but it's pretty good at stabbing": "cette lance n'est pas tr\u00e8s jolie, mais elle est tr\u00e8s bonne pour frapper", "land blows more often": "mieux reconna\u00eetre les mouvements", "A Borehole": "Un forage", "the night is silent.": "la nuit est silencieuse.", "never go thirsty again": "plus jamais soif", "a small cache of supplies is tucked inside a rusting locker.": "quelques objets sont cach\u00e9s dans un casier rouill\u00e9.", "learned to love the dry air": "vous savez appr\u00e9cier l'air sec", "workshop": "atelier", "see farther": "voir plus loin", "the ground is littered with scraps of cloth": "le sol est jonch\u00e9 de morceaux de v\u00eatements", "The Coal Mine": "Une mine de charbon", "A Large Village": "A grand village", "precision": "pr\u00e9cision", "the sickness spreads through the village.": "la maladie se repend dans le village.", "won't say from where he came, but it's clear that he's not staying.": "il ne dit pas d'o\u00f9 il vient, mais il est clair qu'il ne restera pas.", "the wanderer takes the charm and nods slowly.": "le vagabond prend le charme et hoche lentement la t\u00eate.", "the mysterious wanderer returns, cart piled high with furs.": "la myst\u00e9rieuse vagabonde revient, la charrette d\u00e9bordante de fourrures.", "armoury": "armurerie", "Export / Import": "Exporter/Importer", "fur": "fourrure", "the man-eater is dead": "Le mangeur d'homme est mort", "learned to swing weapons with force": "vous savez manier vos armes avec plus de force", "still a few drops of water in the old well.": "il reste un peu d'eau dans le puit.", "a crudely made charm": "un charme rudimentaire", "cask": "casque", "engine:": "moteur:", "the streets are empty.": "les rues sont vides.", "lizard": "l\u00e9zard", "Sulphur Mine": "Mine de souffre", "desert rat": "rat du d\u00e9sert", "the house has been ransacked.": "la maison \u00e0 \u00e9t\u00e9 saccag\u00e9e.", "large prints lead away, into the forest.": "de larges empruntes vont vers la for\u00eat.", "a startled beast defends its home": "Une b\u00eate effray\u00e9e d\u00e9fend son territoire", "his time here, now, is his penance.": "sa pr\u00e9sence ici est sa p\u00e9nitence.", "where the windows of the schoolhouse aren't shattered, they're blackened with soot.": "les quelques fen\u00eatres de l'\u00e9cole qui n'ont pas \u00e9t\u00e9 bris\u00e9es sont recouvertes de suie.", "hull:": "bouclier:", "scavenger": "pilleur", "unarmed master": "expert en combat \u00e0 mains nues", "the man says he's grateful. says he won't come around any more.": "l'homme dit \u00eatre reconnaissant. Il dit qu'il ne reviendra plus.", "buy map": "acheter une carte", "scratching noises can be heard from the store room.": "des grattements semblent provenir de l'entrep\u00f4t.", "steel sword": "\u00e9p\u00e9e en acier", "asks for any spare furs to keep him warm at night.": "il demande quelques morceaux de fourrure pour lui tenir chaud la nuit.", "A Raucous Village": "Un village bruyant", "the beggar expresses his thanks.": "le mendiant vous remercie chaleureusement.", "carrying more means longer expeditions to the wilds": "porter plus signifie des exp\u00e9ditions plus longue dans les contr\u00e9s sauvages", "free {0}/{1}": "libre {0}/{1}", "Room": "Pi\u00e8ce", "a swamp festers in the stagnant air.": "un mar\u00e9cage empeste.", "armoury's done, welcoming back the weapons of the past.": "l'armurerie est finie, r\u00e9cup\u00e9rant avec plaisir les armes d'un temps pass\u00e9.", "eat meat": "manger", "camp fires burn by the entrance to the mine.": "un feu de camps br\u00fble a l'entr\u00e9e de la mine.", "the mouth of the cave is wide and dark.": "l'entr\u00e9e de la grotte est grande et sombre.", "builder's not sure he's to be trusted.": "l'ouvri\u00e8re ne lui fait pas confiance.", "evasion": "esquive", "buy bait": "acheter des app\u00e2ts", "builder": "ouvrier", "waterskin": "gourde", "scattered teeth": "des dents", "the door hangs open.": "la porte est ouverte", "buy:": "acheter:", "a weathered family takes up in one of the huts.": "une famille \u00e9puis\u00e9e s'intalle dans une cabane.", "stores": "entrep\u00f4t", "now the nomads have a place to set up shop, they might stick around a while": "maintenant que les nomades ont un endroit pour faire du commerce, ils resteront ici quelques temps", "A Dusty Path": "Un chemin poussi\u00e9reux", "armour": "armure", "A Man-Eater": "Un mangeur d'homme", "bring your friends.": "Invitez vos amis.", "The Sick Man": "Le malade", "yes": "oui", "martial artist": "ma\u00eetre d'un art martial", "the traps contain ": "les pi\u00e8ges contiennent ", "the old tower seems mostly intact.": "la vieille tour \u00e0 l'air globalement intacte.", "builder says she can make traps to catch any creatures might still be alive out there": "l'ouvri\u00e8re dit qu'elle peut fabriquer des pi\u00e8ges pour attraper des animaux qui pourraient \u00eatre toujours vivant dehors", "the path leads to an abandoned mine": "le chemin m\u00e8ne \u00e0 une mine abandonn\u00e9e", "he begs for medicine.": "il supplie pour quelques m\u00e9dicaments.", "buy compass": "acheter un compas", "this waterskin'll hold a bit of water, at least": "cette gourde retiendra un peu d'eau, au moins", "turn him away": "le renvoyer", "shivering man": "homme tremblant", "The Mysterious Wanderer": "Le myst\u00e9rieux vagabond", "A Huge Lizard": "Un \u00e9norme l\u00e9zard", "boxer": "boxeur", "a man joins the fight": "Une personne rejoint le combat", "An Outpost": "Un avant poste", "A Deserted Town": "Une ville d\u00e9serte", "some weird metal he picked up on his travels.": "un m\u00e9tal \u00e9trange qu'il a ramass\u00e9 durant ses voyages.", "something's in there.": "il y'a quelque chose \u00e0 l\u2019int\u00e9rieur.", "restore more health when eating": "r\u00e9cup\u00e9rer plus de vie en mangeant", "A Snarling Beast": "Une b\u00eate qui grogne", "Share": "Partager", "a haze falls over the village as the steelworks fires up": "une brume tombe sur le village lorsque l\u2019aci\u00e9rie d\u00e9marre", "an old iron mine sits here, tools abandoned and left to rust.": "ici se trouve une vieille mine de fer, les outils abandonn\u00e9s, bon pour rouiller.", "an old wanderer sits inside, in a seeming trance.": "\u00e0 l'int\u00e9rieur, un vieux vagabond est assis. il \u00e0 l'air en trance.", "builder says the villagers could make steel, given the tools": "l'ouvri\u00e8re dit qu'avec les bon outils, les villageois pourraient fabriquer de l'acier", "continue": "continuer", "there is no more water": "il n'y a plus d'eau", "flickering": "vacillant", "only the chief remains.": "seul le chef reste.", "go back inside": "rentrer \u00e0 l\u2019int\u00e9rieur", "save this.": "sauvegarder.", "this old mine is not abandoned": "cette vieille mine n'est pas abandonn\u00e9e", "a fight, maybe.": "un combat, peut-\u00eatre.", "the compass points south.": "le compas indique le sud.", "dead": "\u00e9teint", "the torch sputters and dies in the damp air": "la torche cr\u00e9pite une derni\u00e8re fois et s\u2019\u00e9teint dans l'air humide.", "export": "exporter", "not far from the village lies a large beast, its fur matted with blood.": "pas loin du village g\u00eet une b\u00eate agonisante, sa fourrure pleine de sang.", "but there is a cache of medicine under the floorboards.": "mais il reste quelques m\u00e9dicaments dans une cachette sous le plancher.", "s armour": "a armure", "the darkness is absolute": "l\u2019obscurit\u00e9 est compl\u00e8te", "ambushed on the street.": "une embuscade dans la rue.", "there is nothing else here.": "il n'y a rien d'autre ici.", "slash": "coup d'\u00e9p\u00e9e (acier)", "builder says she can make a cart for carrying wood": "l\u2019ouvri\u00e8re dit qu'elle peut construire un charrette pour ramasser du bois", "leather's not strong. better than rags, though.": "le cuir n'est pas tr\u00e8s r\u00e9sistant, mais c'est mieux que des chiffons.", "builder stokes the fire": "L'ouvrier attise le feu", "say goodbye": "dire au revoir", "A Silent Forest": "Une for\u00eat silencieuse", "builder's not sure she's to be trusted.": "l'ouvri\u00e8re ne lui fait pas confiance.", "an old case is wedged behind a rock, covered in a thick layer of dust.": "une vieille valise est pos\u00e9e contre un rocher. elle est recouverte d'une \u00e9paisse couche de poussi\u00e8re.", "the point is made. in the next few days, the missing supplies are returned.": "le message est pass\u00e9. Les biens manquant sont rendus dans les jours qui suivent.", "the plague rips through the village.": "la peste d\u00e9cime tout le village", "an old wanderer arrives.": "un vieux vagabond arrive.", "the wanderer leaves, cart loaded with wood": "le vagabond s'en va, la charrette charg\u00e9e de bois", "a man hobbles up, coughing.": "un homme arrive. boitillant et toussant.", "i armour": "f armure", "The Scout": "L'\u00e9claireur", "leaves a pile of small scales behind.": "il laisse une pile de petites \u00e9cailles derri\u00e8re lui.", "pockets": "poches", "better avoid conflict in the wild": "mieux \u00e9viter les conflits dans un environnement hostile", "the ground is littered with small scales": "le sol est jonch\u00e9 de petites \u00e9cailles", "not enough ": "insuffisant", "burning": "cr\u00e9pitant", "a nomad arrives, looking to trade": "un nomade arrive, pr\u00eat \u00e0 faire du troc", "black powder and bullets, like the old days.": "de la poudre noir et des balles, comme a l'\u00e9poque.", "restart the game?": "recommencer la partie ?", "A Ruined City": "Une ville en ruine", "inside the hut, a child cries.": "\u00e0 l'int\u00e9rieur de la cabane, un enfant pleur.", "lob": "lancer grenade", "a scavenger draws close, hoping for an easy score": "Un pilleur s'approche, esp\u00e9rant un cible facile", "Sickness": "Maladie", "build:": "construire:", "A Beast Attack": "Une attaque de b\u00eate", "Ready to Leave?": "Pr\u00eat \u00e0 partir ?", "the house is abandoned, but not yet picked over.": "la maison est abandonn\u00e9e, mais elle n'a pas encore \u00e9t\u00e9 visit\u00e9e.", "time to get out of this place. won't be coming back.": "c'est l'heure de quitter cet endroit. il n'y aura pas de retour en arri\u00e8re.", "the thirst becomes unbearable": "la soif devient insupportable", "steelworker": "sid\u00e9rurgiste", "a beggar arrives": "un mendiant arrive", "a beast stands alone in an overgrown park.": "au milieu d'un parc se trouve une b\u00eate.", "he leaves a reward.": "il laisse une r\u00e9compense.", "the scout says she's been all over.": "l'\u00e9claireuse dit qu'elle a \u00e9t\u00e9 partout.", "cloth": "v\u00eatements", "Troposphere": "Troposph\u00e8re", "squeeze": "se serrer", "scraps of fur": "des morceaux de fourrure", "a scavenger waits just inside the door.": "un pillard attend de l'autre cot\u00e9 de la porte.", "the wind howls outside": "le vent siffle dehors", "the wagon can carry a lot of supplies": "le chariot peut transporter plus de provisions", "A Battlefield": "Un champ de bataille", "the shivering man is dead": "l'homme tremblant est mort.", "builder finishes the smokehouse. she looks hungry.": "L'ouvri\u00e8re a fini le fumoir. elle a l'air affam\u00e9e.", "a snarling beast leaps out of the underbrush": "une b\u00eate grondante surgit des buissons", "the forest is silent.": "la foret est silencieuse", "Space": "L'\u00c9space", "Thermosphere": "Thermosph\u00e8re", "5 medicine": "5 m\u00e9dicaments", "do nothing": "ne rien faire", "A Gaunt Man": "Un homme d\u00e9charn\u00e9", "Outside": "Dehors", "the snarling beast is dead": "la b\u00eate grognante est morte.", "the remains of an old house stand as a monument to simpler times": "les restes d'une ancienne maison reste tel un monument en m\u00e9moire d'un temps ou les choses \u00e9taient plus simples", "no": "non", "{0} per {1}s": "{0} /{1}s", "track them": "les suivre", "run": "courir", "Exosphere": "Exosph\u00e8re", "he speaks of once leading the great fleets to fresh worlds.": "il raconte qu'il fut un temps ou il menait la grande flotte en qu\u00eate d'un monde meilleur.", "builder says there are more wanderers. says they'll work, too.": "l'ouvri\u00e8re dit qu'il y'a d'autres vagabonds dehors. elle dit qu'ils travailleront. eux aussi.", "evasive": "esquive", "an old wanderer arrives": "un vieux vagabond arrive", "through the walls, shuffling noises can be heard.": "a travers le murs, on peut entendre quelques bruits \u00e9touff\u00e9s ", "melee weapons deal more damage": "les armes de m\u00eal\u00e9s font plus de d\u00e9g\u00e2ts", "the compass points ": "le compas indique :", "the man swallows the medicine eagerly": "l'homme avale le m\u00e9dicament avidement", "the days are spent with burials.": "les enterrements s\u2019encha\u00eenent durant des jours.", "more traps to catch more creatures": "plus de pi\u00e8ges pour attraper plus d'animaux", "a man charges down the hall, a rusty blade in his hand": "un homme charge dans l'entr\u00e9e, une vieille \u00e9p\u00e9e rouill\u00e9e \u00e0 la main", "stab": "coup de lance", "the light from the fire spills from the windows, out into the dark": "la lumi\u00e8re du feu se repend \u00e0 travers la a fen\u00eatre, dehors dans la nuit", "tell him to leave": "lui dire de partir", "dry brush and dead branches litter the forest floor": "des buissons secs et des branches mortes recouvrent le sol de la for\u00eat", "tattered cloth": "des v\u00eatements", "can't read the words.": "impossibles de d\u00e9chiffrer les mots.", "tanner": "tanneur", "should cure the meat, or it'll spoil. builder says she can fix something up.": "il faudrait fumer la viande pour \u00e9viter qu'elle pourrisse. L'ouvri\u00e8re dit qu'elle pourra bricoler quelque chose.", "or migrating computers": "pour sauver votre partie ou changer d'ordinateur", "the compass points west.": "le compas indique l'ouest", "teeth": "dent", "villagers could help hunt, given the means": "les villageois pourraient aider pour la chasse, si on leur donne les moyens", "the beast is dead.": "la b\u00eate est morte.", "feral howls echo out of the darkness.": "des hurlements de terreurs r\u00e9sonnent dans le noir.", "The Iron Mine": "La mine de fer"}); diff --git a/lang/fr.mo b/lang/fr.mo index 4520c33..d375701 100644 Binary files a/lang/fr.mo and b/lang/fr.mo differ diff --git a/lang/fr.po b/lang/fr.po index 617d800..b826d37 100644 --- a/lang/fr.po +++ b/lang/fr.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: adarkroom\n" -"POT-Creation-Date: 2014-02-06 14:28+0100\n" -"PO-Revision-Date: 2014-02-06 18:34+0100\n" +"POT-Creation-Date: 2014-02-07 17:41+0100\n" +"PO-Revision-Date: 2014-02-07 18:23+0100\n" "Last-Translator: louis \n" "Language-Team: \n" "Language: fr\n" @@ -16,311 +16,457 @@ msgstr "" "X-Poedit-SearchPath-0: ./../script\n" #: ../script/engine.js:20 +msgid "boxer" +msgstr "boxeur" + +#: ../script/engine.js:21 msgid "punches do more damage" msgstr "les points font plus de dégats" -#: ../script/engine.js:21 +#: ../script/engine.js:22 msgid "learned to throw punches with purpose" msgstr "appris à donner des coups de points avec un objectif" -#: ../script/engine.js:24 +#: ../script/engine.js:25 +msgid "martial artist" +msgstr "maître d'un art martial" + +#: ../script/engine.js:26 msgid "punches do even more damage." msgstr "les coups de points font plus de dégats" -#: ../script/engine.js:25 +#: ../script/engine.js:27 msgid "learned to fight quite effectively without weapons" msgstr "apprendre à se battre de façon efficace sans arme" -#: ../script/engine.js:28 +#: ../script/engine.js:30 +msgid "unarmed master" +msgstr "expert en combat à mains nues" + +#: ../script/engine.js:31 msgid "punch twice as fast, and with even more force" msgstr "frapper deux fois plus vite, et avec plus de force" -#: ../script/engine.js:29 +#: ../script/engine.js:32 msgid "learned to strike faster without weapons" msgstr "appris à attaquer plus vite sans arme" -#: ../script/engine.js:32 +#: ../script/engine.js:35 +msgid "barbarian" +msgstr "barbare" + +#: ../script/engine.js:36 msgid "melee weapons deal more damage" msgstr "les armes de mêlés font plus de dégâts" -#: ../script/engine.js:33 +#: ../script/engine.js:37 msgid "learned to swing weapons with force" msgstr "vous savez manier vos armes avec plus de force" -#: ../script/engine.js:36 +# contexte ? +#: ../script/engine.js:40 +msgid "slow metabolism" +msgstr "" + +#: ../script/engine.js:41 msgid "go twice as far without eating" msgstr "aller deux fois plus loin sans manger" -#: ../script/engine.js:37 +#: ../script/engine.js:42 msgid "learned how to ignore the hunger" msgstr "vous savez ignorer la faim" -#: ../script/engine.js:40 +#: ../script/engine.js:45 +msgid "desert rat" +msgstr "rat du désert" + +#: ../script/engine.js:46 msgid "go twice as far without drinking" msgstr "aller deux fois plus loin sans boire" -#: ../script/engine.js:41 +#: ../script/engine.js:47 msgid "learned to love the dry air" msgstr "vous savez apprécier l'air sec" -#: ../script/engine.js:44 +#: ../script/engine.js:50 +msgid "evasive" +msgstr "esquive" + +#: ../script/engine.js:51 msgid "dodge attacks more effectively" msgstr "esquiver les attaques de façon plus efficace" -#: ../script/engine.js:45 +#: ../script/engine.js:52 msgid "learned to be where they're not" msgstr "vous savez être là où ils ne sont pas" +#: ../script/engine.js:55 +msgid "precise" +msgstr "précision" + # description pour la précision ... -#: ../script/engine.js:48 +#: ../script/engine.js:56 msgid "land blows more often" msgstr "mieux reconnaître les mouvements" -#: ../script/engine.js:49 +#: ../script/engine.js:57 msgid "learned to predict their movement" msgstr "vous savez prédire leurs mouvement" -#: ../script/engine.js:52 +#: ../script/engine.js:60 +msgid "scout" +msgstr "éclaireur" + +#: ../script/engine.js:61 msgid "see farther" msgstr "voir plus loin" -#: ../script/engine.js:53 +#: ../script/engine.js:62 msgid "learned to look ahead" msgstr "vous savez regarder plus loin" -#: ../script/engine.js:56 +#: ../script/engine.js:65 +msgid "stealthy" +msgstr "furtif" + +#: ../script/engine.js:66 msgid "better avoid conflict in the wild" msgstr "mieux éviter les conflits dans un environnement hostile" -#: ../script/engine.js:57 +#: ../script/engine.js:67 msgid "learned how not to be seen" msgstr "vous savez comment ne pas être vu" -#: ../script/engine.js:60 +#: ../script/engine.js:70 +msgid "gastronome" +msgstr "gastronome" + +#: ../script/engine.js:71 msgid "restore more health when eating" msgstr "récupérer plus de vie en mangeant" -#: ../script/engine.js:61 +#: ../script/engine.js:72 msgid "learned to make the most of food" msgstr "vous savez tirer partie un maximum de la nourriture" -#: ../script/engine.js:103 ../script/engine.js:397 +#: ../script/engine.js:114 ../script/engine.js:408 msgid "lights off." msgstr "lumières éteintes." -#: ../script/engine.js:109 +#: ../script/engine.js:120 ../script/space.js:439 msgid "restart." msgstr "recommencer." -#: ../script/engine.js:115 +#: ../script/engine.js:126 msgid "share." msgstr "partager." -#: ../script/engine.js:121 +#: ../script/engine.js:132 msgid "save." msgstr "sauvegarder." -#: ../script/engine.js:127 +#: ../script/engine.js:138 msgid "app store." msgstr "app store" -#: ../script/engine.js:205 +#: ../script/engine.js:216 msgid "Export / Import" msgstr "Exporter/Importer" -#: ../script/engine.js:208 +#: ../script/engine.js:219 msgid "export or import save data, for backing up" msgstr "exporter ou importer vos données de sauvegarde" -#: ../script/engine.js:209 +#: ../script/engine.js:220 msgid "or migrating computers" msgstr "pour sauver votre partie ou changer d'ordinateur" -#: ../script/engine.js:212 +#: ../script/engine.js:223 msgid "export" msgstr "exporter" -#: ../script/engine.js:216 +#: ../script/engine.js:227 msgid "import" msgstr "importer" -#: ../script/engine.js:220 +#: ../script/engine.js:231 msgid "cancel" msgstr "annuler" -#: ../script/engine.js:226 +#: ../script/engine.js:237 msgid "are you sure?" msgstr "êtes vous sur ?" -#: ../script/engine.js:227 +#: ../script/engine.js:238 msgid "if the code is invalid, all data will be lost." msgstr "si le code est incorrect, toutes les données seront perdues." -#: ../script/engine.js:228 +#: ../script/engine.js:239 msgid "this is irreversible." msgstr "Il n'y a pas de retour en arrière possible." -#: ../script/engine.js:231 ../script/engine.js:292 +#: ../script/engine.js:242 ../script/engine.js:303 msgid "yes" msgstr "oui" -#: ../script/engine.js:236 ../script/engine.js:297 +#: ../script/engine.js:247 ../script/engine.js:308 msgid "no" msgstr "non" -#: ../script/engine.js:252 +#: ../script/engine.js:263 msgid "Export" msgstr "Exporter" -#: ../script/engine.js:255 +#: ../script/engine.js:266 msgid "save this." msgstr "sauvegarder." -#: ../script/engine.js:259 +#: ../script/engine.js:270 msgid "got it" msgstr "compris" -#: ../script/engine.js:269 +#: ../script/engine.js:280 msgid "put the save code here." msgstr "copier le code ici." -#: ../script/engine.js:286 +#: ../script/engine.js:297 msgid "Restart?" msgstr "Recommencer ?" -#: ../script/engine.js:289 +#: ../script/engine.js:300 msgid "restart the game?" msgstr "recommencer la partie ?" -#: ../script/engine.js:320 +#: ../script/engine.js:331 msgid "Share" msgstr "Partager" -#: ../script/engine.js:323 +#: ../script/engine.js:334 msgid "bring your friends." msgstr "Invitez vos amis." -#: ../script/engine.js:326 +#: ../script/engine.js:337 msgid "facebook" msgstr "facebook" -#: ../script/engine.js:333 +#: ../script/engine.js:344 msgid "google+" msgstr "google+" -#: ../script/engine.js:340 +#: ../script/engine.js:351 msgid "twitter" msgstr "twitter" -#: ../script/engine.js:347 +#: ../script/engine.js:358 msgid "reddit" msgstr "reddit" -#: ../script/engine.js:354 +#: ../script/engine.js:365 msgid "close" msgstr "fermer" -#: ../script/engine.js:388 ../script/engine.js:392 +#: ../script/engine.js:399 ../script/engine.js:403 msgid "lights on." msgstr "lumières allumées." -#: ../script/engine.js:490 +#: ../script/engine.js:501 msgid "{0} per {1}s" -msgstr "{0} toutes les {1}s" +msgstr "{0} /{1}s" -#: ../script/outside.js:90 +#: ../script/outside.js:5 +msgid "Outside" +msgstr "Dehors" + +#: ../script/outside.js:13 ../script/localization.js:8 +msgid "gatherer" +msgstr "ramasseur" + +#: ../script/outside.js:20 ../script/localization.js:5 +msgid "hunter" +msgstr "chasseur" + +#: ../script/outside.js:28 ../script/localization.js:5 +msgid "trapper" +msgstr "trappeur" + +#: ../script/outside.js:36 ../script/localization.js:5 +msgid "tanner" +msgstr "tanneur" + +#: ../script/outside.js:44 ../script/localization.js:6 +msgid "charcutier" +msgstr "boucher" + +#: ../script/outside.js:53 ../script/localization.js:6 +msgid "iron miner" +msgstr "mineur de fer" + +#: ../script/outside.js:61 ../script/localization.js:6 +msgid "coal miner" +msgstr "mineur de charbon" + +#: ../script/outside.js:69 ../script/localization.js:6 +msgid "sulphur miner" +msgstr "mineur de souffre" + +#: ../script/outside.js:77 ../script/localization.js:7 +msgid "steelworker" +msgstr "sidérurgiste" + +#: ../script/outside.js:86 ../script/localization.js:6 +msgid "armourer" +msgstr "armurier" + +#: ../script/outside.js:100 msgid "scraps of fur" msgstr "des morceaux de fourrure" -#: ../script/outside.js:95 +#: ../script/outside.js:105 msgid "bits of meat" msgstr "des morceaux de viande" -#: ../script/outside.js:100 +#: ../script/outside.js:110 msgid "strange scales" msgstr "des écailles étranges" -#: ../script/outside.js:105 +#: ../script/outside.js:115 msgid "scattered teeth" msgstr "des dents" -#: ../script/outside.js:110 +#: ../script/outside.js:120 msgid "tattered cloth" msgstr "des vêtements" -#: ../script/outside.js:115 +#: ../script/outside.js:125 msgid "a crudely made charm" msgstr "un charme rudimentaire" -#: ../script/outside.js:131 ../script/outside.js:516 +#: ../script/outside.js:141 ../script/outside.js:529 msgid "A Silent Forest" msgstr "Une forêt silencieuse" -#: ../script/outside.js:156 +#: ../script/outside.js:166 msgid "gather wood" msgstr "ramasser du bois" -#: ../script/outside.js:173 +#: ../script/outside.js:183 msgid "a stranger arrives in the night" msgstr "un étranger arrive durant la nuit" -#: ../script/outside.js:175 +#: ../script/outside.js:185 msgid "a weathered family takes up in one of the huts." msgstr "une famille épuisée s'intalle dans une cabane." -#: ../script/outside.js:177 +#: ../script/outside.js:187 msgid "a small group arrives, all dust and bones." msgstr "un petit groupe arrive, sale et affamé." -#: ../script/outside.js:179 +#: ../script/outside.js:189 msgid "a convoy lurches in, equal parts worry and hope." msgstr "un convoi arrive, plein de crainte et d'éspoir." -#: ../script/outside.js:181 +#: ../script/outside.js:191 msgid "the town's booming. word does get around." msgstr "la ville s'agrandie, le mot se passe." -#: ../script/outside.js:497 +#: ../script/outside.js:510 msgid "check traps" msgstr "vérifier les pièges" -#: ../script/outside.js:518 +#: ../script/outside.js:531 msgid "A Lonely Hut" msgstr "Une cabane solitaire" -#: ../script/outside.js:520 +#: ../script/outside.js:533 msgid "A Tiny Village" msgstr "Un petit village" -#: ../script/outside.js:522 +#: ../script/outside.js:535 msgid "A Modest Village" msgstr "Un village" -#: ../script/outside.js:524 +#: ../script/outside.js:537 msgid "A Large Village" msgstr "A grand village" -#: ../script/outside.js:526 +#: ../script/outside.js:539 msgid "A Raucous Village" msgstr "Un village bruyant" -#: ../script/outside.js:538 +#: ../script/outside.js:551 msgid "the sky is grey and the wind blows relentlessly" msgstr "le ciel est gris et le vents souffle implacablement" -#: ../script/outside.js:548 +#: ../script/outside.js:561 msgid "dry brush and dead branches litter the forest floor" -msgstr "des buissons secs et des branches mortes recouvre le sol de la forêt" +msgstr "des buissons secs et des branches mortes recouvrent le sol de la forêt" -#: ../script/outside.js:574 +#: ../script/outside.js:587 msgid "the traps contain " msgstr "les pièges contiennent " -#: ../script/outside.js:579 +#: ../script/outside.js:592 msgid " and " msgstr " et " -#: ../script/room.js:20 +#: ../script/ship.js:11 +msgid "Ship" +msgstr "Vaisseau" + +#: ../script/ship.js:27 +msgid "An Old Starship" +msgstr "Un ancien vaisseau spatial" + +#: ../script/ship.js:38 +msgid "hull:" +msgstr "bouclier:" + +#: ../script/ship.js:44 +msgid "engine:" +msgstr "moteur:" + +#: ../script/ship.js:51 +msgid "reinforce hull" +msgstr "renforcer les bouclier" + +#: ../script/ship.js:60 +msgid "upgrade engine" +msgstr "améliorer le moteur" + +#: ../script/ship.js:69 ../script/ship.js:142 +msgid "lift off" +msgstr "décoller" + +#: ../script/ship.js:91 +msgid "" +"somewhere above the debris cloud, the wanderer fleet hovers. been on this " +"rock too long." +msgstr "" +"quelque part au dessus du nuage de débris s'en va le vaisseau du vagabond. " +"Assez de temps passé sur ce morceau de caillou." + +#: ../script/ship.js:106 ../script/ship.js:119 +msgid "not enough alien alloy" +msgstr "pas assez de carburant extra-terrestre" + +#: ../script/ship.js:134 +msgid "Ready to Leave?" +msgstr "Prêt à partir ?" + +#: ../script/ship.js:138 +msgid "time to get out of this place. won't be coming back." +msgstr "" +"c'est l'heure de quitter cet endroit. il n'y aura pas de retour en arrière." + +#: ../script/ship.js:150 +msgid "linger" +msgstr "s'attarder" + +#: ../script/room.js:18 +msgid "trap" +msgstr "piège" + +#: ../script/room.js:21 msgid "" "builder says she can make traps to catch any creatures might still be alive " "out there" @@ -328,194 +474,286 @@ msgstr "" "l'ouvrière dit qu'elle peut fabriquer des pièges pour attraper des animaux " "qui pourraient être toujours vivant dehors" -#: ../script/room.js:21 +#: ../script/room.js:22 msgid "more traps to catch more creatures" msgstr "plus de pièges pour attraper plus d'animaux" -#: ../script/room.js:22 +#: ../script/room.js:23 msgid "more traps won't help now" msgstr "plus de piège n'apportera rien de plus maintenant" -#: ../script/room.js:34 +#: ../script/room.js:33 +msgid "cart" +msgstr "charrette" + +#: ../script/room.js:36 msgid "builder says she can make a cart for carrying wood" msgstr "" "l’ouvrière dit qu'elle peut construire un charrette pour ramasser du bois" -#: ../script/room.js:35 +#: ../script/room.js:37 msgid "the rickety cart will carry more wood from the forest" msgstr "la charrette délabrée aidera à ramener plus de bois de la forêt" #: ../script/room.js:46 +msgid "hut" +msgstr "cabane" + +#: ../script/room.js:49 msgid "builder says there are more wanderers. says they'll work, too." msgstr "" "l'ouvrière dit qu'il y'a d'autres vagabonds dehors. elle dit qu'ils " "travailleront. eux aussi." -#: ../script/room.js:47 +#: ../script/room.js:50 msgid "builder puts up a hut, out in the forest. says word will get around." msgstr "" "l'ouvrière construit une cabane dans la foret. Elle dit que ça se saura." -#: ../script/room.js:48 +#: ../script/room.js:51 msgid "no more room for huts." msgstr "il n'y a plus de place pour des cabanes." -#: ../script/room.js:60 +#: ../script/room.js:61 +msgid "lodge" +msgstr "relais de chasse" + +#: ../script/room.js:64 msgid "villagers could help hunt, given the means" msgstr "" "les villageois pourraient aider pour la chasse, si on leur donne les moyens" -#: ../script/room.js:61 +#: ../script/room.js:65 msgid "the hunting lodge stands in the forest, a ways out of town" msgstr "la cabane de chasseur est construite à la sortie du village" -#: ../script/room.js:74 +#: ../script/room.js:76 +msgid "trading post" +msgstr "comptoir" + +#: ../script/room.js:79 msgid "a trading post would make commerce easier" msgstr "un comptoir rendrait le commerce plus facile" -#: ../script/room.js:75 +#: ../script/room.js:80 msgid "" "now the nomads have a place to set up shop, they might stick around a while" msgstr "" "maintenant que les nomades ont un endroit pour faire du commerce, ils " "resteront ici quelques temps" -#: ../script/room.js:87 +#: ../script/room.js:90 +msgid "tannery" +msgstr "tannerie" + +#: ../script/room.js:93 msgid "builder says leather could be useful. says the villagers could make it." msgstr "" "l'ouvrière dit que du cuir pourrait être utile. elle dit que les villageois " "pourraient en fabriquer." -#: ../script/room.js:88 +#: ../script/room.js:94 msgid "tannery goes up quick, on the edge of the village" msgstr "au bord du village, la tannerie se construit vite" -#: ../script/room.js:100 +#: ../script/room.js:104 +msgid "smokehouse" +msgstr "fumoir" + +#: ../script/room.js:107 msgid "" "should cure the meat, or it'll spoil. builder says she can fix something up." msgstr "" "il faudrait fumer la viande pour éviter qu'elle pourrisse. L'ouvrière dit " "qu'elle pourra bricoler quelque chose." -#: ../script/room.js:101 +#: ../script/room.js:108 msgid "builder finishes the smokehouse. she looks hungry." msgstr "L'ouvrière a fini le fumoir. elle a l'air affamée." -#: ../script/room.js:113 +#: ../script/room.js:118 +msgid "workshop" +msgstr "atelier" + +#: ../script/room.js:121 msgid "builder says she could make finer things, if she had the tools" msgstr "" "L'ouvrière dit qu'elle pourrait faire des objets de meilleurs qualités, si " "elle avait les outils." -#: ../script/room.js:114 +#: ../script/room.js:122 msgid "workshop's finally ready. builder's excited to get to it" msgstr "l'atelier est enfin prêt. L'ouvrière est impatiente de s'y mettre" -#: ../script/room.js:127 +#: ../script/room.js:133 +msgid "steelworks" +msgstr "aciérie" + +#: ../script/room.js:136 msgid "builder says the villagers could make steel, given the tools" msgstr "" "l'ouvrière dit qu'avec les bon outils, les villageois pourraient fabriquer " "de l'acier" -#: ../script/room.js:128 +#: ../script/room.js:137 msgid "a haze falls over the village as the steelworks fires up" msgstr "une brume tombe sur le village lorsque l’aciérie démarre" -#: ../script/room.js:141 +#: ../script/room.js:148 +msgid "armoury" +msgstr "armurerie" + +#: ../script/room.js:151 msgid "builder says it'd be useful to have a steady source of bullets" msgstr "" "l'ouvrière dit que ça pourrait être intéressant d'avoir une source " "d'approvisionnement constante en munitions" -#: ../script/room.js:142 +#: ../script/room.js:152 msgid "armoury's done, welcoming back the weapons of the past." msgstr "" "l'armurerie est finie, récupérant avec plaisir les armes d'un temps passé." -#: ../script/room.js:155 +#: ../script/room.js:163 ../script/localization.js:5 +msgid "torch" +msgstr "torche" + +#: ../script/room.js:166 msgid "a torch to keep the dark away" msgstr "une torche pour repousser la nuit" -#: ../script/room.js:167 +#: ../script/room.js:175 +msgid "waterskin" +msgstr "gourde" + +#: ../script/room.js:179 msgid "this waterskin'll hold a bit of water, at least" msgstr "cette gourde retiendra un peu d'eau, au moins" -#: ../script/room.js:178 +#: ../script/room.js:187 +msgid "cask" +msgstr "casque" + +#: ../script/room.js:191 msgid "the cask holds enough water for longer expeditions" msgstr "le tonneau contiendra assez d'eau pour des expéditions plus longues" -#: ../script/room.js:190 +#: ../script/room.js:200 +msgid "water tank" +msgstr "tonneau" + +#: ../script/room.js:204 msgid "never go thirsty again" msgstr "plus jamais soif" -#: ../script/room.js:201 +#: ../script/room.js:213 +msgid "bone spear" +msgstr "lance" + +#: ../script/room.js:216 msgid "this spear's not elegant, but it's pretty good at stabbing" msgstr "" "cette lance n'est pas très jolie, mais elle est très bonne pour frapper" -#: ../script/room.js:213 +#: ../script/room.js:225 ../script/world.js:279 +msgid "rucksack" +msgstr "sac à dos" + +#: ../script/room.js:229 msgid "carrying more means longer expeditions to the wilds" msgstr "" "porter plus signifie des expéditions plus longue dans les contrés sauvages" -#: ../script/room.js:224 +#: ../script/room.js:237 +msgid "wagon" +msgstr "chariot" + +#: ../script/room.js:241 msgid "the wagon can carry a lot of supplies" msgstr "le chariot peut transporter plus de provisions" -#: ../script/room.js:236 +#: ../script/room.js:250 +msgid "convoy" +msgstr "convoi" + +#: ../script/room.js:254 msgid "the convoy can haul mostly everything" msgstr "le convoi peut transporter presque tout" -#: ../script/room.js:248 +#: ../script/room.js:264 +msgid "l armour" +msgstr "c amure" + +#: ../script/room.js:267 msgid "leather's not strong. better than rags, though." msgstr "le cuir n'est pas très résistant, mais c'est mieux que des chiffons." -#: ../script/room.js:259 +#: ../script/room.js:276 +msgid "i armour" +msgstr "f armure" + +#: ../script/room.js:279 msgid "iron's stronger than leather" msgstr "le fer est plus dur que le cuir" -#: ../script/room.js:270 +#: ../script/room.js:288 +msgid "s armour" +msgstr "a armure" + +#: ../script/room.js:291 msgid "steel's stronger than iron" msgstr "l'acier est plus dur que le fer" -#: ../script/room.js:281 +#: ../script/room.js:300 +msgid "iron sword" +msgstr "épée en fer" + +#: ../script/room.js:303 msgid "sword is sharp. good protection out in the wilds." msgstr "l'épée est tranchante, une bonne protection dans la nature." -#: ../script/room.js:293 +#: ../script/room.js:313 +msgid "steel sword" +msgstr "épée en acier" + +#: ../script/room.js:316 msgid "the steel is strong, and the blade true." msgstr "l'acier est résistant, et la larme magnifique" -#: ../script/room.js:304 +#: ../script/room.js:326 +msgid "rifle" +msgstr "fusil" + +#: ../script/room.js:328 msgid "black powder and bullets, like the old days." msgstr "de la poudre noir et des balles, comme a l'époque." -#: ../script/room.js:436 +#: ../script/room.js:460 msgid "Room" msgstr "Pièce" -#: ../script/room.js:460 ../script/room.js:579 +#: ../script/room.js:484 ../script/room.js:603 msgid "A Dark Room" msgstr "Une pièce sombre" -#: ../script/room.js:473 +#: ../script/room.js:497 msgid "light fire" msgstr "allumer le feu" -#: ../script/room.js:483 +#: ../script/room.js:507 msgid "stoke fire" msgstr "Attiser le feu" -#: ../script/room.js:520 ../script/room.js:530 ../script/room.js:678 -#: ../script/room.js:682 +#: ../script/room.js:544 ../script/room.js:554 ../script/room.js:702 +#: ../script/room.js:706 msgid "the room is {0}" msgstr "la pièce est {0}" -#: ../script/room.js:521 ../script/room.js:529 ../script/room.js:647 +#: ../script/room.js:545 ../script/room.js:553 ../script/room.js:671 msgid "the fire is {0}" msgstr "le feu est {0}" -#: ../script/room.js:540 +#: ../script/room.js:564 msgid "" "the stranger is standing by the fire. she says she can help. says she builds " "things." @@ -523,92 +761,144 @@ msgstr "" "l'étrangère se tient prêt du feu. elle dit qu'elle peut aider. elle dit " "qu'elle sait construire des choses." -#: ../script/room.js:555 +#: ../script/room.js:579 msgid "freezing" msgstr "gelée" -#: ../script/room.js:556 +#: ../script/room.js:580 msgid "cold" msgstr "froide" -#: ../script/room.js:557 +#: ../script/room.js:581 msgid "mild" msgstr "tiède" -#: ../script/room.js:558 +#: ../script/room.js:582 msgid "warm" msgstr "douce" -#: ../script/room.js:559 +#: ../script/room.js:583 msgid "hot" msgstr "chaude" -#: ../script/room.js:571 +#: ../script/room.js:595 msgid "dead" -msgstr "éteind" +msgstr "éteint" -#: ../script/room.js:572 +#: ../script/room.js:596 msgid "smoldering" msgstr "fumant" -#: ../script/room.js:573 +#: ../script/room.js:597 msgid "flickering" msgstr "vacillant" -#: ../script/room.js:574 +#: ../script/room.js:598 msgid "burning" msgstr "crépitant" -#: ../script/room.js:575 +#: ../script/room.js:599 msgid "roaring" msgstr "flambant" -#: ../script/room.js:579 +#: ../script/room.js:603 msgid "A Firelit Room" msgstr "Une pièce éclairé" -#: ../script/room.js:617 +#: ../script/room.js:641 msgid "not enough wood to get the fire going" msgstr "pas assez de bois pour alimenter le feu" -#: ../script/room.js:630 +#: ../script/room.js:654 msgid "the wood has run out" msgstr "il n'y a plus de bois" -#: ../script/room.js:650 +#: ../script/room.js:674 msgid "the light from the fire spills from the windows, out into the dark" msgstr "" "la lumière du feu se repend à travers la a fenêtre, dehors dans la nuit" -#: ../script/room.js:663 +#: ../script/room.js:687 msgid "builder stokes the fire" msgstr "L'ouvrier attise le feu" -#: ../script/room.js:693 +#: ../script/room.js:717 msgid "the wind howls outside" msgstr "le vent siffle dehors" -#: ../script/room.js:694 +#: ../script/room.js:718 msgid "the wood is running out" msgstr "il n'y a bientôt plus de bois" -#: ../script/room.js:701 +#: ../script/room.js:725 msgid "a ragged stranger stumbles through the door and collapses in the corner" msgstr "une étrangère en loque rentre en titubant et s'effondre dans un coin" -#: ../script/room.js:709 +#: ../script/room.js:733 msgid "" "the stranger shivers, and mumbles quietly. her words are unintelligible." msgstr "" "l'étrangère tremble, marmonne quelques mots. ses mots sont inintelligible" -#: ../script/room.js:712 +#: ../script/room.js:736 msgid "the stranger in the corner stops shivering. her breathing calms." msgstr "l'étrangère dans le coin arrête de tremble. sa respiration se calme." -#: ../script/room.js:914 -msgid "not enough {0}" -msgstr "pas assez de {0}" +#: ../script/room.js:890 ../script/room.js:938 +msgid "not enough " +msgstr "insuffisant" + +#: ../script/room.js:910 +msgid "builder just shivers" +msgstr "L'ouvrière à trop froid" + +#: ../script/path.js:29 ../script/path.js:295 +msgid "A Dusty Path" +msgstr "Un chemin poussiéreux" + +#: ../script/path.js:43 +msgid "embark" +msgstr "partir" + +#: ../script/path.js:60 +msgid "the compass points " +msgstr "le compas indique :" + +#: ../script/path.js:132 +msgid "none" +msgstr "aucune" + +#: ../script/path.js:134 ../script/localization.js:4 +msgid "steel" +msgstr "acier" + +#: ../script/path.js:136 ../script/localization.js:4 +msgid "iron" +msgstr "fer" + +#: ../script/path.js:138 ../script/localization.js:4 +msgid "leather" +msgstr "cuir" + +#: ../script/path.js:142 +msgid "armour" +msgstr "armure" + +#: ../script/path.js:153 +msgid "water" +msgstr "eau" + +#: ../script/path.js:229 ../script/world.js:284 +msgid "free {0}/{1}" +msgstr "libre {0}/{1}" + +#: ../script/path.js:253 +msgid "weight" +msgstr "poids" + +#: ../script/path.js:255 +msgid "available" +msgstr "disponible" #: ../script/localization.js:3 msgid "wood" @@ -634,133 +924,61 @@ msgstr "fourrure" msgid "charm" msgstr "charme" -#: ../script/localization.js:4 -msgid "leather" -msgstr "cuir" - -#: ../script/localization.js:4 -msgid "iron" -msgstr "fer" - -#: ../script/localization.js:4 -msgid "steel" -msgstr "acier" - #: ../script/localization.js:4 msgid "coal" msgstr "charbon" #: ../script/localization.js:5 -msgid "hut" -msgstr "cabane" - -#: ../script/localization.js:5 -msgid "cart" -msgstr "charrette" - -#: ../script/localization.js:5 -msgid "trap" -msgstr "piège" - -#: ../script/localization.js:5 -msgid "gatherer" -msgstr "ramasseur" - -#: ../script/localization.js:5 -msgid "cloth" -msgstr "vêtements" - -#: ../script/localization.js:6 -msgid "torch" -msgstr "torche" - -#: ../script/localization.js:6 msgid "medicine" msgstr "médicament" -#: ../script/localization.js:6 -msgid "hunter" -msgstr "chasseur" - -#: ../script/localization.js:6 -msgid "trapper" -msgstr "trappeur" - -#: ../script/localization.js:6 -msgid "tanner" -msgstr "tanneur" - #: ../script/localization.js:7 -msgid "charcutier" -msgstr "boucher" - -#: ../script/localization.js:7 -msgid "iron miner" -msgstr "mineur de fer" - -#: ../script/localization.js:7 -msgid "coal miner" -msgstr "mineur de charbon" - -#: ../script/localization.js:7 -msgid "sulphur miner" -msgstr "mineur de souffre" - -#: ../script/localization.js:7 -msgid "armourer" -msgstr "armurier" - -#: ../script/localization.js:8 -msgid "steelworker" -msgstr "sidérurgiste" - -#: ../script/localization.js:8 msgid "bait" msgstr "appât" -#: ../script/localization.js:8 ../script/localization.js:10 +#: ../script/localization.js:7 ../script/localization.js:8 msgid "cured meat" msgstr "viande fumée" -#: ../script/localization.js:8 ../script/localization.js:9 +#: ../script/localization.js:7 ../script/localization.js:8 msgid "scales" msgstr "écailles" -#: ../script/localization.js:8 +#: ../script/localization.js:7 msgid "compass" msgstr "compas" -#: ../script/localization.js:9 -msgid "bone spear" -msgstr "lance" +#: ../script/localization.js:8 +msgid "cloth" +msgstr "vêtements" #: ../script/localization.js:9 -msgid "rucksack" -msgstr "gourde" +msgid "not enough fur." +msgstr "fourrure insuffisante." #: ../script/localization.js:9 -msgid "l armour" -msgstr "c amure" +msgid "not enough wood." +msgstr "bois insuffisant." #: ../script/localization.js:9 -msgid "trading post" -msgstr "comptoir" +msgid "baited trap" +msgstr "piège avec appât" #: ../script/localization.js:10 -msgid "lodge" -msgstr "cabane de chasseur" +msgid "the compass points east." +msgstr "le compas indique l'est." #: ../script/localization.js:10 -msgid "tannery" -msgstr "tannerie" +msgid "the compass points west." +msgstr "le compas indique l'ouest" #: ../script/localization.js:10 -msgid "smokehouse" -msgstr "fumoir" +msgid "the compass points north." +msgstr "le compas indique le nord." #: ../script/localization.js:10 -msgid "workshop" -msgstr "atelier" +msgid "the compass points south." +msgstr "le compas indique le sud." #: ../script/localization.js:15 msgid "stores" @@ -782,17 +1000,61 @@ msgstr "fabriquer:" msgid "buy:" msgstr "acheter:" +#: ../script/localization.js:20 +msgid "supplies:" +msgstr "équipement:" + +#: ../script/localization.js:21 +msgid "perks:" +msgstr "avantages:" + +#: ../script/localization.js:22 +msgid "take:" +msgstr "prendre:" + +#: ../script/space.js:42 +msgid "hull: " +msgstr "bouclier:" + +#: ../script/space.js:76 +msgid "Troposphere" +msgstr "Troposphère" + +#: ../script/space.js:78 +msgid "Stratosphere" +msgstr "Stratosphère" + +#: ../script/space.js:80 +msgid "Mesosphere" +msgstr "Mésosphère" + +#: ../script/space.js:82 +msgid "Thermosphere" +msgstr "Thermosphère" + +#: ../script/space.js:84 +msgid "Exosphere" +msgstr "Exosphère" + +#: ../script/space.js:86 +msgid "Space" +msgstr "L'Éspace" + +#: ../script/space.js:421 +msgid "score for this game: {0}" +msgstr "score de la partie: {0}" + +#: ../script/space.js:428 +msgid "total score: {0}" +msgstr "score total: {0}" + #: ../script/events.js:126 msgid "eat meat" -msgstr "manger de la viande" +msgstr "manger" #: ../script/events.js:146 msgid "use meds" -msgstr "utiliser un médicament" - -#: ../script/events.js:456 -msgid "the {0} is dead." -msgstr "le {0} est mort" +msgstr "se soigner" #: ../script/events.js:474 ../script/events/room.js:139 #: ../script/events/room.js:159 ../script/events/room.js:179 @@ -811,6 +1073,177 @@ msgstr "le {0} est mort" msgid "leave" msgstr "partir" +#: ../script/world.js:46 +msgid "punch" +msgstr "coup de poing" + +#: ../script/world.js:52 +msgid "stab" +msgstr "coup de lance" + +#: ../script/world.js:58 +msgid "swing" +msgstr "coup d'épée (fer)" + +#: ../script/world.js:64 +msgid "slash" +msgstr "coup d'épée (acier)" + +#: ../script/world.js:70 +msgid "thrust" +msgstr "baïonnette" + +#: ../script/world.js:76 +msgid "shoot" +msgstr "tirer (fusil)" + +#: ../script/world.js:83 +msgid "blast" +msgstr "tirer (lazer)" + +#: ../script/world.js:90 +msgid "lob" +msgstr "lancer grenade" + +#: ../script/world.js:97 +msgid "tangle" +msgstr "bola" + +#: ../script/world.js:119 +msgid "An Outpost" +msgstr "Un avant poste" + +#: ../script/world.js:120 +msgid "Iron Mine" +msgstr "Mine :de fer" + +#: ../script/world.js:121 +msgid "Coal Mine" +msgstr "Mine de charbon" + +#: ../script/world.js:122 +msgid "Sulphur Mine" +msgstr "Mine de souffre" + +#: ../script/world.js:123 +msgid "An Old House" +msgstr "Une vieille maison" + +#: ../script/world.js:124 +msgid "A Damp Cave" +msgstr "Une cave humide" + +#: ../script/world.js:125 +msgid "An Abandoned Town" +msgstr "Une ville abandonnée" + +#: ../script/world.js:126 +msgid "A Ruined City" +msgstr "Une ville en ruine" + +#: ../script/world.js:127 +msgid "A Crashed Starship" +msgstr "Un vaisseau spatial écrasé" + +#: ../script/world.js:128 +msgid "A Borehole" +msgstr "Un forage" + +#: ../script/world.js:129 +msgid "A Battlefield" +msgstr "Un champ de bataille" + +#: ../script/world.js:130 +msgid "A Murky Swamp" +msgstr "Un marais boueux" + +#: ../script/world.js:134 +msgid "A Destroyed Village" +msgstr "Un village détruit" + +#: ../script/world.js:277 +msgid "pockets" +msgstr "poches" + +#: ../script/world.js:301 +msgid "hp: {0}/{1}" +msgstr "vie: {0}/{1}" + +#: ../script/world.js:308 +msgid "{0}:{1}" +msgstr "{0}:{1}" + +#: ../script/world.js:445 +msgid "the meat has run out" +msgstr "il n'y a plus de viande" + +#: ../script/world.js:450 +msgid "starvation sets in" +msgstr "la famine s'installe" + +#: ../script/world.js:475 +msgid "there is no more water" +msgstr "il n'y a plus d'eau" + +#: ../script/world.js:479 +msgid "the thirst becomes unbearable" +msgstr "la soif devient insupportable" + +#: ../script/world.js:552 +msgid "the trees yield to dry grass. the yellowed brush rustles in the wind." +msgstr "" +"quelques arbres entourés d'herbes sèches et jauni, bruissant sous le vent" + +#: ../script/world.js:555 +msgid "" +"the trees are gone. parched earth and blowing dust are poor replacements." +msgstr "" +"il n'y a plus d'arbre. la terre desséchée et l'air emplis de poussière ne " +"compensent pas leurs disparitions." + +#: ../script/world.js:562 +msgid "" +"trees loom on the horizon. grasses gradually yield to a forest floor of dry " +"branches and fallen leaves." +msgstr "" +"des arbres se dessinent à l'horizon. l'herbe disparaît peu à peu au profit " +"d'une foret dont le sol est recouvert de feuilles mortes." + +#: ../script/world.js:565 +msgid "the grasses thin. soon, only dust remains." +msgstr "" +"l'herbe se raréfie. Il ne reste bientôt plus qu'une terre poussiéreuse." + +#: ../script/world.js:572 +msgid "the barrens break at a sea of dying grass, swaying in the arid breeze." +msgstr "" + +#: ../script/world.js:575 +msgid "" +"a wall of gnarled trees rises from the dust. their branches twist into a " +"skeletal canopy overhead." +msgstr "" + +#: ../script/world.js:777 +msgid "Wanderer" +msgstr "Vagabond" + +#: ../script/world.js:782 +msgid "The Village" +msgstr "Le village" + +#: ../script/world.js:811 +msgid "the world fades" +msgstr "le monde s’efface" + +#: ../script/world.js:912 ../script/events/setpieces.js:2851 +msgid "water replenished" +msgstr "" + +#: ../script/world.js:939 +msgid "A Barren World" +msgstr "" + #: ../script/events/outside.js:6 msgid "A Ruined Trap" msgstr "Un piège détruit" @@ -969,79 +1402,159 @@ msgstr "ils sont repoussés après une escarmouche, mais pas sans pertes." msgid "A Snarling Beast" msgstr "Une bête qui grogne" -#: ../script/events/encounters.js:37 -msgid "a snarling beast leaps out of the underbrush" -msgstr "des bêtes surgissent des buissons" +#: ../script/events/encounters.js:15 +msgid "snarling beast" +msgstr "bête qui grogne" -#: ../script/events/encounters.js:42 +#: ../script/events/encounters.js:16 +msgid "the snarling beast is dead" +msgstr "la bête grognante est morte." + +#: ../script/events/encounters.js:39 +msgid "a snarling beast leaps out of the underbrush" +msgstr "une bête grondante surgit des buissons" + +#: ../script/events/encounters.js:44 msgid "A Gaunt Man" msgstr "Un homme décharné" -#: ../script/events/encounters.js:72 +#: ../script/events/encounters.js:52 +msgid "gaunt man" +msgstr "homme décharné" + +#: ../script/events/encounters.js:53 +msgid "the gaunt man is dead" +msgstr "l'homme décharné est mort." + +#: ../script/events/encounters.js:76 msgid "a gaunt man approaches, a crazed look in his eye" msgstr "un homme décharné approche, ses yeux ont un regard dément" -#: ../script/events/encounters.js:77 +#: ../script/events/encounters.js:81 msgid "A Strange Bird" msgstr "Un oiseau étrange" -#: ../script/events/encounters.js:107 +#: ../script/events/encounters.js:89 +msgid "strange bird" +msgstr "oiseau étrange" + +#: ../script/events/encounters.js:90 +msgid "the strange bird is dead" +msgstr "l'étrange oiseau est mort." + +#: ../script/events/encounters.js:113 msgid "a strange looking bird speeds across the plains" msgstr "un oiseau étrange vole rapidement au dessus des plaines" -#: ../script/events/encounters.js:113 +#: ../script/events/encounters.js:119 msgid "A Shivering Man" msgstr "Un homme tremblant" -#: ../script/events/encounters.js:148 +#: ../script/events/encounters.js:127 +msgid "shivering man" +msgstr "homme tremblant" + +#: ../script/events/encounters.js:128 +msgid "the shivering man is dead" +msgstr "l'homme tremblant est mort." + +#: ../script/events/encounters.js:156 msgid "a shivering man approaches and attacks with surprising strength" msgstr "un homme tremblant s'approche et attaque avec une force surprenante" -#: ../script/events/encounters.js:153 +#: ../script/events/encounters.js:161 msgid "A Man-Eater" msgstr "Un mangeur d'homme" -#: ../script/events/encounters.js:183 +#: ../script/events/encounters.js:169 +msgid "man-eater" +msgstr "mangeur d'homme" + +#: ../script/events/encounters.js:170 +msgid "the man-eater is dead" +msgstr "Le mangeur d'homme est mort" + +#: ../script/events/encounters.js:193 msgid "a large creature attacks, claws freshly bloodied" msgstr "Une grande créature attaque, les griffes dégoulinante de sang" -#: ../script/events/encounters.js:188 +#: ../script/events/encounters.js:198 msgid "A Scavenger" msgstr "Un pilleur" -#: ../script/events/encounters.js:223 +#: ../script/events/encounters.js:206 +msgid "scavenger" +msgstr "pilleur" + +#: ../script/events/encounters.js:207 +msgid "the scavenger is dead" +msgstr "le voleur est mort." + +#: ../script/events/encounters.js:235 msgid "a scavenger draws close, hoping for an easy score" msgstr "Un pilleur s'approche, espérant un cible facile" -#: ../script/events/encounters.js:228 +#: ../script/events/encounters.js:240 msgid "A Huge Lizard" msgstr "Un énorme lézard" -#: ../script/events/encounters.js:258 +#: ../script/events/encounters.js:248 +msgid "lizard" +msgstr "lézard" + +#: ../script/events/encounters.js:249 +msgid "the lizard is dead" +msgstr "le lézard est mort" + +#: ../script/events/encounters.js:272 msgid "the grass thrashes wildly as a huge lizard pushes through" msgstr "l'herbe bouge bizarrement et un énorme lézard surgit" -#: ../script/events/encounters.js:264 +#: ../script/events/encounters.js:278 msgid "A Feral Terror" msgstr "Une terreur sauvage" -#: ../script/events/encounters.js:294 +#: ../script/events/encounters.js:286 +msgid "feral terror" +msgstr "terreur sauvage" + +#: ../script/events/encounters.js:287 +msgid "the feral terror is dead" +msgstr "la terreur sauvage est morte" + +#: ../script/events/encounters.js:310 msgid "a beast, wilder than imagining, erupts out of the foliage" msgstr "une bête, incroyablement sauvage, surgit des feuillage" -#: ../script/events/encounters.js:299 +#: ../script/events/encounters.js:315 msgid "A Soldier" msgstr "Un soldat" -#: ../script/events/encounters.js:335 +#: ../script/events/encounters.js:323 +msgid "soldier" +msgstr "soldat" + +#: ../script/events/encounters.js:324 +msgid "the soldier is dead" +msgstr "le soldat est mord" + +#: ../script/events/encounters.js:353 msgid "a soldier opens fire from across the desert" msgstr "un soldat ouvre feu dans le desert" -#: ../script/events/encounters.js:340 +#: ../script/events/encounters.js:358 msgid "A Sniper" msgstr "Un sniper" -#: ../script/events/encounters.js:376 +#: ../script/events/encounters.js:366 +msgid "sniper" +msgstr "sniper" + +#: ../script/events/encounters.js:367 +msgid "the sniper is dead" +msgstr "le sniper est mort" + +#: ../script/events/encounters.js:396 msgid "a shot rings out, from somewhere in the long grass" msgstr "un tir retenti, quelque part dans les hautes herbes" @@ -1158,7 +1671,7 @@ msgstr "il y'a quelque chose dans l'entrepôt" #: ../script/events/room.js:126 ../script/events/room.js:146 #: ../script/events/room.js:166 msgid "some wood is missing." -msgstr "il manque du bois." +msgstr "du bois a disparu." #: ../script/events/room.js:127 msgid "the ground is littered with small scales" @@ -1233,7 +1746,7 @@ msgstr "" #: ../script/events/room.js:266 msgid "builder's not sure he's to be trusted." -msgstr "l'ouvrière ne crois pas qu'il soit de confiance." +msgstr "l'ouvrière ne lui fait pas confiance." #: ../script/events/room.js:268 ../script/events/room.js:338 msgid "a mysterious wanderer arrives" @@ -1261,7 +1774,7 @@ msgstr "" #: ../script/events/room.js:336 msgid "builder's not sure she's to be trusted." -msgstr "l'ouvrière ne crois pas qu'elle soit de confiance." +msgstr "l'ouvrière ne lui fait pas confiance." #: ../script/events/room.js:351 msgid "turn her away" @@ -1404,7 +1917,7 @@ msgstr "Un avant poste" #: ../script/events/setpieces.js:10 ../script/events/setpieces.js:12 msgid "a safe place in the wilds." -msgstr "Une place sûre dans la nature." +msgstr "Un endroit sûr dans la nature." #: ../script/events/setpieces.js:33 msgid "A Murky Swamp" @@ -1538,7 +2051,7 @@ msgstr "les murs sont humides et recouverts de moisissures" #: ../script/events/setpieces.js:150 msgid "squeeze" -msgstr "serrer" +msgstr "se serrer" #: ../script/events/setpieces.js:161 msgid "the remains of an old camp sits just inside the cave." @@ -1580,7 +2093,7 @@ msgstr "un lézard attaque" #: ../script/events/setpieces.js:321 msgid "a large beast charges out of the dark" -msgstr "Une grande bête apparaît dans l'obscurité en chargeant" +msgstr "Une grande bête apparaît dans l'obscurité et charge" #: ../script/events/setpieces.js:353 msgid "a giant lizard shambles forward" @@ -1765,7 +2278,7 @@ msgstr "" #: ../script/events/setpieces.js:1110 msgid "eye for an eye seems fair." -msgstr "" +msgstr "œil pour œil, dent pour dent, cela semble équitable." #: ../script/events/setpieces.js:1111 msgid "always worked before, at least." @@ -1777,7 +2290,7 @@ msgstr "" #: ../script/events/setpieces.js:1153 msgid "some medicine abandoned in the drawers." -msgstr "" +msgstr "quelques médicaments ont été abandonnés dans les placards." #: ../script/events/setpieces.js:1174 msgid "the clinic has been ransacked." @@ -2032,7 +2545,7 @@ msgstr "" #: ../script/events/setpieces.js:2038 msgid "a masked soldier rounds the corner, gun drawn" -msgstr "" +msgstr "un soldat masqué apparaît a un croisement, l'arme au poing" #: ../script/events/setpieces.js:2077 msgid "the crowd surges forward." @@ -2201,34 +2714,38 @@ msgstr "Une vieille maison" #: ../script/events/setpieces.js:2828 msgid "an old house remains here, once white siding yellowed and peeling." msgstr "" +"une vielle maison est toujours là. sa peinture, à l'origine blanche, est " +"maintenant jaune et écaillée." #: ../script/events/setpieces.js:2829 msgid "the door hangs open." -msgstr "" +msgstr "la porte est ouverte" #: ../script/events/setpieces.js:2831 msgid "the remains of an old house stand as a monument to simpler times" msgstr "" +"les restes d'une ancienne maison reste tel un monument en mémoire d'un temps " +"ou les choses étaient plus simples" #: ../script/events/setpieces.js:2845 msgid "the house is abandoned, but not yet picked over." -msgstr "" +msgstr "la maison est abandonnée, mais elle n'a pas encore été visitée." #: ../script/events/setpieces.js:2846 msgid "still a few drops of water in the old well." -msgstr "" +msgstr "il reste un peu d'eau dans le puit." #: ../script/events/setpieces.js:2879 msgid "the house has been ransacked." -msgstr "" +msgstr "la maison à été saccagée." #: ../script/events/setpieces.js:2880 msgid "but there is a cache of medicine under the floorboards." -msgstr "" +msgstr "mais il reste quelques médicaments dans une cachette sous le plancher." #: ../script/events/setpieces.js:2907 msgid "a man charges down the hall, a rusty blade in his hand" -msgstr "" +msgstr "un homme charge dans l'entrée, une vieille épée rouillée à la main" #: ../script/events/setpieces.js:2938 msgid "A Forgotten Battlefield" @@ -2280,7 +2797,7 @@ msgstr "" #: ../script/events/setpieces.js:3033 msgid "salvage" -msgstr "" +msgstr "récupérer" #: ../script/events/setpieces.js:3041 msgid "The Sulphur Mine" @@ -2380,10 +2897,12 @@ msgid "" "bleached bones are strewn about the entrance. many, deeply scored with " "jagged grooves." msgstr "" +"des os complètement blancs sont éparpillés autour de l'entrée. Nombre " +"d'entre eux portent des traces de dents." #: ../script/events/setpieces.js:3328 msgid "feral howls echo out of the darkness." -msgstr "" +msgstr "des hurlements de terreurs résonnent dans le noir." #: ../script/events/setpieces.js:3330 msgid "the path leads to an abandoned mine" @@ -2483,3 +3002,9 @@ msgstr "l'homme dit être reconnaissant. Il dit qu'il ne reviendra plus." #: ../script/events/global.js:49 msgid "shares what he knows about sneaking before he goes." msgstr "il partage ses astuces pour être discret avant de s'en aller." + +#~ msgid "the {0} is dead." +#~ msgstr "le {0} est mort" + +#~ msgid "not enough {0}" +#~ msgstr "pas assez de {0}" diff --git a/lib/translate.js b/lib/translate.js index 64e4c17..44839a7 100644 --- a/lib/translate.js +++ b/lib/translate.js @@ -27,7 +27,7 @@ var re = /\{([^}]+)\}/g; return function(s, args) { return s.replace(re, function(_, match){ return args[match]; }); - } + }; }()); var formatter = defaultFormatter; translate.setFormatter = function(newFormatter) diff --git a/script/Button.js b/script/Button.js index 6d10a0d..6df7d0a 100644 --- a/script/Button.js +++ b/script/Button.js @@ -28,7 +28,7 @@ var Button = { var ttPos = options.ttPos ? options.ttPos : "bottom right"; var costTooltip = $('
').addClass('tooltip ' + ttPos); for(var k in options.cost) { - $("
").addClass('row_key').text(k).appendTo(costTooltip); + $("
").addClass('row_key').text(_(k)).appendTo(costTooltip); $("
").addClass('row_val').text(options.cost[k]).appendTo(costTooltip); } if(costTooltip.children().length > 0) { diff --git a/script/engine.js b/script/engine.js index 70c31ba..989980b 100644 --- a/script/engine.js +++ b/script/engine.js @@ -17,46 +17,57 @@ var Engine = { Perks: { 'boxer': { + name: _('boxer'), desc: _('punches do more damage'), notify: _('learned to throw punches with purpose') }, 'martial artist': { + name: _('martial artist'), desc: _('punches do even more damage.'), notify: _('learned to fight quite effectively without weapons') }, 'unarmed master': { + name: _('unarmed master'), desc: _('punch twice as fast, and with even more force'), notify: _('learned to strike faster without weapons') }, 'barbarian': { + name: _('barbarian'), desc: _('melee weapons deal more damage'), notify: _('learned to swing weapons with force') }, 'slow metabolism': { + name: _('slow metabolism'), desc: _('go twice as far without eating'), notify: _('learned how to ignore the hunger') }, 'desert rat': { + name: _('desert rat'), desc: _('go twice as far without drinking'), notify: _('learned to love the dry air') }, 'evasive': { + name: _('evasive'), desc: _('dodge attacks more effectively'), notify: _("learned to be where they're not") }, 'precise': { + name: _('precise'), desc: _('land blows more often'), notify: _('learned to predict their movement') }, 'scout': { + name: _('scout'), desc: _('see farther'), notify: _('learned to look ahead') }, 'stealthy': { + name: _('stealthy'), desc: _('better avoid conflict in the wild'), notify: _('learned how not to be seen') }, 'gastronome': { + name: _('gastronome'), desc: _('restore more health when eating'), notify: _('learned to make the most of food') } diff --git a/script/events.js b/script/events.js index 682cfd4..fd2350a 100644 --- a/script/events.js +++ b/script/events.js @@ -453,7 +453,7 @@ var Events = { var btns = $('#buttons', Events.eventPanel()); desc.empty(); btns.empty(); - $('
').text(_("the {0} is dead.",scene.enemy)).appendTo(desc); + $('
').text(scene.deathMessage).appendTo(desc); Events.drawLoot(scene.loot); @@ -495,7 +495,7 @@ var Events = { var num = Math.floor(Math.random() * (loot.max - loot.min)) + loot.min; new Button.Button({ id: 'loot_' + k.replace(' ', '-'), - text: k + ' [' + num + ']', + text: _(k) + ' [' + num + ']', click: Events.getLoot }).data('numLeft', num).appendTo(lootButtons); } @@ -518,11 +518,11 @@ var Events = { if(lootBtn.length > 0) { var curNum = lootBtn.data('numLeft'); curNum += num; - lootBtn.text(thing + ' [' + curNum + ']').data('numLeft', curNum); + lootBtn.text(_(thing) + ' [' + curNum + ']').data('numLeft', curNum); } else { new Button.Button({ id: 'loot_' + thing.replace(' ', '-'), - text: thing + ' [' + num + ']', + text: _(thing) + ' [' + num + ']', click: Events.getLoot }).data('numLeft', num).insertBefore($('.clear', lootButtons)); } @@ -550,7 +550,7 @@ var Events = { }); } else { // #dropMenu gets removed by this. - btn.text(name + ' [' + num + ']'); + btn.text(_(name) + ' [' + num + ']'); } var curNum = Path.outfit[name]; curNum = typeof curNum == 'number' ? curNum : 0; @@ -578,7 +578,7 @@ var Events = { } if(numToDrop > 0) { var dropRow = $('
').attr('id', 'drop_' + k.replace(' ', '-')) - .text(k + ' x' + numToDrop) + .text(_(k) + ' x' + numToDrop) .data('thing', k) .data('num', numToDrop) .click(Events.dropStuff); @@ -595,7 +595,7 @@ var Events = { }, createFighterDiv: function(chara, hp, maxhp) { - var fighter = $('
').addClass('fighter').text(chara).data('hp', hp).data('maxHp', maxhp); + var fighter = $('
').addClass('fighter').text(_(chara)).data('hp', hp).data('maxHp', maxhp).data('refname',chara); $('
').addClass('hp').text(hp+'/'+maxhp).appendTo(fighter); return fighter; }, diff --git a/script/events/encounters.js b/script/events/encounters.js index dd2ca77..9d1aaff 100644 --- a/script/events/encounters.js +++ b/script/events/encounters.js @@ -12,6 +12,8 @@ Events.Encounters = [ 'start': { combat: true, enemy: 'snarling beast', + enemyName: _('snarling beast'), + deathMessage: _('the snarling beast is dead'), chara: 'B', damage: 1, hit: 0.8, @@ -47,6 +49,8 @@ Events.Encounters = [ 'start': { combat: true, enemy: 'gaunt man', + enemyName: _('gaunt man'), + deathMessage: _('the gaunt man is dead'), chara: 'G', damage: 2, hit: 0.8, @@ -81,7 +85,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'strange bird', + enemy: 'strange bird', + enemyName: _('strange bird'), + deathMessage: _('the strange bird is dead'), chara: 'B', damage: 3, hit: 0.8, @@ -117,7 +123,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'shivering man', + enemy: 'shivering man', + enemyName: _('shivering man'), + deathMessage: _('the shivering man is dead'), chara: 'S', damage: 5, hit: 0.5, @@ -157,7 +165,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'man-eater', + enemy: 'man-eater', + enemyName: _('man-eater'), + deathMessage: _('the man-eater is dead'), chara: 'E', damage: 3, hit: 0.8, @@ -192,7 +202,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'scavenger', + enemy: 'scavenger', + enemyName: _('scavenger'), + deathMessage: _('the scavenger is dead'), chara: 'S', damage: 4, hit: 0.8, @@ -232,7 +244,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'lizard', + enemy: 'lizard', + enemyName: _('lizard'), + deathMessage: _('the lizard is dead'), chara: 'L', damage: 5, hit: 0.8, @@ -268,7 +282,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'feral terror', + enemy: 'feral terror', + enemyName: _('feral terror'), + deathMessage: _('the feral terror is dead'), chara: 'F', damage: 6, hit: 0.8, @@ -303,7 +319,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'soldier', + enemy: 'soldier', + enemyName: _('soldier'), + deathMessage: _('the soldier is dead'), ranged: true, chara: 'D', damage: 8, @@ -344,7 +362,9 @@ Events.Encounters = [ scenes: { 'start': { combat: true, - enemy: 'sniper', + enemy: 'sniper', + enemyName: _('sniper'), + deathMessage: _('the sniper is dead'), chara: 'S', damage: 15, hit: 0.8, diff --git a/script/events/setpieces.js b/script/events/setpieces.js index 7af71d8..b373408 100644 --- a/script/events/setpieces.js +++ b/script/events/setpieces.js @@ -2848,7 +2848,7 @@ Events.Setpieces = { onLoad: function() { World.markVisited(World.curPos[0], World.curPos[1]); World.setWater(World.getMaxWater()); - Notifications.notify(null, 'water replenished'); + Notifications.notify(null, _('water replenished')); }, loot: { 'cured meat': { diff --git a/script/localization.js b/script/localization.js index 0fbf89a..c4e8676 100644 --- a/script/localization.js +++ b/script/localization.js @@ -1,13 +1,13 @@ (function(){ //only used for poedit to find translatable strings - var keywords = [ _('wood'),_('builder'),_('teeth'),_('meat'),_('fur'), + var keywords = [ _('wood'),_('builder'),_('teeth'),_('meat'),_('fur'), _('alien alloy'), _('bullets'), _('charm'),_('leather'),_('iron'), _('steel'), _('coal'), - _('hut'), _('cart'), _('trap'), _('gatherer'),_('cloth'), _('torch'),_('medicine'),_('hunter'),_('trapper'),_('tanner'), _("charcutier"),_('iron miner'),_('coal miner'), _('sulphur miner'), _('armourer'), _('steelworker'),_('bait'),_('cured meat'), _('scales'), _('compass'), - _('scales'), _('bone spear'), _('rucksack'), _('l armour'), _('trading post'), - _('lodge'), _('tannery'), _('smokehouse'), _('workshop'), _('cured meat')]; + _('gatherer'),_('cloth'), _('scales'), _('cured meat'), _('thieves'), + _('not enough fur.'), _('not enough wood.'), _('not enough coal.'), _('not enough iron.'), _('not enough steel.'), _('baited trap'), + _('the compass points east.'), _('the compass points west.'), _('the compass points north.'), _('the compass points south.')]; delete keywords; //translate text in css by overriding attributes @@ -17,19 +17,26 @@ div#buildBtns:before{ content: \''+ _("build:") + '\'}\ div#craftBtns:before{ content: \''+ _("craft:") + '\'}\ div#buyBtns:before{ content: \''+ _("buy:") + '\'}\ + div#outfitting:before{ content: \''+ _("supplies:") + '\'}\ + div#perks:before{ content: \''+ _("perks:") + '\'}\ + div#lootButtons:before { content: \''+ _("take:") + '\'}\ ').appendTo($('head')); // resize buttons so the text is not wrap function resizeButtons($div){ - var maxWidth = 0; - $div.find('.button').css({ + return; + var maxWidth = 80; + $div.find('.button').each(function(){ + $(this).data('display',$(this).css('display')); + }).css({ width: "auto", display: "inline-block" }).each(function(){ maxWidth = Math.max($(this).width(), maxWidth); }).css({ - display: "block", width: maxWidth+"px" + }).each(function(){ + $(this).css('display',$(this).data('display')); }); } @@ -37,9 +44,13 @@ $(document).on("DOMNodeInserted", "#outsidePanel",function(){ resizeButtons($(this)); }); - $(document).on("DOMNodeInserted", ".buttons",function(){ + $(document).on("DOMNodeInserted", "#roomPanel",function(){ resizeButtons($(this)); }); + $(document).on("DOMNodeInserted", "#buttons",function(){ + resizeButtons($(this)); + }); + document.addEventListener("DOMNodeInserted", function(){ if(parseOutsidePanel) return; else if($("#outsidePanel").length){ diff --git a/script/outside.js b/script/outside.js index d16b3f3..fca4236 100644 --- a/script/outside.js +++ b/script/outside.js @@ -2,7 +2,7 @@ * Module that registers the outdoors functionality */ var Outside = { - name: "Outside", + name: _("Outside"), _GATHER_DELAY: 60, _TRAPS_DELAY: 90, @@ -10,12 +10,14 @@ var Outside = { _INCOME: { 'gatherer': { + name: _('gatherer'), delay: 10, stores: { 'wood': 1 } }, 'hunter': { + name: _('hunter'), delay: 10, stores: { 'fur': 0.5, @@ -23,6 +25,7 @@ var Outside = { } }, 'trapper': { + name: _('trapper'), delay: 10, stores: { 'meat': -1, @@ -30,6 +33,7 @@ var Outside = { } }, 'tanner': { + name: _('tanner'), delay: 10, stores: { 'fur': -5, @@ -37,6 +41,7 @@ var Outside = { } }, 'charcutier': { + name: _('charcutier'), delay: 10, stores: { 'meat': -5, @@ -45,6 +50,7 @@ var Outside = { } }, 'iron miner': { + name: _('iron miner'), delay: 10, stores: { 'cured meat': -1, @@ -52,6 +58,7 @@ var Outside = { } }, 'coal miner': { + name: _('coal miner'), delay: 10, stores: { 'cured meat': -1, @@ -59,6 +66,7 @@ var Outside = { } }, 'sulphur miner': { + name: _('sulphur miner'), delay: 10, stores: { 'cured meat': -1, @@ -66,6 +74,7 @@ var Outside = { } }, 'steelworker': { + name: _('steelworker'), delay: 10, stores: { 'iron': -1, @@ -74,6 +83,7 @@ var Outside = { } }, 'armourer': { + name: _('armourer'), delay: 10, stores: { 'steel': -1, @@ -299,16 +309,19 @@ var Outside = { return num; }, - makeWorkerRow: function(name, num) { + makeWorkerRow: function(key, num) { + name = Outside._INCOME[key].name; + if(!name) name = key; var row = $('
') - .attr('id', 'workers_row_' + name.replace(' ','-')) + .attr('key', key) + .attr('id', 'workers_row_' + key.replace(' ','-')) .addClass('workerRow'); $('
').addClass('row_key').text(name).appendTo(row); var val = $('
').addClass('row_val').appendTo(row); $('').text(num).appendTo(val); - if(name != 'gatherer') { + if(key != 'gatherer') { $('
').addClass('upManyBtn').appendTo(val).click([10], Outside.increaseWorker); $('
').addClass('upBtn').appendTo(val).click([1], Outside.increaseWorker); $('
').addClass('dnBtn').appendTo(val).click([1], Outside.decreaseWorker); @@ -318,10 +331,10 @@ var Outside = { $('
').addClass('clear').appendTo(row); var tooltip = $('
').addClass('tooltip bottom right').appendTo(row); - var income = Outside._INCOME[name]; + var income = Outside._INCOME[key]; for(var s in income.stores) { var r = $('
').addClass('storeRow'); - $('
').addClass('row_key').text(s).appendTo(r); + $('
').addClass('row_key').text(_(s)).appendTo(r); $('
').addClass('row_val').text(Engine.getIncomeMsg(income.stores[s], income.delay)).appendTo(r); r.appendTo(tooltip); } @@ -330,7 +343,7 @@ var Outside = { }, increaseWorker: function(btn) { - var worker = $(this).closest('.workerRow').children('.row_key').text(); + var worker = $(this).closest('.workerRow').attr('key'); if(Outside.getNumGatherers() > 0) { var increaseAmt = Math.min(Outside.getNumGatherers(), btn.data); Engine.log('increasing ' + worker + ' by ' + increaseAmt); @@ -339,7 +352,7 @@ var Outside = { }, decreaseWorker: function(btn) { - var worker = $(this).closest('.workerRow').children('.row_key').text(); + var worker = $(this).closest('.workerRow').attr('key'); if($SM.get('game.workers["'+worker+'"]') > 0) { var decreaseAmt = Math.min($SM.get('game.workers["'+worker+'"]') || 0, btn.data); Engine.log('decreasing ' + worker + ' by ' + decreaseAmt); @@ -352,7 +365,7 @@ var Outside = { var row = $('div#' + id, village); if(row.length == 0 && num > 0) { row = $('
').attr('id', id).addClass('storeRow'); - $('
').addClass('row_key').text(name).appendTo(row); + $('
').addClass('row_key').text(_(name)).appendTo(row); $('
').addClass('row_val').text(num).appendTo(row); $('
').addClass('clear').appendTo(row); var curPrev = null; @@ -473,7 +486,7 @@ var Outside = { stores[store] = income.stores[store] * num; if(curIncome[store] != stores[store]) needsUpdate = true; var row = $('
').addClass('storeRow'); - $('
').addClass('row_key').text(store).appendTo(row); + $('
').addClass('row_key').text(_(store)).appendTo(row); $('
').addClass('row_val').text(Engine.getIncomeMsg(stores[store], income.delay)).appendTo(row); row.appendTo(tooltip); } diff --git a/script/path.js b/script/path.js index 07b7b24..fb2289d 100644 --- a/script/path.js +++ b/script/path.js @@ -26,7 +26,7 @@ var Path = { World.init(); // Create the path tab - this.tab = Header.addLocation("A Dusty Path", "path", Path); + this.tab = Header.addLocation(_("A Dusty Path"), "path", Path); // Create the Path panel this.panel = $('
').attr('id', "pathPanel") @@ -40,7 +40,7 @@ var Path = { // Add the embark button new Button.Button({ id: 'embarkButton', - text: "embark", + text: _("embark"), click: Path.embark, width: '80px', cooldown: World.DEATH_COOLDOWN @@ -57,7 +57,7 @@ var Path = { openPath: function() { Path.init(); Engine.event('progress', 'path'); - Notifications.notify(Room, 'the compass points ' + World.dir); + Notifications.notify(Room, _('the compass points ' + World.dir)); }, getWeight: function(thing) { @@ -106,7 +106,7 @@ var Path = { var r = $('#' + id); if($SM.get('character.perks["'+k+'"]') && r.length == 0) { r = $('
').attr('id', id).addClass('perkRow').appendTo(perks); - $('
').addClass('row_key').text(k).appendTo(r); + $('
').addClass('row_key').text(_(k)).appendTo(r); $('
').addClass('tooltip bottom right').text(Engine.Perks[k].desc).appendTo(r); } } @@ -129,17 +129,17 @@ var Path = { } // Add the armour row - var armour = "none"; + var armour = _("none"); if($SM.get('stores["s armour"]', true) > 0) - armour = "steel"; + armour = _("steel"); else if($SM.get('stores["i armour"]', true) > 0) - armour = "iron"; + armour = _("iron"); else if($SM.get('stores["l armour"]', true) > 0) - armour = "leather"; + armour = _("leather"); var aRow = $('#armourRow'); if(aRow.length == 0) { aRow = $('
').attr('id', 'armourRow').addClass('outfitRow').prependTo(outfit); - $('
').addClass('row_key').text('armour').appendTo(aRow); + $('
').addClass('row_key').text(_('armour')).appendTo(aRow); $('
').addClass('row_val').text(armour).appendTo(aRow); $('
').addClass('clear').appendTo(aRow); } else { @@ -150,7 +150,7 @@ var Path = { var wRow = $('#waterRow'); if(wRow.length == 0) { wRow = $('
').attr('id', 'waterRow').addClass('outfitRow').insertAfter(aRow); - $('
').addClass('row_key').text('water').appendTo(wRow); + $('
').addClass('row_key').text(_('water')).appendTo(wRow); $('
').addClass('row_val').text(World.getMaxWater()).appendTo(wRow); $('
').addClass('clear').appendTo(wRow); } else { @@ -183,7 +183,7 @@ var Path = { if((store.type == 'tool' || store.type == 'weapon') && have > 0) { total += num * Path.getWeight(k); if(row.length == 0) { - row = Path.createOutfittingRow(k, num); + row = Path.createOutfittingRow(k, num, store.name); var curPrev = null; outfit.children().each(function(i) { @@ -226,7 +226,7 @@ var Path = { } // Update bagspace - $('#bagspace').text('free ' + Math.floor(Path.getCapacity() - total) + '/' + Path.getCapacity()); + $('#bagspace').text(_('free {0}/{1}', Math.floor(Path.getCapacity() - total) , Path.getCapacity())); if(Path.outfit['cured meat'] > 0) { Button.setDisabled($('#embarkButton'), false); @@ -235,8 +235,9 @@ var Path = { } }, - createOutfittingRow: function(name, num) { - var row = $('
').attr('id', 'outfit_row_' + name.replace(' ', '-')).addClass('outfitRow'); + createOutfittingRow: function(key, num, name) { + if(!name) name = _(key); + var row = $('
').attr('id', 'outfit_row_' + key.replace(' ', '-')).addClass('outfitRow').attr('key',key); $('
').addClass('row_key').text(name).appendTo(row); var val = $('
').addClass('row_val').appendTo(row); @@ -247,18 +248,18 @@ var Path = { $('
').addClass('dnManyBtn').appendTo(val).click([10], Path.decreaseSupply); $('
').addClass('clear').appendTo(row); - var numAvailable = $SM.get('stores["'+name+'"]', true); + var numAvailable = $SM.get('stores["'+key+'"]', true); var tt = $('
').addClass('tooltip bottom right').appendTo(row); - $('
').addClass('row_key').text('weight').appendTo(tt); - $('
').addClass('row_val').text(Path.getWeight(name)).appendTo(tt); - $('
').addClass('row_key').text('available').appendTo(tt); + $('
').addClass('row_key').text(_('weight')).appendTo(tt); + $('
').addClass('row_val').text(Path.getWeight(key)).appendTo(tt); + $('
').addClass('row_key').text(_('available')).appendTo(tt); $('
').addClass('row_val').addClass('numAvailable').text(numAvailable).appendTo(tt); return row; }, increaseSupply: function(btn) { - var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' '); + var supply = $(this).closest('.outfitRow').attr('key'); Engine.log('increasing ' + supply + ' by up to ' + btn.data); var cur = Path.outfit[supply]; cur = typeof cur == 'number' ? cur : 0; @@ -272,7 +273,7 @@ var Path = { }, decreaseSupply: function(btn) { - var supply = $(this).closest('.outfitRow').children('.row_key').text().replace('-', ' '); + var supply = $(this).closest('.outfitRow').attr('key'); Engine.log('decreasing ' + supply + ' by up to ' + btn.data); var cur = Path.outfit[supply]; cur = typeof cur == 'number' ? cur : 0; @@ -291,7 +292,7 @@ var Path = { }, setTitle: function() { - document.title = 'A Dusty Path'; + document.title = _('A Dusty Path'); }, embark: function() { diff --git a/script/room.js b/script/room.js index e381ed1..b550aef 100644 --- a/script/room.js +++ b/script/room.js @@ -15,6 +15,7 @@ var Room = { Craftables: { 'trap': { + name: _('trap'), button: null, maximum: 10, availableMsg: _('builder says she can make traps to catch any creatures might still be alive out there'), @@ -29,6 +30,7 @@ var Room = { } }, 'cart': { + name: _('cart'), button: null, maximum: 1, availableMsg: _('builder says she can make a cart for carrying wood'), @@ -41,6 +43,7 @@ var Room = { } }, 'hut': { + name: _('hut'), button: null, maximum: 20, availableMsg: _("builder says there are more wanderers. says they'll work, too."), @@ -55,6 +58,7 @@ var Room = { } }, 'lodge': { + name: _('lodge'), button: null, maximum: 1, availableMsg: _('villagers could help hunt, given the means'), @@ -69,6 +73,7 @@ var Room = { } }, 'trading post': { + name: _('trading post'), button: null, maximum: 1, availableMsg: _("a trading post would make commerce easier"), @@ -82,6 +87,7 @@ var Room = { } }, 'tannery': { + name: _('tannery'), button: null, maximum: 1, availableMsg: _("builder says leather could be useful. says the villagers could make it."), @@ -95,6 +101,7 @@ var Room = { } }, 'smokehouse': { + name: _('smokehouse'), button: null, maximum: 1, availableMsg: _("should cure the meat, or it'll spoil. builder says she can fix something up."), @@ -108,6 +115,7 @@ var Room = { } }, 'workshop': { + name: _('workshop'), button: null, maximum: 1, availableMsg: _("builder says she could make finer things, if she had the tools"), @@ -122,6 +130,7 @@ var Room = { } }, 'steelworks': { + name: _('steelworks'), button: null, maximum: 1, availableMsg: _("builder says the villagers could make steel, given the tools"), @@ -136,6 +145,7 @@ var Room = { } }, 'armoury': { + name: _('armoury'), button: null, maximum: 1, availableMsg: _("builder says it'd be useful to have a steady source of bullets"), @@ -150,6 +160,7 @@ var Room = { } }, 'torch': { + name: _('torch'), button: null, type: 'tool', buildMsg: _('a torch to keep the dark away'), @@ -161,6 +172,7 @@ var Room = { } }, 'waterskin': { + name: _('waterskin'), button: null, type: 'upgrade', maximum: 1, @@ -172,6 +184,7 @@ var Room = { } }, 'cask': { + name: _('cask'), button: null, type: 'upgrade', maximum: 1, @@ -184,6 +197,7 @@ var Room = { } }, 'water tank': { + name: _('water tank'), button: null, type: 'upgrade', maximum: 1, @@ -196,6 +210,7 @@ var Room = { } }, 'bone spear': { + name: _('bone spear'), button: null, type: 'weapon', buildMsg: _("this spear's not elegant, but it's pretty good at stabbing"), @@ -207,6 +222,7 @@ var Room = { } }, 'rucksack': { + name: _('rucksack'), button: null, type: 'upgrade', maximum: 1, @@ -218,6 +234,7 @@ var Room = { } }, 'wagon': { + name: _('wagon'), button: null, type: 'upgrade', maximum: 1, @@ -230,6 +247,7 @@ var Room = { } }, 'convoy': { + name: _('convoy'), button: null, type: 'upgrade', maximum: 1, @@ -243,6 +261,7 @@ var Room = { } }, 'l armour': { + name: _('l armour'), type: 'upgrade', maximum: 1, buildMsg: _("leather's not strong. better than rags, though."), @@ -254,6 +273,7 @@ var Room = { } }, 'i armour': { + name: _('i armour'), type: 'upgrade', maximum: 1, buildMsg: _("iron's stronger than leather"), @@ -265,6 +285,7 @@ var Room = { } }, 's armour': { + name: _('s armour'), type: 'upgrade', maximum: 1, buildMsg: _("steel's stronger than iron"), @@ -276,6 +297,7 @@ var Room = { } }, 'iron sword': { + name: _('iron sword'), button: null, type: 'weapon', buildMsg: _("sword is sharp. good protection out in the wilds."), @@ -288,6 +310,7 @@ var Room = { } }, 'steel sword': { + name: _('steel sword'), button: null, type: 'weapon', buildMsg: _("the steel is strong, and the blade true."), @@ -300,6 +323,7 @@ var Room = { } }, 'rifle': { + name: _('rifle'), type: 'weapon', buildMsg: _("black powder and bullets, like the old days."), cost: function() { @@ -782,7 +806,7 @@ var Room = { if(row.length == 0 && num > 0) { row = $('
').attr('id', id).addClass('storeRow'); - $('
').addClass('row_key').text(k).appendTo(row); + $('
').addClass('row_key').text(_(k)).appendTo(row); $('
').addClass('row_val').text(Math.floor(num)).appendTo(row); $('
').addClass('clear').appendTo(row); var curPrev = null; @@ -835,7 +859,7 @@ var Room = { var income = $SM.get('income["'+incomeSource+'"]'); for(var store in income.stores) { if(store == storeName && income.stores[store] != 0) { - $('
').addClass('row_key').text(incomeSource).appendTo(tt); + $('
').addClass('row_key').text(_(incomeSource)).appendTo(tt); $('
') .addClass('row_val') .text(Engine.getIncomeMsg(income.stores[store], income.delay)) @@ -863,7 +887,7 @@ var Room = { for(var k in cost) { var have = $SM.get('stores["'+k+'"]', true); if(have < cost[k]) { - Notifications.notify(Room, "not enough " + k); + Notifications.notify(Room, _("not enough " + k)); return false; } else { storeMod[k] = have - cost[k]; @@ -883,7 +907,7 @@ var Room = { build: function(buildBtn) { var thing = $(buildBtn).attr('buildThing'); if(Room.temperature.value <= Room.TempEnum.Cold.value) { - Notifications.notify(Room, "builder just shivers"); + Notifications.notify(Room, _("builder just shivers")); return false; } var craftable = Room.Craftables[thing]; @@ -911,7 +935,7 @@ var Room = { for(var k in cost) { var have = $SM.get('stores["'+k+'"]', true); if(have < cost[k]) { - Notifications.notify(Room, _("not enough {0}", k)); + Notifications.notify(Room, _("not enough "+k)); return false; } else { storeMod[k] = have - cost[k]; @@ -1025,7 +1049,7 @@ var Room = { costTooltip.empty(); var cost = craftable.cost(); for(var k in cost) { - $("
").addClass('row_key').text(k).appendTo(costTooltip); + $("
").addClass('row_key').text(_(k)).appendTo(costTooltip); $("
").addClass('row_val').text(cost[k]).appendTo(costTooltip); } if(max && !craftable.button.hasClass('disabled')) { @@ -1058,7 +1082,7 @@ var Room = { costTooltip.empty(); var cost = good.cost(); for(var k in cost) { - $("
").addClass('row_key').text(k).appendTo(costTooltip); + $("
").addClass('row_key').text(_(k)).appendTo(costTooltip); $("
").addClass('row_val').text(cost[k]).appendTo(costTooltip); } if(max && !good.button.hasClass('disabled')) { diff --git a/script/ship.js b/script/ship.js index f184737..3c6c006 100644 --- a/script/ship.js +++ b/script/ship.js @@ -8,7 +8,7 @@ var Ship = { BASE_HULL: 0, BASE_THRUSTERS: 1, - name: "Ship", + name: _("Ship"), init: function(options) { this.options = $.extend( this.options, @@ -24,7 +24,7 @@ var Ship = { } // Create the Ship tab - this.tab = Header.addLocation("An Old Starship", "ship", Ship); + this.tab = Header.addLocation(_("An Old Starship"), "ship", Ship); // Create the Ship panel this.panel = $('
').attr('id', "shipPanel") @@ -35,20 +35,20 @@ var Ship = { // Draw the hull label var hullRow = $('
').attr('id', 'hullRow').appendTo('div#shipPanel'); - $('
').addClass('row_key').text('hull:').appendTo(hullRow); + $('
').addClass('row_key').text(_('hull:')).appendTo(hullRow); $('
').addClass('row_val').text($SM.get('game.spaceShip.hull')).appendTo(hullRow); $('
').addClass('clear').appendTo(hullRow); // Draw the thrusters label var engineRow = $('
').attr('id', 'engineRow').appendTo('div#shipPanel'); - $('
').addClass('row_key').text('engine:').appendTo(engineRow); + $('
').addClass('row_key').text(_('engine:')).appendTo(engineRow); $('
').addClass('row_val').text($SM.get('game.spaceShip.thrusters')).appendTo(engineRow); $('
').addClass('clear').appendTo(engineRow); // Draw the reinforce button new Button.Button({ id: 'reinforceButton', - text: 'reinforce hull', + text: _('reinforce hull'), click: Ship.reinforceHull, width: '100px', cost: {'alien alloy': Ship.ALLOY_PER_HULL} @@ -57,7 +57,7 @@ var Ship = { // Draw the engine button new Button.Button({ id: 'engineButton', - text: 'upgrade engine', + text: _('upgrade engine'), click: Ship.upgradeEngine, width: '100px', cost: {'alien alloy': Ship.ALLOY_PER_THRUSTER} @@ -66,7 +66,7 @@ var Ship = { // Draw the lift off button var b = new Button.Button({ id: 'liftoffButton', - text: 'lift off', + text: _('lift off'), click: Ship.checkLiftOff, width: '100px', cooldown: Ship.LIFTOFF_COOLDOWN @@ -88,7 +88,7 @@ var Ship = { onArrival: function(transition_diff) { Ship.setTitle(); if(!$SM.get('game.spaceShip.seenShip')) { - Notifications.notify(Ship, 'somewhere above the debris cloud, the wanderer fleet hovers. been on this rock too long.'); + Notifications.notify(Ship, _('somewhere above the debris cloud, the wanderer fleet hovers. been on this rock too long.')); $SM.set('game.spaceShip.seenShip', true); } @@ -103,7 +103,7 @@ var Ship = { reinforceHull: function() { if($SM.get('stores["alien alloy"]', true) < Ship.ALLOY_PER_HULL) { - Notifications.notify(Ship, "not enough alien alloy"); + Notifications.notify(Ship, _("not enough alien alloy")); return false; } $SM.add('stores["alien alloy"]', -Ship.ALLOY_PER_HULL); @@ -116,7 +116,7 @@ var Ship = { upgradeEngine: function() { if($SM.get('stores["alien alloy"]', true) < Ship.ALLOY_PER_THRUSTER) { - Notifications.notify(Ship, "not enough alien alloy"); + Notifications.notify(Ship, _("not enough alien alloy")); return false; } $SM.add('stores["alien alloy"]', -Ship.ALLOY_PER_THRUSTER); @@ -131,15 +131,15 @@ var Ship = { checkLiftOff: function() { if(!$SM.get('game.spaceShip.seenWarning')) { Events.startEvent({ - title: 'Ready to Leave?', + title: _('Ready to Leave?'), scenes: { 'start': { text: [ - "time to get out of this place. won't be coming back." + _("time to get out of this place. won't be coming back.") ], buttons: { 'fly': { - text: 'lift off', + text: _('lift off'), onChoose: function() { $SM.set('game.spaceShip.seenWarning', true); Ship.liftOff(); @@ -147,7 +147,7 @@ var Ship = { nextScene: 'end' }, 'wait': { - text: 'linger', + text: _('linger'), onChoose: function() { Button.clearCooldown($('#liftoffButton')); }, diff --git a/script/space.js b/script/space.js index f45a5ba..f4388f0 100644 --- a/script/space.js +++ b/script/space.js @@ -39,7 +39,7 @@ var Space = { // Create the hull display var h = $('
').attr('id', 'hullRemaining').appendTo(this.panel); - $('
').addClass('row_key').text('hull: ').appendTo(h); + $('
').addClass('row_key').text(_('hull: ')).appendTo(h); $('
').addClass('row_val').appendTo(h); //subscribe to stateUpdates @@ -73,17 +73,17 @@ var Space = { if(Engine.activeModule == this) { var t; if(Space.altitude < 10) { - t = "Troposphere"; + t = _("Troposphere"); } else if(Space.altitude < 20) { - t = "Stratosphere"; + t = _("Stratosphere"); } else if(Space.altitude < 30) { - t = "Mesosphere"; + t = _("Mesosphere"); } else if(Space.altitude < 45) { - t = "Thermosphere"; + t = _("Thermosphere"); } else if(Space.altitude < 60){ - t = "Exosphere"; + t = _("Exosphere"); } else { - t = "Space"; + t = _("Space"); } document.title = t; } @@ -418,14 +418,14 @@ var Space = { .appendTo('body'); $('') .addClass('endGame') - .text('score for this game: ' + Score.calculateScore()) + .text(_('score for this game: {0}', Score.calculateScore())) .appendTo('.centerCont') .animate({opacity:1},1500); $('
') .appendTo('.centerCont'); $('') .addClass('endGame') - .text('total score: ' + Prestige.get().score) + .text(_('total score: {0}', Prestige.get().score)) .appendTo('.centerCont') .animate({opacity:1},1500); $('
') @@ -436,7 +436,7 @@ var Space = { $('#content, #notifications').remove(); $('') .addClass('endGame endGameRestart') - .text('restart.') + .text(_('restart.')) .click(Engine.confirmDelete) .appendTo('.centerCont') .animate({opacity:1},1500); diff --git a/script/world.js b/script/world.js index 62a1c9e..b666f90 100644 --- a/script/world.js +++ b/script/world.js @@ -43,58 +43,58 @@ var World = { Weapons: { 'fists': { - verb: 'punch', + verb: _('punch'), type: 'unarmed', damage: 1, cooldown: 2 }, 'bone spear': { - verb: 'stab', + verb: _('stab'), type: 'melee', damage: 2, cooldown: 2 }, 'iron sword': { - verb: 'swing', + verb: _('swing'), type: 'melee', damage: 4, cooldown: 2 }, 'steel sword': { - verb: 'slash', + verb: _('slash'), type: 'melee', damage: 6, cooldown: 2 }, 'bayonet': { - verb: 'thrust', + verb: _('thrust'), type: 'melee', damage: 8, cooldown: 2 }, 'rifle': { - verb: 'shoot', + verb: _('shoot'), type: 'ranged', damage: 5, cooldown: 1, cost: { 'bullets': 1 } }, 'laser rifle': { - verb: 'blast', + verb: _('blast'), type: 'ranged', damage: 8, cooldown: 1, cost: { 'energy cell': 1 } }, 'grenade': { - verb: 'lob', + verb: _('lob'), type: 'ranged', damage: 15, cooldown: 5, cost: { 'grenade': 1 } }, 'bolas': { - verb: 'tangle', + verb: _('tangle'), type: 'ranged', damage: 'stun', cooldown: 15, @@ -116,22 +116,22 @@ var World = { World.TILE_PROBS[World.TILE.BARRENS] = 0.5; // Setpiece definitions - World.LANDMARKS[World.TILE.OUTPOST] = { num: 0, minRadius: 0, maxRadius: 0, scene: 'outpost', label: 'An Outpost' }; - World.LANDMARKS[World.TILE.IRON_MINE] = { num: 1, minRadius: 5, maxRadius: 5, scene: 'ironmine', label: 'Iron Mine' }; - World.LANDMARKS[World.TILE.COAL_MINE] = { num: 1, minRadius: 10, maxRadius: 10, scene: 'coalmine', label: 'Coal Mine' }; - World.LANDMARKS[World.TILE.SULPHUR_MINE] = { num: 1, minRadius: 20, maxRadius: 20, scene: 'sulphurmine', label: 'Sulphur Mine' }; - World.LANDMARKS[World.TILE.HOUSE] = { num: 10, minRadius: 0, maxRadius: World.RADIUS * 1.5, scene: 'house', label: 'An Old House' }; - World.LANDMARKS[World.TILE.CAVE] = { num: 5, minRadius: 3, maxRadius: 10, scene: 'cave', label: 'A Damp Cave' }; - World.LANDMARKS[World.TILE.TOWN] = { num: 10, minRadius: 10, maxRadius: 20, scene: 'town', label: 'An Abandoned Town' }; - World.LANDMARKS[World.TILE.CITY] = { num: 20, minRadius: 20, maxRadius: World.RADIUS * 1.5, scene: 'city', label: 'A Ruined City' }; - World.LANDMARKS[World.TILE.SHIP] = { num: 1, minRadius: 28, maxRadius: 28, scene: 'ship', label: 'A Crashed Starship'}; - World.LANDMARKS[World.TILE.BOREHOLE] = { num: 10, minRadius: 15, maxRadius: World.RADIUS * 1.5, scene: 'borehole', label: 'A Borehole'}; - World.LANDMARKS[World.TILE.BATTLEFIELD] = { num: 5, minRadius: 18, maxRadius: World.RADIUS * 1.5, scene: 'battlefield', label: 'A Battlefield'}; - World.LANDMARKS[World.TILE.SWAMP] = { num: 1, minRadius: 15, maxRadius: World.RADIUS * 1.5, scene: 'swamp', label: 'A Murky Swamp'}; + World.LANDMARKS[World.TILE.OUTPOST] = { num: 0, minRadius: 0, maxRadius: 0, scene: 'outpost', label: _('An Outpost') }; + World.LANDMARKS[World.TILE.IRON_MINE] = { num: 1, minRadius: 5, maxRadius: 5, scene: 'ironmine', label: _('Iron Mine') }; + World.LANDMARKS[World.TILE.COAL_MINE] = { num: 1, minRadius: 10, maxRadius: 10, scene: 'coalmine', label: _('Coal Mine') }; + World.LANDMARKS[World.TILE.SULPHUR_MINE] = { num: 1, minRadius: 20, maxRadius: 20, scene: 'sulphurmine', label: _('Sulphur Mine') }; + World.LANDMARKS[World.TILE.HOUSE] = { num: 10, minRadius: 0, maxRadius: World.RADIUS * 1.5, scene: 'house', label: _('An Old House') }; + World.LANDMARKS[World.TILE.CAVE] = { num: 5, minRadius: 3, maxRadius: 10, scene: 'cave', label: _('A Damp Cave') }; + World.LANDMARKS[World.TILE.TOWN] = { num: 10, minRadius: 10, maxRadius: 20, scene: 'town', label: _('An Abandoned Town') }; + World.LANDMARKS[World.TILE.CITY] = { num: 20, minRadius: 20, maxRadius: World.RADIUS * 1.5, scene: 'city', label: _('A Ruined City') }; + World.LANDMARKS[World.TILE.SHIP] = { num: 1, minRadius: 28, maxRadius: 28, scene: 'ship', label: _('A Crashed Starship')}; + World.LANDMARKS[World.TILE.BOREHOLE] = { num: 10, minRadius: 15, maxRadius: World.RADIUS * 1.5, scene: 'borehole', label: _('A Borehole')}; + World.LANDMARKS[World.TILE.BATTLEFIELD] = { num: 5, minRadius: 18, maxRadius: World.RADIUS * 1.5, scene: 'battlefield', label: _('A Battlefield')}; + World.LANDMARKS[World.TILE.SWAMP] = { num: 1, minRadius: 15, maxRadius: World.RADIUS * 1.5, scene: 'swamp', label: _('A Murky Swamp')}; // Only add the cache if there is prestige data if($SM.get('previous.stores')) { - World.LANDMARKS[World.TILE.CACHE] = { num: 1, minRadius: 10, maxRadius: World.RADIUS * 1.5, scene: 'cache', label: 'A Destroyed Village'}; + World.LANDMARKS[World.TILE.CACHE] = { num: 1, minRadius: 10, maxRadius: World.RADIUS * 1.5, scene: 'cache', label: _('A Destroyed Village')}; } if(typeof $SM.get('features.location.world') == 'undefined') { @@ -247,7 +247,7 @@ var World = { water = World.createItemDiv('water', World.water); water.prependTo(supplies); } else if(World.water > 0) { - $('div#supply_water', supplies).text('water:' + World.water); + $('div#supply_water', supplies).text(_('water:{0}' , World.water)); } else { water.remove(); } @@ -267,21 +267,21 @@ var World = { item.appendTo(supplies); } } else if(num > 0) { - $('div#' + item.attr('id'), supplies).text(k + ':' + num); + $('div#' + item.attr('id'), supplies).text(_(k) + ':' + num); } else { item.remove(); } } // Update label - var t = 'pockets'; + var t = _('pockets'); if($SM.get('stores.rucksack', true) > 0) { - t = 'rucksack'; + t = _('rucksack'); } $('#backpackTitle').text(t); // Update bagspace - $('#backpackSpace').text('free ' + Math.floor(Path.getCapacity() - total) + '/' + Path.getCapacity()); + $('#backpackSpace').text(_('free {0}/{1}', Math.floor(Path.getCapacity() - total) , Path.getCapacity())); }, setWater: function(w) { @@ -298,14 +298,14 @@ var World = { if(World.health > World.getMaxHealth()) { World.health = World.getMaxHealth(); } - $('#healthCounter').text('hp: ' + World.health + '/' + World.getMaxHealth()); + $('#healthCounter').text(_('hp: {0}/{1}', World.health , World.getMaxHealth())); } }, createItemDiv: function(name, num) { var div = $('
').attr('id', 'supply_' + name.replace(' ', '-')) .addClass('supplyItem') - .text(name + ':' + num); + .text(_('{0}:{1}',_(name), num)); return div; }, @@ -340,9 +340,9 @@ var World = { World.doSpace(); if(World.checkDanger()) { if(World.danger) { - Notifications.notify(World, 'dangerous to be this far from the village without proper protection'); + Notifications.notify(World, _('dangerous to be this far from the village without proper protection')); } else { - Notifications.notify(World, 'safer here'); + Notifications.notify(World, _('safer here')); } } }, @@ -442,12 +442,12 @@ var World = { var num = Path.outfit['cured meat']; num--; if(num == 0) { - Notifications.notify(World, 'the meat has run out'); + Notifications.notify(World, _('the meat has run out')); } else if(num < 0) { // Starvation! Hooray! num = 0; if(!World.starvation) { - Notifications.notify(World, 'starvation sets in'); + Notifications.notify(World, _('starvation sets in')); World.starvation = true; } else { $SM.set('character.starved', $SM.get('character.starved', true)); @@ -472,11 +472,11 @@ var World = { var water = World.water; water--; if(water == 0) { - Notifications.notify(World, 'there is no more water'); + Notifications.notify(World, _('there is no more water')); } else if(water < 0) { water = 0; if(!World.thirst) { - Notifications.notify(World, 'the thirst becomes unbearable'); + Notifications.notify(World, _('the thirst becomes unbearable')); World.thirst = true; } else { $SM.set('character.dehydrated', $SM.get('character.dehydrated', true)); @@ -549,30 +549,30 @@ var World = { case World.TILE.FOREST: switch(newTile) { case World.TILE.FIELD: - msg = "the trees yield to dry grass. the yellowed brush rustles in the wind."; + msg = _("the trees yield to dry grass. the yellowed brush rustles in the wind."); break; case World.TILE.BARRENS: - msg = "the trees are gone. parched earth and blowing dust are poor replacements."; + msg = _("the trees are gone. parched earth and blowing dust are poor replacements."); break; } break; case World.TILE.FIELD: switch(newTile) { case World.TILE.FOREST: - msg = "trees loom on the horizon. grasses gradually yield to a forest floor of dry branches and fallen leaves."; + msg = _("trees loom on the horizon. grasses gradually yield to a forest floor of dry branches and fallen leaves."); break; case World.TILE.BARRENS: - msg = "the grasses thin. soon, only dust remains."; + msg = _("the grasses thin. soon, only dust remains."); break; } break; case World.TILE.BARRENS: switch(newTile) { case World.TILE.FIELD: - msg = "the barrens break at a sea of dying grass, swaying in the arid breeze."; + msg = _("the barrens break at a sea of dying grass, swaying in the arid breeze."); break; case World.TILE.FOREST: - msg = "a wall of gnarled trees rises from the dust. their branches twist into a skeletal canopy overhead."; + msg = _("a wall of gnarled trees rises from the dust. their branches twist into a skeletal canopy overhead."); break; } break; @@ -774,12 +774,12 @@ var World = { ttClass += " bottom"; } if(World.curPos[0] == i && World.curPos[1] == j) { - mapString += '@
Wanderer
'; + mapString += '@
'+_('Wanderer')+'
'; } else if(World.state.mask[i][j]) { var c = World.state.map[i][j]; switch(c) { case World.TILE.VILLAGE: - mapString += '' + c + '
The Village
'; + mapString += '' + c + '
'+_('The Village')+'
'; break; default: if(typeof World.LANDMARKS[c] != 'undefined' && (c != World.TILE.OUTPOST || !World.outpostUsed(i, j))) { @@ -808,7 +808,7 @@ var World = { Engine.event('game event', 'death'); Engine.keyLock = true; // Dead! Discard any world changes and go home - Notifications.notify(World, 'the world fades'); + Notifications.notify(World, _('the world fades')); World.state = null; Path.outfit = {}; $('#outerSlider').animate({opacity: '0'}, 600, 'linear', function() { @@ -909,7 +909,7 @@ var World = { }, useOutpost: function() { - Notifications.notify(null, 'water replenished'); + Notifications.notify(null, _('water replenished')); World.setWater(World.getMaxWater()); // Mark this outpost as used World.usedOutposts[World.curPos[0] + ',' + World.curPos[1]] = true; @@ -936,7 +936,7 @@ var World = { }, setTitle: function() { - document.title = 'A Barren World'; + document.title = _('A Barren World'); }, copyPos: function(pos) {