jiti-meet/lang/main.json

1326 lines
69 KiB
JSON
Raw Normal View History

{
2019-01-11 23:33:01 +00:00
"addPeople": {
"add": "Invite",
"addContacts": "Invite your contacts",
"contacts": "contacts",
"copyInvite": "Copy meeting invitation",
"copyLink": "Copy meeting link",
"copyStream": "Copy live streaming link",
2019-01-11 23:33:01 +00:00
"countryNotSupported": "We do not support this destination yet.",
"countryReminder": "Calling outside the US? Please make sure you start with the country code!",
"defaultEmail": "Your Default Email",
2019-01-11 23:33:01 +00:00
"disabled": "You can't invite people.",
"failedToAdd": "Failed to add participants",
2019-01-11 23:33:01 +00:00
"footerText": "Dialing out is disabled.",
"googleEmail": "Google Email",
"inviteMoreHeader": "You are the only one in the meeting",
"inviteMoreMailSubject": "Join {{appName}} meeting",
"inviteMorePrompt": "Invite more people",
"linkCopied": "Link copied to clipboard",
2019-01-11 23:33:01 +00:00
"noResults": "No matching search results",
"outlookEmail": "Outlook Email",
"phoneNumbers": "phone numbers",
"searching": "Searching...",
"shareInvite": "Share meeting invitation",
"shareLink": "Share the meeting link to invite others",
"shareStream": "Share the live streaming link",
"sipAddresses": "sip addresses",
"telephone": "Telephone: {{number}}",
"title": "Invite people to this meeting",
"yahooEmail": "Yahoo Email"
2019-01-11 23:33:01 +00:00
},
2017-11-20 11:13:42 +00:00
"audioDevices": {
"bluetooth": "Bluetooth",
"car": "Car Audio",
2017-11-20 11:13:42 +00:00
"headphones": "Headphones",
"none": "No audio devices available",
2017-11-20 11:13:42 +00:00
"phone": "Phone",
"speaker": "Speaker"
2017-11-20 11:13:42 +00:00
},
"audioOnly": {
"audioOnly": "Low bandwidth"
},
"breakoutRooms": {
"actions": {
"add": "Add breakout room",
"autoAssign": "Auto assign to breakout rooms",
"close": "Close",
"join": "Join",
"leaveBreakoutRoom": "Leave breakout room",
"more": "More",
"remove": "Remove",
"sendToBreakoutRoom": "Send participant to:"
},
"defaultName": "Breakout room #{{index}}",
"mainRoom": "Main room",
"notifications": {
"joined": "Joining the \"{{name}}\" breakout room",
"joinedMainRoom": "Joining the main room",
"joinedTitle": "Breakout Rooms"
}
},
2019-01-11 23:33:01 +00:00
"calendarSync": {
"addMeetingURL": "Add a meeting link",
"confirmAddLink": "Do you want to add a Jitsi link to this event?",
"error": {
"appConfiguration": "Calendar integration is not properly configured.",
"generic": "An error has occurred. Please check your calendar settings or try refreshing the calendar.",
"notSignedIn": "An error occurred while authenticating to see calendar events. Please check your calendar settings and try logging in again."
fix(i18n) Accessiblity labels translations (#3071) * fix(toolbar): accessibilityLabel should be translatable. This commit adds a helper property to get the accessibilityLabel of an item, providing a translation if one is available. This mimics the behavior of label and tooltip. * fix(toolbar) 'hangup' button accessibilityLabel i18n * fix(toolbar) 'mute' button accessibilityLabel i18n * fix(toolbar) 'videomute' button accessibilityLabel i18n * fix(toolbar) 'moreActions' button accessibilityLabel i18n * fix(toolbar) 'shareRoom' button accessibilityLabel i18n * fix(toolbar) 'audioRoute' button accessibilityLabel i18n * fix(toolbar) 'toggleCamera' button accessibilityLabel i18n * fix(toolbar) 'audioOnly' button accessibilityLabel i18n * fix(toolbar) 'roomLock' button accessibilityLabel i18n * fix(toolbar) 'pip' button accessibilityLabel i18n * fix(toolbar) 'invite' button accessibilityLabel i18n * fix(toolbar) 'raiseHand' button accessibilityLabel i18n * fix(toolbar) 'chat' button accessibilityLabel i18n * fix(toolbar) 'shareYourScreen' button accessibilityLabel i18n * fix(toolbar) 'fullScreen' button accessibilityLabel i18n * fix(toolbar) 'sharedvideo' button accessibilityLabel i18n * fix(toolbar) 'document' button accessibilityLabel i18n * fix(toolbar) 'speakerStats' button accessibilityLabel i18n * fix(toolbar) 'feedback' button accessibilityLabel i18n * fix(toolbar) 'shortcuts' button accessibilityLabel i18n * fix(toolbar) 'recording' button accessibilityLabel i18n * fix(toolbar) 'settings' button accessibilityLabel i18n * fix(welcomepage) accessibilityLabels i18n * fix(toolbar) 'info' button accessibilityLabel i18n * fix(i18n): Add translation to various aria-label property values. * fix(i18n): Differentiate between overflow menu and button.
2018-06-07 20:32:18 +00:00
},
2019-01-11 23:33:01 +00:00
"join": "Join",
"joinTooltip": "Join the meeting",
"nextMeeting": "next meeting",
"noEvents": "There are no upcoming events scheduled.",
"ongoingMeeting": "ongoing meeting",
"permissionButton": "Open settings",
"permissionMessage": "The Calendar permission is required to see your meetings in the app.",
"refresh": "Refresh calendar",
"today": "Today"
},
"carmode": {
"actions": {
"leaveMeeting": " Leave meeting",
"selectSoundDevice": "Select sound device"
},
"labels": {
"buttonLabel": "Car mode",
"title": "Safe driving mode",
"videoStopped": "Your video is stopped"
}
},
2019-01-11 23:33:01 +00:00
"chat": {
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
"enter": "Enter room",
2019-10-09 08:34:01 +00:00
"error": "Error: your message was not sent. Reason: {{error}}",
2019-11-21 14:26:57 +00:00
"fieldPlaceHolder": "Type your message here",
"lobbyChatMessageTo": "Lobby chat message to {{recipient}}",
"message": "Message",
"messageAccessibleTitle": "{{user}} says:",
"messageAccessibleTitleMe": "me says:",
2019-10-07 12:35:04 +00:00
"messageTo": "Private message to {{recipient}}",
"messagebox": "Type a message",
2019-01-11 23:33:01 +00:00
"nickname": {
"popover": "Choose a nickname",
"title": "Enter a nickname to use chat",
"titleWithPolls": "Enter a nickname to use chat and polls"
},
"noMessagesMessage": "There are no messages in the meeting yet. Start a conversation here!",
2019-10-07 12:35:04 +00:00
"privateNotice": "Private message to {{recipient}}",
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
"smileysPanel": "Emoji panel",
"tabs": {
"chat": "Chat",
"polls": "Polls"
},
"title": "Chat",
"titleWithPolls": "Chat and Polls",
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
"you": "you"
},
"chromeExtensionBanner": {
"buttonText": "Install Chrome Extension",
"close": "Close",
"dontShowAgain": "Dont show me this again",
"installExtensionText": "Install the extension for Google Calendar and Office 365 integration"
},
2019-04-09 15:53:12 +00:00
"connectingOverlay": {
"joiningRoom": "Connecting you to your meeting..."
},
2019-01-11 23:33:01 +00:00
"connection": {
"ATTACHED": "Attached",
"AUTHENTICATING": "Authenticating",
"AUTHFAIL": "Authentication failed",
"CONNECTED": "Connected",
"CONNECTING": "Connecting",
"CONNFAIL": "Connection failed",
"DISCONNECTED": "Disconnected",
"DISCONNECTING": "Disconnecting",
"ERROR": "Error",
"FETCH_SESSION_ID": "Obtaining session-id...",
"GET_SESSION_ID_ERROR": "Get session-id error: {{code}}",
2019-01-11 23:33:01 +00:00
"GOT_SESSION_ID": "Obtaining session-id... Done",
"LOW_BANDWIDTH": "Video for {{displayName}} has been turned off to save bandwidth"
},
2019-01-11 23:33:01 +00:00
"connectionindicator": {
"address": "Address:",
"audio_ssrc": "Audio SSRC:",
2019-01-11 23:33:01 +00:00
"bandwidth": "Estimated bandwidth:",
"bitrate": "Bitrate:",
"bridgeCount": "Server count: ",
"codecs": "Codecs (A/V): ",
2019-01-11 23:33:01 +00:00
"connectedTo": "Connected to:",
"e2e_rtt": "E2E RTT:",
2019-01-11 23:33:01 +00:00
"framerate": "Frame rate:",
"less": "Show less",
2015-03-04 09:27:44 +00:00
"localaddress": "Local address:",
"localaddress_plural": "Local addresses:",
2019-01-11 23:33:01 +00:00
"localport": "Local port:",
"localport_plural": "Local ports:",
"maxEnabledResolution": "send max",
2019-01-11 23:33:01 +00:00
"more": "Show more",
"packetloss": "Packet loss:",
"participant_id": "Participant id:",
feat(connection-indicator): implement automatic hiding on good connection (#2009) * ref(connection-stats): use PropTypes package * feat(connection-stats): display a summary of the connection quality * feat(connection-indicator): show empty bars for interrupted connection * feat(connection-indicator): change background color based on status * feat(connection-indicator): implement automatic hiding on good connection * fix(connection-indicator): explicitly set font size Currently non-react code will set an icon size on ConnectionIndicator. This doesn't work on initial call join in vertical filmstrip after some changes to support hiding the indicator. The chosen fix is passing in the icon size to mirror what would happe with full filmstrip reactification. * ref(connection-stats): rename statuses * feat(connection-indicator): make hiding behavior configurable The original implementation made the auto hiding of the indicator configured in interfaceConfig. * fix(connection-indicator): readd class expected by torture tests * fix(connection-indicator): change connection quality display styling Bold the connection summary in the stats popover so it stands out. Change the summaries so there are only three--strong, nonoptimal, poor. * fix(connection-indicator): gray background on lost connection * feat(icons): add new gsm bars icon * feat(connection-indicator): use new 3-bar icon * ref(icons): remove icon-connection and icon-connection-lost Both have been replaced by icon-gsm-bars so they are not being referenced anymore. Mobile looks to have connect-lost as a separate icon in font-icons/jitsi.json.
2017-09-26 16:55:09 +00:00
"quality": {
"good": "Good",
"inactive": "Inactive",
"lost": "Lost",
"nonoptimal": "Nonoptimal",
"poor": "Poor"
},
2019-01-11 23:33:01 +00:00
"remoteaddress": "Remote address:",
"remoteaddress_plural": "Remote addresses:",
"remoteport": "Remote port:",
"remoteport_plural": "Remote ports:",
"resolution": "Resolution:",
"savelogs": "Save logs",
2019-01-11 23:33:01 +00:00
"status": "Connection:",
"transport": "Transport:",
"transport_plural": "Transports:",
"video_ssrc": "Video SSRC:"
},
2019-01-11 23:33:01 +00:00
"dateUtils": {
"earlier": "Earlier",
"today": "Today",
"yesterday": "Yesterday"
},
"deepLinking": {
"appNotInstalled": "You need the {{app}} mobile app to join this meeting on your phone.",
"description": "Nothing happened? We tried launching your meeting in the {{app}} desktop app. Try again or launch it in the {{app}} web app.",
"descriptionWithoutWeb": "Nothing happened? We tried launching your meeting in the {{app}} desktop app.",
2019-01-11 23:33:01 +00:00
"downloadApp": "Download the app",
2020-05-14 21:45:00 +00:00
"ifDoNotHaveApp": "If you don't have the app yet:",
"ifHaveApp": "If you already have the app:",
"joinInApp": "Join this meeting using the app",
2019-01-11 23:33:01 +00:00
"launchWebButton": "Launch in web",
"title": "Launching your meeting in {{app}}...",
"tryAgainButton": "Try again in desktop",
"unsupportedBrowser": "It looks like you're using a browser we don't support."
2019-01-11 23:33:01 +00:00
},
"defaultLink": "e.g. {{url}}",
2019-07-25 16:15:32 +00:00
"defaultNickname": "ex. Jane Pink",
2019-01-11 23:33:01 +00:00
"deviceError": {
"cameraError": "Failed to access your camera",
"cameraPermission": "Error obtaining camera permission",
"microphoneError": "Failed to access your microphone",
"microphonePermission": "Error obtaining microphone permission"
},
"deviceSelection": {
"noPermission": "Permission not granted",
"previewUnavailable": "Preview unavailable",
"selectADevice": "Select a device",
"testAudio": "Play a test sound"
},
"dialOut": {
"statusMessage": "is now {{status}}"
},
"dialog": {
"Back": "Back",
"Cancel": "Cancel",
"IamHost": "I am the host",
"Ok": "OK",
"Remove": "Remove",
"Share": "Share",
"Submit": "Submit",
"WaitForHostMsg": "The conference has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHostTitle": "Waiting for the host ...",
"Yes": "Yes",
fix(i18n) Accessiblity labels translations (#3071) * fix(toolbar): accessibilityLabel should be translatable. This commit adds a helper property to get the accessibilityLabel of an item, providing a translation if one is available. This mimics the behavior of label and tooltip. * fix(toolbar) 'hangup' button accessibilityLabel i18n * fix(toolbar) 'mute' button accessibilityLabel i18n * fix(toolbar) 'videomute' button accessibilityLabel i18n * fix(toolbar) 'moreActions' button accessibilityLabel i18n * fix(toolbar) 'shareRoom' button accessibilityLabel i18n * fix(toolbar) 'audioRoute' button accessibilityLabel i18n * fix(toolbar) 'toggleCamera' button accessibilityLabel i18n * fix(toolbar) 'audioOnly' button accessibilityLabel i18n * fix(toolbar) 'roomLock' button accessibilityLabel i18n * fix(toolbar) 'pip' button accessibilityLabel i18n * fix(toolbar) 'invite' button accessibilityLabel i18n * fix(toolbar) 'raiseHand' button accessibilityLabel i18n * fix(toolbar) 'chat' button accessibilityLabel i18n * fix(toolbar) 'shareYourScreen' button accessibilityLabel i18n * fix(toolbar) 'fullScreen' button accessibilityLabel i18n * fix(toolbar) 'sharedvideo' button accessibilityLabel i18n * fix(toolbar) 'document' button accessibilityLabel i18n * fix(toolbar) 'speakerStats' button accessibilityLabel i18n * fix(toolbar) 'feedback' button accessibilityLabel i18n * fix(toolbar) 'shortcuts' button accessibilityLabel i18n * fix(toolbar) 'recording' button accessibilityLabel i18n * fix(toolbar) 'settings' button accessibilityLabel i18n * fix(welcomepage) accessibilityLabels i18n * fix(toolbar) 'info' button accessibilityLabel i18n * fix(i18n): Add translation to various aria-label property values. * fix(i18n): Differentiate between overflow menu and button.
2018-06-07 20:32:18 +00:00
"accessibilityLabel": {
"liveStreaming": "Live Stream"
},
"add": "Add",
"addMeetingNote": "Add a note about this meeting",
"addOptionalNote": "Add a note (optional):",
"allow": "Allow",
"alreadySharedVideoMsg": "Another participant is already sharing a video. This conference allows only one shared video at a time.",
2019-01-11 23:33:01 +00:00
"alreadySharedVideoTitle": "Only one shared video is allowed at a time",
"applicationWindow": "Application window",
"authenticationRequired": "Authentication required",
2019-01-11 23:33:01 +00:00
"cameraConstraintFailedError": "Your camera does not satisfy some of the required constraints.",
"cameraNotFoundError": "Camera was not found.",
"cameraNotSendingData": "We are unable to access your camera. Please check if another application is using this device, select another device from the settings menu or try to reload the application.",
"cameraNotSendingDataTitle": "Unable to access camera",
"cameraPermissionDeniedError": "You have not granted permission to use your camera. You can still join the conference but others won't see you. Use the camera button in the address bar to fix this.",
"cameraTimeoutError": "Could not start video source. Timeout occurred!",
2019-01-11 23:33:01 +00:00
"cameraUnknownError": "Cannot use camera for an unknown reason.",
"cameraUnsupportedResolutionError": "Your camera does not support required video resolution.",
"close": "Close",
"conferenceDisconnectMsg": "You may want to check your network connection. Reconnecting in {{seconds}} sec...",
2019-01-11 23:33:01 +00:00
"conferenceDisconnectTitle": "You have been disconnected.",
"conferenceReloadMsg": "We're trying to fix this. Reconnecting in {{seconds}} sec...",
2019-01-11 23:33:01 +00:00
"conferenceReloadTitle": "Unfortunately, something went wrong.",
feat(recording): frontend logic can support live streaming and recording (#2952) * feat(recording): frontend logic can support live streaming and recording Instead of either live streaming or recording, now both can live together. The changes to facilitate such include the following: - Killing the state storing in Recording.js. Instead state is stored in the lib and updated in redux for labels to display the necessary state updates. - Creating a new container, Labels, for recording labels. Previously labels were manually created and positioned. The container can create a reasonable number of labels and only the container itself needs to be positioned with CSS. The VideoQualityLabel has been shoved into the container as well because it moves along with the recording labels. - The action for updating recording state has been modified to enable updating an array of recording sessions to support having multiple sessions. - Confirmation dialogs for stopping and starting a file recording session have been created, as they previously were jquery modals opened by Recording.js. - Toolbox.web displays live streaming and recording buttons based on configuration instead of recording availability. - VideoQualityLabel and RecordingLabel have been simplified to remove any positioning logic, as the Labels container handles such. - Previous recording state update logic has been moved into the RecordingLabel component. Each RecordingLabel is in charge of displaying state for a recording session. The display UX has been left alone. - Sipgw availability is no longer broadcast so remove logic depending on its state. Some moving around of code was necessary to get around linting errors about the existing code being too deeply nested (even though I didn't touch it). * work around lib-jitsi-meet circular dependency issues * refactor labels to use html base * pass in translation keys to video quality label * add video quality classnames for torture tests * break up, rearrange recorder session update listener * add comment about disabling startup resize animation * rename session to sessionData * chore(deps): update to latest lib for recording changes
2018-05-16 14:00:16 +00:00
"confirm": "Confirm",
2018-10-18 08:28:08 +00:00
"confirmNo": "No",
"confirmYes": "Yes",
"connectError": "Oops! Something went wrong and we couldn't connect to the conference.",
"connectErrorWithMsg": "Oops! Something went wrong and we couldn't connect to the conference: {{msg}}",
"connecting": "Connecting",
ref(notifications): convert some dialogs to error or warning notifica… (#1991) * ref(notifications): convert some dialogs to error or warning notifications - Expand the configurability of the Notification component so warnings and errors can be displayed. - Allow Notification to take in arbitrary text for the body. - Rename defaultTitleKey to titleKey for consistency with descriptionKey. * ref(notifications): remove openReportDialog method openReportDialog is a wrapper around showError that adds a logger statement. It is being called in one place only so remove the method and have that one place call logger. * ref(notifications): UI.showTrackNotWorkingDialog takes a boolean Change UI.showTrackNotWorkingDialog so it takes a boolean arguments instead of the entire track. A small refactor so the method needs to know less. * [squash] Fixes eslint errors * WiP: Fixes desktop sharing error strings and adds support button * [squash] Fix icons appearances * [squash] Fix translate titles and messages * [squash] fix(translation): Fixes incorrect password string * [squash] fix(recording): Fixes recording message * [squash] fix(warning): Turns some warnings to errors and makes support link optional. * [squash] fix(translation): Addressing language comments * [squash] Fixes jsdoc and formatting * [squash] fix(noopener): Fixes window.open noopener * [squash] fix(constants): Extract constants and refactor NotificationWithToggle * [squash] fix(lang): Fixes camera and mic error titles * [squash] fix(supportLink): Renames addSupportLink to hideErrorSupportLink
2017-11-03 19:05:03 +00:00
"contactSupport": "Contact support",
"copied": "Copied",
2019-01-11 23:33:01 +00:00
"copy": "Copy",
"dismiss": "Dismiss",
2019-06-14 09:03:32 +00:00
"displayNameRequired": "Hi! Whats your name?",
2019-01-11 23:33:01 +00:00
"done": "Done",
2021-08-18 12:33:21 +00:00
"e2eeDescription": "End-to-End Encryption is currently EXPERIMENTAL. Please keep in mind that turning on end-to-end encryption will effectively disable server-side provided services such as: phone participation. Also keep in mind that the meeting will only work for people joining from browsers with support for insertable streams.",
"e2eeDisabledDueToMaxModeDescription": "Cannot enable End-to-End Encryption due to large number of participants in the conference.",
"e2eeLabel": "Enable End-to-End Encryption",
"e2eeWarning": "WARNING: Not all participants in this meeting seem to have support for End-to-End encryption. If you enable it they won't be able to see nor hear you.",
"e2eeWillDisableDueToMaxModeDescription": "WARNING: End-to-End Encryption will be automatically disabled if more participants join the conference.",
"embedMeeting": "Embed meeting",
"enterDisplayName": "Enter your name here",
2019-01-11 23:33:01 +00:00
"error": "Error",
"gracefulShutdown": "Our service is currently down for maintenance. Please try again later.",
"grantModeratorDialog": "Are you sure you want to grant moderator rights to {{participantName}}?",
"grantModeratorTitle": "Grant moderator rights",
"hideShareAudioHelper": "Don't show this dialog again",
2019-01-11 23:33:01 +00:00
"incorrectPassword": "Incorrect username or password",
"incorrectRoomLockPassword": "Incorrect password",
"internalError": "Oops! Something went wrong. The following error occurred: {{error}}",
2019-01-11 23:33:01 +00:00
"internalErrorTitle": "Internal error",
"kickMessage": "You can contact {{participantDisplayName}} for more details.",
2019-01-05 16:49:21 +00:00
"kickParticipantButton": "Kick",
2018-12-19 18:40:17 +00:00
"kickParticipantDialog": "Are you sure you want to kick this participant?",
"kickParticipantTitle": "Kick this participant?",
"kickTitle": "Ouch! {{participantDisplayName}} kicked you out of the meeting",
"linkMeeting": "Link meeting",
"linkMeetingTitle": "Link meeting to Salesforce",
2019-01-11 23:33:01 +00:00
"liveStreaming": "Live Streaming",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Not possible while recording is active",
2019-01-11 23:33:01 +00:00
"liveStreamingDisabledTooltip": "Start live stream disabled.",
"localUserControls": "Local user controls",
2019-01-11 23:33:01 +00:00
"lockMessage": "Failed to lock the conference.",
2021-04-09 12:30:25 +00:00
"lockRoom": "Add meeting $t(lockRoomPassword)",
2019-01-11 23:33:01 +00:00
"lockTitle": "Lock failed",
"login": "Login",
"logoutQuestion": "Are you sure you want to logout and leave the conference?",
2019-01-11 23:33:01 +00:00
"logoutTitle": "Logout",
"maxUsersLimitReached": "The limit for maximum number of participants has been reached. The conference is full. Please contact the meeting owner or try again later!",
"maxUsersLimitReachedTitle": "Maximum participants limit reached",
2019-01-11 23:33:01 +00:00
"micConstraintFailedError": "Your microphone does not satisfy some of the required constraints.",
"micNotFoundError": "Microphone was not found.",
2019-06-12 21:05:41 +00:00
"micNotSendingData": "Go to your computer's settings to unmute your mic and adjust its level",
"micNotSendingDataTitle": "Your mic is muted by your system settings",
2019-01-11 23:33:01 +00:00
"micPermissionDeniedError": "You have not granted permission to use your microphone. You can still join the conference but others won't hear you. Use the camera button in the address bar to fix this.",
"micTimeoutError": "Could not start audio source. Timeout occured!",
2019-01-11 23:33:01 +00:00
"micUnknownError": "Cannot use microphone for an unknown reason.",
"moderationAudioLabel": "Allow attendees to unmute themselves",
"moderationVideoLabel": "Allow attendees to start their video",
"muteEveryoneDialog": "The participants can unmute themselves at any time.",
"muteEveryoneDialogModerationOn": "The participants can send a request to speak at any time.",
"muteEveryoneElseDialog": "Once muted, you won't be able to unmute them, but they can unmute themselves at any time.",
"muteEveryoneElseTitle": "Mute everyone except {{whom}}?",
"muteEveryoneElsesVideoDialog": "Once the camera is disabled, you won't be able to turn it back on, but they can turn it back on at any time.",
"muteEveryoneElsesVideoTitle": "Stop everyone's video except {{whom}}?",
"muteEveryoneSelf": "yourself",
"muteEveryoneStartMuted": "Everyone starts muted from now on",
"muteEveryoneTitle": "Mute everyone?",
"muteEveryonesVideoDialog": "The participants can turn on their video at any time.",
"muteEveryonesVideoDialogModerationOn": "The participants can send a request to turn on their video at any time.",
"muteEveryonesVideoDialogOk": "Disable",
"muteEveryonesVideoTitle": "Stop everyone's video?",
"muteParticipantBody": "You won't be able to unmute them, but they can unmute themselves at any time.",
"muteParticipantButton": "Mute",
"muteParticipantsVideoBody": "You won't be able to turn the camera back on, but they can turn it back on at any time.",
"muteParticipantsVideoBodyModerationOn": "You won't be able to turn the camera back on and neither will they.",
"muteParticipantsVideoButton": "Stop video",
"muteParticipantsVideoDialog": "Are you sure you want to turn off this participant's camera? You won't be able to turn the camera back on, but they can turn it back on at any time.",
"muteParticipantsVideoDialogModerationOn": "Are you sure you want to turn off this participant's camera? You won't be able to turn the camera back on and neither will they.",
"muteParticipantsVideoTitle": "Disable camera of this participant?",
"noDropboxToken": "No valid Dropbox token",
"password": "Password",
2020-04-03 08:48:41 +00:00
"passwordLabel": "The meeting has been locked by a participant. Please enter the $t(lockRoomPassword) to join.",
"passwordNotSupported": "Setting a meeting $t(lockRoomPassword) is not supported.",
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) not supported",
"passwordRequired": "$t(lockRoomPasswordUppercase) required",
"permissionCameraRequiredError": "Camera permission is required to participate in conferences with video. Please grant it in Settings",
"permissionErrorTitle": "Permission required",
"permissionMicRequiredError": "Microphone permission is required to participate in conferences with audio. Please grant it in Settings",
2019-01-11 23:33:01 +00:00
"popupError": "Your browser is blocking pop-up windows from this site. Please enable pop-ups in your browser's security settings and try again.",
"popupErrorTitle": "Pop-up blocked",
"readMore": "more",
"recentlyUsedObjects": "Your recently used objects",
2019-01-11 23:33:01 +00:00
"recording": "Recording",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Not possible while a live stream is active",
2019-01-11 23:33:01 +00:00
"recordingDisabledTooltip": "Start recording disabled.",
"rejoinNow": "Rejoin now",
"remoteControlAllowedMessage": "{{user}} accepted your remote control request!",
"remoteControlDeniedMessage": "{{user}} rejected your remote control request!",
"remoteControlErrorMessage": "An error occurred while trying to request remote control permissions from {{user}}!",
"remoteControlRequestMessage": "Will you allow {{user}} to remotely control your desktop?",
2019-01-11 23:33:01 +00:00
"remoteControlShareScreenWarning": "Note that if you press \"Allow\" you will share your screen!",
"remoteControlStopMessage": "The remote control session ended!",
2019-01-11 23:33:01 +00:00
"remoteControlTitle": "Remote desktop control",
"remoteUserControls": "Remote user controls of {{username}}",
"removePassword": "Remove $t(lockRoomPassword)",
2019-01-11 23:33:01 +00:00
"removeSharedVideoMsg": "Are you sure you would like to remove your shared video?",
"removeSharedVideoTitle": "Remove shared video",
"reservationError": "Reservation system error",
"reservationErrorMsg": "Error code: {{code}}, message: {{msg}}",
2019-01-11 23:33:01 +00:00
"retry": "Retry",
"screenSharingAudio": "Share audio",
"screenSharingFailed": "Oops! Something went wrong, we werent able to start screen sharing!",
"screenSharingFailedTitle": "Screen sharing failed!",
"screenSharingPermissionDeniedError": "Oops! Something went wrong with your screen sharing permissions. Please reload and try again.",
"searchInSalesforce": "Search in Salesforce",
"searchResults": "Search results({{count}})",
"searchResultsDetailsError": "Something went wrong while retrieving owner data.",
"searchResultsError": "Something went wrong while retrieving data.",
"searchResultsNotFound": "No search results found.",
"searchResultsTryAgain": "Try using alternative keywords.",
2019-10-07 12:35:04 +00:00
"sendPrivateMessage": "You recently received a private message. Did you intend to reply to that privately, or you want to send your message to the group?",
"sendPrivateMessageCancel": "Send to the group",
"sendPrivateMessageOk": "Send privately",
"sendPrivateMessageTitle": "Send privately?",
2019-01-11 23:33:01 +00:00
"serviceUnavailable": "Service unavailable",
"sessTerminated": "Call terminated",
"sessionRestarted": "Call restarted because of a connection issue.",
"shareAudio": "Continue",
"shareAudioTitle": "How to share audio",
"shareAudioWarningD1": "you need to stop screen sharing before sharing your audio.",
"shareAudioWarningD2": "you need to restart your screen sharing and check the \"share audio\" option.",
"shareAudioWarningH1": "If you want to share just audio:",
"shareAudioWarningTitle": "You need to stop screen sharing before sharing audio",
"shareMediaWarningGenericH2": "If you want to share your screen and audio",
"shareScreenWarningD1": "you need to stop audio sharing before sharing your screen.",
"shareScreenWarningD2": "you need to stop audio sharing, start screen sharing and check the \"share audio\" option.",
"shareScreenWarningH1": "If you want to share just your screen:",
"shareScreenWarningTitle": "You need to stop audio sharing before sharing your screen",
"shareVideoLinkError": "Please provide a correct video link.",
2021-05-13 11:36:19 +00:00
"shareVideoTitle": "Share video",
2017-03-30 16:58:31 +00:00
"shareYourScreen": "Share your screen",
"shareYourScreenDisabled": "Screen sharing disabled.",
"sharedVideoDialogError": "Error: Invalid URL",
"sharedVideoLinkPlaceholder": "YouTube link or direct video link",
"start": "Start ",
2019-01-11 23:33:01 +00:00
"startLiveStreaming": "Start live stream",
"startRecording": "Start recording",
"startRemoteControlErrorMessage": "An error occurred while trying to start the remote control session!",
"stopLiveStreaming": "Stop live stream",
"stopRecording": "Stop recording",
"stopRecordingWarning": "Are you sure you would like to stop the recording?",
"stopStreamingWarning": "Are you sure you would like to stop the live streaming?",
"streamKey": "Live stream key",
"thankYou": "Thank you for using {{appName}}!",
2019-01-11 23:33:01 +00:00
"token": "token",
"tokenAuthFailed": "Sorry, you're not allowed to join this call.",
"tokenAuthFailedTitle": "Authentication failed",
"transcribing": "Transcribing",
"unlockRoom": "Remove meeting $t(lockRoomPassword)",
"user": "User",
"userIdentifier": "User identifier",
"userPassword": "User password",
"videoLink": "Video link",
"viewUpgradeOptions": "View upgrade options",
"viewUpgradeOptionsContent": "To get unlimited access to premium features like recording, transcriptions, RTMP Streaming & more, you'll need to upgrade your plan.",
"viewUpgradeOptionsTitle": "You discovered a premium feature!",
"yourEntireScreen": "Your entire screen"
2019-01-11 23:33:01 +00:00
},
"documentSharing": {
"title": "Shared Document"
},
"e2ee": {
2020-05-18 12:12:00 +00:00
"labelToolTip": "Audio and Video Communication on this call is end-to-end encrypted"
},
"embedMeeting": {
"title": "Embed this meeting"
},
2019-01-11 23:33:01 +00:00
"feedback": {
"average": "Average",
"bad": "Bad",
"detailsLabel": "Tell us more about it.",
"good": "Good",
"rateExperience": "Rate your meeting experience",
"star": "Star",
2019-01-11 23:33:01 +00:00
"veryBad": "Very Bad",
"veryGood": "Very Good"
},
"giphy": {
"noResults": "No results found :(",
"search": "Search GIPHY"
},
"helpView": {
"header": "Help center"
2019-01-11 23:33:01 +00:00
},
"incomingCall": {
"answer": "Answer",
"audioCallTitle": "Incoming call",
"decline": "Dismiss",
"productLabel": "from Jitsi Meet",
"videoCallTitle": "Incoming video call"
},
"info": {
"accessibilityLabel": "Show info",
"addPassword": "Add $t(lockRoomPassword)",
"cancelPassword": "Cancel $t(lockRoomPassword)",
2019-01-11 23:33:01 +00:00
"conferenceURL": "Link:",
"copyNumber": "Copy number",
2019-01-11 23:33:01 +00:00
"country": "Country",
"dialANumber": "To join your meeting, dial one of these numbers and then enter the pin.",
2019-01-11 23:33:01 +00:00
"dialInConferenceID": "PIN:",
"dialInNotSupported": "Sorry, dialing in is currently not supported.",
2019-01-11 23:33:01 +00:00
"dialInNumber": "Dial-in:",
2019-05-07 14:50:57 +00:00
"dialInSummaryError": "Error fetching dial-in info now. Please try again later.",
"dialInTollFree": "Toll Free",
2019-01-11 23:33:01 +00:00
"genericError": "Whoops, something went wrong.",
"inviteLiveStream": "To view the live stream of this meeting, click this link: {{url}}",
"invitePhone": "To join by phone instead, tap this: {{number}},,{{conferenceID}}#\n",
"invitePhoneAlternatives": "Looking for a different dial-in number?\nSee meeting dial-in numbers: {{url}}\n\n\nIf also dialing-in through a room phone, join without connecting to audio: {{silentUrl}}",
"inviteSipEndpoint": "To join using the SIP address, enter this: {{sipUri}}",
"inviteTextiOSInviteUrl": "Click the following link to join: {{inviteUrl}}.",
"inviteTextiOSJoinSilent": "If you are dialing-in through a room phone, use this link to join without connecting to audio: {{silentUrl}}.",
"inviteTextiOSPersonal": "{{name}} is inviting you to a meeting.",
"inviteTextiOSPhone": "To join via phone, use this number: {{number}},,{{conferenceID}}#. If you are looking for a different number, this is the full list: {{didUrl}}.",
"inviteURLFirstPartGeneral": "You are invited to join a meeting.",
"inviteURLFirstPartPersonal": "{{name}} is inviting you to a meeting.\n",
"inviteURLSecondPart": "\nJoin the meeting:\n{{url}}\n",
"label": "Dial-in info",
2019-01-11 23:33:01 +00:00
"liveStreamURL": "Live stream:",
"moreNumbers": "More numbers",
"noNumbers": "No dial-in numbers.",
"noPassword": "None",
"noRoom": "No room was specified to dial-in into.",
"numbers": "Dial-in Numbers",
"password": "$t(lockRoomPasswordUppercase): ",
"sip": "SIP address",
2019-01-11 23:33:01 +00:00
"title": "Share",
"tooltip": "Share link and dial-in info for this meeting"
},
"inlineDialogFailure": {
"msg": "We stumbled a bit.",
"retry": "Try again",
"support": "Support",
"supportMsg": "If this keeps happening, reach out to"
2019-01-11 23:33:01 +00:00
},
2019-02-26 10:41:57 +00:00
"inviteDialog": {
"alertText": "Failed to invite some participants.",
"header": "Invite",
"searchCallOnlyPlaceholder": "Enter phone number",
"searchPeopleOnlyPlaceholder": "Search for participants",
"searchPlaceholder": "Participant or phone number",
"send": "Send"
},
"jitsiHome": "{{logo}} Logo, links to Homepage",
2019-01-11 23:33:01 +00:00
"keyboardShortcuts": {
"focusLocal": "Focus on your video",
"focusRemote": "Focus on another person's video",
"fullScreen": "View or exit full screen",
"giphyMenu": "Toggle GIPHY menu",
2019-01-11 23:33:01 +00:00
"keyboardShortcuts": "Keyboard shortcuts",
"localRecording": "Show or hide local recording controls",
"mute": "Mute or unmute your microphone",
"pushToTalk": "Push to talk",
"raiseHand": "Raise or lower your hand",
"showSpeakerStats": "Show speaker stats",
"toggleChat": "Open or close the chat",
"toggleFilmstrip": "Show or hide video thumbnails",
"toggleParticipantsPane": "Show or hide the participants pane",
2019-01-11 23:33:01 +00:00
"toggleScreensharing": "Switch between camera and screen sharing",
"toggleShortcuts": "Show or hide keyboard shortcuts",
"videoMute": "Start or stop your camera"
2019-01-11 23:33:01 +00:00
},
"liveStreaming": {
"busy": "We're working on freeing streaming resources. Please try again in a few minutes.",
"busyTitle": "All streamers are currently busy",
"changeSignIn": "Switch accounts.",
"choose": "Choose a live stream",
"chooseCTA": "Choose a streaming option. You're currently logged in as {{email}}.",
2019-01-11 23:33:01 +00:00
"enterStreamKey": "Enter your YouTube live stream key here.",
"error": "Live Streaming failed. Please try again.",
"errorAPI": "An error occurred while accessing your YouTube broadcasts. Please try logging in again.",
"errorLiveStreamNotEnabled": "Live Streaming is not enabled on {{email}}. Please enable live streaming or log into an account with live streaming enabled.",
2019-01-11 23:33:01 +00:00
"expandedOff": "The live streaming has stopped",
"expandedOn": "The meeting is currently being streamed to YouTube.",
"expandedPending": "The live streaming is being started...",
"failedToStart": "Live Streaming failed to start",
"getStreamKeyManually": "We werent able to fetch any live streams. Try getting your live stream key from YouTube.",
"googlePrivacyPolicy": "Google Privacy Policy",
"inProgress": "Recording or live streaming in progress",
2019-01-11 23:33:01 +00:00
"invalidStreamKey": "Live stream key may be incorrect.",
"limitNotificationDescriptionNative": "Your streaming will be limited to {{limit}} min. For unlimited streaming try {{app}}.",
"limitNotificationDescriptionWeb": "Due to high demand your streaming will be limited to {{limit}} min. For unlimited streaming try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
2019-01-11 23:33:01 +00:00
"off": "Live Streaming stopped",
"offBy": "{{name}} stopped the live streaming",
"on": "Live Streaming started",
"onBy": "{{name}} started the live streaming",
2019-01-11 23:33:01 +00:00
"pending": "Starting Live Stream...",
"serviceName": "Live Streaming service",
"sessionAlreadyActive": "This session is already being recorded or live streamed.",
2019-01-11 23:33:01 +00:00
"signIn": "Sign in with Google",
"signInCTA": "Sign in or enter your live stream key from YouTube.",
"signOut": "Sign out",
"signedInAs": "You are currently signed in as:",
2019-01-11 23:33:01 +00:00
"start": "Start a live stream",
"streamIdHelp": "What's this?",
2020-04-03 21:04:28 +00:00
"unavailableTitle": "Live Streaming unavailable",
"youtubeTerms": "YouTube terms of services"
},
"lobby": {
"admit": "Admit",
"admitAll": "Admit all",
"allow": "Allow",
"backToKnockModeButton": "Ask to join",
"chat": "Chat",
"dialogTitle": "Lobby mode",
"disableDialogContent": "Lobby mode is currently enabled. This feature ensures that unwanted participants can't join your meeting. Do you want to disable it?",
"disableDialogSubmit": "Disable",
"emailField": "Enter your email address",
"enableDialogPasswordField": "Set password (optional)",
"enableDialogSubmit": "Enable",
"enableDialogText": "Lobby mode lets you protect your meeting by only allowing people to enter after a formal approval by a moderator.",
"enterPasswordButton": "Enter meeting password",
"enterPasswordTitle": "Enter password to join meeting",
"errorMissingPassword": "Please enter the meeting password",
"invalidPassword": "Invalid password",
"joinRejectedMessage": "Your join request was rejected by a moderator.",
"joinRejectedTitle": "Join request rejected.",
"joinTitle": "Join Meeting",
"joinWithPasswordMessage": "Trying to join with password, please wait...",
"joiningMessage": "You'll join the meeting as soon as someone accepts your request",
"joiningTitle": "Asking to join meeting...",
"joiningWithPasswordTitle": "Joining with password...",
"knockButton": "Ask to Join",
"knockTitle": "Someone wants to join the meeting",
"knockingParticipantList": "Knocking participant list",
"lobbyChatStartedNotification": "{{moderator}} started a lobby chat with {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} has started a lobby chat with you.",
"nameField": "Enter your name",
"notificationLobbyAccessDenied": "{{targetParticipantName}} has been rejected to join by {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} has been allowed to join by {{originParticipantName}}",
"notificationLobbyDisabled": "Lobby has been disabled by {{originParticipantName}}",
"notificationLobbyEnabled": "Lobby has been enabled by {{originParticipantName}}",
"notificationTitle": "Lobby",
"passwordField": "Enter meeting password",
"passwordJoinButton": "Join",
"reject": "Reject",
"rejectAll": "Reject all",
"toggleLabel": "Enable lobby"
2019-01-11 23:33:01 +00:00
},
"localRecording": {
"clientState": {
"off": "Off",
"on": "On",
"unknown": "Unknown"
},
"dialogTitle": "Local Recording Controls",
"duration": "Duration",
"durationNA": "N/A",
"encoding": "Encoding",
"label": "LOR",
"labelToolTip": "Local recording is engaged",
"localRecording": "Local Recording",
"me": "Me",
"messages": {
"engaged": "Local recording engaged.",
"finished": "Recording session {{token}} finished. Please send the recorded file to the moderator.",
"finishedModerator": "Recording session {{token}} finished. The recording of the local track has been saved. Please ask the other participants to submit their recordings.",
2019-01-11 23:33:01 +00:00
"notModerator": "You are not the moderator. You cannot start or stop local recording."
},
"moderator": "Moderator",
"no": "No",
"participant": "Participant",
"participantStats": "Participant Stats",
"sessionToken": "Session Token",
"start": "Start Recording",
"stop": "Stop Recording",
"yes": "Yes"
},
"lockRoomPassword": "password",
"lockRoomPasswordUppercase": "Password",
"lonelyMeetingExperience": {
"button": "Invite others",
"youAreAlone": "You are the only one in the meeting"
},
2019-01-11 23:33:01 +00:00
"me": "me",
"notify": {
"OldElectronAPPTitle": "Security vulnerability!",
"allowAction": "Allow",
"allowedUnmute": "You can unmute your microphone, start your camera or share your screen.",
"audioUnmuteBlockedDescription": "Mic unmute operation has been temporarily blocked because of system limits.",
"audioUnmuteBlockedTitle": "Mic unmute blocked!",
"chatMessages": "Chat messages",
"connectedOneMember": "{{name}} joined the meeting",
"connectedThreePlusMembers": "{{name}} and many others joined the meeting",
"connectedTwoMembers": "{{first}} and {{second}} joined the meeting",
2019-01-11 23:33:01 +00:00
"disconnected": "disconnected",
"displayNotifications": "Display notifications for",
2019-01-11 23:33:01 +00:00
"focus": "Conference focus",
"focusFail": "{{component}} not available - retry in {{ms}} sec",
"gifsMenu": "GIPHY",
"groupTitle": "Notifications",
"hostAskedUnmute": "The moderator would like you to speak",
"invitedOneMember": "{{name}} has been invited",
"invitedThreePlusMembers": "{{name}} and {{count}} others have been invited",
"invitedTwoMembers": "{{first}} and {{second}} have been invited",
"kickParticipant": "{{kicked}} was kicked by {{kicker}}",
"leftOneMember": "{{name}} left the meeting",
"leftThreePlusMembers": "{{name}} and many others left the meeting",
"leftTwoMembers": "{{first}} and {{second}} left the meeting",
"linkToSalesforce": "Link to Salesforce",
"linkToSalesforceDescription": "You can link the meeting summary to a Salesforce object.",
"linkToSalesforceError": "Failed to link meeting to Salesforce",
"linkToSalesforceKey": "Link this meeting",
"linkToSalesforceProgress": "Linking meeting to Salesforce...",
"linkToSalesforceSuccess": "The meeting was linked to Salesforce",
"localRecordingStarted": "{{name}} has started a local recording.",
"localRecordingStopped": "{{name}} has stopped a local recording.",
2019-01-11 23:33:01 +00:00
"me": "Me",
"moderationInEffectCSDescription": "Please raise hand if you want to share your screen.",
"moderationInEffectCSTitle": "Screen sharing is blocked by the moderator",
"moderationInEffectDescription": "Please raise hand if you want to speak.",
"moderationInEffectTitle": "Your microphone is muted by the moderator",
"moderationInEffectVideoDescription": "Please raise your hand if you want to start your camera.",
"moderationInEffectVideoTitle": "Your camera is blocked by the moderator",
"moderationRequestFromModerator": "The host would like you to unmute",
"moderationRequestFromParticipant": "Wants to speak",
"moderationStartedTitle": "Moderation started",
"moderationStoppedTitle": "Moderation stopped",
"moderationToggleDescription": "by {{participantDisplayName}}",
"moderator": "You're now a moderator",
2019-01-11 23:33:01 +00:00
"muted": "You have started the conversation muted.",
"mutedRemotelyDescription": "You can always unmute when you're ready to speak. Mute back when you're done to keep noise away from the meeting.",
"mutedRemotelyTitle": "You've been muted by {{participantDisplayName}}",
"mutedTitle": "You're muted!",
"newDeviceAction": "Use",
"newDeviceAudioTitle": "New audio device detected",
"newDeviceCameraTitle": "New camera detected",
"oldElectronClientDescription1": "You appear to be using an old version of the Jitsi Meet client which has known security vulnerabilities. Please make sure you update to our ",
"oldElectronClientDescription2": "latest build",
"oldElectronClientDescription3": " now!",
"participantWantsToJoin": "Wants to join the meeting",
"participantsWantToJoin": "Want to join the meeting",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) removed by another participant",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) set by another participant",
"raiseHandAction": "Raise hand",
"raisedHand": "Would like to speak.",
"raisedHands": "{{participantName}} and {{raisedHands}} more people",
"reactionSounds": "Disable sounds",
"reactionSoundsForAll": "Disable sounds for all",
"screenShareNoAudio": "Share audio box was not checked in the window selection screen.",
"screenShareNoAudioTitle": "Couldn't share system audio!",
"selfViewTitle": "You can always un-hide the self-view from settings",
2019-01-11 23:33:01 +00:00
"somebody": "Somebody",
"startSilentDescription": "Rejoin the meeting to enable audio",
"startSilentTitle": "You joined with no audio output!",
2020-05-15 17:28:47 +00:00
"suboptimalBrowserWarning": "We are afraid your meeting experience isn't going to be that great here. We are looking for ways to improve this, but until then please try using one of the <a href='{{recommendedBrowserPageLink}}' target='_blank'>fully supported browsers</a>.",
"suboptimalExperienceTitle": "Browser Warning",
"unmute": "Unmute",
"videoMutedRemotelyDescription": "You can always turn it on again.",
"videoMutedRemotelyTitle": "Your video has been turned off by {{participantDisplayName}}",
"videoUnmuteBlockedDescription": "Camera unmute and desktop sharing operation have been temporarily blocked because of system limits.",
"videoUnmuteBlockedTitle": "Camera unmute and desktop sharing blocked!",
"viewLobby": "View lobby",
"waitingParticipants": "{{waitingParticipants}} people"
2019-01-11 23:33:01 +00:00
},
"participantsPane": {
"actions": {
"allow": "Allow attendees to:",
"allowVideo": "Allow video",
"askUnmute": "Ask to unmute",
"audioModeration": "Unmute themselves",
"blockEveryoneMicCamera": "Block everyone's mic and camera",
"invite": "Invite Someone",
"moreModerationActions": "More moderation options",
"moreModerationControls": "More moderation controls",
"moreParticipantOptions": "More participant options",
"mute": "Mute",
"muteAll": "Mute all",
"muteEveryoneElse": "Mute everyone else",
"stopEveryonesVideo": "Stop everyone's video",
"stopVideo": "Stop video",
"unblockEveryoneMicCamera": "Unblock everyone's mic and camera",
"videoModeration": "Start their video"
},
"close": "Close",
"header": "Participants",
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Meeting participants ({{count}})",
"waitingLobby": "Waiting in lobby ({{count}})"
},
"search": "Search participants"
},
"passwordDigitsOnly": "Up to {{number}} digits",
"passwordSetRemotely": "Set by another participant",
"pinnedParticipant": "The participant is pinned",
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
"polls": {
"answer": {
"skip": "Skip",
"submit": "Submit"
},
"by": "By {{ name }}",
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
"create": {
"addOption": "Add option",
"answerPlaceholder": "Option {{index}}",
"cancel": "Cancel",
"create": "Create a poll",
"pollOption": "Poll option {{index}}",
"pollQuestion": "Poll Question",
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
"questionPlaceholder": "Ask a question",
"removeOption": "Remove option",
"send": "Send"
},
"notification": {
"description": "Open polls tab to vote",
"title": "A new poll was added to this meeting"
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
},
"results": {
"changeVote": "Change vote",
"empty": "There are no polls in the meeting yet. Start a poll here!",
"hideDetailedResults": "Hide details",
"showDetailedResults": "Show details",
"vote": "Vote"
feat(polls) Ability to create polls inside Jitsi (#9166) * feat(polls) Added boilerplate code for polls feature * feat(polls) Implemented simple poll creation and answer modals in web app feat(polls) Added button to create a poll in toolbar feat(polls) Added Modal to answer an incoming poll feat(polls) Implemented basic client-side sending and reception of polls feat(polls): linked Poll creation to poll answering fix(polls) Linted code feat(polls.create) Added fields for question and answers (#3) * feat(polls.create) Added fields for question and answers + keyboard navigation * feat(polls.create) Minor changes, added some comments feat(PollAnswer Component): Component to display modal to answer poll #1 (#2) * fix(polls) removing necessity of current_poll_id variable * fix(polls) linting, polls are now updated when an answer is sent * feat(polls answer) added translation * fix(polls answer) remove extra comments, fixed typo * improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code * fix (polls create) renamed sender to senderId * fix (polls answer) turned arrow function into useCallBack feat(PollResults Component): Component to display poll results (#1) * feat(PollResults Component): fist version of the component * feat(detailed votes): Display the detailed results of a poll * feat(Poll results): Use display name instead of ids in detailed results mode * fix(Poll): change title to question * fix(Poll type): import Poll type from types.js * fix(Poll): change title to question * fix(Poll): get participants out of the map * fix(Poll): replace filter with find feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit feat (polls) Answer modal now display results in real time after validation or skip feat(polls.create) Minor improvements to poll creation form feat(poll result) Added default message when trying to display no answer fix (polls) result windows is now small by default fix (polls) sanitizes imports to allow startup on react native * feat(polls.native) Implemented native toolbar button & poll create modal feat( poll native) added poll creation button in native toolbar improvement(polls) only one file used for PollCreateButton feat (polls native) added an example dialog feat (polls native) added possibility to create and delete options in poll creation improvement (polls) better styling for PollCreateDialog * feat(polls) Added ability to drag&drop answers in web poll creation form * feat(polls) Added native poll answer modal + chat integration, refactored components Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native improvement (poll) Better styling for poll answer, now uses icons feat(poll.PollResults): Add native version of PollResults feat(poll.PollResults): Post results in chat in Native fix(poll.PollResults): Fix linter error in ChatMessage feat(polls.native) Improved styling for native poll answer dialog (required some internal changes) * fix(polls) Heavily refactored and added bars to poll results, other minor changes fix(poll.create): Move title to Dialog title feat(poll.create) Minor changes to poll creation / answer dialogs fix(poll.create) Refactored and improved translations feat(poll) Improved CSS for modals in web version fix(poll.pollcreate): Fix button size in native fix(polls) Refactored poll results component and other minor changes fix (polls) remove double import refactor(poll) Heavily refactored poll results (native + web) feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results * fix(polls) Fixes and linting fix(polls) Reformatted and fixed some linter and Flow errors fix(polls.results) Fixed voter list border appearing with 0 voters * feat(polls): Add modal with detailed votes that can be open from the result summary in the chat * fix(polls) Fixes, refactorings, and minor design changes feat(polls.results): Refactored poll chat message and improved design in web app feat(polls.results) Same as last commit, but for mobile version refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults fix(polls.results) Fixed all remaining linter and Flow errors improvement(polls) removed console logs, added comments fix (polls) linting fix(polls.results) Fixed bug with poll chat message displaying the wrong name feat(polls.results) Minor improvement on poll results display (web) fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name * Feat(poll.results): Remember voters names to display after they left the conference (#10) * feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed * refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat * refactor(poll.results): use Map instead of Array.From( * refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call * Update react/features/polls/components/AbstractPollAnswerDialog.js * Update react/features/polls/components/AbstractPollCreateDialog.js * refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll * improvement(polls) Simplified poll answer voter name logic Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11) Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> * fix(polls) Fixed close button behavior in answer and results dialog (#12) * fix(polls) Fixed close button behavior in answer and results dialog * fix(polls) Fixed linter error * fix(polls) Added a poll queue to avoid overwriting open modals (#13) * fix(polls) Added a poll queue to avoid overwriting open modals * fix(polls) Updated documentation for action RECEIVE_POLL * Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14) * refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered * refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll * Use getParticipantDisplayName instead of only getStore() * Hide results also in native * fix(polls) Fixed previous merge Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr> * minor improvements (polls) refactor (polls) uniformized string for command names refactor (polls) changed pollId type to number everywhere * feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16) * feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend * improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls * improvement(polls) Historic polls are now displayed in chronological order * (polls) Minor improvements (#17) * renaming (polls) Renaming senderId -> voterID for voters * improvement (polls) sender's name is now provided with poll * comments (polls) updated comments for senderName types * fix(polls) Finished merging with json-messages feature * fix(polls) Fixed incorrect json-message sent with 0 polls Co-authored-by: Jade Guiton <guiton.jade@gmail.com> * Move polls to tab (#23) * Draft(polls): Move polls to polls-pane ; first version for web * Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects * fix missing newline at the end of file * Change behaviour to allow answer poll later * Fix(polls): change pollId type from number to string for consistency * feat(polls-pane): Ability to answer to a poll in polls-pane * feat(polls-pane): Ability to create to a poll in polls-pane * feat (polls.pane) display a notification when a new poll arrives * refactor(polls-pane): Update CSS to have a design closer to the mockups * fix(poll.vote count): Fix votes counting when computing percentage * fix(poll.vote count): Fix votes counting when computing percentage * refresh fork with jitsi/jitsi-meet * design (polls) Better look for poll creation * refactor(polls pane): Move polls-pane as a chat tab * Remove the first version of the polls-pane and the button to open it * Fix notifications and typo * Translate new polls tab in chat * Change polls_pane to polls-pane * Remove unless functions * Remove usage of styled.js * Improve responsiveness * Separate web and native logic * Remove Create a Poll button in web toolbox * improvement (polls) added auto scrolling to bottom when a new poll arrives * Add tabs to swicth between polls and chat in native * Add AbstractPollsPane * Add AbstractPollCreate * Add AbstractPollAnswer * Add PollAnswer, PollItem and PollList for native * Add PollCreate for native * Remove dialogs in web and native * Remove dialog queue * Remove useless files * Move _polls.scss outside dialog folder * Add possibility to skip answer * Add (useless for now) see details link * Add possibility to show detailed results for a poll * Resize progress bar to make details display * refactor, design (polls) better style to native design chat * fix (polls) Removed unecessary files * translate (polls) added french translation to empty polls * design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode * Change See detailed results for Show details and add cursor: pointer * Fix progress bars not aligned with text * fix (polls.native) added autoselection of newly created option * Remove poll answer * improvement(polls.create) Improved web poll creation form marginally * improvement(polls.change) Simplified answer removal by reusing poll-answer command * fix linter * Fix(translation): update translation Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr> * Merge pull request #22 from jade-guiton/polls-with-notification feat (polls) chat notification badge now display the sum of unread messages and unread polls fix(translation): Fix missing translation Fix flow error * Cleaned up, fixed, and uniformized translations * Small improvements to PollAnswer and PollResult + Much refactoring Specifically: - "Change vote" button now says "Vote" if voting was skipped - Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate - The "answered" field of Polls was replaced by "showResults" and "lastVote" - The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote" - Some newly unreachable/useless code was removed - "showDetails" state is now handled by AbstractPollResults instead of PollItem * fix(polls tab): change tab underline color to #525252 * fix(poll create): Enforce at least two options to create a poll * fix(poll create): change 'remove option' color to #E04757 * fix(poll create): Update Poll create CSS to adapt to design * fix(poll answer): Adapt CSS to make poll answer closer to mockup * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll result): Udpdate poll result CSS to match mockups * fix(poll create): Display 'remove option' only when there is at least 3 options * fix(polls button): Add hover, active, focus and disabled state to polls buttons * Last improvements for web * Native design fixes * Fix rebase issue in land/main.json * Fix french translation after rebase * Fixmobile behaviour * Fixed keyboard navigation in web poll creation form * Fixed Flow error related to "no polls" icon in PollsList * fix(polls): Enabled polls Prosody module in Debian config files * doc(polls) Added comments to the Prosody module code * fix(polls): Switched from using an internal LJM event to ones from the public API * Capitalize I of setIsPollsTabFocused * extract the 2 button modes into a const * remove extra new lines * Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity * Rename answers2 for answersParsed for clarity * use switch instead of if/else chain * improve syntax for localId fetching * Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained' * Disable send poll button if not enough data is provided in the form (#30) * Feat: Add notification badge on chat and poll tabs (#31) * Feat: Add notification badge on chat and poll tabs * Add badge equivalent for native * Update displayNameForm text to mention polls (#34) * Disable polls UI with a config in config.js (#33) * Change remove option text color from red to grey (#32) Co-authored-by: spineki <marras.antoine@gmail.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr> Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com> Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
}
},
2019-01-11 23:33:01 +00:00
"poweredby": "powered by",
2020-04-16 10:47:10 +00:00
"prejoin": {
"audioAndVideoError": "Audio and video error:",
"audioDeviceProblem": "There is a problem with your audio device",
2020-04-16 10:47:10 +00:00
"audioOnlyError": "Audio error:",
"audioTrackError": "Could not create audio track.",
"callMe": "Call me",
"callMeAtNumber": "Call me at this number:",
"calling": "Calling",
2020-04-16 10:47:10 +00:00
"configuringDevices": "Configuring devices...",
"connectedWithAudioQ": "Youre connected with audio?",
"connection": {
"good": "Your internet connection looks good!",
"nonOptimal": "Your internet connection is not optimal",
"poor": "You have a poor internet connection"
},
"connectionDetails": {
"audioClipping": "We expect your audio to be clipped.",
"audioHighQuality": "We expect your audio to have excellent quality.",
"audioLowNoVideo": "We expect your audio quality to be low and no video.",
"goodQuality": "Awesome! Your media quality is going to be great.",
"noMediaConnectivity": "We could not find a way to establish media connectivity for this test. This is typically caused by a firewall or NAT.",
"noVideo": "We expect that your video will be terrible.",
"undetectable": "If you still can not make calls in browser, we recommend that you make sure your speakers, microphone and camera are properly set up, that you have granted your browser rights to use your microphone and camera, and that your browser version is up-to-date. If you still have trouble calling, you should contact the web application developer.",
"veryPoorConnection": "We expect your call quality to be really terrible.",
"videoFreezing": "We expect your video to freeze, turn black, and be pixelated.",
"videoHighQuality": "We expect your video to have good quality.",
"videoLowQuality": "We expect your video to have low quality in terms of frame rate and resolution.",
"videoTearing": "We expect your video to be pixelated or have visual artefacts."
},
2020-04-16 10:47:10 +00:00
"copyAndShare": "Copy & share meeting link",
"dialInMeeting": "Dial into the meeting",
"dialInPin": "Dial into the meeting and enter PIN code:",
"dialing": "Dialing",
2020-09-29 11:00:30 +00:00
"doNotShow": "Don't show this screen again",
"errorDialOut": "Could not dial out",
"errorDialOutDisconnected": "Could not dial out. Disconnected",
"errorDialOutFailed": "Could not dial out. Call failed",
"errorDialOutStatus": "Error getting dial out status",
"errorMissingName": "Please enter your name to join the meeting",
"errorNoPermissions": "You need to enable microphone and camera access",
"errorStatusCode": "Error dialing out, status code: {{status}}",
"errorValidation": "Number validation failed",
2020-04-16 10:47:10 +00:00
"iWantToDialIn": "I want to dial in",
"initiated": "Call initiated",
2020-04-16 10:47:10 +00:00
"joinAudioByPhone": "Join with phone audio",
"joinMeeting": "Join meeting",
"joinWithoutAudio": "Join without audio",
"keyboardShortcuts": "Enable Keyboard shortcuts",
2020-04-16 10:47:10 +00:00
"linkCopied": "Link copied to clipboard",
"lookGood": "Your microphone is working properly",
2020-04-16 10:47:10 +00:00
"or": "or",
"premeeting": "Pre meeting",
"screenSharingError": "Screen sharing error:",
"showScreen": "Enable pre meeting screen",
2020-04-16 10:47:10 +00:00
"startWithPhone": "Start with phone audio",
"videoOnlyError": "Video error:",
"videoTrackError": "Could not create video track.",
"viewAllNumbers": "view all numbers"
},
2019-01-11 23:33:01 +00:00
"presenceStatus": {
"busy": "Busy",
"calling": "Calling...",
"connected": "Connected",
"connecting": "Connecting...",
"connecting2": "Connecting*...",
"disconnected": "Disconnected",
"expired": "Expired",
"ignored": "Ignored",
"initializingCall": "Initializing Call...",
"invited": "Invited",
"rejected": "Rejected",
"ringing": "Ringing..."
},
"privacyView": {
"header": "Privacy"
},
2019-01-11 23:33:01 +00:00
"profile": {
"avatar": "avatar",
2019-01-11 23:33:01 +00:00
"setDisplayNameLabel": "Set your display name",
"setEmailInput": "Enter email",
2019-01-11 23:33:01 +00:00
"setEmailLabel": "Set your gravatar email",
"title": "Profile"
},
"raisedHand": "Would like to speak",
"raisedHandsLabel": "Number of raised hands",
"record": {
"already": {
"linked": "The meeting is already linked to this Salesforce object."
},
"type": {
"account": "Account",
"contact": "Contact",
"lead": "Lead",
"opportunity": "Opportunity",
"owner": "Owner"
}
},
2019-01-11 23:33:01 +00:00
"recording": {
"authDropboxText": "Upload to Dropbox",
"availableSpace": "Available space: {{spaceLeft}} MB (approximately {{duration}} minutes of recording)",
"beta": "BETA",
ref(notifications): convert some dialogs to error or warning notifica… (#1991) * ref(notifications): convert some dialogs to error or warning notifications - Expand the configurability of the Notification component so warnings and errors can be displayed. - Allow Notification to take in arbitrary text for the body. - Rename defaultTitleKey to titleKey for consistency with descriptionKey. * ref(notifications): remove openReportDialog method openReportDialog is a wrapper around showError that adds a logger statement. It is being called in one place only so remove the method and have that one place call logger. * ref(notifications): UI.showTrackNotWorkingDialog takes a boolean Change UI.showTrackNotWorkingDialog so it takes a boolean arguments instead of the entire track. A small refactor so the method needs to know less. * [squash] Fixes eslint errors * WiP: Fixes desktop sharing error strings and adds support button * [squash] Fix icons appearances * [squash] Fix translate titles and messages * [squash] fix(translation): Fixes incorrect password string * [squash] fix(recording): Fixes recording message * [squash] fix(warning): Turns some warnings to errors and makes support link optional. * [squash] fix(translation): Addressing language comments * [squash] Fixes jsdoc and formatting * [squash] fix(noopener): Fixes window.open noopener * [squash] fix(constants): Extract constants and refactor NotificationWithToggle * [squash] fix(lang): Fixes camera and mic error titles * [squash] fix(supportLink): Renames addSupportLink to hideErrorSupportLink
2017-11-03 19:05:03 +00:00
"busy": "We're working on freeing recording resources. Please try again in a few minutes.",
"busyTitle": "All recorders are currently busy",
"copyLink": "Copy Link",
2016-06-02 16:30:45 +00:00
"error": "Recording failed. Please try again.",
"errorFetchingLink": "Error fetching recording link.",
2018-09-11 10:16:01 +00:00
"expandedOff": "Recording has stopped",
"expandedOn": "The meeting is currently being recorded.",
"expandedPending": "Recording is being started...",
ref(notifications): convert some dialogs to error or warning notifica… (#1991) * ref(notifications): convert some dialogs to error or warning notifications - Expand the configurability of the Notification component so warnings and errors can be displayed. - Allow Notification to take in arbitrary text for the body. - Rename defaultTitleKey to titleKey for consistency with descriptionKey. * ref(notifications): remove openReportDialog method openReportDialog is a wrapper around showError that adds a logger statement. It is being called in one place only so remove the method and have that one place call logger. * ref(notifications): UI.showTrackNotWorkingDialog takes a boolean Change UI.showTrackNotWorkingDialog so it takes a boolean arguments instead of the entire track. A small refactor so the method needs to know less. * [squash] Fixes eslint errors * WiP: Fixes desktop sharing error strings and adds support button * [squash] Fix icons appearances * [squash] Fix translate titles and messages * [squash] fix(translation): Fixes incorrect password string * [squash] fix(recording): Fixes recording message * [squash] fix(warning): Turns some warnings to errors and makes support link optional. * [squash] fix(translation): Addressing language comments * [squash] Fixes jsdoc and formatting * [squash] fix(noopener): Fixes window.open noopener * [squash] fix(constants): Extract constants and refactor NotificationWithToggle * [squash] fix(lang): Fixes camera and mic error titles * [squash] fix(supportLink): Renames addSupportLink to hideErrorSupportLink
2017-11-03 19:05:03 +00:00
"failedToStart": "Recording failed to start",
"fileSharingdescription": "Share the recording link with the meeting participants",
"highlight": "Highlight",
"highlightMoment": "Highlight moment",
"highlightMomentDisabled": "You can highlight moments when the recording starts",
"highlightMomentSuccess": "Moment highlighted",
"highlightMomentSucessDescription": "Your highlighted moment will be added to the meeting summary.",
"inProgress": "Recording or live streaming in progress",
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "We have generated a link to your recording.",
feat(recording): frontend logic can support live streaming and recording (#2952) * feat(recording): frontend logic can support live streaming and recording Instead of either live streaming or recording, now both can live together. The changes to facilitate such include the following: - Killing the state storing in Recording.js. Instead state is stored in the lib and updated in redux for labels to display the necessary state updates. - Creating a new container, Labels, for recording labels. Previously labels were manually created and positioned. The container can create a reasonable number of labels and only the container itself needs to be positioned with CSS. The VideoQualityLabel has been shoved into the container as well because it moves along with the recording labels. - The action for updating recording state has been modified to enable updating an array of recording sessions to support having multiple sessions. - Confirmation dialogs for stopping and starting a file recording session have been created, as they previously were jquery modals opened by Recording.js. - Toolbox.web displays live streaming and recording buttons based on configuration instead of recording availability. - VideoQualityLabel and RecordingLabel have been simplified to remove any positioning logic, as the Labels container handles such. - Previous recording state update logic has been moved into the RecordingLabel component. Each RecordingLabel is in charge of displaying state for a recording session. The display UX has been left alone. - Sipgw availability is no longer broadcast so remove logic depending on its state. Some moving around of code was necessary to get around linting errors about the existing code being too deeply nested (even though I didn't touch it). * work around lib-jitsi-meet circular dependency issues * refactor labels to use html base * pass in translation keys to video quality label * add video quality classnames for torture tests * break up, rearrange recorder session update listener * add comment about disabling startup resize animation * rename session to sessionData * chore(deps): update to latest lib for recording changes
2018-05-16 14:00:16 +00:00
"live": "LIVE",
"localRecordingWarning": "Make sure you select the current tab in order to use the right video and audio. The recording is currently limited to 1GB, which is around 100 minutes.",
"loggedIn": "Logged in as {{userName}}",
ref(notifications): convert some dialogs to error or warning notifica… (#1991) * ref(notifications): convert some dialogs to error or warning notifications - Expand the configurability of the Notification component so warnings and errors can be displayed. - Allow Notification to take in arbitrary text for the body. - Rename defaultTitleKey to titleKey for consistency with descriptionKey. * ref(notifications): remove openReportDialog method openReportDialog is a wrapper around showError that adds a logger statement. It is being called in one place only so remove the method and have that one place call logger. * ref(notifications): UI.showTrackNotWorkingDialog takes a boolean Change UI.showTrackNotWorkingDialog so it takes a boolean arguments instead of the entire track. A small refactor so the method needs to know less. * [squash] Fixes eslint errors * WiP: Fixes desktop sharing error strings and adds support button * [squash] Fix icons appearances * [squash] Fix translate titles and messages * [squash] fix(translation): Fixes incorrect password string * [squash] fix(recording): Fixes recording message * [squash] fix(warning): Turns some warnings to errors and makes support link optional. * [squash] fix(translation): Addressing language comments * [squash] Fixes jsdoc and formatting * [squash] fix(noopener): Fixes window.open noopener * [squash] fix(constants): Extract constants and refactor NotificationWithToggle * [squash] fix(lang): Fixes camera and mic error titles * [squash] fix(supportLink): Renames addSupportLink to hideErrorSupportLink
2017-11-03 19:05:03 +00:00
"off": "Recording stopped",
"offBy": "{{name}} stopped the recording",
"on": "Recording started",
"onBy": "{{name}} started the recording",
"pending": "Preparing to record the meeting...",
feat(recording): frontend logic can support live streaming and recording (#2952) * feat(recording): frontend logic can support live streaming and recording Instead of either live streaming or recording, now both can live together. The changes to facilitate such include the following: - Killing the state storing in Recording.js. Instead state is stored in the lib and updated in redux for labels to display the necessary state updates. - Creating a new container, Labels, for recording labels. Previously labels were manually created and positioned. The container can create a reasonable number of labels and only the container itself needs to be positioned with CSS. The VideoQualityLabel has been shoved into the container as well because it moves along with the recording labels. - The action for updating recording state has been modified to enable updating an array of recording sessions to support having multiple sessions. - Confirmation dialogs for stopping and starting a file recording session have been created, as they previously were jquery modals opened by Recording.js. - Toolbox.web displays live streaming and recording buttons based on configuration instead of recording availability. - VideoQualityLabel and RecordingLabel have been simplified to remove any positioning logic, as the Labels container handles such. - Previous recording state update logic has been moved into the RecordingLabel component. Each RecordingLabel is in charge of displaying state for a recording session. The display UX has been left alone. - Sipgw availability is no longer broadcast so remove logic depending on its state. Some moving around of code was necessary to get around linting errors about the existing code being too deeply nested (even though I didn't touch it). * work around lib-jitsi-meet circular dependency issues * refactor labels to use html base * pass in translation keys to video quality label * add video quality classnames for torture tests * break up, rearrange recorder session update listener * add comment about disabling startup resize animation * rename session to sessionData * chore(deps): update to latest lib for recording changes
2018-05-16 14:00:16 +00:00
"rec": "REC",
"saveLocalRecording": "Save recording file locally",
"serviceDescription": "Your recording will be saved by the recording service",
"serviceDescriptionCloud": "Cloud recording",
"serviceDescriptionCloudInfo": "Recorded meetings are automatically cleared 24h after their recording time.",
"serviceName": "Recording service",
"sessionAlreadyActive": "This session is already being recorded or live streamed.",
"signIn": "Sign in",
"signOut": "Sign out",
"surfaceError": "Please select the current tab.",
"unavailable": "Oops! The {{serviceName}} is currently unavailable. We're working on resolving the issue. Please try again later.",
"unavailableTitle": "Recording unavailable",
"uploadToCloud": "Upload to the cloud"
2016-03-29 17:13:54 +00:00
},
"screenshareDisplayName": "{{name}}'s screen",
2019-01-11 23:33:01 +00:00
"sectionList": {
"pullToRefresh": "Pull to refresh"
},
2020-05-18 12:07:09 +00:00
"security": {
"about": "You can add a $t(lockRoomPassword) to your meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
"aboutReadOnly": "Moderator participants can add a $t(lockRoomPassword) to the meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
"header": "Security Options",
"insecureRoomNameWarning": "The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button."
2020-05-18 12:07:09 +00:00
},
2019-01-11 23:33:01 +00:00
"settings": {
"calendar": {
"about": "The {{appName}} calendar integration is used to securely access your calendar so it can read upcoming events.",
2019-01-11 23:33:01 +00:00
"disconnect": "Disconnect",
"microsoftSignIn": "Sign in with Microsoft",
"signedIn": "Currently accessing calendar events for {{email}}. Click the Disconnect button below to stop accessing calendar events.",
2019-01-11 23:33:01 +00:00
"title": "Calendar"
},
"desktopShareFramerate": "Desktop sharing frame rate",
"desktopShareHighFpsWarning": "A higher frame rate for desktop sharing might affect your bandwidth. You need to restart the screen share for the new settings to take effect.",
"desktopShareWarning": "You need to restart the screen share for the new settings to take effect.",
2019-01-11 23:33:01 +00:00
"devices": "Devices",
"followMe": "Everyone follows me",
"framesPerSecond": "frames-per-second",
"incomingMessage": "Incoming message",
2019-01-11 23:33:01 +00:00
"language": "Language",
"loggedIn": "Logged in as {{name}}",
"maxStageParticipants": "Maximum number of participants who can be pinned to the main stage",
"microphones": "Microphones",
2019-01-11 23:33:01 +00:00
"moderator": "Moderator",
"more": "More",
"name": "Name",
"noDevice": "None",
"participantJoined": "Participant Joined",
"participantLeft": "Participant Left",
"playSounds": "Play sound on",
"reactions": "Meeting reactions",
"sameAsSystem": "Same as system ({{label}})",
2019-01-11 23:33:01 +00:00
"selectAudioOutput": "Audio output",
"selectCamera": "Camera",
"selectMic": "Microphone",
"selfView": "Self view",
"sounds": "Sounds",
"speakers": "Speakers",
2019-01-11 23:33:01 +00:00
"startAudioMuted": "Everyone starts muted",
"startReactionsMuted": "Mute reaction sounds for everyone",
2019-01-11 23:33:01 +00:00
"startVideoMuted": "Everyone starts hidden",
"talkWhileMuted": "Talk while muted",
"title": "Settings"
2019-01-11 23:33:01 +00:00
},
"settingsView": {
"advanced": "Advanced",
"alertCancel": "Cancel",
"alertOk": "OK",
2019-01-11 23:33:01 +00:00
"alertTitle": "Warning",
"alertURLText": "The entered server URL is invalid",
"buildInfoSection": "Build Information",
2019-01-11 23:33:01 +00:00
"conferenceSection": "Conference",
"disableCallIntegration": "Disable native call integration",
"disableCrashReporting": "Disable crash reporting",
"disableCrashReportingWarning": "Are you sure you want to disable crash reporting? The setting will be applied after you restart the app.",
"disableP2P": "Disable Peer-To-Peer mode",
2019-01-11 23:33:01 +00:00
"displayName": "Display name",
"displayNamePlaceholderText": "Eg: John Doe",
2019-01-11 23:33:01 +00:00
"email": "Email",
"header": "Settings",
"profileSection": "Profile",
"serverURL": "Server URL",
"showAdvanced": "Show advanced settings",
2019-01-11 23:33:01 +00:00
"startWithAudioMuted": "Start with audio muted",
"startWithVideoMuted": "Start with video muted",
"version": "Version"
2019-01-11 23:33:01 +00:00
},
"share": {
"dialInfoText": "\n\n=====\n\nJust want to dial in on your phone?\n\n{{defaultDialInNumber}}Click this link to see the dial in phone numbers for this meeting\n{{dialInfoPageUrl}}",
"mainText": "Click the following link to join the meeting:\n{{roomUrl}}"
2019-01-11 23:33:01 +00:00
},
"speaker": "Speaker",
"speakerStats": {
"angry": "Angry",
"disgusted": "Disgusted",
"displayEmotions": "Display emotions",
"fearful": "Fearful",
"happy": "Happy",
"hours": "{{count}}h",
"minutes": "{{count}}m",
2019-01-11 23:33:01 +00:00
"name": "Name",
feat(facial-expressions): add the facial expression feature and display them in speakerstats (#10006) * Initial implementation; Happy flow * Maybe revert this * Functional prototype * feat(facial-expressions): get stream when changing background effect and use presenter effect with camera * add(facial-expressions): array that stores the expressions durin the meeting * refactor(facial-expressions): capture imagebitmap from stream with imagecapture api * add(speaker-stats): expression label * fix(facial-expression): expression store * revert: expression leabel on speaker stats * add(facial-expressions): broadcast of expression when it changes * feat: facial expression handling on prosody * fix(facial-expressions): get the right track when opening and closing camera * add(speaker-stats): facial expression column * fix(facial-expressions): allow to start facial recognition only after joining conference * fix(mod_speakerstats_component): storing last emotion in speaker stats component and sending it * chore(facial-expressions): change detection from 2000ms to 1000ms * add(facial-expressions): send expression to server when there is only one participant * feat(facial-expressions): store expresions as a timeline * feat(mod_speakerstats_component): store facial expresions as a timeline * fix(facial-expressions): stop facial recognition only when muting video track * fix(facial-expressions): presenter mode get right track to detect face * add: polyfils for image capture for firefox and safari * refactor(facial-expressions): store expressions by counting them in a map * chore(facial-expressions): remove manually assigning the backend for tenserflowjs * feat(facial-expressions): move face-api from main thread to web worker * fix(facial-expressions): make feature work on firefox and safari * feat(facial-expressions): camera time tracker * feat(facial-expressions): camera time tracker in prosody * add(facial-expressions): expressions time as TimeElapsed object in speaker stats * fix(facial-expresions): lower the frequency of detection when tf uses cpu backend * add(facial-expressions): duration to the expression and send it with durantion when it is done * fix(facial-expressions): prosody speaker stats covert fro string to number and bool values set by xmpp * refactor(facial-expressions): change expressions labels from text to emoji * refactor(facial-expressions): remove camera time tracker * add(facial-expressions): detection time interval * chore(facial-expressions): add docs and minor refactor of the code * refactor(facial-expressions): put timeout in worker and remove set interval in main thread * feat(facial-expressions): disable feature in the config * add(facial-expressions): tooltips of labels in speaker stats * refactor(facial-expressions): send facial expressions function and remove some unused functions and console logs * refactor(facial-expressions): rename action type when a change is done to the track by the virtual backgrounds to be used in facial expressions middleware * chore(facial-expressions): order imports and format some code * fix(facial-expressions): rebase issues with newer master * fix(facial-expressions): package-lock.json * fix(facial-expression): add commented default value of disableFacialRecognition flag and short description * fix(facial-expressions): change disableFacialRecognition to enableFacialRecognition flag in config * fix: resources load-test package-lock.json * fix(facial-expressions): set and get facial expressions only if facial recognition enabled * add: facial recognition resources folder in .eslintignore * chore: package-lock update * fix: package-lock.json * fix(facial-expressions): gpu memory leak in the web worker * fix(facial-expressions): set cpu time interval for detection to 6000ms * chore(speaker-stats): fix indentation * chore(facial-expressions): remove empty lines between comments and type declarations * fix(facial-expressions): remove camera timetracker * fix(facial-expressions): remove facialRecognitionAllowed flag * fix(facial-expressions): remove sending interval time to worker * refactor(facial-expression): middleware * fix(facial-expression): end tensor scope after setting backend * fix(facial-expressions): sending info back to worker only on facial expression message * fix: lint errors * refactor(facial-expressions): bundle web worker using webpack * fix: deploy-facial-expressions command in makefile * chore: fix load test package-lock.json and package.json * chore: sync package-lock.json Co-authored-by: Mihai-Andrei Uscat <mihai.uscat@8x8.com>
2021-11-17 14:33:03 +00:00
"neutral": "Neutral",
"sad": "Sad",
"search": "Search",
"seconds": "{{count}}s",
"speakerStats": "Speaker Stats",
"speakerTime": "Speaker Time",
"surprised": "Surprised"
2019-01-11 23:33:01 +00:00
},
"startupoverlay": {
"genericTitle": "The meeting needs to use your microphone and camera.",
"policyText": " ",
"title": "{{app}} needs to use your microphone and camera."
2019-01-11 23:33:01 +00:00
},
"suspendedoverlay": {
"rejoinKeyTitle": "Rejoin",
"text": "Press the <i>Rejoin</i> button to reconnect.",
"title": "Your video call was interrupted because this computer went to sleep."
},
"termsView": {
"header": "Terms"
},
2019-01-11 23:33:01 +00:00
"toolbar": {
"Settings": "Settings",
2019-01-11 23:33:01 +00:00
"accessibilityLabel": {
"Settings": "Toggle settings",
2019-01-11 23:33:01 +00:00
"audioOnly": "Toggle audio only",
"audioRoute": "Select the sound device",
"boo": "Boo",
"breakoutRoom": "Join/leave breakout room",
2019-06-24 13:39:22 +00:00
"callQuality": "Manage video quality",
"carmode": "Car Mode",
2019-01-11 23:33:01 +00:00
"cc": "Toggle subtitles",
"chat": "Open / Close chat",
"clap": "Clap",
"collapse": "Collapse",
"dock": "Dock in main window",
2019-01-11 23:33:01 +00:00
"document": "Toggle shared document",
"download": "Download our apps",
"embedMeeting": "Embed meeting",
"expand": "Expand",
2019-01-11 23:33:01 +00:00
"feedback": "Leave feedback",
"fullScreen": "Toggle full screen",
"giphy": "Toggle GIPHY menu",
"grantModerator": "Grant Moderator Rights",
"hangup": "Leave the meeting",
2019-10-11 14:51:42 +00:00
"help": "Help",
2019-01-11 23:33:01 +00:00
"invite": "Invite people",
"kick": "Kick participant",
"laugh": "Laugh",
"like": "Thumbs Up",
"linkToSalesforce": "Link to Salesforce",
"lobbyButton": "Enable/disable lobby mode",
2019-01-11 23:33:01 +00:00
"localRecording": "Toggle local recording controls",
2019-04-18 12:47:52 +00:00
"lockRoom": "Toggle meeting password",
"moreActions": "More actions",
2019-01-11 23:33:01 +00:00
"moreActionsMenu": "More actions menu",
"moreOptions": "Show more options",
"mute": "Mute / Unmute",
"muteEveryone": "Mute everyone",
"muteEveryoneElse": "Mute everyone else",
"muteEveryoneElsesVideoStream": "Stop everyone else's video",
"muteEveryonesVideoStream": "Stop everyone's video",
"participants": "Participants",
2019-01-11 23:33:01 +00:00
"pip": "Toggle Picture-in-Picture mode",
2019-10-07 12:35:04 +00:00
"privateMessage": "Send private message",
2019-01-11 23:33:01 +00:00
"profile": "Edit your profile",
"raiseHand": "Raise / Lower your hand",
"reactionsMenu": "Open / Close reactions menu",
2019-01-11 23:33:01 +00:00
"recording": "Toggle recording",
"remoteMute": "Mute participant",
"remoteVideoMute": "Disable camera of participant",
"security": "Security options",
"selectBackground": "Select Background",
"selfView": "Toggle self view",
2019-01-11 23:33:01 +00:00
"shareRoom": "Invite someone",
"shareYourScreen": "Start / Stop sharing your screen",
"shareaudio": "Share audio",
"sharedvideo": "Toggle video sharing",
2019-01-11 23:33:01 +00:00
"shortcuts": "Toggle shortcuts",
2019-06-19 13:32:09 +00:00
"show": "Show on stage",
"silence": "Silence",
2019-01-11 23:33:01 +00:00
"speakerStats": "Toggle speaker statistics",
"surprised": "Surprised",
2019-01-11 23:33:01 +00:00
"tileView": "Toggle tile view",
"toggleCamera": "Toggle camera",
"toggleFilmstrip": "Toggle filmstrip",
"undock": "Undock into separate window",
"videoblur": "Toggle video blur",
"videomute": "Start / Stop camera"
2019-01-11 23:33:01 +00:00
},
"addPeople": "Add people to your call",
"audioOnlyOff": "Disable low bandwidth mode",
"audioOnlyOn": "Enable low bandwidth mode",
2019-01-11 23:33:01 +00:00
"audioRoute": "Select the sound device",
"audioSettings": "Audio settings",
2019-01-11 23:33:01 +00:00
"authenticate": "Authenticate",
"boo": "Boo",
2019-06-24 13:39:22 +00:00
"callQuality": "Manage video quality",
2019-01-11 23:33:01 +00:00
"chat": "Open / Close chat",
"clap": "Clap",
"closeChat": "Close chat",
"closeReactionsMenu": "Close reactions menu",
"disableReactionSounds": "You can disable reaction sounds for this meeting",
"dock": "Dock in main window",
2019-01-11 23:33:01 +00:00
"documentClose": "Close shared document",
"documentOpen": "Open shared document",
"download": "Download our apps",
"e2ee": "End-to-End Encryption",
"embedMeeting": "Embed meeting",
2019-01-11 23:33:01 +00:00
"enterFullScreen": "View full screen",
"enterTileView": "Enter tile view",
2019-01-11 23:33:01 +00:00
"exitFullScreen": "Exit full screen",
"exitTileView": "Exit tile view",
2019-01-11 23:33:01 +00:00
"feedback": "Leave feedback",
"giphy": "Toggle GIPHY menu",
"hangup": "Leave the meeting",
2019-10-11 14:51:42 +00:00
"help": "Help",
2019-01-11 23:33:01 +00:00
"invite": "Invite people",
"joinBreakoutRoom": "Join breakout room",
"laugh": "Laugh",
"leaveBreakoutRoom": "Leave breakout room",
"like": "Thumbs Up",
"linkToSalesforce": "Link to Salesforce",
"lobbyButtonDisable": "Disable lobby mode",
"lobbyButtonEnable": "Enable lobby mode",
2019-01-11 23:33:01 +00:00
"login": "Login",
"logout": "Logout",
"lowerYourHand": "Lower your hand",
2019-01-11 23:33:01 +00:00
"moreActions": "More actions",
"moreOptions": "More options",
2019-01-11 23:33:01 +00:00
"mute": "Mute / Unmute",
"muteEveryone": "Mute everyone",
"muteEveryonesVideo": "Disable everyone's camera",
"noAudioSignalDesc": "If you did not purposely mute it from system settings or hardware, consider switching the device.",
"noAudioSignalDescSuggestion": "If you did not purposely mute it from system settings or hardware, consider switching to the suggested device.",
"noAudioSignalDialInDesc": "You can also dial-in using:",
"noAudioSignalDialInLinkDesc": "Dial-in numbers",
"noAudioSignalTitle": "There is no input coming from your mic!",
2020-03-04 13:35:22 +00:00
"noisyAudioInputDesc": "It sounds like your microphone is making noise, please consider muting or changing the device.",
"noisyAudioInputTitle": "Your microphone appears to be noisy!",
"openChat": "Open chat",
"openReactionsMenu": "Open reactions menu",
"participants": "Participants",
2019-01-11 23:33:01 +00:00
"pip": "Enter Picture-in-Picture mode",
2019-10-07 12:35:04 +00:00
"privateMessage": "Send private message",
2019-01-11 23:33:01 +00:00
"profile": "Edit your profile",
"raiseHand": "Raise / Lower your hand",
"raiseYourHand": "Raise your hand",
"reactionBoo": "Send boo reaction",
"reactionClap": "Send clap reaction",
"reactionLaugh": "Send laugh reaction",
"reactionLike": "Send thumbs up reaction",
"reactionSilence": "Send silence reaction",
"reactionSurprised": "Send surprised reaction",
"security": "Security options",
"selectBackground": "Select background",
"shareRoom": "Invite someone",
"shareaudio": "Share audio",
2021-05-13 11:36:19 +00:00
"sharedvideo": "Share video",
2019-01-11 23:33:01 +00:00
"shortcuts": "View shortcuts",
"silence": "Silence",
2019-01-11 23:33:01 +00:00
"speakerStats": "Speaker stats",
"startScreenSharing": "Start screen sharing",
"startSubtitles": "Start subtitles",
"stopAudioSharing": "Stop audio sharing",
"stopScreenSharing": "Stop screen sharing",
2021-05-13 11:36:19 +00:00
"stopSharedVideo": "Stop video",
"stopSubtitles": "Stop subtitles",
"surprised": "Surprised",
2019-01-11 23:33:01 +00:00
"talkWhileMutedPopup": "Trying to speak? You are muted.",
"tileViewToggle": "Toggle tile view",
"toggleCamera": "Toggle camera",
"undock": "Undock into separate window",
"videoSettings": "Video settings",
"videomute": "Start / Stop camera"
2019-01-11 23:33:01 +00:00
},
"transcribing": {
"ccButtonTooltip": "Start / Stop subtitles",
"error": "Transcribing failed. Please try again.",
2018-09-11 10:16:01 +00:00
"expandedLabel": "Transcribing is currently on",
"failedToStart": "Transcribing failed to start",
"labelToolTip": "The meeting is being transcribed",
2019-01-11 23:33:01 +00:00
"off": "Transcribing stopped",
"pending": "Preparing to transcribe the meeting...",
"start": "Start showing subtitles",
2019-01-11 23:33:01 +00:00
"stop": "Stop showing subtitles",
"tr": "TR"
},
2019-01-11 23:33:01 +00:00
"userMedia": {
"androidGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"chromeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"edgeGrantPermissions": "Select <b><i>Yes</i></b> when your browser asks for permissions.",
"electronGrantPermissions": "Trying to access your camera and microphone",
2019-01-11 23:33:01 +00:00
"firefoxGrantPermissions": "Select <b><i>Share Selected Device</i></b> when your browser asks for permissions.",
"iexplorerGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions.",
"nwjsGrantPermissions": "Please grant permissions to use your camera and microphone",
"operaGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"react-nativeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"safariGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions."
},
"videoSIPGW": {
"busy": "We're working on freeing resources. Please try again in a few minutes.",
"busyTitle": "The Room service is currently busy",
"errorAlreadyInvited": "{{displayName}} already invited",
2019-01-11 23:33:01 +00:00
"errorInvite": "Conference not established yet. Please try again later.",
"errorInviteFailed": "We're working on resolving the issue. Please try again later.",
"errorInviteFailedTitle": "Inviting {{displayName}} failed",
2019-01-11 23:33:01 +00:00
"errorInviteTitle": "Error inviting room",
"pending": "{{displayName}} has been invited"
},
"videoStatus": {
"adjustFor": "Adjust for:",
feat(recording): frontend logic can support live streaming and recording (#2952) * feat(recording): frontend logic can support live streaming and recording Instead of either live streaming or recording, now both can live together. The changes to facilitate such include the following: - Killing the state storing in Recording.js. Instead state is stored in the lib and updated in redux for labels to display the necessary state updates. - Creating a new container, Labels, for recording labels. Previously labels were manually created and positioned. The container can create a reasonable number of labels and only the container itself needs to be positioned with CSS. The VideoQualityLabel has been shoved into the container as well because it moves along with the recording labels. - The action for updating recording state has been modified to enable updating an array of recording sessions to support having multiple sessions. - Confirmation dialogs for stopping and starting a file recording session have been created, as they previously were jquery modals opened by Recording.js. - Toolbox.web displays live streaming and recording buttons based on configuration instead of recording availability. - VideoQualityLabel and RecordingLabel have been simplified to remove any positioning logic, as the Labels container handles such. - Previous recording state update logic has been moved into the RecordingLabel component. Each RecordingLabel is in charge of displaying state for a recording session. The display UX has been left alone. - Sipgw availability is no longer broadcast so remove logic depending on its state. Some moving around of code was necessary to get around linting errors about the existing code being too deeply nested (even though I didn't touch it). * work around lib-jitsi-meet circular dependency issues * refactor labels to use html base * pass in translation keys to video quality label * add video quality classnames for torture tests * break up, rearrange recorder session update listener * add comment about disabling startup resize animation * rename session to sessionData * chore(deps): update to latest lib for recording changes
2018-05-16 14:00:16 +00:00
"audioOnly": "AUD",
"audioOnlyExpanded": "You are in low bandwidth mode. In this mode you will receive only audio and screen sharing.",
"bestPerformance": "Best performance",
2019-06-24 13:39:22 +00:00
"callQuality": "Video Quality",
feat(quality-slider): initial implementation (#1817) * feat(quality-slider): initial implementation - Add new menu button with an Inline Dialog slider for selecting received video quality. - Place P2P status in redux store for the Inline Dialog to display a warning about not respecting video quality selection. - Respond to data channel open events by setting receive video quality. This is for lonely call cases where a setting is set before the data channel is open. - Remove dropdown menu from video status label and clean up related js and css. * first pass at addressing feedback - Move VideoStatusLabel to video-quality directory. - Rename VideoStatusLabel to VideoQualityLabel. - Open VideoQualitydialog from VideoQualityLabel. - New CSS for making VideoQualityLabel display properly. - Do not render VideoQualityLabel in filmstrip only instead of hiding with css. - Remove tooltip from VideoQualityLabel. - Show LD, SD, HD labels in VideoQualityLabel. - Remove action SET_LARGE_VIDEO_HD_STATUS from conference. - Create new action UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION in large-video. - Move VideoQualityButton into video-quality directory. - General renaming (medium -> standard, menu -> dialog). - Render P2P message between title and slider. - Add padding to slider for displacement caused by P2P message's new placement. - Fix display issue with VideoQualityButton displaying out of line in the primary toolbar. * second pass at addressing feedback - Fix p2p inline message color - Force labels to break on words - Resolve rebase issues, including only dispatching quality update on change. Before there was double calling of dispatch produced by an IE11 workaround. This breaks now when setting audio only mode to true twice. - Rename some instances of quality to definition * rename to data channel opened * do not show p2p in audio only * stop toggle audio only icon automatically * remove fixme about toolbar button * find closest resolution for label * toggle dialog on button click * redo last commit for both button and label
2017-08-09 19:40:03 +00:00
"hd": "HD",
2019-07-25 16:15:32 +00:00
"hdTooltip": "Viewing high definition video",
feat(quality-slider): initial implementation (#1817) * feat(quality-slider): initial implementation - Add new menu button with an Inline Dialog slider for selecting received video quality. - Place P2P status in redux store for the Inline Dialog to display a warning about not respecting video quality selection. - Respond to data channel open events by setting receive video quality. This is for lonely call cases where a setting is set before the data channel is open. - Remove dropdown menu from video status label and clean up related js and css. * first pass at addressing feedback - Move VideoStatusLabel to video-quality directory. - Rename VideoStatusLabel to VideoQualityLabel. - Open VideoQualitydialog from VideoQualityLabel. - New CSS for making VideoQualityLabel display properly. - Do not render VideoQualityLabel in filmstrip only instead of hiding with css. - Remove tooltip from VideoQualityLabel. - Show LD, SD, HD labels in VideoQualityLabel. - Remove action SET_LARGE_VIDEO_HD_STATUS from conference. - Create new action UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION in large-video. - Move VideoQualityButton into video-quality directory. - General renaming (medium -> standard, menu -> dialog). - Render P2P message between title and slider. - Add padding to slider for displacement caused by P2P message's new placement. - Fix display issue with VideoQualityButton displaying out of line in the primary toolbar. * second pass at addressing feedback - Fix p2p inline message color - Force labels to break on words - Resolve rebase issues, including only dispatching quality update on change. Before there was double calling of dispatch produced by an IE11 workaround. This breaks now when setting audio only mode to true twice. - Rename some instances of quality to definition * rename to data channel opened * do not show p2p in audio only * stop toggle audio only icon automatically * remove fixme about toolbar button * find closest resolution for label * toggle dialog on button click * redo last commit for both button and label
2017-08-09 19:40:03 +00:00
"highDefinition": "High definition",
"highestQuality": "Highest quality",
"labelTooiltipNoVideo": "No video",
"labelTooltipAudioOnly": "Low bandwidth mode enabled",
feat(quality-slider): initial implementation (#1817) * feat(quality-slider): initial implementation - Add new menu button with an Inline Dialog slider for selecting received video quality. - Place P2P status in redux store for the Inline Dialog to display a warning about not respecting video quality selection. - Respond to data channel open events by setting receive video quality. This is for lonely call cases where a setting is set before the data channel is open. - Remove dropdown menu from video status label and clean up related js and css. * first pass at addressing feedback - Move VideoStatusLabel to video-quality directory. - Rename VideoStatusLabel to VideoQualityLabel. - Open VideoQualitydialog from VideoQualityLabel. - New CSS for making VideoQualityLabel display properly. - Do not render VideoQualityLabel in filmstrip only instead of hiding with css. - Remove tooltip from VideoQualityLabel. - Show LD, SD, HD labels in VideoQualityLabel. - Remove action SET_LARGE_VIDEO_HD_STATUS from conference. - Create new action UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION in large-video. - Move VideoQualityButton into video-quality directory. - General renaming (medium -> standard, menu -> dialog). - Render P2P message between title and slider. - Add padding to slider for displacement caused by P2P message's new placement. - Fix display issue with VideoQualityButton displaying out of line in the primary toolbar. * second pass at addressing feedback - Fix p2p inline message color - Force labels to break on words - Resolve rebase issues, including only dispatching quality update on change. Before there was double calling of dispatch produced by an IE11 workaround. This breaks now when setting audio only mode to true twice. - Rename some instances of quality to definition * rename to data channel opened * do not show p2p in audio only * stop toggle audio only icon automatically * remove fixme about toolbar button * find closest resolution for label * toggle dialog on button click * redo last commit for both button and label
2017-08-09 19:40:03 +00:00
"ld": "LD",
2019-07-25 16:15:32 +00:00
"ldTooltip": "Viewing low definition video",
feat(quality-slider): initial implementation (#1817) * feat(quality-slider): initial implementation - Add new menu button with an Inline Dialog slider for selecting received video quality. - Place P2P status in redux store for the Inline Dialog to display a warning about not respecting video quality selection. - Respond to data channel open events by setting receive video quality. This is for lonely call cases where a setting is set before the data channel is open. - Remove dropdown menu from video status label and clean up related js and css. * first pass at addressing feedback - Move VideoStatusLabel to video-quality directory. - Rename VideoStatusLabel to VideoQualityLabel. - Open VideoQualitydialog from VideoQualityLabel. - New CSS for making VideoQualityLabel display properly. - Do not render VideoQualityLabel in filmstrip only instead of hiding with css. - Remove tooltip from VideoQualityLabel. - Show LD, SD, HD labels in VideoQualityLabel. - Remove action SET_LARGE_VIDEO_HD_STATUS from conference. - Create new action UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION in large-video. - Move VideoQualityButton into video-quality directory. - General renaming (medium -> standard, menu -> dialog). - Render P2P message between title and slider. - Add padding to slider for displacement caused by P2P message's new placement. - Fix display issue with VideoQualityButton displaying out of line in the primary toolbar. * second pass at addressing feedback - Fix p2p inline message color - Force labels to break on words - Resolve rebase issues, including only dispatching quality update on change. Before there was double calling of dispatch produced by an IE11 workaround. This breaks now when setting audio only mode to true twice. - Rename some instances of quality to definition * rename to data channel opened * do not show p2p in audio only * stop toggle audio only icon automatically * remove fixme about toolbar button * find closest resolution for label * toggle dialog on button click * redo last commit for both button and label
2017-08-09 19:40:03 +00:00
"lowDefinition": "Low definition",
"performanceSettings": "Performance settings",
feat(quality-slider): initial implementation (#1817) * feat(quality-slider): initial implementation - Add new menu button with an Inline Dialog slider for selecting received video quality. - Place P2P status in redux store for the Inline Dialog to display a warning about not respecting video quality selection. - Respond to data channel open events by setting receive video quality. This is for lonely call cases where a setting is set before the data channel is open. - Remove dropdown menu from video status label and clean up related js and css. * first pass at addressing feedback - Move VideoStatusLabel to video-quality directory. - Rename VideoStatusLabel to VideoQualityLabel. - Open VideoQualitydialog from VideoQualityLabel. - New CSS for making VideoQualityLabel display properly. - Do not render VideoQualityLabel in filmstrip only instead of hiding with css. - Remove tooltip from VideoQualityLabel. - Show LD, SD, HD labels in VideoQualityLabel. - Remove action SET_LARGE_VIDEO_HD_STATUS from conference. - Create new action UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION in large-video. - Move VideoQualityButton into video-quality directory. - General renaming (medium -> standard, menu -> dialog). - Render P2P message between title and slider. - Add padding to slider for displacement caused by P2P message's new placement. - Fix display issue with VideoQualityButton displaying out of line in the primary toolbar. * second pass at addressing feedback - Fix p2p inline message color - Force labels to break on words - Resolve rebase issues, including only dispatching quality update on change. Before there was double calling of dispatch produced by an IE11 workaround. This breaks now when setting audio only mode to true twice. - Rename some instances of quality to definition * rename to data channel opened * do not show p2p in audio only * stop toggle audio only icon automatically * remove fixme about toolbar button * find closest resolution for label * toggle dialog on button click * redo last commit for both button and label
2017-08-09 19:40:03 +00:00
"sd": "SD",
2019-07-25 16:15:32 +00:00
"sdTooltip": "Viewing standard definition video",
2019-01-11 23:33:01 +00:00
"standardDefinition": "Standard definition"
},
2019-01-11 23:33:01 +00:00
"videothumbnail": {
2020-12-22 09:12:52 +00:00
"connectionInfo": "Connection Info",
2019-01-11 23:33:01 +00:00
"domute": "Mute",
"domuteOthers": "Mute everyone else",
"domuteVideo": "Disable camera",
"domuteVideoOfOthers": "Disable camera of everyone else",
2019-01-11 23:33:01 +00:00
"flip": "Flip",
"grantModerator": "Grant Moderator Rights",
"hideSelfView": "Hide self view",
2019-01-11 23:33:01 +00:00
"kick": "Kick out",
"moderator": "Moderator",
"mute": "Participant is muted",
2019-01-11 23:33:01 +00:00
"muted": "Muted",
"pinToStage": "Pin to stage",
"remoteControl": "Start / Stop remote control",
"screenSharing": "Participant is sharing their screen",
2019-06-19 13:32:09 +00:00
"show": "Show on stage",
"showSelfView": "Show self view",
"unpinFromStage": "Unpin",
"videoMuted": "Camera disabled",
"videomute": "Participant has stopped the camera"
2019-01-11 23:33:01 +00:00
},
"virtualBackground": {
"addBackground": "Add background",
"apply": "Apply",
"backgroundEffectError": "Failed to apply background effect.",
"blur": "Blur",
"deleteImage": "Delete image",
"desktopShare": "Desktop share",
"desktopShareError": "Could not create desktop share",
"image1": "Beach",
"image2": "White neutral wall",
"image3": "White empty room",
"image4": "Black floor lamp",
"image5": "Mountain",
"image6": "Forest ",
"image7": "Sunrise",
"none": "None",
"pleaseWait": "Please wait...",
"removeBackground": "Remove background",
"slightBlur": "Slight Blur",
"title": "Virtual backgrounds",
"uploadedImage": "Uploaded image {{index}}",
"webAssemblyWarning": "WebAssembly not supported",
"webAssemblyWarningDescription": "WebAssembly disabled or not supported by this browser"
},
"volumeSlider": "Volume slider",
2019-01-11 23:33:01 +00:00
"welcomepage": {
"accessibilityLabel": {
"join": "Tap to join",
"roomname": "Enter room name"
},
"addMeetingName": "Add Meeting name",
"appDescription": "Go ahead, video chat with the whole team. In fact, invite everyone you know. {{app}} is a fully encrypted, 100% open source video conferencing solution that you can use all day, every day, for free — with no account needed.",
2019-01-11 23:33:01 +00:00
"audioVideoSwitch": {
"audio": "Voice",
"video": "Video"
},
2019-01-11 23:33:01 +00:00
"calendar": "Calendar",
"connectCalendarButton": "Connect your calendar",
"connectCalendarText": "Connect your calendar to view all your meetings in {{app}}. Plus, add {{provider}} meetings to your calendar and start them with one click.",
2019-01-11 23:33:01 +00:00
"enterRoomTitle": "Start a new meeting",
2020-03-30 15:26:15 +00:00
"getHelp": "Get help",
2019-01-11 23:33:01 +00:00
"go": "GO",
"goSmall": "GO",
"headerSubtitle": "Secure and high quality meetings",
"headerTitle": "Jitsi Meet",
"info": "Dial-in info",
"jitsiOnMobile": "Jitsi on mobile download our apps and start a meeting from anywhere",
"join": "CREATE / JOIN",
"logo": {
"calendar": "Calendar logo",
"desktopPreviewThumbnail": "Desktop preview thumbnail",
"googleLogo": "Google Logo",
"logoDeepLinking": "Jitsi meet logo",
"microsoftLogo": "Microsoft logo",
"policyLogo": "Policy logo"
},
"mobileDownLoadLinkAndroid": "Download mobile app for Android",
"mobileDownLoadLinkFDroid": "Download mobile app for F-Droid",
"mobileDownLoadLinkIos": "Download mobile app for iOS",
"moderatedMessage": "Or <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">book a meeting URL</a> in advance where you are the only moderator.",
2019-01-11 23:33:01 +00:00
"privacy": "Privacy",
"recentList": "Recent",
"recentListDelete": "Delete entry",
2019-01-11 23:33:01 +00:00
"recentListEmpty": "Your recent list is currently empty. Chat with your team and you will find all your recent meetings here.",
"reducedUIText": "Welcome to {{app}}!",
"roomNameAllowedChars": "Meeting name should not contain any of these characters: ?, &, :, ', \", %, #.",
2019-01-11 23:33:01 +00:00
"roomname": "Enter room name",
"roomnameHint": "Enter the name or URL of the room you want to join. You may make a name up, just let the people you are meeting know it so that they enter the same name.",
"sendFeedback": "Send feedback",
"startMeeting": "Start meeting",
2019-01-11 23:33:01 +00:00
"terms": "Terms",
"title": "Secure, fully featured, and completely free video conferencing"
}
}