diff --git a/frontend/views/containers/group-settings/GroupJoinModal.vue b/frontend/views/containers/group-settings/GroupJoinModal.vue index f7753de6f3..03fed60d07 100644 --- a/frontend/views/containers/group-settings/GroupJoinModal.vue +++ b/frontend/views/containers/group-settings/GroupJoinModal.vue @@ -9,22 +9,15 @@ modal-base-template(:fullscreen='true' :a11yTitle='L("How to join a group")') svg-invitation i18n.is-title-4(tag='h4') 1. Get an invitation - i18n(tag='p') For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income? + i18n(tag='p') Click on the individual link you received from an existing group. Don't have an invite? i18n(tag='button' class='link' @click='showCreateModal') Create your own group .slide(v-observer:1='updateIndicator' :id='config[1]') - .slide-img - svg-proposal - - i18n.is-title-4(tag='h4') 2. Wait for the group vote - i18n(tag='p') On Group Income, every major decision goes through a voting process. This includes adding new members. - - .slide(v-observer:2='updateIndicator' :id='config[2]') .slide-img svg-access - i18n.is-title-4(tag='h4') 3. Use your unique access link - i18n(tag='p') Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group + i18n.is-title-4(tag='h4') 2. Wait for an existing member to use the app + i18n(tag='p') Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app. .dots a.dot( @@ -58,7 +51,6 @@ export default ({ }, config: [ 'get-an-invitation', - 'wait-for-you-group-vote', 'use-your-unique-access-link' ] } @@ -68,7 +60,7 @@ export default ({ observer: { inserted: (el, { value, arg }) => { try { - const io = new window.IntersectionObserver( + const io = new window.IntersectionObserver( // Intersection Observer API: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API (elements) => { if (elements[0].intersectionRatio >= 0.5) { // Wait for the middle of the screen value(parseInt(arg)) @@ -132,7 +124,7 @@ export default ({ /* make it smooth on iOS */ -webkit-overflow-scrolling: touch; scroll-snap-points-x: repeat(100vw); - scroll-snap-type: x mandatory; + scroll-snap-type: x mandatory; // a helpful article for what this property does: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type scrollbar-width: none; &::-webkit-scrollbar { diff --git a/strings/english.json b/strings/english.json index 2a52c0600d..92faab5716 100644 --- a/strings/english.json +++ b/strings/english.json @@ -12,9 +12,8 @@ "100% completed TODO streak of: {streak} months": "100% completed TODO streak of: {streak} months", "1d": "1d", "2. Group Purpose": "2. Group Purpose", - "2. Wait for the group vote": "2. Wait for the group vote", + "2. Wait for an existing member to use the app": "2. Wait for an existing member to use the app", "3. Minimum Income": "3. Minimum Income", - "3. Use your unique access link": "3. Use your unique access link", "4. Voting System": "4. Voting System", "404": "404", "500": "500", @@ -49,9 +48,11 @@ "Add a group": "Add a group", "Add a non-monetary pledge": "Add a non-monetary pledge", "Add a note {span_}(optional){_span}": "Add a note {span_}(optional){_span}", + "Add code": "Add code", "Add description": "Add description", "Add emoticons": "Add emoticons", "Add income details": "Add income details", + "Add link": "Add link", "Add members": "Add members", "Add members to group": "Add members to group", "Add more": "Add more", @@ -60,9 +61,10 @@ "Add options": "Add options", "Add payment information": "Add payment information", "Add reaction": "Add reaction", + "Add strikethrough": "Add strikethrough", "Add your income details": "Add your income details", "Add your income details to start receiving or giving mincome.": "Add your income details to start receiving or giving mincome.", - "Add {span_} to channel{_span}": "Add {span_} to channel{_span}", + "Add {span_}to channel{_span}": "Add {span_}to channel{_span}", "Add {user} to group.": "Add {user} to group.", "Added a member to {title}: {displayName}": "Added a member to {title}: {displayName}", "Added a member: {displayName}": "Added a member: {displayName}", @@ -116,8 +118,12 @@ "Awesome": "Awesome", "Back": "Back", "Based on other members pledges, the group is not able to provide a full mincome yet.": "Based on other members pledges, the group is not able to provide a full mincome yet.", + "Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app.": "Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app.", "Bio": "Bio", + "Bitcoin": "Bitcoin", "Blog": "Blog", + "Bold": "Bold", + "Bold style text": "Bold style text", "Broken invite link!": "Broken invite link!", "Browser notifications": "Browser notifications", "Can't change distribution date because distribution period has already started.": "Can't change distribution date because distribution period has already started.", @@ -125,8 +131,7 @@ "Cancel payment": "Cancel payment", "Cancel proposal": "Cancel proposal", "Cancel this payment": "Cancel this payment", - "Cannot dismiss a payment that hasn't been sent yet.": "Cannot dismiss a payment that hasn't been sent yet.", - "Cannot remove yourself.": "Cannot remove yourself.", + "Cannot remove the last member.": "Cannot remove the last member.", "Change": "Change", "Change Mincome": "Change Mincome", "Change Password": "Change Password", @@ -162,8 +167,10 @@ "Choose...": "Choose...", "Clear search": "Clear search", "Click and drag to reposition": "Click and drag to reposition", + "Click on the individual link you received from an existing group. Don't have an invite?": "Click on the individual link you received from an existing group. Don't have an invite?", "Close": "Close", "Close profile": "Close profile", + "Code": "Code", "Coming soon": "Coming soon", "Completed": "Completed", "Completed: {completed}": "Completed: {completed}", @@ -177,6 +184,7 @@ "Copy message Link": "Copy message Link", "Copy string": "Copy string", "Corrupted": "Corrupted", + "Couldn't join the #{chatroomName} in the group. An error occurred: #{error}.": "Couldn't join the #{chatroomName} in the group. An error occurred: #{error}.", "Couldn't join the #{chatroomName} in the group. Doesn't exist.": "Couldn't join the #{chatroomName} in the group. Doesn't exist.", "Create": "Create", "Create Group": "Create Group", @@ -214,13 +222,13 @@ "Direct messages and mentions": "Direct messages and mentions", "Disagreement number": "Disagreement number", "Dismiss message": "Dismiss message", - "Dismiss this payment": "Dismiss this payment", "Display Name": "Display Name", "Distributed: {done}": "Distributed: {done}", "Distribution date change": "Distribution date change", "Do not forget to send your pledge by {date}.": "Do not forget to send your pledge by {date}.", "Do you make at least {amount} per month?": "Do you make at least {amount} per month?", "Do you make at least {groupMincomeFormatted} per month?": "Do you make at least {groupMincomeFormatted} per month?", + "Do you want to log out? Error details: {err}.": "Do you want to log out? Error details: {err}.", "Does not match": "Does not match", "Donate": "Donate", "Donate 1% to support the development of Group Income": "Donate 1% to support the development of Group Income", @@ -240,11 +248,18 @@ "Email notifications": "Email notifications", "Enter an existing group using your username.": "Enter an existing group using your username.", "Error Testing": "Error Testing", - "Error during login contract sync: {err}": "Error during login contract sync: {err}", + "Error during login: {msg}": "Error during login: {msg}", "Expired": "Expired", "Expired on {date}": "Expired on {date}", "Expires after (days)": "Expires after (days)", "Expires on: {expiry}": "Expires on: {expiry}", + "Export CSV": "Export CSV", + "Export all periods": "Export all periods", + "Export payments": "Export payments", + "Export received payments": "Export received payments", + "Export sent payments": "Export sent payments", + "Export your received payment history to .csv": "Export your received payment history to .csv", + "Export your sent payment history to .csv": "Export your sent payment history to .csv", "Failed to accept invite.": "Failed to accept invite.", "Failed to add chat channel": "Failed to add chat channel", "Failed to add message.": "Failed to add message.", @@ -265,22 +280,24 @@ "Failed to edit message.": "Failed to edit message.", "Failed to force distribution date.": "Failed to force distribution date.", "Failed to join a direct message.": "Failed to join a direct message.", + "Failed to join a group.": "Failed to join a group.", "Failed to join chat channel.": "Failed to join chat channel.", - "Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'": "Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'", "Failed to join the group: {codeError}": "Failed to join the group: {codeError}", + "Failed to leave a group.": "Failed to leave a group.", "Failed to leave chat channel.": "Failed to leave chat channel.", "Failed to leave group. {codeError}": "Failed to leave group. {codeError}", "Failed to login: {reportError}": "Failed to login: {reportError}", "Failed to make emotion.": "Failed to make emotion.", "Failed to mark proposals expired.": "Failed to mark proposals expired.", "Failed to notify expiring proposals.": "Failed to notify expiring proposals.", - "Failed to remove {member}: {reportError}": "Failed to remove {member}: {reportError}", + "Failed to remove {memberID}: {reportError}": "Failed to remove {memberID}: {reportError}", "Failed to rename chat channel.": "Failed to rename chat channel.", "Failed to revoke invite.": "Failed to revoke invite.", "Failed to save avatar. {reportError}": "Failed to save avatar. {reportError}", "Failed to send a payment thank you note.": "Failed to send a payment thank you note.", + "Failed to send stopped typing notification": "Failed to send stopped typing notification", + "Failed to send typing notification": "Failed to send typing notification", "Failed to set direct message visibility.": "Failed to set direct message visibility.", - "Failed to set login state.": "Failed to set login state.", "Failed to set profile attributes.": "Failed to set profile attributes.", "Failed to signup: {reportError}": "Failed to signup: {reportError}", "Failed to update \"lastLoggedIn\" in a group profile.": "Failed to update \"lastLoggedIn\" in a group profile.", @@ -299,7 +316,6 @@ "Fatal error: {reportError}": "Fatal error: {reportError}", "File too large": "File too large", "Filter links": "Filter links", - "For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income?": "For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income?", "Forgot your password?": "Forgot your password?", "Free cinema tickets": "Free cinema tickets", "Full name": "Full name", @@ -351,15 +367,17 @@ "Info": "Info", "Information about your pledges streaks and other streak members appears here.": "Information about your pledges streaks and other streak members appears here.", "Introduce the potential new member(s) to your group": "Introduce the potential new member(s) to your group", - "Invalid associated proposal.": "Invalid associated proposal.", "Invalid password": "Invalid password", "Invite links": "Invite links", "Invite members to your group": "Invite members to your group", "Invitee name": "Invitee name", + "Italic": "Italic", + "Italic style text": "Italic style text", "I’m here to keep you update while you are away.": "I’m here to keep you update while you are away.", "Join": "Join", "Join Channel": "Join Channel", "Join a Group": "Join a Group", + "Join group error during login: {msg}": "Join group error during login: {msg}", "Joined": "Joined", "Joined {title}": "Joined {title}", "Jump to latest message": "Jump to latest message", @@ -382,6 +400,7 @@ "Let’s get this party started": "Let’s get this party started", "Libraries": "Libraries", "Lightning": "Lightning", + "Link": "Link", "Loading": "Loading", "Loading events from server...": "Loading events from server...", "Loading...": "Loading...", @@ -389,6 +408,7 @@ "Log Out": "Log Out", "Log in": "Log in", "Login": "Login", + "Login error": "Login error", "Magic is happening...": "Magic is happening...", "Main": "Main", "Manual": "Manual", @@ -460,9 +480,7 @@ "Oh no! {br_}This invite is not valid": "Oh no! {br_}This invite is not valid", "Ok": "Ok", "Oldest first": "Oldest first", - "On Group Income, every major decision goes through a voting process. This includes adding new members.": "On Group Income, every major decision goes through a voting process. This includes adding new members.", "On what day should the first payment distribution be calculated?": "On what day should the first payment distribution be calculated?", - "Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group": "Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group", "Only added members will have access.": "Only added members will have access.", "Only channel members can invite others to join.": "Only channel members can invite others to join.", "Only group creator can allow public channels.": "Only group creator can allow public channels.", @@ -477,7 +495,7 @@ "Open SubModal": "Open SubModal", "Option value": "Option value", "Option {index}": "Option {index}", - "Original message was removed by {username}": "Original message was removed by {username}", + "Original message was removed by {user}": "Original message was removed by {user}", "Other": "Other", "Other Proposals": "Other Proposals", "Other group members will be able to use this information to send you monthly contributions.": "Other group members will be able to use this information to send you monthly contributions.", @@ -498,12 +516,14 @@ "Payment method": "Payment method", "Payment method {paymentMethod}": "Payment method {paymentMethod}", "Payment not received": "Payment not received", + "Payment period": "Payment period", "Payment value": "Payment value", "Payments": "Payments", "Payments History": "Payments History", "Payments received": "Payments received", "Payments sent": "Payments sent", "Payments type": "Payments type", + "Paypal": "Paypal", "Pending": "Pending", "Pending Approval": "Pending Approval", "People from outside the group can see the channel's content": "People from outside the group can see the channel's content", @@ -511,6 +531,8 @@ "Percentage of members that need to agree:": "Percentage of members that need to agree:", "Percentage of payments completed by those pledging.": "Percentage of payments completed by those pledging.", "Percentage of the group income goal reached by the group.": "Percentage of the group income goal reached by the group.", + "Period": "Period", + "Period: {start} - {end}": "Period: {start} - {end}", "Pinch to zoom, drag to reposition": "Pinch to zoom, drag to reposition", "Play sounds for all new messages": "Play sounds for all new messages", "Play sounds for direct messages and mentions": "Play sounds for direct messages and mentions", @@ -604,6 +626,7 @@ "See proposal": "See proposal", "See {a_}logs for details{_a}.": "See {a_}logs for details{_a}.", "Select payment item": "Select payment item", + "Select payment period": "Select payment period", "Select which day of the month the distribution should be calculated. Every group member will need to update their mincome details before this date to ensure that the algorithm can fairly distribute available funds between group members.": "Select which day of the month the distribution should be calculated. Every group member will need to update their mincome details before this date to ensure that the algorithm can fairly distribute available funds between group members.", "Send Thank You Modal": "Send Thank You Modal", "Send Thanks!": "Send Thanks!", @@ -616,6 +639,7 @@ "Send payments": "Send payments", "Send payments via Lightning": "Send payments via Lightning", "Send thank you": "Send thank you", + "Sent": "Sent", "Sent by": "Sent by", "Sent by {name}": "Sent by {name}", "Sent to": "Sent to", @@ -645,11 +669,13 @@ "Step {current} of {max}": "Step {current} of {max}", "Stop replying": "Stop replying", "Streaks": "Streaks", + "Strikethrough": "Strikethrough", "Submit": "Submit", "Support %": "Support %", "Support history": "Support history", "Support this project": "Support this project", "Surplus": "Surplus", + "Sync error during login: {msg}": "Sync error during login: {msg}", "TODO history": "TODO history", "Take me home": "Take me home", "Text size": "Text size", @@ -726,6 +752,7 @@ "Troubleshooting": "Troubleshooting", "Trying to reconnect...": "Trying to reconnect...", "Type \"{code}\" below": "Type \"{code}\" below", + "Unable to confirm that the username {username} belongs to this identity contract": "Unable to confirm that the username {username} belongs to this identity contract", "Undo": "Undo", "Unsupported file type": "Unsupported file type", "Update Password": "Update Password", @@ -734,10 +761,12 @@ "Updated the channel name to: {title}": "Updated the channel name to: {title}", "Upload an image": "Upload an image", "Upload attachment": "Upload attachment", + "Use admin permissions to remove immediately": "Use admin permissions to remove immediately", "Use system settings": "Use system settings", "Used": "Used", "User settings": "User settings", "Username": "Username", + "Venmo": "Venmo", "Version": "Version", "View Thank You Modal": "View Thank You Modal", "Vote no": "Vote no", @@ -832,6 +861,7 @@ "percentage based": "percentage based", "poll": "poll", "results": "results", + "something went wrong! couldn't process your request to send a thank you note.": "something went wrong! couldn't process your request to send a thank you note.", "state": "state", "voting rules": "voting rules", "voting system": "voting system", @@ -855,7 +885,6 @@ "{firstMember} and {othersMembersCount} others will ensure you meet the mincome": "{firstMember} and {othersMembersCount} others will ensure you meet the mincome", "{firstMember} and {othersMember} will ensure you meet the mincome": "{firstMember} and {othersMember} will ensure you meet the mincome", "{firstMember} will ensure you meet the mincome": "{firstMember} will ensure you meet the mincome", - "{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}": "{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}", "{from} created a proposal. \"{title}\"": "{from} created a proposal. \"{title}\"", "{from} wants to add new members to the group.": "{from} wants to add new members to the group.", "{from} wants to change the groups {setting}.": "{from} wants to change the groups {setting}.", @@ -867,23 +896,23 @@ "{groupProposalsCount} proposals": "{groupProposalsCount} proposals", "{hours}h": "{hours}h", "{hours}h {minutes}m left": "{hours}h {minutes}m left", - "{member} created a proposal. Vote now!": "{member} created a proposal. Vote now!", "{member} marked this payment as not received.": "{member} marked this payment as not received.", - "{member} proposed to add a member to the group. Vote now!": "{member} proposed to add a member to the group. Vote now!", - "{member} proposed to change the group distribution date. Vote now!": "{member} proposed to change the group distribution date. Vote now!", - "{member} proposed to change the group mincome. Vote now!": "{member} proposed to change the group mincome. Vote now!", - "{member} proposed to change the group voting system. Vote now!": "{member} proposed to change the group voting system. Vote now!", - "{member} proposed to remove a member from the group. Vote now!": "{member} proposed to remove a member from the group. Vote now!", - "{member}'s proposal has failed.": "{member}'s proposal has failed.", - "{member}'s proposal has passed.": "{member}'s proposal has passed.", "{minutes}m": "{minutes}m", "{minutes}m left": "{minutes}m left", - "{month} overview": "{month} overview", "{name} (you)": "{name} (you)", "{name} Note:": "{name} Note:", + "{name} created a proposal. Vote now!": "{name} created a proposal. Vote now!", "{name} has left your group. Contributions were updated accordingly.": "{name} has left your group. Contributions were updated accordingly.", + "{name} proposed to add a member to the group. Vote now!": "{name} proposed to add a member to the group. Vote now!", + "{name} proposed to change the group distribution date. Vote now!": "{name} proposed to change the group distribution date. Vote now!", + "{name} proposed to change the group mincome. Vote now!": "{name} proposed to change the group mincome. Vote now!", + "{name} proposed to change the group voting system. Vote now!": "{name} proposed to change the group voting system. Vote now!", + "{name} proposed to remove a member from the group. Vote now!": "{name} proposed to remove a member from the group. Vote now!", + "{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}": "{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}", "{name} sent you a {strong_}thank you note{_strong} for your contribution.": "{name} sent you a {strong_}thank you note{_strong} for your contribution.", "{name} was kicked out of the group. Contributions were updated accordingly.": "{name} was kicked out of the group. Contributions were updated accordingly.", + "{name}'s proposal has failed.": "{name}'s proposal has failed.", + "{name}'s proposal has passed.": "{name}'s proposal has passed.", "{numMembers} members": "{numMembers} members", "{numberOfResponses}/{quantity} used": "{numberOfResponses}/{quantity} used", "{num} new notifications": "{num} new notifications", @@ -902,6 +931,8 @@ "{span_}{membercount} members{_span} haven't {strong_} entered income details{_strong}": "{span_}{membercount} members{_span} haven't {strong_} entered income details{_strong}", "{span_}{membercount} members{_span} haven't {strong_} logged in past {days} days or more {_strong}": "{span_}{membercount} members{_span} haven't {strong_} logged in past {days} days or more {_strong}", "{span_}{membercount} members{_span} haven't {strong_} voted in the last {proposalcount} proposals {_strong}": "{span_}{membercount} members{_span} haven't {strong_} voted in the last {proposalcount} proposals {_strong}", + "{strong_}{users}{_strong} are typing": "{strong_}{users}{_strong} are typing", + "{strong_}{user}{_strong} is typing": "{strong_}{user}{_strong} is typing", "{userList} reacted with {emotiName}": "{userList} reacted with {emotiName}", "{username} is proposing": "{username} is proposing", "{username} profile": "{username} profile", diff --git a/strings/english.strings b/strings/english.strings index 71bd651a4b..cc48ca5a9e 100644 --- a/strings/english.strings +++ b/strings/english.strings @@ -40,14 +40,11 @@ "2. Group Purpose" = "2. Group Purpose"; /* views/containers/group-settings/GroupJoinModal.vue */ -"2. Wait for the group vote" = "2. Wait for the group vote"; +"2. Wait for an existing member to use the app" = "2. Wait for an existing member to use the app"; /* views/components/group-creation-steps/GroupMincome.vue */ "3. Minimum Income" = "3. Minimum Income"; -/* views/containers/group-settings/GroupJoinModal.vue */ -"3. Use your unique access link" = "3. Use your unique access link"; - /* views/components/group-creation-steps/GroupRules.vue */ "4. Voting System" = "4. Voting System"; @@ -150,6 +147,9 @@ /* views/containers/payments/RecordPayment.vue, views/containers/payments/SendPaymentsViaLightning.vue */ "Add a note {span_}(optional){_span}" = "Add a note {span_}(optional){_span}"; +/* views/containers/chatroom/SendArea.vue */ +"Add code" = "Add code"; + /* views/containers/dashboard/GroupPurpose.vue, views/pages/GroupChat.vue */ "Add description" = "Add description"; @@ -159,6 +159,9 @@ /* views/containers/contributions/AddIncomeDetailsWidget.vue */ "Add income details" = "Add income details"; +/* views/containers/chatroom/SendArea.vue */ +"Add link" = "Add link"; + /* views/containers/chatroom/ConversationGreetings.vue, views/containers/dashboard/StartInvitingWidget.vue */ "Add members" = "Add members"; @@ -183,6 +186,9 @@ /* views/containers/chatroom/MessageActions.vue, views/containers/chatroom/MessageReactions.vue, views/containers/chatroom/SendArea.vue */ "Add reaction" = "Add reaction"; +/* views/containers/chatroom/SendArea.vue */ +"Add strikethrough" = "Add strikethrough"; + /* views/containers/contributions/AddIncomeDetailsWidget.vue */ "Add your income details" = "Add your income details"; @@ -190,7 +196,7 @@ "Add your income details to start receiving or giving mincome." = "Add your income details to start receiving or giving mincome."; /* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/dashboard/GroupMembersAllModal.vue */ -"Add {span_} to channel{_span}" = "Add {span_} to channel{_span}"; +"Add {span_}to channel{_span}" = "Add {span_}to channel{_span}"; /* views/containers/proposals/ProposalItem.vue */ "Add {user} to group." = "Add {user} to group."; @@ -258,7 +264,7 @@ /* views/containers/payments/PaymentRowReceived.vue */ "Already marked as not received!" = "Already marked as not received!"; -/* views/components/group-creation-steps/GroupMincome.vue, views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ +/* views/components/group-creation-steps/GroupMincome.vue, views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ "Amount" = "Amount"; /* views/containers/payments/MonthOverview.vue */ @@ -351,12 +357,24 @@ /* views/containers/contributions/GroupPledgesGraph.vue */ "Based on other members pledges, the group is not able to provide a full mincome yet." = "Based on other members pledges, the group is not able to provide a full mincome yet."; +/* views/containers/group-settings/GroupJoinModal.vue */ +"Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app." = "Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app."; + /* views/containers/user-settings/UserProfile.vue */ "Bio" = "Bio"; +/* views/containers/contributions/PaymentMethods.vue */ +"Bitcoin" = "Bitcoin"; + /* views/containers/navigation/Navigation.vue */ "Blog" = "Blog"; +/* views/containers/chatroom/SendArea.vue */ +"Bold" = "Bold"; + +/* views/containers/chatroom/SendArea.vue */ +"Bold style text" = "Bold style text"; + /* views/containers/group-settings/InvitationLinkModal.vue */ "Broken invite link!" = "Broken invite link!"; @@ -366,7 +384,7 @@ /* model/contracts/group.js */ "Can't change distribution date because distribution period has already started." = "Can't change distribution date because distribution period has already started."; -/* controller/actions/group.js, views/containers/access/PasswordModal.vue, views/containers/chatroom/ChatNotificationSettingsModal.vue, views/containers/chatroom/CreateNewChannelModal.vue, views/containers/chatroom/CreatePoll.vue, views/containers/chatroom/DeleteChannelModal.vue, views/containers/chatroom/EditChannelDescriptionModal.vue, views/containers/chatroom/EditChannelNameModal.vue, views/containers/chatroom/LeaveChannelModal.vue, views/containers/chatroom/SendArea.vue, views/containers/chatroom/poll-message-content/PollToVote.vue, views/containers/contributions/Contribution.vue, views/containers/contributions/IncomeDetails.vue, views/containers/group-settings/GroupCreationModal.vue, views/containers/group-settings/GroupDeletionModal.vue, views/containers/group-settings/GroupLeaveModal.vue, views/containers/payments/RecordPayment.vue, views/containers/proposals/ProposalTemplate.vue */ +/* controller/actions/group.js, views/containers/access/PasswordModal.vue, views/containers/chatroom/ChatNotificationSettingsModal.vue, views/containers/chatroom/CreateNewChannelModal.vue, views/containers/chatroom/CreatePoll.vue, views/containers/chatroom/DeleteChannelModal.vue, views/containers/chatroom/EditChannelDescriptionModal.vue, views/containers/chatroom/EditChannelNameModal.vue, views/containers/chatroom/LeaveChannelModal.vue, views/containers/chatroom/SendArea.vue, views/containers/chatroom/poll-message-content/PollToVote.vue, views/containers/contributions/Contribution.vue, views/containers/contributions/IncomeDetails.vue, views/containers/group-settings/GroupCreationModal.vue, views/containers/group-settings/GroupDeletionModal.vue, views/containers/group-settings/GroupLeaveModal.vue, views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/RecordPayment.vue, views/containers/proposals/ProposalTemplate.vue */ "Cancel" = "Cancel"; /* views/containers/payments/PaymentDetail.vue */ @@ -378,11 +396,8 @@ /* views/containers/payments/PaymentRowSent.vue */ "Cancel this payment" = "Cancel this payment"; -/* views/containers/payments/PaymentRowTodo.vue */ -"Cannot dismiss a payment that hasn't been sent yet." = "Cannot dismiss a payment that hasn't been sent yet."; - /* model/contracts/group.js */ -"Cannot remove yourself." = "Cannot remove yourself."; +"Cannot remove the last member." = "Cannot remove the last member."; /* views/containers/contributions/ContributionsWidget.vue, views/containers/dashboard/GroupMincome.vue, views/containers/group-settings/GroupRulesSettings.vue, views/containers/proposals/ProposalTemplate.vue, views/pages/Contributions.vue */ "Change" = "Change"; @@ -489,12 +504,18 @@ /* views/components/avatar-editor/AvatarEditorModal.vue */ "Click and drag to reposition" = "Click and drag to reposition"; +/* views/containers/group-settings/GroupJoinModal.vue */ +"Click on the individual link you received from an existing group. Don't have an invite?" = "Click on the individual link you received from an existing group. Don't have an invite?"; + /* views/containers/payments/RecordPayment.vue */ "Close" = "Close"; /* views/components/ProfileCard.vue, views/containers/notifications/NotificationCard.vue */ "Close profile" = "Close profile"; +/* views/containers/chatroom/SendArea.vue */ +"Code" = "Code"; + /* views/containers/access/LoginForm.vue */ "Coming soon" = "Coming soon"; @@ -534,7 +555,10 @@ /* views/containers/user-settings/Troubleshooting.vue */ "Corrupted" = "Corrupted"; -/* controller/actions/group.js */ +/* model/contracts/group.js */ +"Couldn't join the #{chatroomName} in the group. An error occurred: #{error}." = "Couldn't join the #{chatroomName} in the group. An error occurred: #{error}."; + +/* model/contracts/group.js */ "Couldn't join the #{chatroomName} in the group. Doesn't exist." = "Couldn't join the #{chatroomName} in the group. Doesn't exist."; /* views/components/UsersSelector.vue, views/pages/Home.vue */ @@ -588,7 +612,7 @@ /* views/containers/navigation/Navigation.vue */ "Dashboard" = "Dashboard"; -/* views/containers/payments/PaymentDetail.vue */ +/* views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/PaymentDetail.vue */ "Date & Time" = "Date & Time"; /* views/containers/user-settings/AppLogs.vue */ @@ -645,9 +669,6 @@ /* views/components/banners/BannerScoped.vue */ "Dismiss message" = "Dismiss message"; -/* views/containers/payments/PaymentRowTodo.vue */ -"Dismiss this payment" = "Dismiss this payment"; - /* views/containers/user-settings/UserProfile.vue */ "Display Name" = "Display Name"; @@ -666,6 +687,9 @@ /* views/containers/contributions/IncomeDetails.vue */ "Do you make at least {groupMincomeFormatted} per month?" = "Do you make at least {groupMincomeFormatted} per month?"; +/* controller/actions/identity.js */ +"Do you want to log out? Error details: {err}." = "Do you want to log out? Error details: {err}."; + /* views/containers/group-settings/GroupDeletionModal.vue, views/containers/group-settings/GroupLeaveModal.vue */ "Does not match" = "Does not match"; @@ -724,7 +748,7 @@ "Error Testing" = "Error Testing"; /* controller/actions/identity.js */ -"Error during login contract sync: {err}" = "Error during login contract sync: {err}"; +"Error during login: {msg}" = "Error during login: {msg}"; /* views/containers/group-settings/InvitationsTable.vue, views/containers/proposals/ProposalItem.vue */ "Expired" = "Expired"; @@ -738,6 +762,27 @@ /* views/containers/chatroom/poll-message-content/PollToVote.vue, views/containers/chatroom/poll-message-content/PollVoteResult.vue */ "Expires on: {expiry}" = "Expires on: {expiry}"; +/* views/pages/Payments.vue */ +"Export CSV" = "Export CSV"; + +/* views/containers/payments/ExportPaymentsModal.vue */ +"Export all periods" = "Export all periods"; + +/* views/containers/payments/ExportPaymentsModal.vue */ +"Export payments" = "Export payments"; + +/* views/containers/payments/ExportPaymentsModal.vue */ +"Export received payments" = "Export received payments"; + +/* views/containers/payments/ExportPaymentsModal.vue */ +"Export sent payments" = "Export sent payments"; + +/* views/containers/payments/ExportPaymentsModal.vue */ +"Export your received payment history to .csv" = "Export your received payment history to .csv"; + +/* views/containers/payments/ExportPaymentsModal.vue */ +"Export your sent payment history to .csv" = "Export your sent payment history to .csv"; + /* controller/actions/group.js */ "Failed to accept invite." = "Failed to accept invite."; @@ -798,15 +843,18 @@ /* controller/actions/identity.js */ "Failed to join a direct message." = "Failed to join a direct message."; +/* controller/actions/identity.js */ +"Failed to join a group." = "Failed to join a group."; + /* controller/actions/chatroom.js, controller/actions/group.js */ "Failed to join chat channel." = "Failed to join chat channel."; -/* model/contracts/identity.js */ -"Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'" = "Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'"; - /* controller/actions/group.js */ "Failed to join the group: {codeError}" = "Failed to join the group: {codeError}"; +/* controller/actions/identity.js */ +"Failed to leave a group." = "Failed to leave a group."; + /* controller/actions/chatroom.js, controller/actions/group.js */ "Failed to leave chat channel." = "Failed to leave chat channel."; @@ -826,7 +874,7 @@ "Failed to notify expiring proposals." = "Failed to notify expiring proposals."; /* controller/actions/group.js */ -"Failed to remove {member}: {reportError}" = "Failed to remove {member}: {reportError}"; +"Failed to remove {memberID}: {reportError}" = "Failed to remove {memberID}: {reportError}"; /* controller/actions/chatroom.js, controller/actions/group.js */ "Failed to rename chat channel." = "Failed to rename chat channel."; @@ -840,11 +888,14 @@ /* controller/actions/group.js */ "Failed to send a payment thank you note." = "Failed to send a payment thank you note."; -/* controller/actions/identity.js */ -"Failed to set direct message visibility." = "Failed to set direct message visibility."; +/* controller/actions/chatroom.js */ +"Failed to send stopped typing notification" = "Failed to send stopped typing notification"; + +/* controller/actions/chatroom.js */ +"Failed to send typing notification" = "Failed to send typing notification"; /* controller/actions/identity.js */ -"Failed to set login state." = "Failed to set login state."; +"Failed to set direct message visibility." = "Failed to set direct message visibility."; /* controller/actions/identity.js */ "Failed to set profile attributes." = "Failed to set profile attributes."; @@ -900,9 +951,6 @@ /* views/containers/group-settings/InvitationsTable.vue */ "Filter links" = "Filter links"; -/* views/containers/group-settings/GroupJoinModal.vue */ -"For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income?" = "For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income?"; - /* views/containers/access/LoginForm.vue */ "Forgot your password?" = "Forgot your password?"; @@ -1056,9 +1104,6 @@ /* views/containers/design-system/DSModalFullscreen.vue, views/containers/design-system/DSModalNested.vue */ "Introduce the potential new member(s) to your group" = "Introduce the potential new member(s) to your group"; -/* model/contracts/group.js */ -"Invalid associated proposal." = "Invalid associated proposal."; - /* views/containers/access/PasswordModal.vue */ "Invalid password" = "Invalid password"; @@ -1071,6 +1116,12 @@ /* views/containers/proposals/AddMembers.vue */ "Invitee name" = "Invitee name"; +/* views/containers/chatroom/SendArea.vue */ +"Italic" = "Italic"; + +/* views/containers/chatroom/SendArea.vue */ +"Italic style text" = "Italic style text"; + /* views/containers/chatroom/ConversationGreetings.vue */ "I’m here to keep you update while you are away." = "I’m here to keep you update while you are away."; @@ -1083,6 +1134,9 @@ /* controller/router.js, views/pages/Home.vue */ "Join a Group" = "Join a Group"; +/* controller/actions/identity.js */ +"Join group error during login: {msg}" = "Join group error during login: {msg}"; + /* views/containers/chatroom/MessageNotification.vue */ "Joined" = "Joined"; @@ -1146,9 +1200,12 @@ /* views/containers/user-settings/Acknowledgements.vue */ "Libraries" = "Libraries"; -/* views/containers/payments/PaymentRowSendLightning.vue, views/pages/Payments.vue */ +/* views/containers/contributions/PaymentMethods.vue, views/containers/payments/PaymentRowSendLightning.vue, views/pages/Payments.vue */ "Lightning" = "Lightning"; +/* views/containers/chatroom/SendArea.vue */ +"Link" = "Link"; + /* controller/router.js, views/components/ButtonSubmit.vue, views/containers/loading-error/ErrorModal.vue, views/containers/loading-error/LoadingBaseModal.vue, views/containers/loading-error/LoadingModal.vue */ "Loading" = "Loading"; @@ -1170,13 +1227,16 @@ /* views/containers/access/LoginForm.vue, views/pages/Home.vue */ "Login" = "Login"; +/* controller/actions/identity.js */ +"Login error" = "Login error"; + /* views/components/Loading.vue */ "Magic is happening..." = "Magic is happening..."; /* views/containers/navigation/Navigation.vue */ "Main" = "Main"; -/* views/containers/payments/PaymentRowReceived.vue, views/containers/payments/PaymentRowSent.vue, views/containers/payments/PaymentRowTodo.vue, views/pages/Payments.vue */ +/* views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/PaymentRowReceived.vue, views/containers/payments/PaymentRowSent.vue, views/containers/payments/PaymentRowTodo.vue, views/pages/Payments.vue */ "Manual" = "Manual"; /* views/containers/notifications/NotificationCard.vue, views/containers/notifications/NotificationModal.vue */ @@ -1212,7 +1272,7 @@ /* views/containers/chatroom/DeleteChannelModal.vue */ "Members will be removed from the channel;" = "Members will be removed from the channel;"; -/* views/containers/payments/PaymentDetail.vue */ +/* views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/PaymentDetail.vue */ "Mincome at the time" = "Mincome at the time"; /* model/notifications/templates.js */ @@ -1299,7 +1359,7 @@ /* views/containers/payments/PaymentsPagination.vue */ "Next page" = "Next page"; -/* controller/actions/group.js, views/components/modal/Prompt.vue */ +/* controller/actions/group.js, controller/actions/identity.js, views/components/modal/Prompt.vue */ "No" = "No"; /* views/components/ProfileCard.vue */ @@ -1383,15 +1443,9 @@ /* views/containers/proposals/PropositionsAllModal.vue */ "Oldest first" = "Oldest first"; -/* views/containers/group-settings/GroupJoinModal.vue */ -"On Group Income, every major decision goes through a voting process. This includes adding new members." = "On Group Income, every major decision goes through a voting process. This includes adding new members."; - /* views/components/group-creation-steps/GroupMincome.vue */ "On what day should the first payment distribution be calculated?" = "On what day should the first payment distribution be calculated?"; -/* views/containers/group-settings/GroupJoinModal.vue */ -"Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group" = "Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group"; - /* views/containers/chatroom/CreateNewChannelModal.vue */ "Only added members will have access." = "Only added members will have access."; @@ -1435,7 +1489,7 @@ "Option {index}" = "Option {index}"; /* model/contracts/chatroom.js */ -"Original message was removed by {username}" = "Original message was removed by {username}"; +"Original message was removed by {user}" = "Original message was removed by {user}"; /* views/containers/contributions/PaymentMethods.vue */ "Other" = "Other"; @@ -1488,7 +1542,7 @@ /* views/containers/contributions/PaymentMethods.vue */ "Payment info" = "Payment info"; -/* views/containers/contributions/PaymentMethods.vue, views/pages/Payments.vue */ +/* views/containers/contributions/PaymentMethods.vue, views/containers/payments/ExportPaymentsModal.vue, views/pages/Payments.vue */ "Payment method" = "Payment method"; /* views/pages/Contributions.vue */ @@ -1497,6 +1551,9 @@ /* views/containers/payments/MonthOverview.vue */ "Payment not received" = "Payment not received"; +/* views/containers/payments/ExportPaymentsModal.vue */ +"Payment period" = "Payment period"; + /* views/containers/contributions/PaymentMethods.vue */ "Payment value" = "Payment value"; @@ -1515,6 +1572,9 @@ /* views/containers/dashboard/GroupActivity.vue, views/pages/Payments.vue */ "Payments type" = "Payments type"; +/* views/containers/contributions/PaymentMethods.vue */ +"Paypal" = "Paypal"; + /* model/state.js */ "Pending" = "Pending"; @@ -1536,6 +1596,12 @@ /* views/containers/contributions/SupportHistory.vue */ "Percentage of the group income goal reached by the group." = "Percentage of the group income goal reached by the group."; +/* views/containers/payments/ExportPaymentsModal.vue */ +"Period" = "Period"; + +/* views/containers/payments/MonthOverview.vue */ +"Period: {start} - {end}" = "Period: {start} - {end}"; + /* views/components/avatar-editor/AvatarEditorModal.vue */ "Pinch to zoom, drag to reposition" = "Pinch to zoom, drag to reposition"; @@ -1662,7 +1728,7 @@ /* views/containers/proposals/ProposalItem.vue */ "Read more" = "Read more"; -/* views/pages/Payments.vue */ +/* views/containers/payments/ExportPaymentsModal.vue, views/pages/Payments.vue */ "Received" = "Received"; /* views/containers/payments/SendThankYouModal.vue */ @@ -1752,7 +1818,7 @@ /* views/containers/payments/PaymentRowRecord.vue, views/containers/payments/PaymentRowSendLightning.vue */ "Reset" = "Reset"; -/* views/containers/chatroom/MessageActions.vue */ +/* views/containers/chatroom/MessageActions.vue, views/containers/loading-error/ErrorPage.vue */ "Retry" = "Retry"; /* views/containers/contributions/ContributionsWidget.vue */ @@ -1815,6 +1881,9 @@ /* views/containers/payments/PaymentRowTodo.vue, views/containers/payments/PaymentsList.vue */ "Select payment item" = "Select payment item"; +/* views/containers/payments/ExportPaymentsModal.vue */ +"Select payment period" = "Select payment period"; + /* views/components/group-creation-steps/GroupMincome.vue */ "Select which day of the month the distribution should be calculated. Every group member will need to update their mincome details before this date to ensure that the algorithm can fairly distribute available funds between group members." = "Select which day of the month the distribution should be calculated. Every group member will need to update their mincome details before this date to ensure that the algorithm can fairly distribute available funds between group members."; @@ -1851,13 +1920,16 @@ /* views/containers/payments/PaymentRowReceived.vue */ "Send thank you" = "Send thank you"; -/* views/pages/Payments.vue */ +/* views/containers/payments/ExportPaymentsModal.vue */ +"Sent" = "Sent"; + +/* views/containers/payments/ExportPaymentsModal.vue, views/pages/Payments.vue */ "Sent by" = "Sent by"; /* views/containers/payments/PaymentDetail.vue */ "Sent by {name}" = "Sent by {name}"; -/* views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ +/* views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ "Sent to" = "Sent to"; /* views/containers/payments/PaymentDetail.vue */ @@ -1938,6 +2010,9 @@ /* views/containers/dashboard/GroupMembersActivity.vue */ "Streaks" = "Streaks"; +/* views/containers/chatroom/SendArea.vue */ +"Strikethrough" = "Strikethrough"; + /* views/containers/chatroom/poll-message-content/PollToVote.vue */ "Submit" = "Submit"; @@ -1953,6 +2028,9 @@ /* views/components/graphs/Overview.vue, views/containers/contributions/GroupPledgesGraph.vue */ "Surplus" = "Surplus"; +/* controller/actions/identity.js */ +"Sync error during login: {msg}" = "Sync error during login: {msg}"; + /* views/containers/contributions/TodoHistory.vue */ "TODO history" = "TODO history"; @@ -2181,6 +2259,9 @@ /* views/containers/group-settings/GroupDeletionModal.vue, views/containers/group-settings/GroupLeaveModal.vue */ "Type \"{code}\" below" = "Type \"{code}\" below"; +/* model/contracts/identity.js */ +"Unable to confirm that the username {username} belongs to this identity contract" = "Unable to confirm that the username {username} belongs to this identity contract"; + /* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/proposals/MemberRequest.vue */ "Undo" = "Undo"; @@ -2205,6 +2286,9 @@ /* views/containers/chatroom/file-attachment/DragActiveOverlay.vue */ "Upload attachment" = "Upload attachment"; +/* views/containers/proposals/RemoveMember.vue */ +"Use admin permissions to remove immediately" = "Use admin permissions to remove immediately"; + /* views/containers/user-settings/Theme.vue */ "Use system settings" = "Use system settings"; @@ -2217,6 +2301,9 @@ /* views/containers/access/LoginForm.vue, views/containers/access/SignupForm.vue, views/containers/group-settings/GroupLeaveModal.vue */ "Username" = "Username"; +/* views/containers/contributions/PaymentMethods.vue */ +"Venmo" = "Venmo"; + /* views/components/tabs/TabWrapper.vue */ "Version" = "Version"; @@ -2301,7 +2388,7 @@ /* views/containers/chatroom/SendArea.vue */ "Write your message..." = "Write your message..."; -/* controller/actions/group.js, views/components/modal/Prompt.vue */ +/* controller/actions/group.js, controller/actions/identity.js, views/components/modal/Prompt.vue */ "Yes" = "Yes"; /* views/containers/contributions/IncomeDetails.vue */ @@ -2499,6 +2586,9 @@ /* views/containers/payments/PaymentsPagination.vue */ "results" = "results"; +/* views/containers/payments/SendThankYouModal.vue */ +"something went wrong! couldn't process your request to send a thank you note." = "something went wrong! couldn't process your request to send a thank you note."; + /* views/containers/group-settings/InvitationsTable.vue */ "state" = "state"; @@ -2568,9 +2658,6 @@ /* views/containers/contributions/IncomeDetails.vue */ "{firstMember} will ensure you meet the mincome" = "{firstMember} will ensure you meet the mincome"; -/* model/notifications/templates.js */ -"{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}" = "{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}"; - /* views/containers/chatroom/MessageInteractive.vue */ "{from} created a proposal. \"{title}\"" = "{from} created a proposal. \"{title}\""; @@ -2604,50 +2691,44 @@ /* views/containers/group-settings/InvitationsTable.vue */ "{hours}h {minutes}m left" = "{hours}h {minutes}m left"; -/* model/notifications/templates.js */ -"{member} created a proposal. Vote now!" = "{member} created a proposal. Vote now!"; - /* views/containers/payments/payment-row/PaymentNotReceivedTooltip.vue */ "{member} marked this payment as not received." = "{member} marked this payment as not received."; -/* model/notifications/templates.js */ -"{member} proposed to add a member to the group. Vote now!" = "{member} proposed to add a member to the group. Vote now!"; +/* model/contracts/shared/time.js */ +"{minutes}m" = "{minutes}m"; -/* model/notifications/templates.js */ -"{member} proposed to change the group distribution date. Vote now!" = "{member} proposed to change the group distribution date. Vote now!"; +/* views/containers/group-settings/InvitationsTable.vue */ +"{minutes}m left" = "{minutes}m left"; -/* model/notifications/templates.js */ -"{member} proposed to change the group mincome. Vote now!" = "{member} proposed to change the group mincome. Vote now!"; +/* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/chatroom/NewDirectMessageModal.vue, views/containers/dashboard/GroupMembers.vue, views/containers/dashboard/GroupMembersAllModal.vue */ +"{name} (you)" = "{name} (you)"; -/* model/notifications/templates.js */ -"{member} proposed to change the group voting system. Vote now!" = "{member} proposed to change the group voting system. Vote now!"; +/* views/containers/payments/ThankYouNoteModal.vue */ +"{name} Note:" = "{name} Note:"; /* model/notifications/templates.js */ -"{member} proposed to remove a member from the group. Vote now!" = "{member} proposed to remove a member from the group. Vote now!"; +"{name} created a proposal. Vote now!" = "{name} created a proposal. Vote now!"; /* model/notifications/templates.js */ -"{member}'s proposal has failed." = "{member}'s proposal has failed."; +"{name} has left your group. Contributions were updated accordingly." = "{name} has left your group. Contributions were updated accordingly."; /* model/notifications/templates.js */ -"{member}'s proposal has passed." = "{member}'s proposal has passed."; - -/* model/contracts/shared/time.js */ -"{minutes}m" = "{minutes}m"; +"{name} proposed to add a member to the group. Vote now!" = "{name} proposed to add a member to the group. Vote now!"; -/* views/containers/group-settings/InvitationsTable.vue */ -"{minutes}m left" = "{minutes}m left"; +/* model/notifications/templates.js */ +"{name} proposed to change the group distribution date. Vote now!" = "{name} proposed to change the group distribution date. Vote now!"; -/* views/containers/payments/MonthOverview.vue */ -"{month} overview" = "{month} overview"; +/* model/notifications/templates.js */ +"{name} proposed to change the group mincome. Vote now!" = "{name} proposed to change the group mincome. Vote now!"; -/* views/containers/chatroom/ChatMembers.vue, views/containers/chatroom/ChatMembersAllModal.vue, views/containers/chatroom/NewDirectMessageModal.vue, views/containers/dashboard/GroupMembers.vue, views/containers/dashboard/GroupMembersAllModal.vue */ -"{name} (you)" = "{name} (you)"; +/* model/notifications/templates.js */ +"{name} proposed to change the group voting system. Vote now!" = "{name} proposed to change the group voting system. Vote now!"; -/* views/containers/payments/ThankYouNoteModal.vue */ -"{name} Note:" = "{name} Note:"; +/* model/notifications/templates.js */ +"{name} proposed to remove a member from the group. Vote now!" = "{name} proposed to remove a member from the group. Vote now!"; /* model/notifications/templates.js */ -"{name} has left your group. Contributions were updated accordingly." = "{name} has left your group. Contributions were updated accordingly."; +"{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}" = "{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}"; /* model/notifications/templates.js */ "{name} sent you a {strong_}thank you note{_strong} for your contribution." = "{name} sent you a {strong_}thank you note{_strong} for your contribution."; @@ -2655,6 +2736,12 @@ /* model/notifications/templates.js */ "{name} was kicked out of the group. Contributions were updated accordingly." = "{name} was kicked out of the group. Contributions were updated accordingly."; +/* model/notifications/templates.js */ +"{name}'s proposal has failed." = "{name}'s proposal has failed."; + +/* model/notifications/templates.js */ +"{name}'s proposal has passed." = "{name}'s proposal has passed."; + /* views/pages/GroupChat.vue */ "{numMembers} members" = "{numMembers} members"; @@ -2709,6 +2796,12 @@ /* views/containers/dashboard/GroupMembersActivity.vue */ "{span_}{membercount} members{_span} haven't {strong_} voted in the last {proposalcount} proposals {_strong}" = "{span_}{membercount} members{_span} haven't {strong_} voted in the last {proposalcount} proposals {_strong}"; +/* views/containers/chatroom/SendArea.vue */ +"{strong_}{users}{_strong} are typing" = "{strong_}{users}{_strong} are typing"; + +/* views/containers/chatroom/SendArea.vue */ +"{strong_}{user}{_strong} is typing" = "{strong_}{user}{_strong} is typing"; + /* views/containers/chatroom/MessageReactions.vue */ "{userList} reacted with {emotiName}" = "{userList} reacted with {emotiName}"; diff --git a/strings/french.json b/strings/french.json index d5ee74a591..02197e89e5 100644 --- a/strings/french.json +++ b/strings/french.json @@ -1,6 +1,8 @@ { "Failed to change vote on a poll.": "Failed to change vote on a poll.", "Failed to close a poll.": "Failed to close a poll.", + "Failed to send stopped typing notification": "Failed to send stopped typing notification", + "Failed to send typing notification": "Failed to send typing notification", "Failed to vote on a poll.": "Failed to vote on a poll.", "Automatically switched to pledging {zero}": "Automatically switched to pledging {zero}", "Do you make at least {amount} per month?": "Do you make at least {amount} per month?", @@ -8,6 +10,7 @@ "Failed to add chat channel": "Failed to add chat channel", "Failed to create invite.": "Failed to create invite.", "Failed to mark proposals expired.": "Failed to mark proposals expired.", + "Failed to remove {memberID}: {reportError}": "Failed to remove {memberID}: {reportError}", "Failed to send a payment thank you note.": "Failed to send a payment thank you note.", "Failed to update \"lastLoggedIn\" in a group profile.": "Failed to update \"lastLoggedIn\" in a group profile.", "Failed to update group distribution date.": "Failed to update group distribution date.", @@ -18,17 +21,25 @@ "No": "No", "Yes": "Yes", "OK": "OK", - "Error during login contract sync: {err}": "Error during login contract sync: {err}", + "Do you want to log out? Error details: {err}.": "Do you want to log out? Error details: {err}.", + "Error during login: {msg}": "Error during login: {msg}", "Failed to create a new direct message channel.": "Failed to create a new direct message channel.", - "Failed to set login state.": "Failed to set login state.", + "Failed to join a group.": "Failed to join a group.", + "Failed to leave a group.": "Failed to leave a group.", + "Join group error during login: {msg}": "Join group error during login: {msg}", + "Login error": "Login error", + "Sync error during login: {msg}": "Sync error during login: {msg}", "Design System": "Design System", "Error Testing": "Error Testing", "Group Income": "Group Income", "Pending Approval": "Pending Approval", "Contributions": "Contributions", "Loading events from server...": "Loading events from server...", + "Original message was removed by {user}": "Original message was removed by {user}", "Can't change distribution date because distribution period has already started.": "Can't change distribution date because distribution period has already started.", - "Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'": "Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'", + "Cannot remove the last member.": "Cannot remove the last member.", + "Couldn't join the #{chatroomName} in the group. An error occurred: #{error}.": "Couldn't join the #{chatroomName} in the group. An error occurred: #{error}.", + "Unable to confirm that the username {username} belongs to this identity contract": "Unable to confirm that the username {username} belongs to this identity contract", "1d": "1d", "<1m": "<1m", "{hours}h": "{hours}h", @@ -43,11 +54,16 @@ "The mincome has changed to {amount}.": "The mincome has changed to {amount}.", "Voting rule change": "Voting rule change", "{errName} during {activity} for '{action}' from {b_}{who}{_b} to '{contract}': '{errMsg}'": "{errName} during {activity} for '{action}' from {b_}{who}{_b} to '{contract}': '{errMsg}'", - "{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}": "{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}", - "{member} created a proposal. Vote now!": "{member} created a proposal. Vote now!", - "{member}'s proposal has failed.": "{member}'s proposal has failed.", - "{member}'s proposal has passed.": "{member}'s proposal has passed.", + "{name} created a proposal. Vote now!": "{name} created a proposal. Vote now!", + "{name} proposed to add a member to the group. Vote now!": "{name} proposed to add a member to the group. Vote now!", + "{name} proposed to change the group distribution date. Vote now!": "{name} proposed to change the group distribution date. Vote now!", + "{name} proposed to change the group mincome. Vote now!": "{name} proposed to change the group mincome. Vote now!", + "{name} proposed to change the group voting system. Vote now!": "{name} proposed to change the group voting system. Vote now!", + "{name} proposed to remove a member from the group. Vote now!": "{name} proposed to remove a member from the group. Vote now!", + "{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}": "{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}", "{name} sent you a {strong_}thank you note{_strong} for your contribution.": "{name} sent you a {strong_}thank you note{_strong} for your contribution.", + "{name}'s proposal has failed.": "{name}'s proposal has failed.", + "{name}'s proposal has passed.": "{name}'s proposal has passed.", "Pending": "Pending", "Copy string": "Copy string", "What percentage of members need to agree to pass a proposal?": "What percentage of members need to agree to pass a proposal?", @@ -77,6 +93,7 @@ "Email": "Email", "Added.": "Added.", "Removed.": "Removed.", + "Add {span_}to channel{_span}": "Add {span_}to channel{_span}", "Notifications": "Notifications", "I’m here to keep you update while you are away.": "I’m here to keep you update while you are away.", "People from outside the group can see the channel's content": "People from outside the group can see the channel's content", @@ -96,7 +113,19 @@ "Jump to poll": "Jump to poll", "Voted on {options}": "Voted on {options}", "Created a new poll:": "Created a new poll:", + "Add code": "Add code", + "Add link": "Add link", + "Add strikethrough": "Add strikethrough", "Attach file": "Attach file", + "Bold style text": "Bold style text", + "Bold": "Bold", + "Code": "Code", + "Italic style text": "Italic style text", + "Italic": "Italic", + "Link": "Link", + "Strikethrough": "Strikethrough", + "{strong_}{users}{_strong} are typing": "{strong_}{users}{_strong} are typing", + "{strong_}{user}{_strong} is typing": "{strong_}{user}{_strong} is typing", "Remove attachment": "Remove attachment", "Chat attachment too large modal": "Chat attachment too large modal", "File too large": "File too large", @@ -114,6 +143,10 @@ "{who0} and {who1}": "{who0} and {who1}", "Define up to how much you pledge to contribute to the group every 30 days. Only the minimum amount needed will be distributed.": "Define up to how much you pledge to contribute to the group every 30 days. Only the minimum amount needed will be distributed.", "Payment details required. Please let people know how they can pay you.": "Payment details required. Please let people know how they can pay you.", + "Bitcoin": "Bitcoin", + "Paypal": "Paypal", + "Venmo": "Venmo", + "Lightning": "Lightning", "Distributed: {done}": "Distributed: {done}", "Needed: {todo}": "Needed: {todo}", "Percentage of the group income goal reached by the group.": "Percentage of the group income goal reached by the group.", @@ -149,6 +182,9 @@ "{user} missed {streak} payments": "{user} missed {streak} payments", "{user} missed {streak} vote": "{user} missed {streak} vote", "{user} missed {streak} votes": "{user} missed {streak} votes", + "2. Wait for an existing member to use the app": "2. Wait for an existing member to use the app", + "Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app.": "Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app.", + "Click on the individual link you received from an existing group. Don't have an invite?": "Click on the individual link you received from an existing group. Don't have an invite?", "{b_}{count}{_b}": "{b_}{count}{_b}", "{b_}{percent}{_b}": "{b_}{percent}{_b}", "Broken invite link!": "Broken invite link!", @@ -159,14 +195,23 @@ "Blog": "Blog", "Mark all as read": "Mark all as read", "OLDER": "OLDER", + "Export all periods": "Export all periods", + "Export payments": "Export payments", + "Export received payments": "Export received payments", + "Export sent payments": "Export sent payments", + "Export your received payment history to .csv": "Export your received payment history to .csv", + "Export your sent payment history to .csv": "Export your sent payment history to .csv", + "Payment period": "Payment period", + "Period": "Period", + "Select payment period": "Select payment period", + "Manual": "Manual", + "Period: {start} - {end}": "Period: {start} - {end}", "Notes": "Notes", "Transaction ID": "Transaction ID", "Send Thanks!": "Send Thanks!", "Next distribution Date: {dDate}": "Next distribution Date: {dDate}", "Send thank you": "Send thank you", - "Manual": "Manual", "Mark as an item to pay": "Mark as an item to pay", - "Lightning": "Lightning", "Select payment item": "Select payment item", "Total": "Total", "Donate 1% to support the development of Group Income": "Donate 1% to support the development of Group Income", @@ -182,6 +227,7 @@ "Thank you!": "Thank you!", "What message would you like to send?": "What message would you like to send?", "Your Thank You was sent!": "Your Thank You was sent!", + "something went wrong! couldn't process your request to send a thank you note.": "something went wrong! couldn't process your request to send a thank you note.", "Thank you note!": "Thank you note!", "View Thank You Modal": "View Thank You Modal", "{name} Note:": "{name} Note:", @@ -224,6 +270,7 @@ "Newest first": "Newest first", "Oldest first": "Oldest first", "{groupProposalsCount} proposals": "{groupProposalsCount} proposals", + "Use admin permissions to remove immediately": "Use admin permissions to remove immediately", "Illustrations": "Illustrations", "Info": "Info", "Animations": "Animations", @@ -244,6 +291,7 @@ "Accepted methods": "Accepted methods", "Completed": "Completed", "Due on": "Due on", + "Export CSV": "Export CSV", "Learn more about {r1}how we distribute income.{r2}": "Learn more about {r1}how we distribute income.{r2}", "Payment date": "Payment date", "Waiting for approval to join {groupName}!": "Waiting for approval to join {groupName}!", @@ -260,7 +308,6 @@ "Failed to leave chat channel.": "Impossible de quitter la conversation.", "Failed to rename chat channel.": "Impossible de renommer la conversation.", "Automated ban because they're sending malformed messages resulting in: {error}": "Bannissement automatique pour envoi de messages malformés causant l’erreur : {error}", - "Couldn't join the #{chatroomName} in the group. Doesn't exist.": "Impossible de rejoindre le salon #{chatroomName} dans le groupe. Il est introuvable.", "Failed to cancel proposal.": "L’annulation de la proposition a échoué.", "Failed to create payment.": "La création du paiement a échoué.", "Failed to create proposal.": "La création de la proposition a échoué.", @@ -269,7 +316,6 @@ "Failed to join the group: {codeError}": "La tentative de rejoindre le groupe a échoué : {codeError}", "Failed to leave group. {codeError}": "La tentative de quitter le groupe a échoué. {codeError}", "Failed to notify expiring proposals.": "Échec de la notification des propositions arrivant à expiration.", - "Failed to remove {member}: {reportError}": "L’exclusion de {member} a échoué : {reportError}", "Failed to revoke invite.": "La révocation de l’invitation a échoué.", "Failed to update description of chat channel.": "Échec de la mise à jour de la description du canal de chat.", "Failed to update group profile.": "La mise à jour du profil de groupe a échoué.", @@ -300,11 +346,9 @@ "We could not connect to the server. Please refresh the page.": "Échec de la connexion au serveur. Veuillez actualiser la page.", "Your app seems to be corrupted. Please {a_}re-sync your app data.{_a}": "Les données de votre application semblent incorrectes. Veuillez les {a_}resynchroniser{_a}.", "Your device appears to be offline.": "Votre appareil semble être hors ligne.", - "Original message was removed by {username}": "Le message d'origine a été supprimé par {username}", "Only the channel creator can delete channel.": "Seul le créateur peut supprimer sa conversation.", "Admin credentials needed and not implemented yet.": "Un compte administrateur est requis mais n’est pas encore implementé.", - "Cannot remove yourself.": "Vous ne pouvez pas vous exclure vous-même.", - "Invalid associated proposal.": "La proposition associée est invalide.", + "Couldn't join the #{chatroomName} in the group. Doesn't exist.": "Impossible de rejoindre le salon #{chatroomName} dans le groupe. Il est introuvable.", "Not part of the group.": "Ne fait pas partie du groupe.", "Only group creator can allow public channels.": "Seul le créateur du groupe peut autoriser les chaînes publiques.", "Only group creator can update distribution date.": "Seul le créateur du groupe peut mettre à jour la date de distribution.", @@ -319,11 +363,6 @@ "Do not forget to send your pledge by {date}.": "N’oubliez pas d’envoyer votre contribution avant le {date}.", "The group has a new member. Say hi to {name}!": "Le groupe a un nouveau membre. Souhaitez la bienvenue à {name} !", "You haven't updated your income details in more than {months} months. Would you like to review them now?": "Vos détails de revenu n’ont pas été mis à jour depuis plus de {months} mois. Souhaitez-vous les vérifier maintenant ?", - "{member} proposed to add a member to the group. Vote now!": "{member} a proposé d’ajouter un membre au groupe. Votez !", - "{member} proposed to change the group distribution date. Vote now!": "{member} a proposé de changer la date de distribution du groupe. Votez !", - "{member} proposed to change the group mincome. Vote now!": "{member} a proposé de changer le revenu minimum du groupe. Votez !", - "{member} proposed to change the group voting system. Vote now!": "{member} a proposé de changer les règles de vote du groupe. Votez !", - "{member} proposed to remove a member from the group. Vote now!": "{member} a proposé d’exclure un membre du groupe. Votez !", "{name} has left your group. Contributions were updated accordingly.": "{name} a quitté votre groupe. Les contributions ont été mises à jour en conséquence.", "{name} was kicked out of the group. Contributions were updated accordingly.": "{name} a été exclu du groupe. Les contributions ont été mises à jour en conséquence.", "Avatar updated!": "Avatar mis à jour !", @@ -410,18 +449,17 @@ "Sign up": "Créer un compte", "Already have an account?": "Vous avez déjà un compte ?", "New": "Nouveau", - "{name} (you)": "{name} (vous)", "Members": "Membres", "Channel members": "Membres du salon", "Group members only": "Membres du groupe uniquement", "Private channel": "Salon privé", "Public channel": "Salon public", + "{name} (you)": "{name} (vous)", "Others ({nbMembers})": "Autres ({nbMembers})", "Search": "Rechercher", "Showing {searchCount} {strong_}results{_strong} for \"{searchTerm}\"": "{searchCount} {strong_}résultats{_strong} correspondant à la recherche \"{searchTerm}\"", "Showing {strong_}1 result{_strong} for \"{searchTerm}\"": "{strong_}1 résultat{_strong} correspond à la recherche \"{searchTerm}\"", "Sorry, we couldn't find anyone called \"{searchTerm}\"": "Désolé, nous n’avons trouvé personne dont le nom soit \"{searchTerm}\"", - "Add {span_} to channel{_span}": "Ajouter {span_} au salon{_span}", "Channel members ({nbMembers})": "Membres du salon ({nbMembers})", "Undo": "Annuler", "All new messages": "Tous les nouveaux messages", @@ -471,9 +509,9 @@ "Delete message": "Supprimer le message", "More options": "Autres options", "Reply": "Répondre", - "Retry": "Réessayer", "Add reaction": "Ajouter une réaction", "Edit": "Éditer", + "Retry": "Réessayer", "(edited)": "(édité)", "Added members to this group: {to}": "Ajouter des membres à ce groupe : {to}", "No members were added.": "Aucun membre n’a été ajouté.", @@ -634,14 +672,9 @@ "Does not match": "Ne correspond pas", "Type \"{code}\" below": "Tapez \"{code}\" ci-dessous", "1. Get an invitation": "1. Procurez-vous une invitation", - "2. Wait for the group vote": "2. Attendez le vote du groupe", - "3. Use your unique access link": "3. Utilisez votre lien d’accès unique", "Create your own group": "Créer votre propre groupe", - "For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income?": "Pour le moment, le seul moyen de rejoindre un groupe est de recevoir une invitation. Peut-être connaissez-vous quelqu’un qui utilise déjà Group Income ?", "Go to step {num}": "Aller à l’étape {num}", "How to join a group": "Comment rejoindre un groupe", - "On Group Income, every major decision goes through a voting process. This includes adding new members.": "Sur Group Income, chaque décision majeure passe par un processus de vote. Ceci inclut l’addition de nouveaux membres.", - "Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group": "Lorsque le groupe aura approuvé votre entrée, un lien d’accès unique sera généré, vous donnant immédiatement accès au groupe", "If you leave, you will stop having access to the {strong_}group chat{_strong} and {strong_}contributions{_strong}. Re-joining the group is possible, but requires other members to {strong_}vote and reach an agreement{_strong}.": "Si vous quittez, vous n’aurez plus accès aux {strong_}conversations du groupe{_strong} ni aux {strong_}contributions{_strong}. Réintégrer le groupe plus tard est possible, mais requiert un {strong_}vote favorable{_strong} des autres membres.", "LEAVE {GROUP_NAME}": "QUITTER {GROUP_NAME}", "Your username is different": "Votre nom d’utilisateur est différent", @@ -707,14 +740,17 @@ "Show notifications": "Voir les notifications", "NEW": "NOUVEAU", "Nothing to see here... yet!": "Rien à voir ici... pour le moment !", + "Sent": "Envoyés", + "Date & Time": "Date & Heure", + "Mincome at the time": "Revenu minimum pendant cette période", + "Sent to": "Envoyé à", + "Received": "Reçu", + "Sent by": "Envoyé par", "Amount received": "Montant reçu", "Payment not received": "Paiements non reçu", "There was a problem with {nr} of your payments.": "Un problème est survenu lors de {nr} de vos paiements.", - "{month} overview": "{month} en résumé", "Amount sent": "Montant envoyé", "Cancel payment": "Annuler le paiement", - "Date & Time": "Date & Heure", - "Mincome at the time": "Revenu minimum pendant cette période", "Sent by {name}": "Envoyé par {name}", "Sent to {name}": "Envoyé à {name}", "Payment details": "Détails de paiement", @@ -724,8 +760,6 @@ "Mark as sent": "Marquer comme envoyé", "Reset": "Réinitialiser", "Cancel this payment": "Annuler ce paiement", - "Cannot dismiss a payment that hasn't been sent yet.": "Il n’est pas possible de décliner un paiement qui n’a pas encore été envoyé.", - "Dismiss this payment": "Décliner ce paiement", "Partial": "Partiel", "{partial_amount} out of {partial_total}": "{partial_amount} sur {partial_total}", "Payments History": "Historique des Paiements", @@ -749,7 +783,6 @@ "Toggle comment box": "Ajouter un commentaire", "Due": "Date d’échéance", "Mark sent to all": "Marquer tout comme envoyé", - "Sent to": "Envoyé à", "Payment actions": "Actions de paiement", "Not received": "Non reçu", "{member} marked this payment as not received.": "{member} a marqué ce paiement comme non reçu.", @@ -901,10 +934,8 @@ "You were invited to join": "Vous avez été invité(e) à rejoindre", "{who} invited you to join their group!": "{who} vous a invité(e) à rejoindre son groupe !", "No results for \"{query}\".": "Aucun résultat pour « {query} ».", - "Received": "Reçu", "Search for a payment": "Rechercher un paiement", "Search payments...": "Recherche de paiements...", - "Sent by": "Envoyé par", "The distribution period begins on: {startDate}": "La période de distribution commence le : {startDate}", "There are no payments.": "Il n’y a aucun paiement.", "Todo": "À faire", diff --git a/strings/french.strings b/strings/french.strings index 25c21a09fe..7eda354bbb 100644 --- a/strings/french.strings +++ b/strings/french.strings @@ -6,6 +6,12 @@ /* MISSING TRANSLATION - controller/actions/chatroom.js */ "Failed to close a poll." = "Failed to close a poll."; +/* MISSING TRANSLATION - controller/actions/chatroom.js */ +"Failed to send stopped typing notification" = "Failed to send stopped typing notification"; + +/* MISSING TRANSLATION - controller/actions/chatroom.js */ +"Failed to send typing notification" = "Failed to send typing notification"; + /* MISSING TRANSLATION - controller/actions/chatroom.js */ "Failed to vote on a poll." = "Failed to vote on a poll."; @@ -27,6 +33,9 @@ /* MISSING TRANSLATION - controller/actions/group.js */ "Failed to mark proposals expired." = "Failed to mark proposals expired."; +/* MISSING TRANSLATION - controller/actions/group.js */ +"Failed to remove {memberID}: {reportError}" = "Failed to remove {memberID}: {reportError}"; + /* MISSING TRANSLATION - controller/actions/group.js */ "Failed to send a payment thank you note." = "Failed to send a payment thank you note."; @@ -48,23 +57,38 @@ /* MISSING TRANSLATION - controller/actions/group.js */ "You now make more than the mincome. Would you like to increase your pledge?" = "You now make more than the mincome. Would you like to increase your pledge?"; -/* MISSING TRANSLATION - controller/actions/group.js, views/components/modal/Prompt.vue */ +/* MISSING TRANSLATION - controller/actions/group.js, controller/actions/identity.js, views/components/modal/Prompt.vue */ "No" = "No"; -/* MISSING TRANSLATION - controller/actions/group.js, views/components/modal/Prompt.vue */ +/* MISSING TRANSLATION - controller/actions/group.js, controller/actions/identity.js, views/components/modal/Prompt.vue */ "Yes" = "Yes"; /* MISSING TRANSLATION - controller/actions/group.js, views/containers/chatroom/file-attachment/ChatFileAttachmentWarningModal.vue, views/containers/group-settings/InvitationLinkModal.vue */ "OK" = "OK"; /* MISSING TRANSLATION - controller/actions/identity.js */ -"Error during login contract sync: {err}" = "Error during login contract sync: {err}"; +"Do you want to log out? Error details: {err}." = "Do you want to log out? Error details: {err}."; + +/* MISSING TRANSLATION - controller/actions/identity.js */ +"Error during login: {msg}" = "Error during login: {msg}"; /* MISSING TRANSLATION - controller/actions/identity.js */ "Failed to create a new direct message channel." = "Failed to create a new direct message channel."; /* MISSING TRANSLATION - controller/actions/identity.js */ -"Failed to set login state." = "Failed to set login state."; +"Failed to join a group." = "Failed to join a group."; + +/* MISSING TRANSLATION - controller/actions/identity.js */ +"Failed to leave a group." = "Failed to leave a group."; + +/* MISSING TRANSLATION - controller/actions/identity.js */ +"Join group error during login: {msg}" = "Join group error during login: {msg}"; + +/* MISSING TRANSLATION - controller/actions/identity.js */ +"Login error" = "Login error"; + +/* MISSING TRANSLATION - controller/actions/identity.js */ +"Sync error during login: {msg}" = "Sync error during login: {msg}"; /* MISSING TRANSLATION - controller/router.js */ "Design System" = "Design System"; @@ -84,11 +108,20 @@ /* MISSING TRANSLATION - main.js */ "Loading events from server..." = "Loading events from server..."; +/* MISSING TRANSLATION - model/contracts/chatroom.js */ +"Original message was removed by {user}" = "Original message was removed by {user}"; + /* MISSING TRANSLATION - model/contracts/group.js */ "Can't change distribution date because distribution period has already started." = "Can't change distribution date because distribution period has already started."; +/* MISSING TRANSLATION - model/contracts/group.js */ +"Cannot remove the last member." = "Cannot remove the last member."; + +/* MISSING TRANSLATION - model/contracts/group.js */ +"Couldn't join the #{chatroomName} in the group. An error occurred: #{error}." = "Couldn't join the #{chatroomName} in the group. An error occurred: #{error}."; + /* MISSING TRANSLATION - model/contracts/identity.js */ -"Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'" = "Failed to join groups we're part of on another device. Not catastrophic, but could lead to problems. {errName}: '{errMsg}'"; +"Unable to confirm that the username {username} belongs to this identity contract" = "Unable to confirm that the username {username} belongs to this identity contract"; /* MISSING TRANSLATION - model/contracts/shared/time.js */ "1d" = "1d"; @@ -133,20 +166,35 @@ "{errName} during {activity} for '{action}' from {b_}{who}{_b} to '{contract}': '{errMsg}'" = "{errName} during {activity} for '{action}' from {b_}{who}{_b} to '{contract}': '{errMsg}'"; /* MISSING TRANSLATION - model/notifications/templates.js */ -"{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}" = "{fromUser} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}"; +"{name} created a proposal. Vote now!" = "{name} created a proposal. Vote now!"; + +/* MISSING TRANSLATION - model/notifications/templates.js */ +"{name} proposed to add a member to the group. Vote now!" = "{name} proposed to add a member to the group. Vote now!"; + +/* MISSING TRANSLATION - model/notifications/templates.js */ +"{name} proposed to change the group distribution date. Vote now!" = "{name} proposed to change the group distribution date. Vote now!"; /* MISSING TRANSLATION - model/notifications/templates.js */ -"{member} created a proposal. Vote now!" = "{member} created a proposal. Vote now!"; +"{name} proposed to change the group mincome. Vote now!" = "{name} proposed to change the group mincome. Vote now!"; /* MISSING TRANSLATION - model/notifications/templates.js */ -"{member}'s proposal has failed." = "{member}'s proposal has failed."; +"{name} proposed to change the group voting system. Vote now!" = "{name} proposed to change the group voting system. Vote now!"; /* MISSING TRANSLATION - model/notifications/templates.js */ -"{member}'s proposal has passed." = "{member}'s proposal has passed."; +"{name} proposed to remove a member from the group. Vote now!" = "{name} proposed to remove a member from the group. Vote now!"; + +/* MISSING TRANSLATION - model/notifications/templates.js */ +"{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}" = "{name} sent you a {amount} mincome contribution. {strong_}Review and send a thank you note.{_strong}"; /* MISSING TRANSLATION - model/notifications/templates.js */ "{name} sent you a {strong_}thank you note{_strong} for your contribution." = "{name} sent you a {strong_}thank you note{_strong} for your contribution."; +/* MISSING TRANSLATION - model/notifications/templates.js */ +"{name}'s proposal has failed." = "{name}'s proposal has failed."; + +/* MISSING TRANSLATION - model/notifications/templates.js */ +"{name}'s proposal has passed." = "{name}'s proposal has passed."; + /* MISSING TRANSLATION - model/state.js */ "Pending" = "Pending"; @@ -234,6 +282,9 @@ /* MISSING TRANSLATION - views/containers/chatroom/ChatMembersAllModal.vue */ "Removed." = "Removed."; +/* MISSING TRANSLATION - views/containers/chatroom/ChatMembersAllModal.vue, views/containers/dashboard/GroupMembersAllModal.vue */ +"Add {span_}to channel{_span}" = "Add {span_}to channel{_span}"; + /* MISSING TRANSLATION - views/containers/chatroom/ChatNotificationSettingsModal.vue, views/containers/notifications/NotificationCard.vue, views/containers/notifications/NotificationModal.vue, views/containers/user-settings/settings.js */ "Notifications" = "Notifications"; @@ -291,9 +342,45 @@ /* MISSING TRANSLATION - views/containers/chatroom/MessagePoll.vue */ "Created a new poll:" = "Created a new poll:"; +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Add code" = "Add code"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Add link" = "Add link"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Add strikethrough" = "Add strikethrough"; + /* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ "Attach file" = "Attach file"; +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Bold style text" = "Bold style text"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Bold" = "Bold"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Code" = "Code"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Italic style text" = "Italic style text"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Italic" = "Italic"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Link" = "Link"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"Strikethrough" = "Strikethrough"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"{strong_}{users}{_strong} are typing" = "{strong_}{users}{_strong} are typing"; + +/* MISSING TRANSLATION - views/containers/chatroom/SendArea.vue */ +"{strong_}{user}{_strong} is typing" = "{strong_}{user}{_strong} is typing"; + /* MISSING TRANSLATION - views/containers/chatroom/file-attachment/ChatAttachmentPreview.vue */ "Remove attachment" = "Remove attachment"; @@ -345,6 +432,18 @@ /* MISSING TRANSLATION - views/containers/contributions/IncomeDetails.vue */ "Payment details required. Please let people know how they can pay you." = "Payment details required. Please let people know how they can pay you."; +/* MISSING TRANSLATION - views/containers/contributions/PaymentMethods.vue */ +"Bitcoin" = "Bitcoin"; + +/* MISSING TRANSLATION - views/containers/contributions/PaymentMethods.vue */ +"Paypal" = "Paypal"; + +/* MISSING TRANSLATION - views/containers/contributions/PaymentMethods.vue */ +"Venmo" = "Venmo"; + +/* MISSING TRANSLATION - views/containers/contributions/PaymentMethods.vue, views/containers/payments/PaymentRowSendLightning.vue, views/pages/Payments.vue */ +"Lightning" = "Lightning"; + /* MISSING TRANSLATION - views/containers/contributions/SupportHistory.vue */ "Distributed: {done}" = "Distributed: {done}"; @@ -450,6 +549,15 @@ /* MISSING TRANSLATION - views/containers/dashboard/GroupMembersActivity.vue */ "{user} missed {streak} votes" = "{user} missed {streak} votes"; +/* MISSING TRANSLATION - views/containers/group-settings/GroupJoinModal.vue */ +"2. Wait for an existing member to use the app" = "2. Wait for an existing member to use the app"; + +/* MISSING TRANSLATION - views/containers/group-settings/GroupJoinModal.vue */ +"Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app." = "Because Group Income is end-to-end encrypted, an existing member must send you the secret keys to access the group. They will automatically do this when they load the app."; + +/* MISSING TRANSLATION - views/containers/group-settings/GroupJoinModal.vue */ +"Click on the individual link you received from an existing group. Don't have an invite?" = "Click on the individual link you received from an existing group. Don't have an invite?"; + /* MISSING TRANSLATION - views/containers/group-settings/GroupRulesSettings.vue */ "{b_}{count}{_b}" = "{b_}{count}{_b}"; @@ -480,6 +588,39 @@ /* MISSING TRANSLATION - views/containers/notifications/NotificationList.vue */ "OLDER" = "OLDER"; +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Export all periods" = "Export all periods"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Export payments" = "Export payments"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Export received payments" = "Export received payments"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Export sent payments" = "Export sent payments"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Export your received payment history to .csv" = "Export your received payment history to .csv"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Export your sent payment history to .csv" = "Export your sent payment history to .csv"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Payment period" = "Payment period"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Period" = "Period"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue */ +"Select payment period" = "Select payment period"; + +/* MISSING TRANSLATION - views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/PaymentRowReceived.vue, views/containers/payments/PaymentRowSent.vue, views/containers/payments/PaymentRowTodo.vue, views/pages/Payments.vue */ +"Manual" = "Manual"; + +/* MISSING TRANSLATION - views/containers/payments/MonthOverview.vue */ +"Period: {start} - {end}" = "Period: {start} - {end}"; + /* MISSING TRANSLATION - views/containers/payments/PaymentDetail.vue */ "Notes" = "Notes"; @@ -495,15 +636,9 @@ /* MISSING TRANSLATION - views/containers/payments/PaymentRowReceived.vue */ "Send thank you" = "Send thank you"; -/* MISSING TRANSLATION - views/containers/payments/PaymentRowReceived.vue, views/containers/payments/PaymentRowSent.vue, views/containers/payments/PaymentRowTodo.vue, views/pages/Payments.vue */ -"Manual" = "Manual"; - /* MISSING TRANSLATION - views/containers/payments/PaymentRowSendLightning.vue */ "Mark as an item to pay" = "Mark as an item to pay"; -/* MISSING TRANSLATION - views/containers/payments/PaymentRowSendLightning.vue, views/pages/Payments.vue */ -"Lightning" = "Lightning"; - /* MISSING TRANSLATION - views/containers/payments/PaymentRowTodo.vue, views/containers/payments/PaymentsList.vue */ "Select payment item" = "Select payment item"; @@ -549,6 +684,9 @@ /* MISSING TRANSLATION - views/containers/payments/SendThankYouModal.vue */ "Your Thank You was sent!" = "Your Thank You was sent!"; +/* MISSING TRANSLATION - views/containers/payments/SendThankYouModal.vue */ +"something went wrong! couldn't process your request to send a thank you note." = "something went wrong! couldn't process your request to send a thank you note."; + /* MISSING TRANSLATION - views/containers/payments/ThankYouNoteModal.vue */ "Thank you note!" = "Thank you note!"; @@ -675,6 +813,9 @@ /* MISSING TRANSLATION - views/containers/proposals/PropositionsAllModal.vue */ "{groupProposalsCount} proposals" = "{groupProposalsCount} proposals"; +/* MISSING TRANSLATION - views/containers/proposals/RemoveMember.vue */ +"Use admin permissions to remove immediately" = "Use admin permissions to remove immediately"; + /* MISSING TRANSLATION - views/containers/user-settings/Acknowledgements.vue */ "Illustrations" = "Illustrations"; @@ -735,6 +876,9 @@ /* MISSING TRANSLATION - views/pages/Payments.vue */ "Due on" = "Due on"; +/* MISSING TRANSLATION - views/pages/Payments.vue */ +"Export CSV" = "Export CSV"; + /* MISSING TRANSLATION - views/pages/Payments.vue */ "Learn more about {r1}how we distribute income.{r2}" = "Learn more about {r1}how we distribute income.{r2}"; @@ -783,9 +927,6 @@ /* controller/actions/group.js */ "Automated ban because they're sending malformed messages resulting in: {error}" = "Bannissement automatique pour envoi de messages malformés causant l’erreur : {error}"; -/* controller/actions/group.js */ -"Couldn't join the #{chatroomName} in the group. Doesn't exist." = "Impossible de rejoindre le salon #{chatroomName} dans le groupe. Il est introuvable."; - /* controller/actions/group.js */ "Failed to cancel proposal." = "L’annulation de la proposition a échoué."; @@ -810,9 +951,6 @@ /* controller/actions/group.js */ "Failed to notify expiring proposals." = "Échec de la notification des propositions arrivant à expiration."; -/* controller/actions/group.js */ -"Failed to remove {member}: {reportError}" = "L’exclusion de {member} a échoué : {reportError}"; - /* controller/actions/group.js */ "Failed to revoke invite." = "La révocation de l’invitation a échoué."; @@ -840,7 +978,7 @@ /* controller/actions/group.js */ "Only channel members can invite others to join." = "Seuls les membres de la chaîne peuvent inviter d'autres personnes à la rejoindre."; -/* controller/actions/group.js, views/containers/access/PasswordModal.vue, views/containers/chatroom/ChatNotificationSettingsModal.vue, views/containers/chatroom/CreateNewChannelModal.vue, views/containers/chatroom/CreatePoll.vue, views/containers/chatroom/DeleteChannelModal.vue, views/containers/chatroom/EditChannelDescriptionModal.vue, views/containers/chatroom/EditChannelNameModal.vue, views/containers/chatroom/LeaveChannelModal.vue, views/containers/chatroom/SendArea.vue, views/containers/chatroom/poll-message-content/PollToVote.vue, views/containers/contributions/Contribution.vue, views/containers/contributions/IncomeDetails.vue, views/containers/group-settings/GroupCreationModal.vue, views/containers/group-settings/GroupDeletionModal.vue, views/containers/group-settings/GroupLeaveModal.vue, views/containers/payments/RecordPayment.vue, views/containers/proposals/ProposalTemplate.vue */ +/* controller/actions/group.js, views/containers/access/PasswordModal.vue, views/containers/chatroom/ChatNotificationSettingsModal.vue, views/containers/chatroom/CreateNewChannelModal.vue, views/containers/chatroom/CreatePoll.vue, views/containers/chatroom/DeleteChannelModal.vue, views/containers/chatroom/EditChannelDescriptionModal.vue, views/containers/chatroom/EditChannelNameModal.vue, views/containers/chatroom/LeaveChannelModal.vue, views/containers/chatroom/SendArea.vue, views/containers/chatroom/poll-message-content/PollToVote.vue, views/containers/contributions/Contribution.vue, views/containers/contributions/IncomeDetails.vue, views/containers/group-settings/GroupCreationModal.vue, views/containers/group-settings/GroupDeletionModal.vue, views/containers/group-settings/GroupLeaveModal.vue, views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/RecordPayment.vue, views/containers/proposals/ProposalTemplate.vue */ "Cancel" = "Annuler"; /* controller/actions/group.js, views/containers/chatroom/CreateNewChannelModal.vue, views/containers/chatroom/EditChannelNameModal.vue */ @@ -903,9 +1041,6 @@ /* main.js */ "Your device appears to be offline." = "Votre appareil semble être hors ligne."; -/* model/contracts/chatroom.js */ -"Original message was removed by {username}" = "Le message d'origine a été supprimé par {username}"; - /* model/contracts/chatroom.js, model/contracts/group.js */ "Only the channel creator can delete channel." = "Seul le créateur peut supprimer sa conversation."; @@ -913,10 +1048,7 @@ "Admin credentials needed and not implemented yet." = "Un compte administrateur est requis mais n’est pas encore implementé."; /* model/contracts/group.js */ -"Cannot remove yourself." = "Vous ne pouvez pas vous exclure vous-même."; - -/* model/contracts/group.js */ -"Invalid associated proposal." = "La proposition associée est invalide."; +"Couldn't join the #{chatroomName} in the group. Doesn't exist." = "Impossible de rejoindre le salon #{chatroomName} dans le groupe. Il est introuvable."; /* model/contracts/group.js */ "Not part of the group." = "Ne fait pas partie du groupe."; @@ -960,21 +1092,6 @@ /* model/notifications/templates.js */ "You haven't updated your income details in more than {months} months. Would you like to review them now?" = "Vos détails de revenu n’ont pas été mis à jour depuis plus de {months} mois. Souhaitez-vous les vérifier maintenant ?"; -/* model/notifications/templates.js */ -"{member} proposed to add a member to the group. Vote now!" = "{member} a proposé d’ajouter un membre au groupe. Votez !"; - -/* model/notifications/templates.js */ -"{member} proposed to change the group distribution date. Vote now!" = "{member} a proposé de changer la date de distribution du groupe. Votez !"; - -/* model/notifications/templates.js */ -"{member} proposed to change the group mincome. Vote now!" = "{member} a proposé de changer le revenu minimum du groupe. Votez !"; - -/* model/notifications/templates.js */ -"{member} proposed to change the group voting system. Vote now!" = "{member} a proposé de changer les règles de vote du groupe. Votez !"; - -/* model/notifications/templates.js */ -"{member} proposed to remove a member from the group. Vote now!" = "{member} a proposé d’exclure un membre du groupe. Votez !"; - /* model/notifications/templates.js */ "{name} has left your group. Contributions were updated accordingly." = "{name} a quitté votre groupe. Les contributions ont été mises à jour en conséquence."; @@ -1113,7 +1230,7 @@ /* views/components/group-creation-steps/GroupMincome.vue */ "What is the minimum monthly income this group is trying to ensure for its members?" = "Quel est le revenu mensuel minimum que ce groupe tente de garantir à ses membres ?"; -/* views/components/group-creation-steps/GroupMincome.vue, views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ +/* views/components/group-creation-steps/GroupMincome.vue, views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ "Amount" = "Montant"; /* views/components/group-creation-steps/GroupName.vue */ @@ -1233,9 +1350,6 @@ /* views/containers/chatroom/ChatMain.vue, views/containers/chatroom/ChatMembers.vue, views/containers/chatroom/ConversationsList.vue, views/containers/dashboard/GroupMembers.vue */ "New" = "Nouveau"; -/* views/containers/chatroom/ChatMembers.vue, views/containers/chatroom/ChatMembersAllModal.vue, views/containers/chatroom/NewDirectMessageModal.vue, views/containers/dashboard/GroupMembers.vue, views/containers/dashboard/GroupMembersAllModal.vue */ -"{name} (you)" = "{name} (vous)"; - /* views/containers/chatroom/ChatMembers.vue, views/containers/chatroom/ChatMembersAllModal.vue, views/containers/dashboard/GroupMembers.vue, views/containers/dashboard/GroupMembersAllModal.vue, views/pages/GroupChat.vue */ "Members" = "Membres"; @@ -1251,6 +1365,9 @@ /* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/chatroom/CreateNewChannelModal.vue */ "Public channel" = "Salon public"; +/* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/chatroom/NewDirectMessageModal.vue, views/containers/dashboard/GroupMembers.vue, views/containers/dashboard/GroupMembersAllModal.vue */ +"{name} (you)" = "{name} (vous)"; + /* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/chatroom/NewDirectMessageModal.vue, views/containers/dashboard/GroupMembersAllModal.vue */ "Others ({nbMembers})" = "Autres ({nbMembers})"; @@ -1266,9 +1383,6 @@ /* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/chatroom/NewDirectMessageModal.vue, views/containers/dashboard/GroupMembersAllModal.vue */ "Sorry, we couldn't find anyone called \"{searchTerm}\"" = "Désolé, nous n’avons trouvé personne dont le nom soit \"{searchTerm}\""; -/* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/dashboard/GroupMembersAllModal.vue */ -"Add {span_} to channel{_span}" = "Ajouter {span_} au salon{_span}"; - /* views/containers/chatroom/ChatMembersAllModal.vue, views/containers/dashboard/GroupMembersAllModal.vue */ "Channel members ({nbMembers})" = "Membres du salon ({nbMembers})"; @@ -1416,15 +1530,15 @@ /* views/containers/chatroom/MessageActions.vue */ "Reply" = "Répondre"; -/* views/containers/chatroom/MessageActions.vue */ -"Retry" = "Réessayer"; - /* views/containers/chatroom/MessageActions.vue, views/containers/chatroom/MessageReactions.vue, views/containers/chatroom/SendArea.vue */ "Add reaction" = "Ajouter une réaction"; /* views/containers/chatroom/MessageActions.vue, views/containers/contributions/Contribution.vue, views/containers/dashboard/GroupPurpose.vue */ "Edit" = "Éditer"; +/* views/containers/chatroom/MessageActions.vue, views/containers/loading-error/ErrorPage.vue */ +"Retry" = "Réessayer"; + /* views/containers/chatroom/MessageBase.vue */ "(edited)" = "(édité)"; @@ -1782,7 +1896,7 @@ /* views/containers/contributions/PaymentMethods.vue */ "Remove method" = "Retirer la méthode"; -/* views/containers/contributions/PaymentMethods.vue, views/pages/Payments.vue */ +/* views/containers/contributions/PaymentMethods.vue, views/containers/payments/ExportPaymentsModal.vue, views/pages/Payments.vue */ "Payment method" = "Méthode de paiement"; /* views/containers/contributions/SupportHistory.vue */ @@ -1905,30 +2019,15 @@ /* views/containers/group-settings/GroupJoinModal.vue */ "1. Get an invitation" = "1. Procurez-vous une invitation"; -/* views/containers/group-settings/GroupJoinModal.vue */ -"2. Wait for the group vote" = "2. Attendez le vote du groupe"; - -/* views/containers/group-settings/GroupJoinModal.vue */ -"3. Use your unique access link" = "3. Utilisez votre lien d’accès unique"; - /* views/containers/group-settings/GroupJoinModal.vue */ "Create your own group" = "Créer votre propre groupe"; -/* views/containers/group-settings/GroupJoinModal.vue */ -"For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income?" = "Pour le moment, le seul moyen de rejoindre un groupe est de recevoir une invitation. Peut-être connaissez-vous quelqu’un qui utilise déjà Group Income ?"; - /* views/containers/group-settings/GroupJoinModal.vue */ "Go to step {num}" = "Aller à l’étape {num}"; /* views/containers/group-settings/GroupJoinModal.vue */ "How to join a group" = "Comment rejoindre un groupe"; -/* views/containers/group-settings/GroupJoinModal.vue */ -"On Group Income, every major decision goes through a voting process. This includes adding new members." = "Sur Group Income, chaque décision majeure passe par un processus de vote. Ceci inclut l’addition de nouveaux membres."; - -/* views/containers/group-settings/GroupJoinModal.vue */ -"Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group" = "Lorsque le groupe aura approuvé votre entrée, un lien d’accès unique sera généré, vous donnant immédiatement accès au groupe"; - /* views/containers/group-settings/GroupLeaveModal.vue */ "If you leave, you will stop having access to the {strong_}group chat{_strong} and {strong_}contributions{_strong}. Re-joining the group is possible, but requires other members to {strong_}vote and reach an agreement{_strong}." = "Si vous quittez, vous n’aurez plus accès aux {strong_}conversations du groupe{_strong} ni aux {strong_}contributions{_strong}. Réintégrer le groupe plus tard est possible, mais requiert un {strong_}vote favorable{_strong} des autres membres."; @@ -2124,6 +2223,24 @@ /* views/containers/notifications/NotificationList.vue */ "Nothing to see here... yet!" = "Rien à voir ici... pour le moment !"; +/* views/containers/payments/ExportPaymentsModal.vue */ +"Sent" = "Envoyés"; + +/* views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/PaymentDetail.vue */ +"Date & Time" = "Date & Heure"; + +/* views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/PaymentDetail.vue */ +"Mincome at the time" = "Revenu minimum pendant cette période"; + +/* views/containers/payments/ExportPaymentsModal.vue, views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ +"Sent to" = "Envoyé à"; + +/* views/containers/payments/ExportPaymentsModal.vue, views/pages/Payments.vue */ +"Received" = "Reçu"; + +/* views/containers/payments/ExportPaymentsModal.vue, views/pages/Payments.vue */ +"Sent by" = "Envoyé par"; + /* views/containers/payments/MonthOverview.vue */ "Amount received" = "Montant reçu"; @@ -2133,21 +2250,12 @@ /* views/containers/payments/MonthOverview.vue */ "There was a problem with {nr} of your payments." = "Un problème est survenu lors de {nr} de vos paiements."; -/* views/containers/payments/MonthOverview.vue */ -"{month} overview" = "{month} en résumé"; - /* views/containers/payments/MonthOverview.vue, views/containers/payments/RecordPaymentsList.vue */ "Amount sent" = "Montant envoyé"; /* views/containers/payments/PaymentDetail.vue */ "Cancel payment" = "Annuler le paiement"; -/* views/containers/payments/PaymentDetail.vue */ -"Date & Time" = "Date & Heure"; - -/* views/containers/payments/PaymentDetail.vue */ -"Mincome at the time" = "Revenu minimum pendant cette période"; - /* views/containers/payments/PaymentDetail.vue */ "Sent by {name}" = "Envoyé par {name}"; @@ -2175,12 +2283,6 @@ /* views/containers/payments/PaymentRowSent.vue */ "Cancel this payment" = "Annuler ce paiement"; -/* views/containers/payments/PaymentRowTodo.vue */ -"Cannot dismiss a payment that hasn't been sent yet." = "Il n’est pas possible de décliner un paiement qui n’a pas encore été envoyé."; - -/* views/containers/payments/PaymentRowTodo.vue */ -"Dismiss this payment" = "Décliner ce paiement"; - /* views/containers/payments/PaymentRowTodo.vue */ "Partial" = "Partiel"; @@ -2250,9 +2352,6 @@ /* views/containers/payments/RecordPaymentsList.vue */ "Mark sent to all" = "Marquer tout comme envoyé"; -/* views/containers/payments/RecordPaymentsList.vue, views/pages/Payments.vue */ -"Sent to" = "Envoyé à"; - /* views/containers/payments/payment-row/PaymentActionsMenu.vue */ "Payment actions" = "Actions de paiement"; @@ -2706,18 +2805,12 @@ /* views/pages/Payments.vue */ "No results for \"{query}\"." = "Aucun résultat pour « {query} »."; -/* views/pages/Payments.vue */ -"Received" = "Reçu"; - /* views/pages/Payments.vue */ "Search for a payment" = "Rechercher un paiement"; /* views/pages/Payments.vue */ "Search payments..." = "Recherche de paiements..."; -/* views/pages/Payments.vue */ -"Sent by" = "Envoyé par"; - /* views/pages/Payments.vue */ "The distribution period begins on: {startDate}" = "La période de distribution commence le : {startDate}"; @@ -2748,6 +2841,12 @@ /* Not currently used */ "(optional)" = "(facultatif)"; +/* Not currently used */ +"2. Wait for the group vote" = "2. Attendez le vote du groupe"; + +/* Not currently used */ +"3. Use your unique access link" = "3. Utilisez votre lien d’accès unique"; + /* Not currently used */ "A username cannot contain spaces." = "Les espaces ne sont pas autorisées."; @@ -2757,6 +2856,9 @@ /* Not currently used */ "According to your voting rules, {strong_}{value} out of {total} members{_strong} will have to agree with this." = "Selon vos règles de vote, {strong_}{value} membres sur {total}{_strong} devront approuver ceci."; +/* Not currently used */ +"Add {span_} to channel{_span}" = "Ajouter {span_} au salon{_span}"; + /* Not currently used */ "All group members will be added to this channel." = "Tous les membres du groupe seront invités."; @@ -2775,6 +2877,12 @@ /* Not currently used */ "Cannot connect to the server." = "Échec de la reconnexion au serveur."; +/* Not currently used */ +"Cannot dismiss a payment that hasn't been sent yet." = "Il n’est pas possible de décliner un paiement qui n’a pas encore été envoyé."; + +/* Not currently used */ +"Cannot remove yourself." = "Vous ne pouvez pas vous exclure vous-même."; + /* Not currently used */ "Change Rule to Add Member" = "Changer la règle d’ajout d’un membre"; @@ -2802,6 +2910,9 @@ /* Not currently used */ "Direct messages" = "Conversations privées"; +/* Not currently used */ +"Dismiss this payment" = "Décliner ce paiement"; + /* Not currently used */ "Distribution is already started." = "La distribution est déjà commencée."; @@ -2853,6 +2964,9 @@ /* Not currently used */ "Failed to remove {member}: {codeError}" = "Erreur lors de l’exclusion de {member}: {codeError}"; +/* Not currently used */ +"Failed to remove {member}: {reportError}" = "L’exclusion de {member} a échoué : {reportError}"; + /* Not currently used */ "Failed to set mailbox attributes." = "Impossible de définir les attributs de la boîte aux lettres."; @@ -2868,6 +2982,9 @@ /* Not currently used */ "Failed to update profile. {reportError}" = "La mise à jour du profil a échoué. {reportError}"; +/* Not currently used */ +"For now, the only way to join a group is to get an invitation. Don’t know anyone using Group Income?" = "Pour le moment, le seul moyen de rejoindre un groupe est de recevoir une invitation. Peut-être connaissez-vous quelqu’un qui utilise déjà Group Income ?"; + /* Not currently used */ "For now, the only way to join a group is to get an invitation. Don’t know anyone using GroupIncome?" = "Pour le moment, le seul moyen de rejoindre un groupe est de recevoir une invitation. Connaissez-vous quelqu’un qui utilise GroupIncome ?"; @@ -2889,6 +3006,9 @@ /* Not currently used */ "Invalid Username" = "Nom d’utilisateur invalide"; +/* Not currently used */ +"Invalid associated proposal." = "La proposition associée est invalide."; + /* Not currently used */ "It only contain opening and closing mechanism (shared with the modal in modal mixin)." = "Il implémente seulement l’ouverture et la fermeture (partagées avec le dialogue modal défini dans le mixin de dialogue modal)."; @@ -2949,6 +3069,12 @@ /* Not currently used */ "Oh no! {br_}Your link has expired." = "Oh non ! {br_}Votre lien a expiré."; +/* Not currently used */ +"On Group Income, every major decision goes through a voting process. This includes adding new members." = "Sur Group Income, chaque décision majeure passe par un processus de vote. Ceci inclut l’addition de nouveaux membres."; + +/* Not currently used */ +"Once the group agrees that you should join them, a unique access link will be generated, giving you instant access to the group" = "Lorsque le groupe aura approuvé votre entrée, un lien d’accès unique sera généré, vous donnant immédiatement accès au groupe"; + /* Not currently used */ "Only creator can delete group message channel." = "Seul le créateur peut supprimer le canal de message de groupe."; @@ -2964,6 +3090,9 @@ /* Not currently used */ "Only the mailbox creator can set attributes." = "Seul le créateur de la boîte aux lettres peut définir des attributs."; +/* Not currently used */ +"Original message was removed by {username}" = "Le message d'origine a été supprimé par {username}"; + /* Not currently used */ "Payments Received" = "Paiements Reçus"; @@ -3024,9 +3153,6 @@ /* Not currently used */ "Send" = "Envoyer"; -/* Not currently used */ -"Sent" = "Envoyés"; - /* Not currently used */ "Show payment menu" = "Afficher le menu de paiement"; @@ -3144,6 +3270,24 @@ /* Not currently used */ "{from} wants to change the groups voting system." = "{from} souhaite changer le système de vote du groupe."; +/* Not currently used */ +"{member} proposed to add a member to the group. Vote now!" = "{member} a proposé d’ajouter un membre au groupe. Votez !"; + +/* Not currently used */ +"{member} proposed to change the group distribution date. Vote now!" = "{member} a proposé de changer la date de distribution du groupe. Votez !"; + +/* Not currently used */ +"{member} proposed to change the group mincome. Vote now!" = "{member} a proposé de changer le revenu minimum du groupe. Votez !"; + +/* Not currently used */ +"{member} proposed to change the group voting system. Vote now!" = "{member} a proposé de changer les règles de vote du groupe. Votez !"; + +/* Not currently used */ +"{member} proposed to remove a member from the group. Vote now!" = "{member} a proposé d’exclure un membre du groupe. Votez !"; + +/* Not currently used */ +"{month} overview" = "{month} en résumé"; + /* Not currently used */ "{personName} marked this payment as not received." = "{personName} a marqué ce paiement comme étant non reçu.";