jiti-meet/lang/main.json

1173 lines
61 KiB
JSON
Raw Normal View History

{
2019-01-11 23:33:01 +00:00
"addPeople": {
"add": "Invite",
"addContacts": "Invite your contacts",
"copyInvite": "Copy meeting invitation",
"copyLink": "Copy meeting link",
"copyStream": "Copy live streaming link",
"contacts": "contacts",
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",
"headphones": "Headphones",
"phone": "Phone",
"speaker": "Speaker",
"none": "No audio devices available"
2017-11-20 11:13:42 +00:00
},
"audioOnly": {
"audioOnly": "Low bandwidth"
},
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"
},
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",
2019-05-02 20:05:32 +00:00
"messagebox": "Type a message",
2019-10-07 12:35:04 +00:00
"messageTo": "Private message to {{recipient}}",
2019-11-21 14:26:57 +00:00
"noMessagesMessage": "There are no messages in the meeting yet. Start a conversation here!",
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"
},
2019-10-07 12:35:04 +00:00
"privateNotice": "Private message to {{recipient}}",
"message": "Message",
"messageAccessibleTitle": "{{user}} says:",
"messageAccessibleTitleMe": "me says:",
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": {
"installExtensionText": "Install the extension for Google Calendar and Office 365 integration",
"buttonText": "Install Chrome Extension",
"dontShowAgain": "Dont show me this again",
"close": "Close"
},
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:",
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",
"participant_id": "Participant id:",
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}}...",
2019-01-11 23:33:01 +00:00
"tryAgainButton": "Try again in desktop"
},
"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"
},
"dialog": {
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",
"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
"Back": "Back",
"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 occured!",
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.",
"Cancel": "Cancel",
"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.",
"e2eeLabel": "Enable End-to-End Encryption",
"e2eeDisabledDueToMaxModeDescription": "Cannot enable End-to-End Encryption due to large number of participants in the conference.",
"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.",
"enterDisplayName": "Enter your name here",
"embedMeeting": "Embed meeting",
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
"IamHost": "I am the host",
2019-07-10 08:19:00 +00:00
"incorrectRoomLockPassword": "Incorrect password",
2019-01-11 23:33:01 +00:00
"incorrectPassword": "Incorrect username or 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",
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.",
"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",
"logoutQuestion": "Are you sure you want to logout and stop the conference?",
"login": "Login",
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",
"muteEveryoneElseDialog": "Once muted, you won't be able to unmute them, but they can unmute themselves at any time.",
"muteEveryoneElseTitle": "Mute everyone except {{whom}}?",
"muteEveryoneDialog": "The participants can unmute themselves at any time.",
"muteEveryoneDialogModerationOn": "The participants can send a request to speak at any time.",
"muteEveryoneTitle": "Mute everyone?",
"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}}?",
"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?",
"muteEveryoneSelf": "yourself",
"muteEveryoneStartMuted": "Everyone starts muted from now on",
"muteParticipantBody": "You won't be able to unmute them, but they can unmute themselves at any time.",
"muteParticipantButton": "Mute",
2019-01-11 23:33:01 +00:00
"muteParticipantDialog": "Are you sure you want to mute this participant? You won't be able to unmute them, but they can unmute themselves at any time.",
"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.",
"muteParticipantTitle": "Mute this participant?",
"muteParticipantsVideoButton": "Stop video",
"muteParticipantsVideoTitle": "Disable camera of this participant?",
"muteParticipantsVideoBody": "You won't be able to turn the camera back on, but they can turn it back on at any time.",
"noDropboxToken": "No valid Dropbox token",
"Ok": "OK",
"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",
"permissionErrorTitle": "Permission required",
"permissionCameraRequiredError": "Camera permission is required to participate in conferences with video. Please grant it in Settings",
"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",
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",
"Remove": "Remove",
"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.",
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.",
2019-01-11 23:33:01 +00:00
"Share": "Share",
"shareAudio": "Continue",
"shareAudioTitle" : "How to share audio",
"shareAudioWarningTitle": "You need to stop screen sharing before sharing audio",
"shareAudioWarningH1": "If you want to share just 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.",
"shareMediaWarningGenericH2": "If you want to share your screen and audio",
"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.",
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!",
"shareScreenWarningTitle": "You need to stop audio sharing before sharing your screen",
"shareScreenWarningH1": "If you want to share just your screen:",
"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.",
"sharedVideoLinkPlaceholder": "YouTube link or direct video link",
2019-01-11 23:33:01 +00:00
"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",
"Submit": "Submit",
"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!",
"WaitForHostMsg": "The conference <b>{{room}}</b> has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsgWOk": "The conference <b>{{room}}</b> has not yet started. If you are the host then please press Ok to authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHostTitle": "Waiting for the host ...",
2019-01-11 23:33:01 +00:00
"Yes": "Yes",
"yourEntireScreen": "Your entire screen",
"remoteUserControls": "Remote user controls of {{username}}",
"localUserControls": "Local user controls"
2019-01-11 23:33:01 +00:00
},
"dialOut": {
"statusMessage": "is now {{status}}"
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"
},
"virtualBackground": {
"apply": "Apply",
"title": "Virtual backgrounds",
"blur": "Blur",
"slightBlur": "Slight Blur",
"removeBackground": "Remove background",
"addBackground": "Add background",
"pleaseWait": "Please wait...",
"none": "None",
"uploadedImage": "Uploaded image {{index}}",
"deleteImage": "Delete image",
"image1" : "Beach",
"image2" : "White neutral wall",
"image3" : "White empty room",
"image4" : "Black floor lamp",
"image5" : "Mountain",
"image6" : "Forest ",
"image7" : "Sunrise",
"desktopShareError": "Could not create desktop share",
"desktopShare":"Desktop share",
"webAssemblyWarning": "WebAssembly not supported",
"backgroundEffectError": "Failed to apply background effect."
},
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",
"veryBad": "Very Bad",
"veryGood": "Very Good",
"star": "Star"
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:",
"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:",
"copyNumber":"Copy number",
"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}}",
"inviteTextiOSPersonal": "{{name}} is inviting you to a meeting.",
"inviteTextiOSJoinSilent": "If you are dialing-in through a room phone, use this link to join without connecting to audio: {{silentUrl}}.",
"inviteTextiOSInviteUrl": "Click the following link to join: {{inviteUrl}}.",
"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",
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",
"label": "Dial-in info"
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"
},
2019-01-11 23:33:01 +00:00
"inlineDialogFailure": {
"msg": "We stumbled a bit.",
"retry": "Try again",
"support": "Support",
"supportMsg": "If this keeps happening, reach out to"
},
"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",
"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": {
2020-05-28 22:42:02 +00:00
"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>.",
"limitNotificationDescriptionNative": "Your streaming will be limited to {{limit}} min. For unlimited streaming try {{app}}.",
2019-01-11 23:33:01 +00:00
"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.",
"invalidStreamKey": "Live stream key may be incorrect.",
"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",
"signedInAs": "You are currently signed in as:",
"signIn": "Sign in with Google",
"signInCTA": "Sign in or enter your live stream key from YouTube.",
"signOut": "Sign out",
"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",
"googlePrivacyPolicy": "Google Privacy Policy"
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",
2019-01-11 23:33:01 +00:00
"me": "me",
"notify": {
"allowAction": "Allow",
"allowedUnmute": "You can unmute your microphone, start your camera or share your screen.",
"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",
"focus": "Conference focus",
"focusFail": "{{component}} not available - retry in {{ms}} sec",
"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}}",
2019-01-11 23:33:01 +00:00
"me": "Me",
"moderator": "You're now a moderator",
2019-01-11 23:33:01 +00:00
"muted": "You have started the conversation muted.",
"mutedTitle": "You're muted!",
"mutedRemotelyTitle": "You've been muted by {{moderator}}",
"mutedRemotelyDescription": "You can always unmute when you're ready to speak. Mute back when you're done to keep noise away from the meeting.",
"videoMutedRemotelyTitle": "Your video has been turned off by {{moderator}}",
"videoMutedRemotelyDescription": "You can always turn it on again.",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) removed by another participant",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) set by another participant",
"raisedHand": "Would like to speak.",
"screenShareNoAudio": " Share audio box was not checked in the window selection screen.",
"screenShareNoAudioTitle": "Couldn't share system audio!",
2019-01-11 23:33:01 +00:00
"somebody": "Somebody",
"startSilentTitle": "You joined with no audio output!",
"startSilentDescription": "Rejoin the meeting to enable audio",
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",
"newDeviceCameraTitle": "New camera detected",
"newDeviceAudioTitle": "New audio device detected",
"newDeviceAction": "Use",
"OldElectronAPPTitle": "Security vulnerability!",
2020-04-23 17:22:31 +00:00
"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!",
"moderationInEffectDescription": "Please raise hand if you want to speak.",
"moderationInEffectCSDescription": "Please raise hand if you want to share your screen.",
"moderationInEffectVideoDescription": "Please raise your hand if you want to start your camera.",
"moderationInEffectTitle": "Your microphone is muted by the moderator",
"moderationInEffectCSTitle": "Screen sharing is blocked by the moderator",
"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}}",
"raiseHandAction": "Raise hand",
"reactionSounds": "Disable sounds",
"groupTitle": "Notifications"
2019-01-11 23:33:01 +00:00
},
"participantsPane": {
"close": "Close",
"header": "Participants",
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Meeting participants ({{count}})",
"waitingLobby": "Waiting in lobby ({{count}})"
},
"actions": {
"allow": "Allow attendees to:",
"allowVideo": "Allow video",
"audioModeration": "Unmute themselves",
"blockEveryoneMicCamera": "Block everyone's mic and camera",
"invite": "Invite Someone",
"askUnmute": "Ask to unmute",
"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"
}
},
2021-04-09 12:30:25 +00:00
"passwordSetRemotely": "Set by another participant",
"passwordDigitsOnly": "Up to {{number}} digits",
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": {
"create": {
"addOption": "Add option",
"answerPlaceholder": "Option {{index}}",
"create": "Create a poll",
"cancel": "Cancel",
"pollOption" : "Poll option {{index}}",
"pollQuestion" : "Poll Question",
"questionPlaceholder": "Ask a question",
"removeOption": "Remove option",
"send": "Send"
},
"answer": {
"skip": "Skip",
"submit": "Submit"
},
"results": {
"vote": "Vote",
"changeVote": "Change vote",
"empty": "There are no polls in the meeting yet. Start a poll here!",
"hideDetailedResults": "Hide details",
"showDetailedResults": "Show details"
},
"notification": {
"title": "A new poll was added to this meeting",
"description": "Open polls tab to vote"
}
},
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.",
"calling": "Calling",
2020-04-16 10:47:10 +00:00
"callMe": "Call me",
"callMeAtNumber": "Call me at this number:",
"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",
"joinAudioByPhone": "Join with phone audio",
"joinMeeting": "Join meeting",
"joinWithoutAudio": "Join without audio",
"initiated": "Call initiated",
"linkCopied": "Link copied to clipboard",
"lookGood": "Your microphone is working properly",
2020-04-16 10:47:10 +00:00
"or": "or",
"premeeting": "Pre meeting",
"showScreen": "Enable pre meeting screen",
"keyboardShortcuts" : "Enable Keyboard shortcuts",
2020-04-16 10:47:10 +00:00
"startWithPhone": "Start with phone audio",
"screenSharingError": "Screen sharing error:",
"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..."
},
"profile": {
"avatar": "avatar",
2019-01-11 23:33:01 +00:00
"setDisplayNameLabel": "Set your display name",
"setEmailInput": "Enter e-mail",
"setEmailLabel": "Set your gravatar email",
"title": "Profile"
},
"raisedHand": "Would like to speak",
2019-01-11 23:33:01 +00:00
"recording": {
2020-05-28 22:42:02 +00:00
"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>.",
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
2019-01-11 23:33:01 +00:00
"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",
2019-04-23 12:30:46 +00:00
"fileSharingdescription": "Share recording with meeting participants",
"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",
"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",
"serviceDescription": "Your recording will be saved by the recording service",
"serviceDescriptionCloud": "Cloud recording",
"serviceName": "Recording service",
"signIn": "Sign in",
"signOut": "Sign out",
"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
},
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.",
2020-06-11 08:23:08 +00:00
"insecureRoomNameWarning": "The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button.",
"securityOptions": "Security options"
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",
"desktopShareWarning": "You need to restart the screen share for the new settings to take effect.",
"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.",
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}}",
"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",
"sounds": "Sounds",
"speakers": "Speakers",
2019-01-11 23:33:01 +00:00
"startAudioMuted": "Everyone starts muted",
"startVideoMuted": "Everyone starts hidden",
"talkWhileMuted": "Talk while muted",
"title": "Settings"
2019-01-11 23:33:01 +00:00
},
"settingsView": {
"advanced": "Advanced",
2019-01-11 23:33:01 +00:00
"alertOk": "OK",
"alertCancel": "Cancel",
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",
"disableP2P": "Disable Peer-To-Peer mode",
"disableCrashReporting": "Disable crash reporting",
"disableCrashReportingWarning": "Are you sure you want to disable crash reporting? The setting will be applied after you restart the app.",
2019-01-11 23:33:01 +00:00
"displayName": "Display name",
"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": {
"search": "Search",
"hours": "{{count}}h",
"minutes": "{{count}}m",
2019-01-11 23:33:01 +00:00
"name": "Name",
"seconds": "{{count}}s",
2019-01-11 23:33:01 +00:00
"speakerStats": "Speaker Stats",
"speakerTime": "Speaker Time"
},
"startupoverlay": {
"policyText": " ",
"genericTitle": "The meeting needs to use your microphone and camera.",
"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."
},
"toolbar": {
"accessibilityLabel": {
"audioOnly": "Toggle audio only",
"audioRoute": "Select the sound device",
"boo": "Boo",
2019-06-24 13:39:22 +00:00
"callQuality": "Manage video quality",
2019-01-11 23:33:01 +00:00
"cc": "Toggle subtitles",
"chat": "Open / Close chat",
"clap": "Clap",
2019-01-11 23:33:01 +00:00
"document": "Toggle shared document",
"download": "Download our apps",
"embedMeeting": "Embed meeting",
2019-01-11 23:33:01 +00:00
"feedback": "Leave feedback",
"fullScreen": "Toggle full screen",
"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",
"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",
"muteEveryonesVideo": "Disable everyone's video",
"muteEveryoneElsesVideo": "Disable everyone else'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",
2019-01-11 23:33:01 +00:00
"Settings": "Toggle settings",
"shareaudio": "Share audio",
"sharedvideo": "Toggle YouTube video sharing",
2019-01-11 23:33:01 +00:00
"shareRoom": "Invite someone",
"shareYourScreen": "Start / Stop sharing your screen",
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",
"videomute": "Start / Stop camera",
"videoblur": "Toggle video blur",
"selectBackground": "Select Background",
"expand": "Expand",
"collapse": "Collapse"
2019-01-11 23:33:01 +00:00
},
"addPeople": "Add people to your call",
2021-02-23 11:09:22 +00:00
"audioSettings": "Audio settings",
"videoSettings": "Video settings",
"audioOnlyOff": "Disable low bandwidth mode",
"audioOnlyOn": "Enable low bandwidth mode",
2019-01-11 23:33:01 +00:00
"audioRoute": "Select the sound device",
"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",
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",
"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",
"laugh": "Laugh",
"like": "Thumbs Up",
"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",
"noAudioSignalTitle": "There is no input coming from your mic!",
"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",
"noisyAudioInputTitle": "Your microphone appears to be noisy!",
2020-03-04 13:35:22 +00:00
"noisyAudioInputDesc": "It sounds like your microphone is making noise, please consider muting or changing the device.",
"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",
2019-01-11 23:33:01 +00:00
"Settings": "Settings",
"shareaudio": "Share audio",
2021-05-13 11:36:19 +00:00
"sharedvideo": "Share video",
"shareRoom": "Invite someone",
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",
"stopSubtitles": "Stop subtitles",
2021-05-13 11:36:19 +00:00
"stopSharedVideo": "Stop video",
"surprised": "Surprised",
2019-01-11 23:33:01 +00:00
"talkWhileMutedPopup": "Trying to speak? You are muted.",
"tileViewToggle": "Toggle tile view",
"toggleCamera": "Toggle camera",
2019-06-28 17:18:47 +00:00
"videomute": "Start / Stop camera",
"selectBackground": "Select background"
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."
},
"volumeSlider": "Volume slider",
2019-01-11 23:33:01 +00:00
"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": {
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.",
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",
"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",
"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",
"domuteVideo": "Disable camera",
"domuteOthers": "Mute everyone else",
"domuteVideoOfOthers": "Disable camera of everyone else",
2019-01-11 23:33:01 +00:00
"flip": "Flip",
"grantModerator": "Grant Moderator Rights",
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",
"videoMuted": "Camera disabled",
"remoteControl": "Start / Stop remote control",
2019-06-19 13:32:09 +00:00
"show": "Show on stage",
"videomute": "Participant has stopped the camera"
2019-01-11 23:33:01 +00:00
},
"welcomepage": {
"addMeetingName": "Add Meeting name",
2019-01-11 23:33:01 +00:00
"accessibilityLabel": {
"join": "Tap to join",
"roomname": "Enter room 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",
"headerTitle": "Jitsi Meet",
"headerSubtitle": "Secure and high quality meetings",
"info": "Dial-in info",
"join": "CREATE / JOIN",
"jitsiOnMobile": "Jitsi on mobile download our apps and start a meeting from anywhere",
"mobileDownLoadLinkIos": "Download mobile app for iOS",
"mobileDownLoadLinkAndroid": "Download mobile app for Android",
"mobileDownLoadLinkFDroid": "Download mobile app for F-Droid",
"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",
"logo":{
"calendar":"Calendar logo",
"microsoftLogo":"Microsoft logo",
"logoDeepLinking":"Jitsi meet logo",
"desktopPreviewThumbnail":"Desktop preview thumbnail",
"googleLogo":"Google Logo",
"policyLogo":"Policy logo"
}
2020-03-20 17:30:46 +00:00
},
"lonelyMeetingExperience": {
"button": "Invite others",
"youAreAlone": "You are the only one in the meeting"
2020-03-30 15:26:15 +00:00
},
"helpView": {
"header": "Help center"
},
"lobby": {
"admit": "Admit",
"admitAll": "Admit all",
"knockingParticipantList": "Knocking participant list",
"allow": "Allow",
"backToKnockModeButton": "Ask to join",
"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",
2020-05-20 08:25:31 +00:00
"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",
2020-05-20 08:25:31 +00:00
"enterPasswordTitle": "Enter password to join meeting",
"errorMissingPassword": "Please enter the meeting password",
2020-05-20 08:25:31 +00:00
"invalidPassword": "Invalid password",
"joiningMessage": "You'll join the meeting as soon as someone accepts your request",
"joinWithPasswordMessage": "Trying to join with password, please wait...",
"joinRejectedMessage": "Your join request was rejected by a moderator.",
"joinTitle": "Join Meeting",
2020-05-20 08:25:31 +00:00
"joiningTitle": "Asking to join meeting...",
"joiningWithPasswordTitle": "Joining with password...",
"knockButton": "Ask to Join",
"knockTitle": "Someone wants to join the meeting",
"nameField": "Enter your name",
2020-07-06 14:54:33 +00:00
"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",
2020-05-20 08:25:31 +00:00
"passwordField": "Enter meeting password",
"passwordJoinButton": "Join",
2020-05-20 08:25:31 +00:00
"reject": "Reject",
"rejectAll": "Reject all",
2020-05-20 08:25:31 +00:00
"toggleLabel": "Enable lobby"
}
}