Files
decision/web/src/lib/i18n/en.ts
T
YvvandClaude Opus 5.5 5d1f8652fc v3 : interface d'une version retenue — « Contre » et « Retirer mon vote », jamais « Pour »
Sous l'article, une version retenue montre « Contre » et le retrait, avec la
phrase qui dit pourquoi. Dans le panier, elle se choisit en « contre » ou en
retrait ; « Tout pour » la saute et le dit, « Tout contre » la prend ; un « pour »
gardé d'avant l'objection quitte le panier (basket.kept). Les phrases qui disaient
« ne se vote plus » disent la règle d'Yvv, en fr, en et es. C28 ajusté.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 00:41:50 +01:00

660 lines
40 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Messages } from './fr';
export const en: Messages = {
'app.name': 'libreDecision',
'app.skip': 'Skip to content',
'nav.label': 'Toolbox',
'nav.home': 'Home',
'nav.decisions': 'Decisions',
'nav.docs': 'Reference documents',
'nav.mandates': 'Mandates',
'nav.protocols': 'Protocols',
'nav.groups': 'My groups',
'nav.messages': 'Messages',
'nav.messages.count.one': 'Messages, {n} unread',
'nav.messages.count.other': 'Messages, {n} unread',
'nav.docs.count.one': '{label}, {n} document in progress',
'nav.docs.count.other': '{label}, {n} documents in progress',
'nav.access': 'Access',
'nav.access.hint': 'trustinWallet',
'nav.feedback': 'Give feedback',
'nav.signin': 'Sign in',
'nav.signout': 'Sign out',
'nav.mood': 'Mood',
'mood.pierre': 'Stone',
'mood.calcaire': 'Limestone',
'mood.nuit': 'Night',
'mood.ardoise': 'Slate',
'nav.lang': 'Language',
'nav.menu': 'Menu',
'nav.close': 'Close',
'home.title': 'Making collective decisions possible',
'home.leitmotiv.context': 'context and framing',
'home.leitmotiv.process': 'processes and methods',
'home.leitmotiv.tools': 'a toolbox',
'home.signin': 'Sign in with your Ğ1 key',
'home.signin.note': 'The same access as the Monnaie libre forum: you sign with Ğecko, no password needed.',
'signin.title': 'Sign in',
'signin.g1': 'Sign in with Ğ1',
'signin.g1.how': "You'll be sent to connect.monnaie-libre.fr, the sign-in service of the Monnaie libre forum. There you approve the sign-in in Ğecko (link or QR code), then come back here. No password and no key is ever passed to us.",
'signin.g1.members': 'For members of the Ğ1 web of trust only.',
'signin.g1.pending': "Ğ1 sign-in is on its way: libreDecision's registration with connect.monnaie-libre.fr is in progress. Meanwhile, you get in with an invitation link.",
'signin.invite': 'Got an invitation link? Just open it: it signs you in.',
'signin.dev': 'Development sign-in',
'signin.dev.name': 'Name',
'signin.dev.admin': 'access administrator',
'signin.dev.go': 'Enter',
'signin.error.refus': 'The sign-in was declined on connect.monnaie-libre.fr.',
'signin.error.etat': 'The sign-in expired or came from another browser. Start again from this browser.',
'signin.error.incomplet': 'The response from connect.monnaie-libre.fr was incomplete. Start again.',
'signin.error.echange': "connect.monnaie-libre.fr isn't responding. Try again in a moment.",
'signin.error.interne': 'Sign-in failed on our side. Try again in a moment.',
'invite.title': 'Invitation',
'invite.working': 'Signing in…',
'invite.invalid': 'This invitation link is no longer valid: it has already been used or it has expired. Ask the person who sent it to you for a new link.',
'invite.missing': 'This link is incomplete. Open the whole invitation link, exactly as you received it.',
'team.title': 'Join a team',
'team.working': 'Reading the link…',
'team.invalid': 'This team link is no longer valid: it has expired, it has been revoked or all its places are taken. Ask the person who sent it to you for a new link.',
'team.missing': 'This link is incomplete. Open the whole team link, exactly as you received it.',
'team.opens': '“{label}” opens for you: {groups}.',
'team.until': 'Link valid until {date}.',
'team.name': 'Your name',
'team.name.hint': 'The name the group will see you under. One person, one identity: if you have already joined, come back in the browser where your session is open.',
'team.join': 'Join',
'team.signed': 'Your session is open under the name {name}: these groups are added to your identity.',
'team.add': 'Add these groups',
'team.notme': "It's not me: sign out",
'groups.title': 'My groups',
'groups.same.key': 'Groups that use the same key',
'groups.locked': 'Members only',
'groups.locked.long': 'This group opens to its members. Ask a trustinWallet administrator for access.',
'groups.test': 'For testing',
'groups.open': 'Open',
'groups.empty': 'No group is visible yet.',
'group.tools': 'Tools',
'group.current': 'In progress',
'group.current.none': 'No document in progress in this group yet.',
'group.upcoming': 'Coming up',
'group.upcoming.none': 'Nothing is announced here yet.',
'pillar.decisions': 'A guided path to choose the right decision methods, and to keep the decision log.',
'pillar.docs': 'Commitment act, license, charter, constitution: living texts, always open for voting.',
'pillar.mandates': 'Create and revoke any kind of mandate.',
'pillar.protocols': 'Workflows to organize without a statutory body: rotating roles and technical automations.',
'pillar.open': 'open',
'pillar.soon': 'coming soon',
'decisions.note': 'A module is an article of the document. It remains to be voted on until one of its versions has been adopted by a vote.',
'decisions.toVote.one': '{n} module to vote on',
'decisions.toVote.other': '{n} modules to vote on',
'decisions.withoutMyVote.one': 'of which {n} without your vote',
'decisions.withoutMyVote.other': 'of which {n} without your vote',
'docs.title': 'Reference documents',
'docs.inForce.one': '{n} article in force',
'docs.inForce.other': '{n} articles in force',
'docs.open.one': '{n} open proposal',
'docs.open.other': '{n} open proposals',
'doc.view.label': 'Read',
'doc.view.inforce': 'In force',
'doc.view.wellrated': 'If well-rated ones pass',
'doc.view.all': 'If everything passes',
'doc.view.wellrated.note': 'Preview: the text as it would be if the well-rated proposals came into force. Nothing is adopted.',
'doc.view.all.note': 'Preview: the text as it would be if all proposals came into force, even those with little support. Nothing is adopted.',
'doc.view.empty': 'No proposal changes the text in this preview.',
'doc.mark.added': 'added',
'doc.mark.replaced': 'changed',
'doc.mark.removed': 'removed',
'doc.lang.label': 'Text language',
'doc.lang.translation': 'Editorial translation, not voted on. The authoritative text is in French.',
'doc.lang.original': 'Read the original',
'doc.lang.stale': 'translation needs review',
'doc.lang.missing': 'not translated yet',
'doc.seed': 'seed a minima',
'doc.seed.long': 'Came into force without a vote, so as not to start from a blank page. It remains open for voting, like any text.',
'doc.seed.votes.one': 'seed a minima · {n} vote',
'doc.seed.votes.other': 'seed a minima · {n} votes',
'doc.confirmed': 'confirmed by vote',
'doc.adopted': 'adopted on {date}',
'doc.action.vote': 'Voting',
'doc.action.proposals': 'Proposals',
'doc.action.propose': 'Propose a change',
'doc.basket': 'Vote in bulk',
'doc.basket.count': 'Vote in bulk · {n}',
'doc.empty': 'No article is in force. The proposals below move up as soon as they reach their threshold.',
'doc.published': 'Published to the text repository',
'doc.publish.pending': 'Publication pending',
'deep.title': 'Open proposals',
'deep.note': 'Not in force yet. Each one moves up as soon as it reaches its threshold: at least {floor} votes in favor, then the majority its inertia requires.',
'deep.new': 'Propose a new article',
'deep.drafts': 'Your drafts',
'deep.drafts.note': 'Not submitted to vote. Only you can see them.',
'deep.rival': 'would replace “{title}”',
'deep.addition': 'new article',
'deep.removal': 'removal of “{title}”',
'deep.inertia': 'inertia to {level}',
'deep.held': 'held back by an objection',
'deep.mine': 'your proposal',
'deep.stale': 'needs reconfirming',
'deep.wellrated': 'well-rated',
'deep.filter.all': 'All',
'deep.filter.wellrated': 'Well-rated',
'deep.filter.mine': 'Mine',
'deep.none': 'No proposals in this filter.',
'deep.variant': 'variant {label}',
'deep.versions.one': '{n} version',
'deep.versions.other': '{n} versions',
'deep.version': 'version {n}',
'deep.lead': 'leading: {label}',
'section.introduction': 'Introduction',
'section.fondamental': 'Fundamental commitments',
'section.technique': 'Technical commitments',
'section.conclusion': 'Conclusion',
'section.annexe': 'Annexes',
'section.formule': 'Voting formula',
'section.inertie': 'Inertia',
'section.ordonnancement': 'Ordering',
'module.title.name': 'Title of the document',
'module.order.name': 'Order of the articles',
'module.order.named': 'Order of the articles · {section}',
'module.order.count.one': '{n} article',
'module.order.count.other': '{n} articles',
'module.order.inforce': 'Order in force',
'module.order.proposal': 'Order proposed',
'module.order.added.one': '{n} article added since, placed at the end',
'module.order.added.other': '{n} articles added since, placed at the end',
'module.order.dropped.one': '{n} article gone since',
'module.order.dropped.other': '{n} articles gone since',
'module.order.same': 'it is the order in force',
'module.order.rule': 'A new article goes at the end of its section. If it arrives while an order is under vote, it is added at its end, and the votes stay.',
'order.propose': 'Propose another order',
'order.edit.label': 'New order of the articles',
'order.edit.help': 'Click an article, then its new place, or use its arrows. With the keyboard: Enter to choose it, up and down arrows to move it.',
'order.edit.up': 'Move “{title}” up',
'order.edit.down': 'Move “{title}” down',
'order.edit.chosen': '“{title}” chosen: click its new place.',
'order.edit.moved': '“{title}” now in place {n} of {total}.',
'order.edit.submit': 'Propose this order',
'order.edit.unchanged': 'This is the order in force: move at least one article.',
'order.edit.note': 'An order is voted at inertia {level}, like an article: unfolded, in the basket, on the Ğ1 chain in Monnaie libre.',
'order.submitted': 'Order submitted to vote.',
'title.propose': 'Propose another title',
'title.propose.label': 'New title',
'title.propose.note': 'The title of the document is voted at inertia {level}. Its translations stay editorial: they will read “to review”.',
'title.submitted': 'Title submitted to vote.',
'tally.short': '{for} for · {against} against',
'tally.required': 'Threshold: {n} votes in favor',
'tally.missing.one': '{n} more vote in favor needed.',
'tally.missing.other': '{n} more votes in favor needed.',
'tally.reached': 'Threshold reached.',
'tally.level': 'Level: {pct}% of the threshold',
'inertia.name.1': 'very low',
'inertia.name.2': 'low',
'inertia.name.3': 'medium',
'inertia.name.4': 'high',
'inertia.name.5': 'very high',
'inertia.level': '{k} / 5 · {name}',
'inertia.badge': 'inertia {level}',
'panel.vote': 'Voting',
'panel.proposals': 'Proposals',
'panel.propose': 'Propose',
'panel.settings': 'Settings',
'panel.basket': 'Basket',
'panel.details': 'Details',
'panel.close': 'Close panel',
'panel.inforce': 'In force',
'panel.proposal': 'Proposal',
'panel.by': 'proposed by {name}',
'author.invited': 'by invitation',
'panel.seed.origin': 'text from the seed',
'panel.changes': 'View changes',
'panel.text': 'View text',
'vote.yours': 'Your vote',
'vote.for': 'For',
'vote.against': 'Against',
'vote.retract': 'Withdraw my vote',
'vote.saved': 'Vote saved.',
'vote.retracted': 'Vote withdrawn.',
'vote.stale': 'The text has changed in substance since you voted: your vote no longer counts until you reconfirm it.',
'vote.reconfirm': 'Reconfirm: {choice}',
'vote.private': 'Nobody sees your vote: only the totals are visible.',
'vote.held': 'An objection is holding this version back: until it is lifted, nobody can vote for it any more. You can vote against it or take your vote back; once lifted, it enters into force only with the votes still there.',
'vote.held.redit': 'It repeats “{other}”.',
'vote.held.contredit': 'It contradicts “{other}”.',
'vote.held.author.redit': 'For it to be voted on again, change the article it repeats. The person who raised the objection then lifts it or reiterates it; with no answer from them within 3 days, it is lifted.',
'vote.held.author.contredit': 'For it to be voted on again, reword it. The person who raised the objection then lifts it or reiterates it; with no answer from them within 3 days, it is lifted.',
'vote.held.waiting': 'An answer came: {name} lifts or reiterates the objection by {date}; with no answer, it is lifted.',
'vote.held.mine': 'You raised this objection: lift it when the answer suits you.',
'vote.held.mine.asked': 'An answer came: lift your objection if it suits you, or reiterate it, by {date}. With no answer from you, it is lifted.',
'vote.entered': '“{title}” has come into force.',
'vote.entered.remove': '“{title}” has been removed from the text in force.',
'vote.entered.inertia': 'The inertia of “{title}” has changed.',
'vote.entered.order': 'The new order of “{section}” has come into force.',
'vote.entered.title': 'The title “{title}” has come into force.',
'vote.closed': 'This version is no longer open for voting.',
'vote.fold': 'The vote on “{title}”',
'vote.mine.none': 'You have not voted on this version.',
'vote.mine.for': 'Your vote: for',
'vote.mine.against': 'Your vote: against',
'vote.mine.chain': 'recorded on the Ğ1 chain',
'vote.mine.saved': 'saved',
'vote.mine.pending': 'Waiting for the Ğ1 chain: {choice}.',
'vote.mine.refused': 'Your last vote was not counted: {reason}',
'vote.mine.expired': 'Your last vote was not seen on the Ğ1 chain in time: it does not count.',
'vote.mine.receipts': 'Your ballots and receipts',
'vote.choice.for': 'for',
'vote.choice.against': 'against',
'vote.choice.none': 'withdrawing your vote',
'vote.chain.note': 'Your vote leaves from your Ğ1 wallet: {amount} Ğ1, in a single gesture. The chain shows that you voted, never what you voted.',
'vote.chain.counts': 'Your voice counts for the Ğ1 identity of the wallet that signs, if it is a member of the web of trust.',
'vote.chain.off': 'Voting through the Ğ1 chain is not open yet: the account that receives the votes is still to be created. You can read, propose and raise an objection.',
'vote.members': 'Only members of this group vote here.',
'vote.details': 'Typos, translations, objections, history',
'ballot.reason.not_member': 'the wallet that signed is not that of a member of the Ğ1 web of trust.',
'ballot.reason.no_identity': 'the wallet that signed is linked to no Ğ1 identity.',
'ballot.reason.transfer': 'the transfer to the vote account is missing, or its amount is too low.',
'basket.title': 'Voting basket',
'basket.intro': 'Choose article by article, a whole section or the whole document: it all goes in a single gesture.',
'basket.doc': 'The whole document',
'basket.for': 'All for',
'basket.against': 'All against',
'basket.clear': 'Empty',
'basket.pick': 'Your choice for “{title}”',
'basket.pick.retract': 'Withdraw',
'basket.versions': 'Several versions: choose yours.',
'basket.waiting.one': '{n} article has several versions: a grouped gesture does not fill it, choose your version.',
'basket.waiting.other': '{n} articles have several versions: a grouped gesture does not fill them, choose your version.',
'basket.inforce': 'in force',
'basket.count.one': '{n} choice',
'basket.count.other': '{n} choices',
'basket.send.server': 'Vote ({n})',
'basket.send.chain': 'Sign and send ({n})',
'basket.note.server': 'Your votes count as soon as they are sent, all at once.',
'basket.note.chain': 'A single transaction of {amount} Ğ1, signed by your wallet, for all your choices.',
'basket.empty': 'Nothing in the basket yet.',
'basket.sent.one': '{n} vote saved.',
'basket.sent.other': '{n} votes saved.',
'basket.section': 'Vote on this section',
'basket.mine': 'your vote: {choice}',
'basket.held': 'an objection holds it back: against or withdraw, no “for”',
'basket.held.skipped.one': 'You put everything for, except {n} version an objection holds back: on it, you can vote against or take your vote back.',
'basket.held.skipped.other': 'You put everything for, except {n} versions an objection holds back: on them, you can vote against or take your vote back.',
'sign.title': 'Vote with your Ğ1 wallet',
'sign.summary.one': '{n} vote, in one transaction: {amount} Ğ1 to the vote account, with your sealed ballot.',
'sign.summary.other': '{n} votes, in one transaction: {amount} Ğ1 to the vote account, with your sealed ballot.',
'sign.wallet': 'With which wallet?',
'sign.account': 'With which account?',
'sign.opening': 'Your wallet is opening…',
'sign.signing': 'Confirm in your wallet.',
'sign.waiting': 'The Ğ1 chain is confirming your vote, usually in less than a minute.',
'sign.confirmed': 'Your vote counts: it is recorded on the Ğ1 chain.',
'sign.confirmed.as': 'Counted for the Ğ1 identity “{name}”.',
'sign.refused': 'Your vote was not counted: {reason}',
'sign.expired': 'Your vote was not seen on the Ğ1 chain in time: it does not count. Start again whenever you like.',
'sign.error.cancelled': 'You declined to sign: nothing was sent.',
'sign.error.funds': 'Your wallet does not have enough Ğ1: at least 1 Ğ1 must remain after the vote.',
'sign.error.node': 'The Ğ1 chain is not answering. Try again in a moment.',
'sign.error.account': 'This account is no longer in your wallet.',
'sign.error.wallet': 'Your wallet could not sign. Try again, or use Ğecko.',
'sign.none': 'No wallet is connected to this browser (duniter-connect, for example). On your phone, Ğecko does the job.',
'sign.gecko': 'Use Ğecko',
'sign.gecko.scan': 'Scan this code with Ğecko, or tap the link on your phone. Check the amount and the comment, then confirm.',
'sign.gecko.open': 'Open in Ğecko',
'sign.gecko.amount': 'Amount',
'sign.gecko.comment': 'Comment',
'sign.gecko.qr': 'Code to scan with Ğecko',
'sign.close': 'Close',
'sign.later': 'You can close: the confirmation will arrive on its own, and your vote will appear under the article.',
'sign.retry': 'Try again',
'sign.error.chain': 'The Ğ1 chain refused the transaction: your vote did not leave. Try again whenever you like.',
'sign.receipt': 'Download your receipt',
'sign.history': 'Your ballots',
'sign.receipt.note': 'Your receipt keeps your ballot and its salt: with it, you check for yourself that the chain carries your vote. Keep it to yourself.',
'ballots.title': 'Your ballots',
'ballots.intro': 'Each vote on the Ğ1 chain leaves in a sealed ballot: the chain shows that you voted, never what you voted. Your receipt keeps the ballot and its salt; with it, you check your vote for yourself. Nobody else receives it.',
'ballots.mine': 'Your ballots',
'ballots.signin': 'Sign in to find your ballots.',
'ballots.none': 'You have not sent any ballot on the Ğ1 chain yet.',
'ballots.lines.one': '{n} vote',
'ballots.lines.other': '{n} votes',
'ballots.status.pending': 'Waiting for the Ğ1 chain',
'ballots.status.confirmed': 'Counted for the Ğ1 identity “{name}”',
'ballots.status.refused': 'Not counted: {reason}',
'ballots.status.expired': 'Not seen on the Ğ1 chain in time: it does not count',
'ballots.block': 'block {n}',
'ballots.receipt': 'Download the receipt',
'ballots.verify.title': 'Check a receipt',
'ballots.verify.intro': 'Choose the file of a receipt, or paste its content: the page recomputes the seal of the ballot right here, without asking the server anything.',
'ballots.verify.file': 'Receipt file',
'ballots.verify.paste': 'Or paste the receipt',
'ballots.verify.go': 'Check',
'ballots.verify.ok': 'The receipt holds: its votes and its salt give this very comment.',
'ballots.verify.line': 'Version {version}, revision {revision}: {choice}',
'ballots.verify.line.label': '{label} — written in the receipt, outside the seal',
'ballots.verify.where': 'Look for this comment in the history of your wallet: it is your vote, written on the Ğ1 chain.',
'ballots.verify.where.block': 'Look for this comment in the history of your wallet, or on the Ğ1 chain (the receipt says block {block}, outside the seal): if it is there, signed by your account, it is your vote.',
'ballots.verify.bad': 'The receipt does not hold: its votes and its salt do not give its comment.',
'ballots.verify.computed': 'Recomputed:',
'ballots.verify.expected': 'In the receipt:',
'ballots.verify.unreadable': 'This is not a readable vote receipt.',
'inertia.title': 'Inertia',
'inertia.explain': 'The higher the inertia, the more votes it takes to change this text when few people vote.',
'inertia.change': 'Propose an inertia change',
'inertia.change.to': 'New inertia',
'inertia.change.note': "A change of inertia is itself voted at the article's inertia: {level}.",
'inertia.change.submit': 'Submit to vote',
'inertia.change.open': 'Inertia change in progress: to {level}',
'inertia.change.current': 'current',
'inertia.history.vote': 'Went from {from} to {to} on {date}, by a vote.',
'inertia.history.amendment': 'Went from {from} to {to} on {date}: starting setting of the text.',
'formula.title': 'The threshold formula',
'formula.intro': 'The number of votes in favor required, R, depends on turnout:',
'formula.W': 'W — electorate: {n} ({source})',
'formula.W.wot': 'members of the Ğ1 web of trust',
'formula.W.group': 'group members',
'formula.T': 'T — votes cast: {n}',
'formula.M': 'M — majority at full turnout: {n}%',
'formula.G': 'G — gradient: {n}',
'formula.B': 'B — base: {n}',
'formula.C': 'C — minimum votes in favor: {n}',
'formula.R': 'R — current threshold: {n} votes in favor',
'formula.reading': 'At low turnout, near-unanimity is needed; when everyone votes, majority M is enough. Nothing passes with fewer than C votes in favor.',
'common.pct': '{n}%',
'settings.title': 'Formula settings',
'settings.intro': 'To change a text, the group asks for a number of votes in favour that depends on its electorate, its usual turnout and the inertia of the article.',
'settings.usual': 'Usual turnout',
'settings.usual.median.one': '{n} voter out of {electorate} ({pct}): the median of the {sample} proposals voted on over the past year.',
'settings.usual.median.other': '{n} voters out of {electorate} ({pct}): the median of the {sample} proposals voted on over the past year.',
'settings.usual.reference.one': '{n} voter out of {electorate} ({pct}), twice C: the reference turnout, until the group has voted on {min} proposals ({sample} so far).',
'settings.usual.reference.other': '{n} voters out of {electorate} ({pct}), twice C: the reference turnout, until the group has voted on {min} proposals ({sample} so far).',
'settings.usual.bounded.one': 'Kept between {lo} and {hi} of the electorate: the group asks for its votes in favour as if {n} person voted ({pct}).',
'settings.usual.bounded.other': 'Kept between {lo} and {hi} of the electorate: the group asks for its votes in favour as if {n} people voted ({pct}).',
'settings.usual.when': 'Measured once a day, last on {date}.',
'settings.usual.never': 'Measured once a day.',
'settings.levels': 'The five levels',
'settings.col.level': 'Level',
'settings.col.share': 'Share asked',
'settings.col.required': 'Votes for',
'settings.current': 'this article',
'settings.share.note.one': 'Share asked: the votes in favour asked beyond C, at {n} voter as usual.',
'settings.share.note.other': 'Share asked: the votes in favour asked beyond C, at {n} voters as usual.',
'settings.required.version.one': "Votes for: at {n} voter, this version's turnout.",
'settings.required.version.other': "Votes for: at {n} voters, this version's turnout.",
'settings.required.usual.one': 'Votes for: at {n} voter, as usual.',
'settings.required.usual.other': 'Votes for: at {n} voters, as usual.',
'settings.reading': 'At each level, the group asks for its share of votes in favour beyond C when it votes as usual; the more voters, the closer it comes to M. Nothing passes below C votes in favour.',
'history.title': 'Corrections',
'history.initial': 'initial text',
'history.typo': 'typo fixed',
'history.substantive': 'substantive change (votes to reconfirm)',
'history.amendment': 'starting text replaced',
'history.revert': 'fix taken back by the author',
'history.by': 'by {name}',
'history.typo.validated': 'validated by {name}',
'history.typo.deadline': 'applied with no answer within 3 days',
'typo.title': 'Fix a typo',
'typo.note': "Accents, capitals, typos, words run together or split: the fix is not voted on. On your own text, it applies at once. On someone else's, its author validates it (an administrator for a seed text); with no answer within 3 days, it applies. Punctuation, figures, formulas, addresses and any change in meaning go through a proposal.",
'typo.save': 'Save the fix',
'typo.done': 'Typo fixed, votes untouched.',
'typo.substantive': 'This edit affects the meaning: propose it as a change.',
'typo.asProposal': 'Make it a proposal',
'typo.pending.author': 'Your fix waits for the author of the text: it applies when they validate it, or by itself on {date}.',
'typo.pending.admin': 'Your fix waits for an administrator, as this text comes from the seed: it applies when they validate it, or by itself on {date}.',
'typo.list': 'Suggested typo fixes',
'typo.by': 'suggested by {name}',
'typo.status.pending': 'waiting: applies by itself on {date}',
'typo.status.applied': 'applied',
'typo.status.refused': 'refused',
'typo.status.stale': 'out of date: the text changed meanwhile',
'typo.settled.by': 'by {name}',
'typo.settled.deadline': 'with no answer within 3 days',
'typo.validate': 'Validate',
'typo.refuse': 'Refuse',
'typo.undo': 'Go back to the text before',
'typo.redo': 'Apply after all',
'typo.validated': 'Fix applied.',
'typo.refused': 'Fix refused.',
'objection.title': 'Objections',
'objection.none': 'No objection.',
'objection.add': 'Raise an objection',
'objection.kind': 'Your objection',
'objection.kind.redit': 'Repeats',
'objection.kind.contredit': 'Contradicts',
'objection.kind.redit.hint': 'this text repeats another article',
'objection.kind.contredit.hint': 'this text says the opposite of another article',
'objection.target': 'Which article?',
'objection.reason.redit': 'How these two texts say the same thing',
'objection.reason.contredit': 'How these two texts contradict each other',
'objection.send': 'Send the objection',
'objection.sent': 'Objection saved: until it is lifted, nobody can vote for the later of the two versions any more.',
'objection.note': 'An objection holds back the later of the two versions until it is lifted — never a text in force: nobody can vote for it any more, anyone can vote against it or take their vote back. Its author answers: for a repetition, they change the article it repeats; for a contradiction, they reword. You then lift the objection or reiterate it; with no answer from you within 3 days, it is lifted.',
'objection.says.redit': '“{held}” repeats “{other}”',
'objection.says.contredit': '“{held}” contradicts “{other}”',
'objection.by': 'objection by {name}',
'objection.held.here': 'nobody can vote for this version any more',
'objection.phase.author': "waiting for the author's answer",
'objection.phase.objector': 'answer received: lifted or reiterated by {date}, otherwise lifted by itself',
'objection.answer.revision': 'answer: the held text was reworded',
'objection.answer.other': 'answer: the other text changed',
'objection.answer.proposal': 'answer: a linked proposal',
'objection.lifted.objector': 'lifted by the person who raised it',
'objection.lifted.admin': 'lifted by an administrator',
'objection.lifted.deadline': 'lifted: 3 days without follow-up',
'objection.lifted.withdrawn': 'lifted: the proposal was withdrawn',
'objection.lifted.revision': 'lapsed: the text changed',
'objection.lift': 'Lift the objection',
'objection.lift.admin': 'Lift the objection (administrator)',
'objection.reiterate': 'Reiterate the objection',
'objection.done.lifted': 'Objection lifted.',
'objection.done.reiterated': 'Objection reiterated: a new answer is awaited.',
'objection.respond.redit': 'Change the article it repeats',
'objection.respond.contredit': 'Reword',
'objection.linked': 'This proposal answers an objection: once submitted, the person who raised it lifts it or reiterates it.',
'messages.title': 'Messages',
'messages.intro': 'What waits for a gesture from you: an objection to answer, a typo fix to validate. Each message carries its deadline; a message dealt with asks nothing more.',
'messages.none': 'No messages for now.',
'messages.readAll': 'Mark all as read',
'messages.read': 'Mark as read',
'messages.unread': 'unread',
'messages.due': 'deadline: {date}',
'messages.open': 'See it in the text',
'messages.topic.objection': 'Objection',
'messages.topic.typo': 'Typo',
'messages.objection_raised.redit': '{name} raises an objection: your version “{held}” repeats “{other}”. Until it is lifted, nobody can vote for it any more. To answer, change the article it repeats.',
'messages.objection_raised.contredit': '{name} raises an objection: your version “{held}” contradicts “{other}”. Until it is lifted, nobody can vote for it any more. To answer, reword it.',
'messages.objection_reiterated': '{name} reiterates their objection: nobody can vote for “{held}” yet. Answer again.',
'messages.objection_answered': 'Your objection on “{held}” has been answered. Lift it if the answer suits you, or reiterate it. With no answer from you, it is lifted.',
'messages.typo_pending.author': '{name} suggests a typo fix in your version “{title}”.',
'messages.typo_pending.admin': '{name} suggests a typo fix in “{title}”, a seed text: an administrator validates it.',
'messages.respond': 'Answer',
'messages.outcome.answered': 'answered',
'messages.outcome.reiterated': 'objection reiterated',
'messages.outcome.lifted': 'objection lifted',
'messages.outcome.admin': 'objection lifted by an administrator',
'messages.outcome.deadline.objection': 'objection lifted: 3 days without follow-up',
'messages.outcome.deadline.typo': 'fix applied: 3 days without an answer',
'messages.outcome.withdrawn': 'proposal withdrawn',
'messages.outcome.applied': 'fix applied',
'messages.outcome.refused': 'fix refused',
'messages.outcome.stale': 'fix out of date: the text changed',
'messages.outcome.done': 'dealt with',
'propose.mode.replace': 'Change this text',
'propose.mode.remove': 'Remove this article',
'propose.mode.new': 'New article',
'propose.section': 'In the section',
'propose.section.note': 'The new article goes at the end of the section; its order is voted apart, at the end of the section.',
'propose.title': 'Title',
'propose.body': 'Text',
'propose.remove.note': 'A removal proposal is voted on like any other; if it passes, the article leaves the text in force.',
'propose.draft': 'Save draft',
'propose.submit': 'Submit to vote',
'propose.drafted': 'Draft saved.',
'propose.submitted': 'Proposal submitted to vote.',
'propose.rule': "While it's a draft, you edit it freely. Once it's submitted, a typo can be fixed without touching the votes; a substantive change asks voters to reconfirm.",
'propose.edit': 'Edit',
'propose.withdraw': 'Withdraw my proposal',
'propose.withdrawn': 'Proposal withdrawn.',
'propose.saved.typo': 'Fix saved, the votes stand.',
'propose.saved.substantive': 'New version saved: voters will have to reconfirm.',
'assist.title': 'Assistant',
'assist.quiet': 'Nothing to report: one proposal, one decision.',
'assist.split': 'This text seems to carry {n} decisions. One proposal = one decision: split it?',
'assist.split.do': 'Split into {n} drafts',
'assist.split.done': 'Split into {n} drafts.',
'assist.similar': 'Close to “{title}”{where}.',
'assist.similar.inForce': ' (in force)',
'assist.similar.variant': 'Make it a variant of this article',
'assist.long': 'Long text ({n} characters): a short article is easier to vote on.',
'translate.title': 'Translate ({lang})',
'translate.save': 'Save translation',
'translate.saved': 'Translation saved.',
'translate.note': 'Translations are not voted on. They switch to “needs review” when the French text changes in substance.',
'feedback.title': 'Give feedback',
'feedback.prompt': 'What you did, what you expected, what happened.',
'feedback.send': 'Send feedback',
'feedback.sent': 'Feedback sent. Thank you.',
'feedback.context': 'The page address, language and screen size are attached.',
'access.title': 'trustinWallet — access',
'access.intro': 'Who opens which group. Monnaie libre opens by itself to members of the Ğ1 web of trust; other groups open one by one.',
'access.groups': 'Groups',
'access.members.none': 'No members granted access.',
'access.members.wot': '+ all members of the Ğ1 web of trust',
'access.grant': 'Grant',
'access.revoke': 'Remove',
'access.choose': 'Choose an identity',
'access.invitations': 'Invitations',
'access.invite.label': "Who it's for",
'access.invite.groups': 'Groups opened by the link',
'access.invite.admin': 'access administrator',
'access.invite.create': 'Create invitation link',
'access.invite.link': "Invitation link, single use, valid for 14 days. It won't be shown again: copy it now.",
'access.invite.copy': 'Copy link',
'access.invite.copied': 'Link copied.',
'access.invite.cancel': 'Cancel',
'access.invite.pending': 'Pending',
'access.team': 'Team links',
'access.team.intro': 'A link to share with a team, until a date. Each person who opens it gives their name and receives their own identity, never the administrator role. Revoking closes the link; people who already came keep their access, to be removed one by one.',
'access.team.label': 'For which team',
'access.team.days': 'Valid for how many days',
'access.team.uses': 'How many people at most',
'access.team.create': 'Create the team link',
'access.team.link': 'Team link, to share: it works until its date or its last place. It will not be shown again: copy it now.',
'access.team.state': '{uses} / {max} people · until {date}',
'access.team.revoke': 'Revoke',
'access.team.via': 'came through “{label}”',
'access.identities': 'Identities',
'access.admin': 'administrator',
'access.admin.give': 'Make administrator',
'access.admin.take': 'Remove role',
'access.relink': 'New sign-in link',
'access.relink.link': 'Sign-in link for {name}, single use, valid for 14 days — to open their session on another device. It will not be shown again: copy it now.',
'access.sessions.close': 'Close their sessions ({n})',
'access.sessions.closeMine': 'Close my other sessions ({n})',
'access.sessions.closed.one': '{n} session closed.',
'access.sessions.closed.other': '{n} sessions closed.',
'access.sessions.links.one': 'The sign-in link still waiting is cancelled.',
'access.sessions.links.other': 'The {n} sign-in links still waiting are cancelled.',
'access.kind.g1': 'Ğ1',
'access.kind.invite': 'invitation',
'access.kind.dev': 'dev',
'access.member': 'web of trust member',
'access.feedback': 'Feedback',
'access.feedback.none': 'No feedback.',
'access.feedback.seen': 'Seen',
'access.feedback.done': 'Handled',
'access.publication': "Publishing the texts",
'access.publication.remote': "Repository: {remote}",
'access.publication.key': "The server's deploy key. Add it with write access on this repository (Settings › Repository › Deploy keys): until then, publications wait.",
'access.publication.none': "Publishing is not configured on this server.",
'access.publication.pending.one': '{n} sending waiting',
'access.publication.pending.other': '{n} sendings waiting',
'access.publication.last': 'Last publication: {date} (commit {commit})',
'access.publication.never': 'Nothing has been published to this repository yet.',
'access.publication.error': 'Last failure: {error}',
'access.publication.now': 'Publish now',
'access.publication.queued': 'Publication started again.',
'access.denied': 'Access management is for trustinWallet administrators only.',
'error.unauthenticated': 'Sign in to continue.',
'error.forbidden': "You don't have access to this page.",
'error.not_found': "This page doesn't exist, or isn't visible to you.",
'error.network': "The server isn't responding. Check your connection and try again.",
'error.internal': 'Something failed on our side. Try again in a moment.',
'error.title': 'The title is empty or too long (120 characters max).',
'error.body': 'The text is empty or too long (4,000 characters max).',
'error.reason': 'Say in a few words what your objection rests on (10 to 600 characters).',
'error.substantive_not_author': "This edit affects the meaning: only the proposal's author can make it. Propose your own version.",
'error.substantive_in_force': 'This edit affects the meaning: propose it as a change.',
'error.same_unit': "These two texts target the same article: they can't be in force together anyway.",
'error.last_admin': 'At least one administrator must remain.',
'error.g1_not_configured': "Ğ1 sign-in isn't active yet.",
'error.invitation_invalid': 'This invitation link is no longer valid.',
'error.identity_kind': 'A new link can only be for an invited person, never a Ğ1 identity.',
'error.hidden_characters': 'The text contains invisible characters (writing-direction override, zero-width space, soft hyphen, emoji colour selector…): remove them.',
'error.changed': 'The text has changed in the meantime: reload it, then try again.',
'error.label': 'The name is empty or too long (60 characters at most).',
'error.name': 'Your name has 2 to 60 characters, on one line: letters, figures, spaces, hyphen, apostrophe or dot.',
'error.name_taken': 'This name is already taken. Choose another one, adding an initial for instance.',
'error.team_limits': 'A team link lasts 1 to 90 days, for 1 to 500 people.',
'error.groups': 'Choose at least one group.',
'error.publication_off': 'Publication is not configured on this server.',
'error.chain_vote_off': 'Voting through the Ğ1 chain is not open yet.',
'error.chain_only': 'Here, the vote goes through the Ğ1 chain, with your wallet.',
'error.server_vote': 'Here, voting is direct, without a wallet.',
'error.too_many_ballots': 'You already have many ballots waiting, or left on the way within the hour: wait for them to be confirmed, or try again a little later.',
'error.lines': 'This vote no longer holds: reload the page, then start again.',
'error.choice': 'This choice does not exist.',
'error.author': 'This account is not a Ğ1 address.',
'error.not_votable': 'This version is no longer open for voting.',
'error.members_only': 'Only members of this group vote here.',
'error.module': 'A module is proposed in its own place: the title at the head of the document, the order at the end of its section.',
'error.order': 'This order must hold every article of the section, once each: reload the page, then try again.',
'error.same_order': 'This is already the order in force.',
'error.order_fixed': 'An order is not corrected: propose another order.',
'error.not_an_order': 'This module is not the order of a section.',
'error.not_a_title': 'This module is not the title of the document.',
'error.same_title': 'This is already the title in force.',
'error.section': 'This section does not exist in this document.',
'error.objection': 'An objection is holding this version back: until it is lifted, you can vote against it or take your vote back, not vote for it.',
'error.kind': 'Say whether this text repeats the other or contradicts it.',
'error.other': 'Choose another article, in force or proposed.',
'error.both_in_force': 'Both texts are in force: an objection always targets a version that is not in force yet.',
'error.objection_exists': 'You already have an objection standing on these two texts.',
'error.nothing_to_reiterate': 'Nothing to reiterate: no answer has come yet.',
'error.lifted': 'This objection is already lifted.',
'error.settled': 'This fix is already decided.',
'error.link': 'This proposal cannot answer this objection: it targets another article, or the objection is lifted.',
'error.retry': 'Try again',
'common.cancel': 'Cancel',
'common.close': 'Close',
'common.save': 'Save',
'common.loading': 'Loading…',
'common.back': 'Back',
};