2015-03-31 11:35:05 +00:00
{
2021-06-14 16:33:58 +00:00
"addPeople" : {
"add" : "Inviter" ,
"addContacts" : "Inviter vos contacts" ,
"copyInvite" : "Copier l'invitation à la réunion" ,
"copyLink" : "Copier le lien de la réunion" ,
"copyStream" : "Copier le lien de diffusion en direct" ,
"contacts" : "contacts" ,
"countryNotSupported" : "Cette destination n'est pas actuellement supportée." ,
"countryReminder" : "Appel hors des États-Unis ? Veuillez débuter par le code du pays !" ,
"defaultEmail" : "Votre email par défaut" ,
"disabled" : "Vous ne pouvez pas inviter quelqu'un." ,
"failedToAdd" : "Erreur lors de l'ajout des participants" ,
"footerText" : "Appels sortants désactivés." ,
"googleEmail" : "Gmail" ,
"inviteMoreHeader" : "Vous êtes seul(e) dans la réunion" ,
"inviteMoreMailSubject" : "Rejoindre une réunion {{appName}}" ,
"inviteMorePrompt" : "Inviter d'autres personnes" ,
"linkCopied" : "Lien copié dans le presse-papiers" ,
"noResults" : "Aucun résultat de recherche correspondant" ,
"outlookEmail" : "Outlook" ,
"phoneNumbers" : "Numéros de téléphone" ,
"searching" : "Recherche..." ,
"shareInvite" : "Partager l'invitation à la réunion" ,
"shareLink" : "Partager le lien de la réunion pour inviter d'autres personnes" ,
"shareStream" : "Partager le lien de diffusion en direct" ,
"sipAddresses" : "Adresses SIP" ,
"telephone" : "Téléphone : {{number}}" ,
"title" : "Inviter une personne à cette réunion" ,
"yahooEmail" : "Yahoo"
} ,
"audioDevices" : {
"bluetooth" : "Bluetooth" ,
"headphones" : "Écouteurs" ,
"phone" : "Téléphone" ,
"speaker" : "Haut-parleur" ,
"none" : "Aucune source audio n'est disponible"
} ,
"audioOnly" : {
"audioOnly" : "Bande passante faible"
} ,
2021-12-02 14:06:21 +00:00
"blankPage" : {
"meetingEnded" : "Réunion terminée."
} ,
2021-11-20 10:51:55 +00:00
"breakoutRooms" : {
"defaultName" : "Salle annexe #{{index}}" ,
"mainRoom" : "Salle principale" ,
"actions" : {
"add" : "Ajouter salle annexe" ,
2021-12-02 14:06:21 +00:00
"autoAssign" : "Assigner automatiquement aux salles annexes" ,
2021-11-20 10:51:55 +00:00
"close" : "Fermer" ,
"join" : "Rejoindre" ,
"leaveBreakoutRoom" : "Quitter la salle annexe" ,
"more" : "Plus" ,
"remove" : "Supprimer" ,
"sendToBreakoutRoom" : "Envoyer le participant dans:"
2021-12-04 08:56:20 +00:00
} ,
"notifications" : {
"joinedTitle" : "Salles annexes" ,
"joined" : "Entrée en salle annexe \"{{name}}\"" ,
"joinedMainRoom" : "Retour à la salle principalem"
2021-11-20 10:51:55 +00:00
}
} ,
2021-06-14 16:33:58 +00:00
"calendarSync" : {
"addMeetingURL" : "Ajouter un lien de conférence" ,
"confirmAddLink" : "Voulez-vous ajouter un lien Jitsi à cet événement ?" ,
"error" : {
"appConfiguration" : "L'intégration du calendrier n'est pas correctement configurée." ,
"generic" : "Une erreur s'est produite. Veuillez vérifier les paramètres de votre calendrier ou tenter de l'actualiser." ,
"notSignedIn" : "Une erreur d'authentification s'est produite lors de la tentative d'afficher les événements du calendrier. Veuillez vérifier les paramètres de votre calendrier et essayer de nouveau."
2019-07-22 12:57:12 +00:00
} ,
2021-06-14 16:33:58 +00:00
"join" : "Joindre" ,
"joinTooltip" : "Rejoindre la réunion" ,
"nextMeeting" : "prochaine réunion" ,
"noEvents" : "Il n'y a pas d'événement à venir." ,
"ongoingMeeting" : "La réunion en cours" ,
"permissionButton" : "Afficher les réglages" ,
"permissionMessage" : "La permission du calendrier est requise pour afficher vos réunions dans l'application." ,
"refresh" : "Rafraîchir le calendrier" ,
"today" : "Aujourd'hui"
} ,
"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" : "Entrez dans le salon" ,
2021-06-14 16:33:58 +00:00
"error" : "Erreur : votre message n'a pas été envoyé. Raison : {{error}}" ,
"fieldPlaceHolder" : "Tapez votre message ici" ,
"messagebox" : "Saisissez un message" ,
"messageTo" : "Message privé à {{recipient}}" ,
"noMessagesMessage" : "Il n'y a pas encore de messages dans cette réunion. Démarrez une conversation ici !" ,
"nickname" : {
"popover" : "Choisissez un pseudonyme" ,
2021-09-10 18:57:36 +00:00
"title" : "Entrez un pseudonyme pour utiliser le chat" ,
"titleWithPolls" : "Entrez un pseudonyme pour utiliser le chat et les sondages"
2018-01-08 16:03:29 +00:00
} ,
2021-06-14 16:33:58 +00:00
"privateNotice" : "Message privé à {{recipient}}" ,
"message" : "Message" ,
"messageAccessibleTitle" : "{{user}} dit: " ,
"messageAccessibleTitleMe" : "Je dis: " ,
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" : "Panneaux des Émojis" ,
"tabs" : {
2021-09-10 18:57:36 +00:00
"chat" : "Chat" ,
"polls" : "Sondages"
} ,
"title" : "Chat" ,
"titleWithPolls" : "Chat et Sondages" ,
"you" : "vous"
2021-06-14 16:33:58 +00:00
} ,
"chromeExtensionBanner" : {
"installExtensionText" : "Installer l'extension pour l'intégration de Google Calendar et Office 365" ,
"buttonText" : "Installer l'extension Chrome" ,
"dontShowAgain" : "Ne plus me montrer ceci" ,
"close" : "Fermer"
} ,
"connectingOverlay" : {
"joiningRoom" : "Connexion à la réunion ..."
} ,
"connection" : {
"ATTACHED" : "Attachée" ,
"AUTHENTICATING" : "Authentification en cours" ,
"AUTHFAIL" : "Échec de l'authentification" ,
"CONNECTED" : "Connecté" ,
"CONNECTING" : "Connexion en cours" ,
"CONNFAIL" : "Échec de la connexion" ,
"DISCONNECTED" : "Déconnecté" ,
"DISCONNECTING" : "Déconnexion en cours" ,
"ERROR" : "Erreur" ,
"FETCH_SESSION_ID" : "Obtention d'un identifiant de session ..." ,
"GET_SESSION_ID_ERROR" : "Obtenir une erreur d'identifiant de session : {{code}}" ,
"GOT_SESSION_ID" : "Obtention d'un identifiant de session ... Terminée" ,
"LOW_BANDWIDTH" : "La vidéo de {{displayName}} a été coupée pour économiser de la bande passante"
} ,
"connectionindicator" : {
"address" : "Adresse :" ,
"audio_ssrc" : "Audio SSRC :" ,
"bandwidth" : "Bande passante estimée :" ,
"bitrate" : "Débit :" ,
"bridgeCount" : "Nombre de serveurs :" ,
"codecs" : "Codecs (A/V) :" ,
"connectedTo" : "Connecté à :" ,
"e2e_rtt" : "E2E RTT :" ,
"framerate" : "Images par seconde :" ,
"less" : "Cacher les détails" ,
"localaddress" : "Adresse locale :" ,
"localaddress_plural" : "Adresses locales :" ,
"localport" : "Port local :" ,
"localport_plural" : "Ports locaux :" ,
"maxEnabledResolution" : "débit max" ,
"more" : "Montrer les détails" ,
"packetloss" : "Perte de paquets :" ,
"quality" : {
"good" : "Bien" ,
"inactive" : "Inactif" ,
"lost" : "Perdu" ,
"nonoptimal" : "Non-optimale" ,
"poor" : "Mauvaise"
2017-01-18 23:57:21 +00:00
} ,
2021-06-14 16:33:58 +00:00
"remoteaddress" : "Adresse distante :" ,
"remoteaddress_plural" : "Adresses distantes :" ,
"remoteport" : "Port distant :" ,
"remoteport_plural" : "Ports distants :" ,
"resolution" : "Résolution :" ,
"savelogs" : "Enregistrer les logs" ,
"participant_id" : "ID du participant:" ,
"status" : "Connexion :" ,
"transport" : "Transport :" ,
"transport_plural" : "Transports :" ,
"video_ssrc" : "Video SSRC :"
} ,
"dateUtils" : {
"earlier" : "Plus tôt" ,
"today" : "Aujourd'hui" ,
"yesterday" : "Hier"
} ,
"deepLinking" : {
"appNotInstalled" : "Vous avez besoin de l'application mobile {{app}} pour participer à cette réunion avec votre téléphone." ,
"description" : "Rien ne s'est passé ? Nous avons essayé de lancer votre réunion dans l'application de bureau {{app}}. Essayez à nouveau ou lancez-la dans l'application web {{app}}." ,
"descriptionWithoutWeb" : "Rien ne s'est passé ? Nous avons essayé de démarrer votre réunion dans l'application bureau {{app}}." ,
"downloadApp" : "Télécharger l'application" ,
"ifDoNotHaveApp" : "Si vous n'avez pas encore l'application:" ,
"ifHaveApp" : "Si vous avez déjà installé l'application:" ,
"joinInApp" : "Rejoindre la réunion en utilisant l'application" ,
"launchWebButton" : "Lancer dans le navigateur" ,
"title" : "Lancement de votre réunion dans {{app}} en cours ..." ,
"tryAgainButton" : "Réessayez sur le bureau"
} ,
"defaultLink" : "ex. {{url}}" ,
"defaultNickname" : "ex. Jean Dupont" ,
"deviceError" : {
"cameraError" : "Impossible d'accéder à votre caméra" ,
"cameraPermission" : "Erreur lors de l'obtention de la permission de la caméra" ,
"microphoneError" : "Impossible d'accéder à votre microphone" ,
"microphonePermission" : "Erreur lors de l'obtention de la permission du microphone"
} ,
"deviceSelection" : {
"noPermission" : "Permission non accordée" ,
"previewUnavailable" : "Aperçu non disponible" ,
"selectADevice" : "Sélectionner un périphérique" ,
"testAudio" : "Tester la sortie audio"
} ,
"dialog" : {
"accessibilityLabel" : {
"liveStreaming" : "Diffusion en direct"
2015-03-31 11:35:05 +00:00
} ,
2021-06-14 16:33:58 +00:00
"add" : "Ajouter" ,
"allow" : "Autoriser" ,
"alreadySharedVideoMsg" : "Un autre participant est en train de partager sa vidéo. Cette conférence ne permet de partager qu'une seule vidéo à la fois." ,
"alreadySharedVideoTitle" : "Une seule vidéo partagée est autorisée à la fois" ,
"applicationWindow" : "Fenêtre d'application" ,
"authenticationRequired" : "Authentification requise" ,
"Back" : "Retour" ,
"cameraConstraintFailedError" : "Votre caméra ne satisfait pas certaines des contraintes nécessaires." ,
"cameraNotFoundError" : "La caméra n'a pas été trouvée." ,
2021-10-25 10:00:32 +00:00
"cameraNotSendingData" : "Impossible d'accéder à votre caméra. Veuillez sélectionner un autre périphérique dans les paramètres ou rafraîchir la page." ,
2021-06-14 16:33:58 +00:00
"cameraNotSendingDataTitle" : "Impossible d'accéder à votre caméra" ,
"cameraPermissionDeniedError" : "Vous n'avez pas autorisé l'utilisation de votre caméra. Vous pouvez toujours participer à la conférence, mais les autres ne pourront pas vous voir. Utilisez le bouton de la caméra dans la barre d'adresse pour résoudre ce problème." ,
"cameraTimeoutError" : "Impossible de démarrer la source vidéo. Délai dépassé!" ,
"cameraUnknownError" : "Vous ne pouvez pas utiliser la caméra pour une raison inconnue." ,
"cameraUnsupportedResolutionError" : "Votre appareil ne prend pas en charge la résolution vidéo requise." ,
"Cancel" : "Annuler" ,
"close" : "Fermer" ,
"conferenceDisconnectMsg" : "Veuillez vérifier votre connexion réseau. Reconnexion dans {{seconds}} sec ..." ,
"conferenceDisconnectTitle" : "Vous avez été déconnecté." ,
"conferenceReloadMsg" : "On essaie d'arranger ça. Reconnexion dans {{seconds}} secondes ..." ,
"conferenceReloadTitle" : "Malheureusement, un problème est survenu" ,
"confirm" : "Confirmer" ,
"confirmNo" : "Non" ,
"confirmYes" : "Oui" ,
"connectError" : "Oups ! Un problème est survenu et la connexion à la conférence est impossible." ,
"connectErrorWithMsg" : "Oups ! Un problème est survenu et la connexion à la conférence est impossible : {{msg}}" ,
"connecting" : "Connexion en cours" ,
"contactSupport" : "Contacter le support" ,
"copied" : "Copié" ,
"copy" : "Copier" ,
"dismiss" : "Rejeter" ,
"displayNameRequired" : "Bonjour ! Quel est votre nom ?" ,
"done" : "Terminé" ,
2021-10-25 10:00:32 +00:00
"e2eeDescription" : "Le chiffrement de Bout-en-Bout est actuellement EXPERIMENTAL. Veuillez garder à l'esprit que l'activation du chiffrement de Bout-en-Bout désactivera les services fournis côté serveur tels que : l'enregistrement, la diffusion en direct et la participation par téléphone. Gardez également à l'esprit que la réunion ne fonctionnera que pour les personnes qui se connectent à partir de navigateurs prenant en charge les flux insérables." ,
2021-06-14 16:33:58 +00:00
"e2eeLabel" : "Activer le chiffrement de Bout-en-Bout" ,
2021-10-25 10:00:32 +00:00
"e2eeDisabledDueToMaxModeDescription" : "Impossible d'activer le chiffrement de bout en bout en raison du trop grand nombre de participants à la conférence." ,
2021-06-14 16:33:58 +00:00
"e2eeWarning" : "ATTENTION : Tous les participants de cette réunion ne semblent pas prendre en charge le chiffrement de Bout-en-Bout. Si vous activez le chiffrement, ils ne pourront ni vous voir, ni vous entendre." ,
2021-10-25 10:00:32 +00:00
"e2eeWillDisableDueToMaxModeDescription" : "ATTENTION: le chiffrement de bout en bout sera automatiquement arrêté si plus de participants joignent la conférence." ,
2021-06-14 16:33:58 +00:00
"enterDisplayName" : "Merci de saisir votre nom ici" ,
"embedMeeting" : "Intégrer la réunion" ,
"error" : "Erreur" ,
"gracefulShutdown" : "Notre service est actuellement en maintenance. Veuillez réessayer plus tard." ,
"grantModeratorDialog" : "Êtes-vous sûr de vouloir rendre ce participant modérateur ?" ,
"grantModeratorTitle" : "Nommer modérateur" ,
"IamHost" : "Je suis l'hôte" ,
2021-10-25 10:00:32 +00:00
"hideShareAudioHelper" : "Ne pas montrer ce dialogue à nouveau" ,
2021-06-14 16:33:58 +00:00
"incorrectRoomLockPassword" : "Mot de passe incorrect" ,
"incorrectPassword" : "Nom d'utilisateur ou mot de passe incorrect" ,
"internalError" : "Oups ! Quelque chose s'est mal passée. L'erreur suivante s'est produite : {{error}}" ,
"internalErrorTitle" : "Erreur interne" ,
"kickMessage" : "Vous pouvez contacter {{participantDisplayName}} pour plus de détails." ,
"kickParticipantButton" : "Expulser" ,
"kickParticipantDialog" : "Êtes-vous sûr(e) de vouloir expulser ce participant ?" ,
"kickParticipantTitle" : "Expulser ce participant ?" ,
"kickTitle" : "Oups ! vous avez été expulsé(e) par {{participantDisplayName}}" ,
"liveStreaming" : "Direct" ,
"liveStreamingDisabledBecauseOfActiveRecordingTooltip" : "Impossible durant l'enregistrement" ,
2021-10-25 10:00:32 +00:00
"liveStreamingDisabledTooltip" : "La diffusion en direct est désactivée" ,
2021-06-14 16:33:58 +00:00
"lockMessage" : "Impossible de verrouiller la conférence." ,
"lockRoom" : "Ajouter un $t(lockRoomPassword) à la réunion " ,
"lockTitle" : "Échec du verrouillage" ,
"login" : "Connexion" ,
"logoutQuestion" : "Voulez-vous vraiment vous déconnecter et arrêter la conférence ?" ,
"logoutTitle" : "Déconnexion" ,
2021-10-25 10:00:32 +00:00
"maxUsersLimitReached" : "Le nombre maximal de participants est atteint. Le conférence est complète. Merci de contacter l'organisateur de la réunion ou réessayer plus tard !" ,
2021-06-14 16:33:58 +00:00
"maxUsersLimitReachedTitle" : "Le nombre maximal de participants est atteint" ,
"micConstraintFailedError" : "Votre microphone ne satisfait pas certaines des contraintes nécessaires." ,
"micNotFoundError" : "Le microphone n'a pas été détecté." ,
"micNotSendingData" : "Accédez aux paramètres de votre ordinateur pour réactiver le micro et ajuster son niveau" ,
"micNotSendingDataTitle" : "Votre micro est coupé par les paramètres de votre système" ,
"micPermissionDeniedError" : "Vous n'avez pas autorisé l'utilisation de votre microphone. Vous pouvez toujours participer à la conférence, mais les autres ne vont pas vous entendre. Utilisez le bouton du microphone dans la barre d'adresse pour résoudre ce problème." ,
"micTimeoutError" : "Impossible de démarrer la source audio. Délai dépassé!" ,
"micUnknownError" : "Vous ne pouvez pas utiliser le microphone pour une raison inconnue." ,
2021-09-24 22:02:26 +00:00
"moderationAudioLabel" : "Autoriser les participants à réactiver leur micro" ,
"moderationVideoLabel" : "Autoriser les participants à démarrer leur vidéo" ,
2021-06-14 16:33:58 +00:00
"muteEveryoneElseDialog" : "Une fois leur micro coupé, vous ne pourrez plus le réactiver, mais ils pourront l'activer par eux-mêmes à tout moment." ,
"muteEveryoneElseTitle" : "Couper le micro de tout le monde sauf de {{whom}} ?" ,
"muteEveryoneDialog" : "Êtes-vous sûr de vouloir couper les micros de tout le monde ? Vous ne pourrez plus réactiver leur micro, mais ils pourront l'activer par eux-mêmes à tout moment." ,
2021-10-25 10:00:32 +00:00
"muteEveryoneDialogModerationOn" : "Les participants peuvent demander à parler n'importe quand" ,
2021-06-14 16:33:58 +00:00
"muteEveryoneTitle" : "Couper le micro de tout le monde ?" ,
"muteEveryoneElsesVideoDialog" : "Une fois la caméra coupée, vous ne pourrez plus la rallumer, mais ils peuvent la rallumer à tout moment." ,
"muteEveryoneElsesVideoTitle" : "Couper la vidéo de tout le monde sauf {{whom}}?" ,
"muteEveryonesVideoDialog" : "Êtes-vous sûr de vouloir couper la caméra de tout le monde? Vous ne pourrez pas la réactiver, mais ils peuvent la remettre à tout moment." ,
2021-10-25 10:00:32 +00:00
"muteEveryonesVideoDialogModerationOn" : "Les participants peuvent demander à activer leur caméra n'importe quand." ,
2021-06-14 16:33:58 +00:00
"muteEveryonesVideoDialogOk" : "Désactiver" ,
"muteEveryonesVideoTitle" : "Couper la caméra de tout le monde?" ,
"muteEveryoneSelf" : "vous" ,
"muteEveryoneStartMuted" : "Tout le monde démarre avec le micro coupé" ,
"muteParticipantBody" : "Vous ne pourrez plus réactiver son micro, mais il pourra l'activer par lui-même à tout moment." ,
"muteParticipantButton" : "Couper le micro" ,
2021-11-20 10:51:55 +00:00
"muteParticipantsVideoDialog" : "Êtes-vous sûr(e) de vouloir couper la caméra de ce participant ? Seul le participant pourra ensuite réactiver son micro à tout moment." ,
"muteParticipantsVideoDialogModerationOn" : "Êtes-vous sûr(e) de vouloir couper la caméra de ce participant ? Ni vous ni le participant ne pourront la réactiver ensuite ?" ,
2021-06-14 16:33:58 +00:00
"muteParticipantsVideoButton" : "Couper la caméra" ,
"muteParticipantsVideoTitle" : "Couper la caméra de ce participant?" ,
"muteParticipantsVideoBody" : "Vous ne pourrez pas rallumer la caméra, mais ils peuvent la rallumer à tout moment." ,
2021-11-20 10:51:55 +00:00
"muteParticipantsVideoBodyModerationOn" : "Ni vous ni le participant ne pourront rallumer la caméra." ,
2021-10-25 10:00:32 +00:00
"noDropboxToken" : "Pas de jeton Dropbox valide" ,
2021-06-14 16:33:58 +00:00
"Ok" : "Ok" ,
"password" : "Mot de passe" ,
"passwordLabel" : "La réunion a été verrouillée par un(e) participant(e). Veuillez entrer le $t(lockRoomPassword) pour la rejoindre." ,
"passwordNotSupported" : "La définition d'un $t(lockRoomPassword) de réunion n'est pas prise en charge." ,
"passwordNotSupportedTitle" : "L'ajout d'un $t(lockRoomPassword) n'est pas supporté" ,
"passwordRequired" : "$t(lockRoomPasswordUppercase) requis" ,
2021-10-25 10:00:32 +00:00
"permissionErrorTitle" : "Permission nécessaire" ,
"permissionCameraRequiredError" : "L'autorisation caméra est nécessaire pour participer aux réunions avec vidéo. Merci de l'accorder dans les paramètres" ,
"permissionMicRequiredError" : "L'autorisation microphone est nécessaire pour participer aux réunions avec son. Merci de l'accorder dans les paramètres" ,
2021-06-14 16:33:58 +00:00
"popupError" : "Votre navigateur bloque les fenêtres pop-up. Veuillez autoriser les fenêtres pop-up dans les paramètres de votre navigateur." ,
"popupErrorTitle" : "Pop-up bloquée" ,
"readMore" : "plus" ,
"recording" : "Enregistrement" ,
"recordingDisabledBecauseOfActiveLiveStreamingTooltip" : "Impossible durant le direct" ,
"recordingDisabledTooltip" : "L'enregistrement est désactivé." ,
"rejoinNow" : "Rejoindre maintenant" ,
"remoteControlAllowedMessage" : "{{user}} a accepté votre demande de prise en main à distance !" ,
"remoteControlDeniedMessage" : "{{user}} a refusé votre demande de prise en main à distance !" ,
"remoteControlErrorMessage" : "Une erreur s'est produite lors de la demande d'autorisation de prise en main à distance avec {{user}} !" ,
"remoteControlRequestMessage" : "Voulez-vous autoriser {{user}} à contrôler votre bureau ?" ,
"remoteControlShareScreenWarning" : "Si vous appuyez sur \"Autoriser\", vous allez partager votre écran !" ,
"remoteControlStopMessage" : "La prise en main à distance est terminée !" ,
"remoteControlTitle" : "Contrôle de bureau à distance" ,
"Remove" : "Supprimer" ,
"removePassword" : "Supprimer le $t(lockRoomPassword)" ,
"removeSharedVideoMsg" : "Voulez-vous vraiment supprimer votre vidéo partagée ?" ,
"removeSharedVideoTitle" : "Supprimer la vidéo partagée" ,
"reservationError" : "Erreur du système de réservation" ,
"reservationErrorMsg" : "Code d'erreur: {{code}}, message: {{msg}}" ,
"retry" : "Réessayer" ,
"screenSharingAudio" : "Partager l'audio" ,
2021-10-25 10:00:32 +00:00
"screenSharingFailed" : "Houla ! Quelque chose s'est mal passé, nous n'avons pas pu démarrer le partage d'écran !" ,
2021-06-14 16:33:58 +00:00
"screenSharingFailedTitle" : "Echec du partage d'écran !" ,
2021-10-25 10:00:32 +00:00
"screenSharingPermissionDeniedError" : "Houla ! Un problème est survenu avec vos autorisations de partage d'écran. Veuillez réessayer." ,
2021-06-14 16:33:58 +00:00
"sendPrivateMessage" : "Vous avez récemment reçu un message privé. Aviez-vous l'intention d'y répondre en privé, ou vouliez-vous envoyer votre message au groupe ?" ,
"sendPrivateMessageCancel" : "Envoyer au groupe" ,
"sendPrivateMessageOk" : "Envoyer en privé" ,
"sendPrivateMessageTitle" : "Envoyer en privé ?" ,
"serviceUnavailable" : "Service indisponible" ,
"sessTerminated" : "Appel terminé" ,
2021-10-25 10:00:32 +00:00
"sessionRestarted" : "L'appel est relancé par la passerelle" ,
2021-06-14 16:33:58 +00:00
"Share" : "Partager" ,
2021-10-25 10:00:32 +00:00
"shareAudio" : "Continuer" ,
"shareAudioTitle" : "Comment partager le son" ,
"shareAudioWarningTitle" : "Vous devez cesser de partager l'écran avant de partager l'audio" ,
"shareAudioWarningH1" : "Si vous voulez partager uniquement de l'audio:" ,
"shareAudioWarningD1" : "vous devez cesser le partage d'écran avant de partager votre son." ,
"shareAudioWarningD2" : "viys devez partager votre écran à nouveau et cocher l'ootion \"Partager l'audio\"." ,
"shareMediaWarningGenericH2" : "Si vous voulez partager votre écran et l'audio" ,
2021-06-14 16:33:58 +00:00
"shareVideoLinkError" : "Veuillez renseigner un lien Youtube fonctionnel." ,
"shareVideoTitle" : "Partager une vidéo" ,
"shareYourScreen" : "Partager votre écran" ,
"shareYourScreenDisabled" : "Le partage d'écran est désactivé." ,
"startLiveStreaming" : "Démarrer la diffusion en direct" ,
"startRecording" : "Commencer l'enregistrement" ,
"startRemoteControlErrorMessage" : "Une erreur est survenue lors de la tentative de démarrage de la session de contrôle à distance !" ,
2021-10-25 10:00:32 +00:00
"shareScreenWarningTitle" : "Vous devez cesser de partager votre audio avant de partager votre écran" ,
"shareScreenWarningH1" : "Si vous voulez partager uniquement votre écran:" ,
"shareScreenWarningD1" : "vous devez arrêter le partage d'audio avant de partager votre écran." ,
"shareScreenWarningD2" : "vous devez arrêter le partage d'audio, démarrer le partage d'écran et cocher l'option \"Partager l'audio\"." ,
"sharedVideoLinkPlaceholder" : "lien YouTube ou lien vidéo direct" ,
2021-06-14 16:33:58 +00:00
"stopLiveStreaming" : "Arrêter la diffusion en direct" ,
"stopRecording" : "Arrêter l'enregistrement" ,
"stopRecordingWarning" : "Désirez-vous vraiment arrêter l'enregistrement ?" ,
"stopStreamingWarning" : "Désirez-vous vraiment arrêter le direct ?" ,
"streamKey" : "Clé Live stream" ,
"Submit" : "Soumettre" ,
"thankYou" : "Merci d'avoir utilisé {{appName}} !" ,
"token" : "jeton" ,
"tokenAuthFailed" : "Désolé, vous n'êtes pas autorisé à rejoindre cette conversation." ,
"tokenAuthFailedTitle" : "Échec de l'authentification" ,
"transcribing" : "Transcription" ,
"unlockRoom" : "Supprimer le $t(lockRoomPassword) de la réunion" ,
"user" : "Utilisateur" ,
"userIdentifier" : "Identifiant utilisateur" ,
"userPassword" : "mot de passe utilisateur" ,
"videoLink" : "Lien de la vidéo" ,
2021-10-25 10:00:32 +00:00
"viewUpgradeOptions" : "Voir les options de mise à jour" ,
"viewUpgradeOptionsContent" : "Pour obtenir un accès illimité à des capacités premium comme l'enregistrement, les transcriptions, diffusion RTMP et plus, vous devez mettre à jour votre plan." ,
"viewUpgradeOptionsTitle" : "Vous avez découvert une capacité premium !" ,
2021-06-14 16:33:58 +00:00
"WaitForHostMsg" : "La conférence <b>{{room}}</b> n'a pas encore commencé. Si vous en êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre son arrivée." ,
"WaitForHostMsgWOk" : "La conférence <b>{{room}}</b> n'a pas encore commencé. Si vous en êtes l'hôte, veuillez appuyer sur Ok pour vous authentifier. Sinon, veuillez attendre son arrivée." ,
2021-10-25 10:00:32 +00:00
"WaitingForHostTitle" : "En attente de l'hôte ..." ,
2021-06-14 16:33:58 +00:00
"Yes" : "Oui" ,
"yourEntireScreen" : "Votre écran entier" ,
"remoteUserControls" : "Contrôles de l'utilisateur distant {{username}}" ,
"localUserControls" : "Contrôles de l'utilisateur local"
} ,
"dialOut" : {
"statusMessage" : "est maintenant {{status}}"
} ,
"documentSharing" : {
"title" : "Document partagé"
} ,
"e2ee" : {
2021-10-25 10:00:32 +00:00
"labelToolTip" : "Le son et la vidéo de cette conférence sont chiffrés de Bout-en-Bout"
2021-06-14 16:33:58 +00:00
} ,
"embedMeeting" : {
"title" : "Intégrer cette réunion"
} ,
"virtualBackground" : {
"apply" : "Appliquer" ,
"title" : "Arrière-plan virtuel" ,
"blur" : "Flou" ,
"slightBlur" : "Léger flou" ,
"removeBackground" : "Supprimer l'arrière-plan" ,
"addBackground" : "Ajouter un arrière-plan" ,
"pleaseWait" : "Veuillez patienter..." ,
"none" : "Rien" ,
"uploadedImage" : "Image téléversée {{index}}" ,
"deleteImage" : "Supprimer l'image" ,
"image1" : "Plage" ,
"image2" : "Mur blanc neutre" ,
"image3" : "Pièce vide blanche" ,
"image4" : "Lampadaire noir" ,
"image5" : "Montagne" ,
"image6" : "Forêt " ,
2021-10-25 10:00:32 +00:00
"image7" : "Lever de soleil" ,
2021-06-14 16:33:58 +00:00
"desktopShareError" : "Impossible de créer le partage de bureau" ,
2021-10-25 10:00:32 +00:00
"desktopShare" : "Partage de bureau" ,
"webAssemblyWarning" : "WebAssembly non supporté" ,
"backgroundEffectError" : "Erreur dans l'application de l'effet d'arrière-plan."
2021-06-14 16:33:58 +00:00
} ,
"feedback" : {
"average" : "Moyen" ,
"bad" : "Mauvais" ,
"detailsLabel" : "Dites nous en plus à ce sujet." ,
"good" : "Bien" ,
"rateExperience" : "Veuillez évaluer votre expérience" ,
"veryBad" : "Très mauvais" ,
"veryGood" : "Très bon" ,
"star" : "Étoile"
} ,
"incomingCall" : {
"answer" : "Répondre" ,
"audioCallTitle" : "Appel entrant" ,
"decline" : "Rejeter" ,
"productLabel" : "via Jitsi Meet" ,
"videoCallTitle" : "Appel vidéo entrant"
} ,
"info" : {
"accessibilityLabel" : "Afficher les informations" ,
"addPassword" : "Ajouter un $t(lockRoomPassword)" ,
"cancelPassword" : "Supprimer le $t(lockRoomPassword)" ,
"conferenceURL" : "Lien :" ,
"country" : "Pays" ,
"dialANumber" : "Pour rejoindre votre réunion, composez l'un de ces numéros, puis saisissez le code confidentiel." ,
"dialInConferenceID" : "PIN :" ,
"copyNumber" : "Copier le numéro" ,
"dialInNotSupported" : "Désolé, l'accès par téléphone n'est pas pris en charge pour l'instant." ,
"dialInNumber" : "Composer :" ,
"dialInSummaryError" : "Erreur lors de la récupération des informations de numérotation. Veuillez réessayer plus tard." ,
"dialInTollFree" : "Numéro gratuit" ,
"genericError" : "Oups, quelque chose a mal tourné." ,
"inviteLiveStream" : "Pour voir la diffusion en direct de cette réunion, cliquez sur ce lien : {{url}}" ,
"invitePhone" : "Pour rejoindre depuis un téléphone, saisissez : {{number}},,{{conferenceID}}#\n" ,
2021-10-25 10:00:32 +00:00
"invitePhoneAlternatives" : "Vous cherchez un numéro d'appel différent ?\nAfficher les numéros d'appel de la réunion: {{url}}\n\n\nSi vous appelez également via un téléphone de réunion, vous pouvez vous connecter sans audio: {{silentUrl}}" ,
2021-06-14 16:33:58 +00:00
"inviteSipEndpoint" : "Pour rejoindre en utilisant l'adresse SIP, entrez ceci : {{sipUri}}" ,
2021-10-25 10:00:32 +00:00
"inviteTextiOSPersonal" : "{{name}} vous invite à une réunion." ,
"inviteTextiOSJoinSilent" : "Si vous téléphonez avec un téléphone de réunion, utilisez ce lien pour rejoindre sans vous connecter en audio: {{silentUrl}}." ,
"inviteTextiOSInviteUrl" : "Clickez le lien suivant pour rejoindre: {{inviteUrl}}." ,
"inviteTextiOSPhone" : "Pour rejoindre par téléphone, utilisez ce numéro: {{number}},,{{conferenceID}}#. Si vous voulez utiliser un autre numéro, voici la liste complête: {{didUrl}}." ,
2021-06-14 16:33:58 +00:00
"inviteURLFirstPartGeneral" : "Vous êtes invité(e) à participer à une réunion." ,
"inviteURLFirstPartPersonal" : "{{name}} vous invite à une réunion.\n" ,
"inviteURLSecondPart" : "\nRejoindre la réunion :\n{{url}}\n" ,
"liveStreamURL" : "Diffusion en direct :" ,
"moreNumbers" : "Plus de numéros " ,
"noNumbers" : "Numéros non trouvés" ,
"noPassword" : "Aucun" ,
"noRoom" : "Aucune réunion n'a été spécifiée pour l'appel entrant." ,
"numbers" : "Numéros d'appel" ,
"password" : "$t(lockRoomPasswordUppercase) :" ,
2021-10-25 10:00:32 +00:00
"sip" : "adresse SIP" ,
2021-06-14 16:33:58 +00:00
"title" : "Partager" ,
"tooltip" : "Partager le lien et les informations de connexion pour cette conférence" ,
"label" : "Information de la réunion"
} ,
"inviteDialog" : {
"alertText" : "Échec lors de l'invitation de certains participants." ,
"header" : "Inviter" ,
"searchCallOnlyPlaceholder" : "Saisissez un numéro de téléphone" ,
"searchPeopleOnlyPlaceholder" : "Rechercher des participants" ,
"searchPlaceholder" : "Participant ou numéro de téléphone" ,
"send" : "Envoyer"
} ,
"inlineDialogFailure" : {
2021-10-25 10:00:32 +00:00
"msg" : "Il y a eu un petit problème." ,
2021-06-14 16:33:58 +00:00
"retry" : "Réessayer" ,
"support" : "Support" ,
"supportMsg" : "Si ceci persiste, contactez"
} ,
"jitsiHome" : "{{logo}} Logo, liens vers la page d'accueil" ,
"keyboardShortcuts" : {
"focusLocal" : "Épingler ma vidéo" ,
"focusRemote" : "Épingler la vidéo de quelqu'un d'autre" ,
"fullScreen" : "Activer / Désactiver le mode plein écran" ,
"keyboardShortcuts" : "Raccourcis clavier" ,
"localRecording" : "Afficher / Masquer les commandes de l'enregistrement local" ,
"mute" : "Activer / Couper le microphone" ,
"pushToTalk" : "Maintenir la touche pour parler" ,
"raiseHand" : "Lever / Baisser la main" ,
"showSpeakerStats" : "Afficher les statistiques de l'interlocuteur" ,
"toggleChat" : "Ouvrir / Fermer le panneau de conversation" ,
"toggleFilmstrip" : "Afficher / Masquer les vignettes vidéos" ,
"toggleParticipantsPane" : "Afficher ou masquer le volet des participants" ,
"toggleScreensharing" : "Basculer entre la caméra et le partage d'écran" ,
"toggleShortcuts" : "Afficher / Masquer les raccourcis clavier" ,
"videoMute" : "Démarrer / Arrêter votre caméra"
} ,
"liveStreaming" : {
2021-10-25 10:00:32 +00:00
"limitNotificationDescriptionWeb" : "En raison d'une forte demande, votre diffusion sera limitée à {{limit}} min. Pour une diffusion illimitée, essayez <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>." ,
"limitNotificationDescriptionNative" : "Votre diffusion sera limitée à {{limit}} min. Pour une diffusion illimitée, essayez {{app}}." ,
2021-06-14 16:33:58 +00:00
"busy" : "Nous tentons de libérer des ressources de diffusion. Veuillez réessayez dans quelques minutes." ,
"busyTitle" : "Tous les flux sont actuellement occupés" ,
"changeSignIn" : "Changer de compte." ,
"choose" : "Choisir un flux en direct" ,
"chooseCTA" : "Choisissez une option de diffusion. Vous êtes actuellement connecté comme {{email}}." ,
"enterStreamKey" : "Entrez votre clé de diffusion Youtube ici" ,
"error" : "La diffusion a échouée. Veuillez réessayer ultérieurement." ,
"errorAPI" : "Une erreur s'est produite lors de l'accès à vos diffusions YouTube. Veuillez réessayer de vous connecter." ,
"errorLiveStreamNotEnabled" : "La diffusion en direct n'est pas activée pour {{email}}. Merci de l'activer ou de vous connecter avec un compte où elle est déjà activée." ,
"expandedOff" : "La diffusion en direct a été arrêtée" ,
"expandedOn" : "La conférence est en cours de diffusion sur YouTube." ,
"expandedPending" : "La diffusion en direct a commencé ..." ,
"failedToStart" : "La diffusion n'a pas réussi à démarrer" ,
"getStreamKeyManually" : "Nous n'avons pas réussi à récupérer un flux de direct. Essayez d'obtenir votre clé de diffusion en direct sur YouTube." ,
2021-11-20 10:51:55 +00:00
"inProgress" : "Enregisrtement ou diffusion en cours" ,
2021-06-14 16:33:58 +00:00
"invalidStreamKey" : "La clé de diffusion en direct n'est peut-être pas correcte." ,
"off" : "La diffusion en direct (streaming) a été arrêté" ,
"offBy" : "{{name}} a arrêté la diffusion en direct" ,
"on" : "En direct" ,
"onBy" : "{{name}} a démarré la diffusion en direct" ,
"pending" : "Lancement du direct ..." ,
"serviceName" : "Service de diffusion en direct" ,
2021-11-20 10:51:55 +00:00
"sessionAlreadyActive" : "Cette session est déjà en cours d'enregistrement ou de diffusion." ,
2021-06-14 16:33:58 +00:00
"signedInAs" : "Vous êtes connecté en tant que :" ,
"signIn" : "Se connecter avec Google" ,
"signInCTA" : "Connectez vous ou saisissez votre clé de diffusion Youtube." ,
"signOut" : "Se déconnecter" ,
"start" : "Démarrer la diffusion en direct" ,
"streamIdHelp" : "Qu'est-ce que c'est ?" ,
"unavailableTitle" : "La diffusion est indisponible" ,
"youtubeTerms" : "Conditions d'utilisation de YouTube" ,
"googlePrivacyPolicy" : "Politique de confidentialité de Google"
} ,
"localRecording" : {
"clientState" : {
"off" : "Inactif" ,
"on" : "Actif" ,
"unknown" : "Inconnu"
2017-01-18 23:57:21 +00:00
} ,
2021-06-14 16:33:58 +00:00
"dialogTitle" : "Commandes de l'enregistrement local" ,
"duration" : "Durée" ,
"durationNA" : "N/A" ,
"encoding" : "Encodage" ,
"label" : "ENR-LOC" ,
"labelToolTip" : "L'enregistrement local est démarré" ,
"localRecording" : "Enregistrement local" ,
"me" : "Moi" ,
"messages" : {
"engaged" : "L'enregistrement local a démarré." ,
"finished" : "L'enregistrement de la session {{token}} s'est terminé. Merci d'envoyer le fichier au modérateur." ,
"finishedModerator" : "L'enregistrement de la session {{token}} s'est terminé. L'enregistrement a bien été sauvegardée. Merci de demander aux autres participants de soumettre leurs enregistrements." ,
"notModerator" : "Vous n'êtes pas le modérateur. Vous ne pouvez pas démarrer ou arrêter un enregistrement local."
2020-02-07 13:44:43 +00:00
} ,
2021-10-25 10:00:32 +00:00
"moderator" : "Droits de modérateur accordés" ,
2021-06-14 16:33:58 +00:00
"no" : "Non" ,
"participant" : "Participant(e)" ,
"participantStats" : "Statistiques du participant" ,
"sessionToken" : "Token de la session" ,
"start" : "Démarrer l'enregistrement" ,
"stop" : "Arrêter l'enregistrement" ,
"yes" : "Oui"
} ,
"lockRoomPassword" : "mot de passe" ,
"lockRoomPasswordUppercase" : "Mot de passe" ,
"me" : "moi" ,
"notify" : {
2021-10-25 10:00:32 +00:00
"allowAction" : "Permettre" ,
"allowedUnmute" : "Vous pouvez réactiver votre écran, votre caméra ou partager votre écran." ,
2021-12-02 14:06:21 +00:00
"audioUnmuteBlockedTitle" : "Rétablissement du son bloqué !" ,
"audioUnmuteBlockedDescription" : "Le rétablissement du son a été bloqué temporairement en raison de limites système." ,
2021-06-14 16:33:58 +00:00
"connectedOneMember" : "{{name}} a rejoint la réunion" ,
"connectedThreePlusMembers" : "{{name}} et {{count}} autres personnes ont rejoint la réunion" ,
"connectedTwoMembers" : "{{first}} et {{second}} ont rejoint la réunion" ,
"disconnected" : "déconnecté" ,
"focus" : "Focus de conférence" ,
"focusFail" : "{{component}} n'est pas disponible - réessayez dans {{ms}} sec" ,
2021-10-25 10:00:32 +00:00
"hostAskedUnmute" : "Le modérateur souhaite vous donner la parole" ,
2021-06-14 16:33:58 +00:00
"invitedOneMember" : "{{name}} a été invité(e)" ,
"invitedThreePlusMembers" : "{{name}} et {{count}} autres ont été invités" ,
"invitedTwoMembers" : "{{first}} et {{second}} ont été invités" ,
"kickParticipant" : "{{kicked}} a été expulsé par {{kicker}}" ,
2021-12-04 08:56:20 +00:00
"leftOneMember" : "{{name}} a quitté la réunion" ,
"leftThreePlusMembers" : "{{name}} et beaucoup d'autres ont quitté la réunion" ,
"leftTwoMembers" : "{{first}} et {{second}} ont quitté la réunion" ,
2021-06-14 16:33:58 +00:00
"me" : "Moi" ,
"moderator" : "Droits modérateur accordés !" ,
"muted" : "Vous avez commencé la conversation en muet." ,
"mutedTitle" : "Vous êtes en muet !" ,
"mutedRemotelyTitle" : "Votre micro a été coupé par {{participantDisplayName}} !" ,
"mutedRemotelyDescription" : "Vous pouvez toujours activer votre micro pour prendre la parole. Désactivez votre micro quand vous terminez pour éviter les bruits parasites." ,
"videoMutedRemotelyTitle" : "Votre caméra a été coupée par {{participantDisplayName}}!" ,
"videoMutedRemotelyDescription" : "Vous pouvez toujours la réactiver." ,
"passwordRemovedRemotely" : "Le $t(lockRoomPassword) a été supprimé par un autre participant" ,
"passwordSetRemotely" : "Un $t(lockRoomPassword) a été défini par un autre participant" ,
"raisedHand" : "{{name}} aimerait prendre la parole." ,
2021-12-04 08:56:20 +00:00
"raisedHands" : "{{participantName}} et {{raisedHands}} autres personnes" ,
2021-06-14 16:33:58 +00:00
"screenShareNoAudio" : " La case Partager l'audio n'a pas été cochée dans l'écran de sélection de la fenêtre." ,
"screenShareNoAudioTitle" : "La case Partager l'audio n'a pas été cochée" ,
"somebody" : "Quelqu'un" ,
"startSilentTitle" : "Vous avez rejoint sans sortie audio !" ,
"startSilentDescription" : "Rejoignez la réunion de nouveau pour activer l'audio" ,
2021-10-25 10:00:32 +00:00
"suboptimalBrowserWarning" : "Nous craignons que votre expérience de réunion en ligne ne soit pas idéale ici. Nous cherchons des moyens d'améliorer cela, mais d'ici-là, essayez d'utiliser l'un des <a href='{{recommendedBrowserPageLink}}' target='_blank'>navigateurs supportés</a>." ,
2021-06-14 16:33:58 +00:00
"suboptimalExperienceTitle" : "Avertissement du navigateur" ,
"unmute" : "Rétablir le son" ,
"newDeviceCameraTitle" : "Nouvelle caméra détectée" ,
"newDeviceAudioTitle" : "Nouveau périphérique audio détecté" ,
"newDeviceAction" : "Utiliser" ,
2021-10-25 10:00:32 +00:00
"OldElectronAPPTitle" : "Faille de sécurité !" ,
"oldElectronClientDescription1" : "Vous semblez utiliser une ancienne version du client Jitsi Meet qui présente des failles de sécurité connues. Veuillez vous assurer de mettre à jour vers notre " ,
2021-06-14 16:33:58 +00:00
"oldElectronClientDescription2" : "dernière build" ,
"oldElectronClientDescription3" : " rapidement !" ,
2021-10-25 10:00:32 +00:00
"moderationInEffectDescription" : "Merci de levez la main pour demander la parole." ,
"moderationInEffectCSDescription" : "Merci de lever la main si vous voulez partager votre écran." ,
"moderationInEffectVideoDescription" : "Merci de lever la main si vous souhaitez démarrer votre caméra." ,
"moderationInEffectTitle" : "Votre micro est coupé par le modérateur" ,
"moderationInEffectCSTitle" : "Le partage d'écran est interdit par le modérateur" ,
"moderationInEffectVideoTitle" : "Votre caméra est coupée par le modérateur" ,
"moderationRequestFromModerator" : "Le modérateur souhaite que vous activiez votre micro" ,
"moderationRequestFromParticipant" : "Souhaite parler" ,
"moderationStartedTitle" : "Modération démarrée" ,
"moderationStoppedTitle" : "Modération arrêtée" ,
"moderationToggleDescription" : "par {{participantDisplayName}}" ,
"raiseHandAction" : "Lever la main" ,
"reactionSounds" : "Bloquer les réactions sonores" ,
2021-12-04 08:56:20 +00:00
"reactionSoundsForAll" : "Bloquer les réactions sonores pour tous" ,
2021-12-02 14:06:21 +00:00
"groupTitle" : "Notifications" ,
"videoUnmuteBlockedTitle" : "Rétablissement de la caméra bloqué !" ,
"videoUnmuteBlockedDescription" : "Le rétablissement de la vidéo a été bloqué temporairement en raison de limites système."
2021-06-14 16:33:58 +00:00
} ,
"participantsPane" : {
"close" : "Fermer" ,
2021-10-25 10:00:32 +00:00
"header" : "Participants" ,
2021-06-14 16:33:58 +00:00
"headings" : {
"lobby" : "Salle d'attente ({{count}})" ,
2021-09-24 22:02:26 +00:00
"participantsList" : "Participants de la réunion ({{count}})" ,
"waitingLobby" : "Dans la salle d'attente ({{count}})"
2015-03-31 11:35:05 +00:00
} ,
2021-06-14 16:33:58 +00:00
"actions" : {
2021-10-25 10:00:32 +00:00
"allow" : "Autoriser les participants à:" ,
"allowVideo" : "permettre la vidéo" ,
"audioModeration" : "réouvrir leur micro" ,
2021-09-24 22:02:26 +00:00
"blockEveryoneMicCamera" : "Bloquer tous les micros et caméras" ,
2021-06-14 16:33:58 +00:00
"invite" : "Inviter quelqu'un" ,
2021-09-24 22:02:26 +00:00
"askUnmute" : "Demander de réactiver le micro" ,
2021-11-20 10:51:55 +00:00
"moreModerationActions" : "Options de modération supplémentaires" ,
"moreParticipantOptions" : "Options supplémentaires pour les participants" ,
2021-09-24 22:02:26 +00:00
"mute" : "Couper le micro" ,
"muteAll" : "Couper le micro de tout le monde" ,
"muteEveryoneElse" : "Couper le micro de tous les autres" ,
"stopEveryonesVideo" : "Couper toutes les caméras" ,
"stopVideo" : "Couper la vidéo" ,
2021-10-25 10:00:32 +00:00
"unblockEveryoneMicCamera" : "Débloquer tous les micros et caméras" ,
2021-12-04 08:56:20 +00:00
"videoModeration" : "Démarrer leur vidéo" ,
"moreModerationControls" : "Options de modération supplémentaires"
2021-10-25 10:00:32 +00:00
} ,
"search" : "Rechercher des participants"
2021-06-14 16:33:58 +00:00
} ,
"passwordSetRemotely" : "défini par un autre participant" ,
"passwordDigitsOnly" : "Jusqu'à {{number}} chiffres" ,
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" : {
2021-11-03 09:21:32 +00:00
"by" : "Par {{ name }}" ,
feat(polls) Ability to create polls inside Jitsi (#9166)
* feat(polls) Added boilerplate code for polls feature
* feat(polls) Implemented simple poll creation and answer modals in web app
feat(polls) Added button to create a poll in toolbar
feat(polls) Added Modal to answer an incoming poll
feat(polls) Implemented basic client-side sending and reception of polls
feat(polls): linked Poll creation to poll answering
fix(polls) Linted code
feat(polls.create) Added fields for question and answers (#3)
* feat(polls.create) Added fields for question and answers + keyboard navigation
* feat(polls.create) Minor changes, added some comments
feat(PollAnswer Component): Component to display modal to answer poll #1 (#2)
* fix(polls) removing necessity of current_poll_id variable
* fix(polls) linting, polls are now updated when an answer is sent
* feat(polls answer) added translation
* fix(polls answer) remove extra comments, fixed typo
* improvement (polls answer) use useSelector instead of mapStateToProps. cleaner code
* fix (polls create) renamed sender to senderId
* fix (polls answer) turned arrow function into useCallBack
feat(PollResults Component): Component to display poll results (#1)
* feat(PollResults Component): fist version of the component
* feat(detailed votes): Display the detailed results of a poll
* feat(Poll results): Use display name instead of ids in detailed results mode
* fix(Poll): change title to question
* fix(Poll type): import Poll type from types.js
* fix(Poll): change title to question
* fix(Poll): get participants out of the map
* fix(Poll): replace filter with find
feat(polls.create) Added "+" and "x" buttons in poll creation form + improved keyboard navigation a bit
feat (polls) Answer modal now display results in real time after validation or skip
feat(polls.create) Minor improvements to poll creation form
feat(poll result) Added default message when trying to display no answer
fix (polls) result windows is now small by default
fix (polls) sanitizes imports to allow startup on react native
* feat(polls.native) Implemented native toolbar button & poll create modal
feat( poll native) added poll creation button in native toolbar
improvement(polls) only one file used for PollCreateButton
feat (polls native) added an example dialog
feat (polls native) added possibility to create and delete options in poll creation
improvement (polls) better styling for PollCreateDialog
* feat(polls) Added ability to drag&drop answers in web poll creation form
* feat(polls) Added native poll answer modal + chat integration, refactored components
Merge branch 'polls-native' of https://github.com/jade-guiton/jitsi-meet into polls-native
improvement (poll) Better styling for poll answer, now uses icons
feat(poll.PollResults): Add native version of PollResults
feat(poll.PollResults): Post results in chat in Native
fix(poll.PollResults): Fix linter error in ChatMessage
feat(polls.native) Improved styling for native poll answer dialog (required some internal changes)
* fix(polls) Heavily refactored and added bars to poll results, other minor changes
fix(poll.create): Move title to Dialog title
feat(poll.create) Minor changes to poll creation / answer dialogs
fix(poll.create) Refactored and improved translations
feat(poll) Improved CSS for modals in web version
fix(poll.pollcreate): Fix button size in native
fix(polls) Refactored poll results component and other minor changes
fix (polls) remove double import
refactor(poll) Heavily refactored poll results (native + web)
feat(polls.results) Added percentage bars and vote counts in web poll results, minor changes to mobile poll results
* fix(polls) Fixes and linting
fix(polls) Reformatted and fixed some linter and Flow errors
fix(polls.results) Fixed voter list border appearing with 0 voters
* feat(polls): Add modal with detailed votes that can be open from the result summary in the chat
* fix(polls) Fixes, refactorings, and minor design changes
feat(polls.results): Refactored poll chat message and improved design in web app
feat(polls.results) Same as last commit, but for mobile version
refactor(polls.results) Refactored PollResultsMessage and removed unnecessary prop in PollResults
fix(polls.results) Fixed all remaining linter and Flow errors
improvement(polls) removed console logs, added comments
fix (polls) linting
fix(polls.results) Fixed bug with poll chat message displaying the wrong name
feat(polls.results) Minor improvement on poll results display (web)
fix(poll.results): Use getParticipantDisplayName to get participant name and avoid empty string as name
* Feat(poll.results): Remember voters names to display after they left the conference (#10)
* feat(poll.results): Add the sender name in Poll object to remember names if participants leave the conference. Names are also updated if changed
* refactor(poll.results): Refactor the memorization of the names of voters to use the same logic as in the chat
* refactor(poll.results): use Map instead of Array.From(
* refactor(poll.answer): change the way names are stored in poll answers to persist if participant left the call
* Update react/features/polls/components/AbstractPollAnswerDialog.js
* Update react/features/polls/components/AbstractPollCreateDialog.js
* refactor(poll.answer): use voterName instead of senderName to avoid confusion with senderId the id of the sender of the poll
* improvement(polls) Simplified poll answer voter name logic
Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr>
Co-authored-by: Jade Guiton <guiton.jade@gmail.com>
* fix(poll.native): Fix UI overflow when asking long questions & long options in the mobile app (#11)
Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr>
* fix(polls) Fixed close button behavior in answer and results dialog (#12)
* fix(polls) Fixed close button behavior in answer and results dialog
* fix(polls) Fixed linter error
* fix(polls) Added a poll queue to avoid overwriting open modals (#13)
* fix(polls) Added a poll queue to avoid overwriting open modals
* fix(polls) Updated documentation for action RECEIVE_POLL
* Refactor(poll.chatresults): Add message in chat with hidden results until the participant has answered (#14)
* refactor(poll.chat): Display poll results in chat when the poll is created instead of when the participant has ansered
* refactor(poll.chat): Hide results until the participant has answered, skipped or canceled a responde to the poll
* Use getParticipantDisplayName instead of only getStore()
* Hide results also in native
* fix(polls) Fixed previous merge
Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr>
Co-authored-by: Jade Guiton <jade.guiton@centralesupelec.fr>
* minor improvements (polls)
refactor (polls) uniformized string for command names
refactor (polls) changed pollId type to number everywhere
* feat(polls) Added persistence to polls using sendMessage instead of sendCommandOnce (#16)
* feat(polls) Using sendMessage instead of sendCommandOnce, switched poll IDs to string, and ability to receive old polls from backend
* improvement(polls) Linted everything, fixed Flow errors, and added Prosody plugin for polls
* improvement(polls) Historic polls are now displayed in chronological order
* (polls) Minor improvements (#17)
* renaming (polls) Renaming senderId -> voterID for voters
* improvement (polls) sender's name is now provided with poll
* comments (polls) updated comments for senderName types
* fix(polls) Finished merging with json-messages feature
* fix(polls) Fixed incorrect json-message sent with 0 polls
Co-authored-by: Jade Guiton <guiton.jade@gmail.com>
* Move polls to tab (#23)
* Draft(polls): Move polls to polls-pane ; first version for web
* Draft(polls): Move polls to polls-pane ; clean styled.js and remove Participant objects
* fix missing newline at the end of file
* Change behaviour to allow answer poll later
* Fix(polls): change pollId type from number to string for consistency
* feat(polls-pane): Ability to answer to a poll in polls-pane
* feat(polls-pane): Ability to create to a poll in polls-pane
* feat (polls.pane) display a notification when a new poll arrives
* refactor(polls-pane): Update CSS to have a design closer to the mockups
* fix(poll.vote count): Fix votes counting when computing percentage
* fix(poll.vote count): Fix votes counting when computing percentage
* refresh fork with jitsi/jitsi-meet
* design (polls) Better look for poll creation
* refactor(polls pane): Move polls-pane as a chat tab
* Remove the first version of the polls-pane and the button to open it
* Fix notifications and typo
* Translate new polls tab in chat
* Change polls_pane to polls-pane
* Remove unless functions
* Remove usage of styled.js
* Improve responsiveness
* Separate web and native logic
* Remove Create a Poll button in web toolbox
* improvement (polls) added auto scrolling to bottom when a new poll arrives
* Add tabs to swicth between polls and chat in native
* Add AbstractPollsPane
* Add AbstractPollCreate
* Add AbstractPollAnswer
* Add PollAnswer, PollItem and PollList for native
* Add PollCreate for native
* Remove dialogs in web and native
* Remove dialog queue
* Remove useless files
* Move _polls.scss outside dialog folder
* Add possibility to skip answer
* Add (useless for now) see details link
* Add possibility to show detailed results for a poll
* Resize progress bar to make details display
* refactor, design (polls) better style to native design chat
* fix (polls) Removed unecessary files
* translate (polls) added french translation to empty polls
* design fix (polls.native) 'show details' now correctly switch between progress bar and voters mode
* Change See detailed results for Show details and add cursor: pointer
* Fix progress bars not aligned with text
* fix (polls.native) added autoselection of newly created option
* Remove poll answer
* improvement(polls.create) Improved web poll creation form marginally
* improvement(polls.change) Simplified answer removal by reusing poll-answer command
* fix linter
* Fix(translation): update translation
Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr>
Co-authored-by: spineki <marras.antoine@gmail.com>
Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
* Merge pull request #22 from jade-guiton/polls-with-notification
feat (polls) chat notification badge now display the sum of unread messages and unread polls
fix(translation): Fix missing translation
Fix flow error
* Cleaned up, fixed, and uniformized translations
* Small improvements to PollAnswer and PollResult + Much refactoring
Specifically:
- "Change vote" button now says "Vote" if voting was skipped
- Clicking on "Change vote" resets the voting form to the last submitted answers instead of a blank slate
- The "answered" field of Polls was replaced by "showResults" and "lastVote"
- The "setAnsweredStatus" action was replaced by "registerVote" and "retractVote"
- Some newly unreachable/useless code was removed
- "showDetails" state is now handled by AbstractPollResults instead of PollItem
* fix(polls tab): change tab underline color to #525252
* fix(poll create): Enforce at least two options to create a poll
* fix(poll create): change 'remove option' color to #E04757
* fix(poll create): Update Poll create CSS to adapt to design
* fix(poll answer): Adapt CSS to make poll answer closer to mockup
* fix(poll result): Udpdate poll result CSS to match mockups
* fix(poll result): Udpdate poll result CSS to match mockups
* fix(poll create): Display 'remove option' only when there is at least 3 options
* fix(polls button): Add hover, active, focus and disabled state to polls buttons
* Last improvements for web
* Native design fixes
* Fix rebase issue in land/main.json
* Fix french translation after rebase
* Fixmobile behaviour
* Fixed keyboard navigation in web poll creation form
* Fixed Flow error related to "no polls" icon in PollsList
* fix(polls): Enabled polls Prosody module in Debian config files
* doc(polls) Added comments to the Prosody module code
* fix(polls): Switched from using an internal LJM event to ones from the public API
* Capitalize I of setIsPollsTabFocused
* extract the 2 button modes into a const
* remove extra new lines
* Rename CLOSE_POLL_TAB for POLL_TAB_CLOSED for clarity
* Rename answers2 for answersParsed for clarity
* use switch instead of if/else chain
* improve syntax for localId fetching
* Refactor: Use BUTTON_MODE.CONTAINED variable instead of 'contained'
* Disable send poll button if not enough data is provided in the form (#30)
* Feat: Add notification badge on chat and poll tabs (#31)
* Feat: Add notification badge on chat and poll tabs
* Add badge equivalent for native
* Update displayNameForm text to mention polls (#34)
* Disable polls UI with a config in config.js (#33)
* Change remove option text color from red to grey (#32)
Co-authored-by: spineki <marras.antoine@gmail.com>
Co-authored-by: Fabien Zucchet <fabien.zucchet@student-cs.fr>
Co-authored-by: Fabien Zucchet <80532941+fabienzucchet@users.noreply.github.com>
Co-authored-by: Fabien Zucchet <fabien.zucchet@viarezo.fr>
2021-08-14 13:29:42 +00:00
"create" : {
"addOption" : "Ajouter une option" ,
"answerPlaceholder" : "Option {{index}}" ,
"create" : "Créer un sondage" ,
"cancel" : "Annuler" ,
"pollOption" : "Option {{index}}" ,
"pollQuestion" : "Question du sondage" ,
"questionPlaceholder" : "Poser une question" ,
"removeOption" : "Supprimer l'option" ,
"send" : "Envoyer"
} ,
"answer" : {
"skip" : "Passer" ,
"submit" : "Envoyer"
} ,
"results" : {
"vote" : "Voter" ,
"changeVote" : "Changer le vote" ,
"empty" : "Il n'y a pas encore de sondages dans cette réunion. Démarrez un sondage ici !" ,
"hideDetailedResults" : "Cacher les détails" ,
"showDetailedResults" : "Montrer les détails"
} ,
"notification" : {
"title" : "Un nouveau sondage a été ajouté à la réunion" ,
2021-10-25 10:00:32 +00:00
"description" : "Ouvrez l'onglet des sondages pour voter"
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
}
} ,
2021-06-14 16:33:58 +00:00
"poweredby" : "produit par" ,
"prejoin" : {
"audioAndVideoError" : "Erreur audio et video:" ,
"audioDeviceProblem" : "Il y a un problème avec votre périphérique audio" ,
"audioOnlyError" : "Erreur audio :" ,
"audioTrackError" : "N'a pas pu créer la piste audio." ,
"calling" : "Appel" ,
"callMe" : "Appelez-moi" ,
"callMeAtNumber" : "Appelez-moi à ce numéro :" ,
"configuringDevices" : "Configuration des appareils ..." ,
"connectedWithAudioQ" : "Êtes-vous connecté avec le microphone ?" ,
2019-07-22 12:57:12 +00:00
"connection" : {
2021-06-14 16:33:58 +00:00
"good" : "Votre connexion Internet est bonne !" ,
"nonOptimal" : "Votre connexion n'est pas optimale" ,
"poor" : "Vous avez une mauvaise connexion"
2019-07-22 12:57:12 +00:00
} ,
2021-06-14 16:33:58 +00:00
"connectionDetails" : {
2021-10-25 10:00:32 +00:00
"audioClipping" : "Attendez vous à ce que votre son soit coupé." ,
"audioHighQuality" : "Votre son sera de bonne qualité." ,
2021-06-14 16:33:58 +00:00
"audioLowNoVideo" : "Attendez vous à une faible qualité audio et aucune vidéo" ,
"goodQuality" : "Impressionnant ! La qualité de vos médias sera excellente" ,
"noMediaConnectivity" : "Nous n'avons pas pu trouver un moyen d'établir une connectivité multimédia pour ce test. Cela est généralement causé par un pare-feu ou un NAT." ,
"noVideo" : "Attendez vous à ce que votre qualité vidéo soit très mauvaise." ,
"undetectable" : "Si vous ne parvenez toujours pas à passer des appels dans le navigateur, nous vous recommandons de vous assurer que vos haut-parleurs, microphone et caméra sont correctement configurés, que vous avez accordé à votre navigateur les droits d'utiliser votre microphone et votre caméra et que la version de votre navigateur est à jour. Si vous rencontrez toujours des difficultés pour appeler, vous devez contacter le développeur de l'application Web." ,
"veryPoorConnection" : "Attendez vous à ce que la qualité de votre appel soit très mauvaise" ,
"videoFreezing" : "Attendez vous à ce que votre vidéo saute, soit noire, et pixelisée." ,
"videoHighQuality" : "Votre vidéo sera de bonne qualité" ,
"videoLowQuality" : "Votre vidéo sera de basse qualité en terme d'images par seconde et de résolution." ,
"videoTearing" : "Attendez vous à ce que votre vidéo soit pixélisée ou contienne des artefacts visuels."
2019-07-22 12:57:12 +00:00
} ,
2021-06-14 16:33:58 +00:00
"copyAndShare" : "Copier & partager le lien" ,
"dialInMeeting" : "Participez à la réunion" ,
"dialInPin" : "Participez à la réunion et saisir le code PIN :" ,
"dialing" : "Numérotation" ,
"doNotShow" : "Ne plus afficher ceci" ,
"errorDialOut" : "Impossible de composer le numéro" ,
"errorDialOutDisconnected" : "Impossible de composer le numéro. Déconnecté" ,
"errorDialOutFailed" : "Impossible de composer le numéro. L'appel a échoué" ,
"errorDialOutStatus" : "Erreur lors de l'obtention de l'état d'appel sortant" ,
"errorMissingName" : "Veuillez entrer votre nom pour entrer en conférence" ,
2021-10-25 10:00:32 +00:00
"errorNoPermissions" : "Vous devez permettre l'accès microphone et caméra" ,
2021-06-14 16:33:58 +00:00
"errorStatusCode" : "Erreur de numérotation, code d'état: {{status}}" ,
"errorValidation" : "La validation du numéro a échoué" ,
"iWantToDialIn" : "Je veux me connecter" ,
"joinAudioByPhone" : "Rejoindre avec l'audio du téléphone" ,
"joinMeeting" : "Rejoindre la réunion" ,
"joinWithoutAudio" : "Rejoignez sans microphone" ,
"initiated" : "Appel lancé" ,
"linkCopied" : "Lien copié dans le presse-papiers" ,
"lookGood" : "Il semble que votre microphone fonctionne correctement" ,
"or" : "ou" ,
"premeeting" : "Pré-séance" ,
"showScreen" : "Activer l'écran de pré-séance" ,
"startWithPhone" : "Commencez avec l'audio du téléphone" ,
"keyboardShortcuts" : "Activer les raccourcis clavier" ,
"screenSharingError" : "Erreur de partage d'écran:" ,
"videoOnlyError" : "Erreur vidéo:" ,
"videoTrackError" : "Impossible de créer une piste vidéo." ,
"viewAllNumbers" : "voir tous les numéros"
} ,
"presenceStatus" : {
"busy" : "Occupé" ,
"calling" : "Appel ..." ,
"connected" : "Connecté" ,
"connecting" : "Connexion en cours ..." ,
"connecting2" : "Connexion en cours* ..." ,
"disconnected" : "Déconnecté" ,
"expired" : "Expiré" ,
"ignored" : "Ignoré" ,
"initializingCall" : "Lancement de l'appel ..." ,
"invited" : "Invité(e)" ,
"rejected" : "Rejeté" ,
"ringing" : "Appel en cours ..."
} ,
"profile" : {
"avatar" : "avatar" ,
"setDisplayNameLabel" : "Choisissez un pseudo" ,
2021-11-23 11:12:12 +00:00
"setEmailInput" : "Entrez une adresse email" ,
2021-06-14 16:33:58 +00:00
"setEmailLabel" : "Définir votre courriel Gravatar" ,
"title" : "Profil"
} ,
"raisedHand" : "Aimerait prendre la parole" ,
"recording" : {
2021-10-25 10:00:32 +00:00
"limitNotificationDescriptionWeb" : "En raison d'une forte demande, votre enregistrement sera limité à {{limit}} min. Pour des enregistrements illimités, essayez <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>." ,
"limitNotificationDescriptionNative" : "En raison d'une forte demande, votre enregistrement sera limité à {{limit}} min. Pour des enregistrements illimités, essayez <3> {{app}} </3>." ,
2021-06-14 16:33:58 +00:00
"authDropboxText" : "Téléchargement vers Dropbox" ,
"availableSpace" : "Espace disponible : {{spaceLeft}} Mo (approximativement {{duration}} minutes d'enregistrement)" ,
"beta" : "BETA" ,
"busy" : "Nous sommes en train de libérer les ressources d'enregistrement. Réessayez dans quelques minutes." ,
"busyTitle" : "Tous les enregistreurs sont actuellement occupés" ,
2021-10-25 10:00:32 +00:00
"copyLink" : "Copier lien" ,
2021-06-14 16:33:58 +00:00
"error" : "Échec de l'enregistrement. Veuillez réessayer." ,
2021-10-25 10:00:32 +00:00
"errorFetchingLink" : "Erreur de récupération du lien d'enregistrement." ,
2021-06-14 16:33:58 +00:00
"expandedOff" : "L'enregistrement a été arrêté" ,
"expandedOn" : "Cette conférence est actuellement en cours d'enregistrement." ,
"expandedPending" : "Démarrage de l'enregistrement ..." ,
"failedToStart" : "L'enregistrement n'a pas réussi à démarrer" ,
"fileSharingdescription" : "Partager l'enregistrement avec les participants de la réunion" ,
2021-11-20 10:51:55 +00:00
"inProgress" : "Enregistrement ou diffusion en cours" ,
2021-10-25 10:00:32 +00:00
"linkGenerated" : "Nous avons généré un lien à votre enregistrement." ,
2021-06-14 16:33:58 +00:00
"live" : "DIRECT" ,
"loggedIn" : "Connecté en tant que {{userName}}" ,
"off" : "Enregistrement arrêté" ,
"offBy" : "{{name}} a arrêté l'enregistrement" ,
"on" : "Enregistrement" ,
"onBy" : "{{name}} a démarré l'enregistrement" ,
"pending" : "Préparation de l'enregistrement de la réunion ..." ,
"rec" : "REC" ,
"serviceDescription" : "Votre enregistrement sera enregistré par le service dédié" ,
"serviceDescriptionCloud" : "Enregistrement Cloud" ,
"serviceName" : "Service d'enregistrement" ,
2021-11-20 10:51:55 +00:00
"sessionAlreadyActive" : "Cette session est déjà en cours d'enregistrement ou de diffusion." ,
2021-06-14 16:33:58 +00:00
"signIn" : "Se connecter" ,
"signOut" : "Se déconnecter" ,
"unavailable" : "Oups ! Le {{serviceName}} est actuellement indisponible. Nous tentons de résoudre le problème. Veuillez réessayer plus tard." ,
2021-10-25 10:00:32 +00:00
"unavailableTitle" : "Enregistrement indisponible" ,
"uploadToCloud" : "Envoyer vers le cloud"
2021-06-14 16:33:58 +00:00
} ,
"sectionList" : {
"pullToRefresh" : "Tirer pour recharger"
} ,
"security" : {
2021-10-25 10:00:32 +00:00
"about" : "Vous pouvez ajouter un mot de passe à votre réunion. Les participants devront fournir le mot de passe avant de pouvoir rejoindre la réunion." ,
"aboutReadOnly" : "Les modérateurs peuvent ajouter un mot de passe à la réunion. Les participants devront fournir le mot de passe avant de pouvoir rejoindre la réunion." ,
2021-06-14 16:33:58 +00:00
"insecureRoomNameWarning" : "Le nom de la salle est peu sûr. Des participants non désirés peuvent rejoindre votre réunion. Pensez à sécuriser votre réunion en cliquant sur le bouton de sécurité." ,
"securityOptions" : "Options de sécurité"
} ,
"settings" : {
"calendar" : {
2021-10-25 10:00:32 +00:00
"about" : "L'intégration de {{appName}} avec votre calendrier permet d'accéder de manière sécurisée aux événements à venir." ,
2021-06-14 16:33:58 +00:00
"disconnect" : "Se déconnecter" ,
"microsoftSignIn" : "Se connecter avec Microsoft" ,
"signedIn" : "Accès aux événements du calendrier {{email}}. Cliquez sur le bouton se déconnecter ci-dessous pour arrêter l'accès aux événements du calendrier." ,
"title" : "Calendrier"
2019-07-22 12:57:12 +00:00
} ,
2021-10-25 10:00:32 +00:00
"desktopShareFramerate" : "Images par seconde pour le Partage d'écran" ,
"desktopShareWarning" : "Vous devez repartager l'écran pour que ces paramètres soient utilisés." ,
"desktopShareHighFpsWarning" : "Augmenter le nombre d'images par seconde pour le partage d'écran peut impacter votre bande passante. Vous devez repartager l'écran pour que ces paramètres soient utilisés." ,
2021-06-14 16:33:58 +00:00
"devices" : "Périphériques" ,
"followMe" : "Tout le monde me suit" ,
2021-10-25 10:00:32 +00:00
"framesPerSecond" : "images par seconde" ,
"incomingMessage" : "un message arrive" ,
2021-06-14 16:33:58 +00:00
"language" : "Langue" ,
"loggedIn" : "Connecté en tant que {{name}}" ,
"microphones" : "Microphones" ,
"moderator" : "Modérateur" ,
"more" : "Plus" ,
"name" : "Nom" ,
"noDevice" : "Aucun" ,
2021-10-25 10:00:32 +00:00
"participantJoined" : "un participant arrive" ,
"participantLeft" : "un participant quitte" ,
"playSounds" : "Jouer un son quand" ,
"reactions" : "il y a une réaction à la réunion" ,
2021-06-14 16:33:58 +00:00
"sameAsSystem" : "Identique au système ({{label}})" ,
"selectAudioOutput" : "Sortie audio" ,
"selectCamera" : "Caméra" ,
"selectMic" : "Microphone" ,
2021-10-25 10:00:32 +00:00
"sounds" : "Sons" ,
2021-10-27 13:39:52 +00:00
"speakers" : "Haut-parleurs" ,
2021-06-14 16:33:58 +00:00
"startAudioMuted" : "Tout le monde commence en muet" ,
2021-12-04 08:56:20 +00:00
"startReactionsMuted" : "Tout le monde commence avec les réactions sonores bloquées" ,
2021-06-14 16:33:58 +00:00
"startVideoMuted" : "Tout le monde commence sans vidéo" ,
2021-10-25 10:00:32 +00:00
"talkWhileMuted" : "vous parlez en étant muet" ,
2021-06-14 16:33:58 +00:00
"title" : "Paramètres"
} ,
"settingsView" : {
"advanced" : "Avancé" ,
"alertOk" : "D'accord" ,
"alertCancel" : "Annuler" ,
"alertTitle" : "Avertissement" ,
"alertURLText" : "L'URL du serveur est invalide" ,
"buildInfoSection" : "Informations de build" ,
"conferenceSection" : "Conférence" ,
"disableCallIntegration" : "Désactiver l'intégration d'appels native" ,
"disableP2P" : "Désactiver le mode pair à pair" ,
"disableCrashReporting" : "Désactiver les rapports de plantage" ,
"disableCrashReportingWarning" : "Etes-vous certain de vouloir désactiver les rapports de plantage ? Le paramètre sera effectif après le redémarrage de l'application." ,
"displayName" : "Pseudo" ,
"email" : "Email" ,
"header" : "Paramètres" ,
"profileSection" : "Profil" ,
"serverURL" : "URL du serveur" ,
"showAdvanced" : "Afficher les paramètres avancés" ,
"startWithAudioMuted" : "Commencez avec l'audio en sourdine" ,
"startWithVideoMuted" : "Commencez avec la vidéo en sourdine" ,
"version" : "Version"
} ,
"share" : {
"dialInfoText" : "\n\n=====\n\nVoulez-vous appeler depuis votre téléphone ?\n\n{{defaultDialInNumber}}Cliquez sur ce lien pour afficher les numéros d'appels pour cette réunion\n{{dialInfoPageUrl}}" ,
"mainText" : "Cliquez sur le lien suivant pour rejoindre une conférence :\n{{roomUrl}}"
} ,
"speaker" : "Haut-parleur" ,
"speakerStats" : {
2021-10-25 10:00:32 +00:00
"search" : "Recherche" ,
2021-06-14 16:33:58 +00:00
"hours" : "{{count}}h" ,
"minutes" : "{{count}}m" ,
"name" : "Nom" ,
"seconds" : "{{count}}s" ,
"speakerStats" : "Statistiques de l'interlocuteur" ,
2021-11-20 10:51:55 +00:00
"speakerTime" : "Temps de l'interlocuteur" ,
"happy" : "Content" ,
"neutral" : "Indifférent" ,
"sad" : "Triste" ,
"surprised" : "Surpris" ,
"angry" : "En colère" ,
"fearful" : "Effrayé" ,
"disgusted" : "Dégoûté"
2021-06-14 16:33:58 +00:00
} ,
"startupoverlay" : {
"policyText" : " " ,
"genericTitle" : "La conférence a besoin d'utiliser votre microphone et votre caméra." ,
"title" : "{{app}} a besoin d'accéder à votre microphone et votre caméra."
} ,
"suspendedoverlay" : {
"rejoinKeyTitle" : "Rejoindre" ,
"text" : "Cliquez sur le bouton <i>Rejoindre</i> pour se reconnecter." ,
"title" : "Votre visioconférence s'est interrompue parce que votre ordinateur s'est mis en veille."
} ,
"toolbar" : {
"accessibilityLabel" : {
"audioOnly" : "Activer / Désactiver le mode voix uniquement" ,
"audioRoute" : "Sélectionner la source audio" ,
2021-10-25 10:00:32 +00:00
"boo" : "Hou" ,
2021-11-20 10:51:55 +00:00
"breakoutRoom" : "Rejoindre/quitter une salle annexe" ,
2021-06-14 16:33:58 +00:00
"callQuality" : "Ajuster la qualité vidéo" ,
"cc" : "Activer / Désactiver les sous-titres" ,
"chat" : "Afficher / Masquer la discussion instantanée" ,
2021-10-25 10:00:32 +00:00
"clap" : "Applaudir" ,
2021-06-14 16:33:58 +00:00
"document" : "Activer / Désactiver le document partagé" ,
"download" : "Télécharger nos applications" ,
"embedMeeting" : "Intégrer la réunion" ,
"feedback" : "Laisser des commentaires" ,
"fullScreen" : "Activer / Désactiver le plein écran" ,
2021-10-25 10:00:32 +00:00
"grantModerator" : "donner des droits de modérateur" ,
2021-06-14 16:33:58 +00:00
"hangup" : "Quitter la conversation" ,
"help" : "Aide" ,
"invite" : "Inviter des participants" ,
"kick" : "Expulser le participant" ,
2021-10-25 10:00:32 +00:00
"laugh" : "Rire" ,
"like" : "Approuver" ,
2021-06-14 16:33:58 +00:00
"lobbyButton" : "Activer / Désactiver le mode salle d'attente" ,
"localRecording" : "Activer / Désactiver les contrôles d'enregistrement local" ,
"lockRoom" : "Activer / Désactiver le mot de passe de la réunion" ,
"moreActions" : "Activer / Désactiver le menu d'actions supplémentaires" ,
"moreActionsMenu" : "Menu d'actions supplémentaires" ,
"moreOptions" : "Voir plus d'options" ,
"mute" : "Activer / Désactiver l'audio" ,
"muteEveryone" : "Couper le micro de tout le monde" ,
"muteEveryoneElse" : "Couper le micro de tous les autres" ,
"muteEveryonesVideo" : "Couper la caméra de tout le monde" ,
"muteEveryoneElsesVideo" : "Couper la caméra de tout les autres" ,
"participants" : "Participants" ,
"pip" : "Activer / Désactiver le mode Picture in Picture" ,
"privateMessage" : "Envoyer un message privé" ,
"profile" : "Éditer votre profil" ,
"raiseHand" : "Lever la main" ,
2021-10-25 10:00:32 +00:00
"reactionsMenu" : "Ouvrir / fermer le menu réactions" ,
2021-06-14 16:33:58 +00:00
"recording" : "Activer / Désactiver l'enregistrement" ,
"remoteMute" : "Couper le micro du participant" ,
"remoteVideoMute" : "Couper la caméra du participant" ,
"security" : "Options de sécurité" ,
"Settings" : "Afficher / Masquer le menu des paramètres" ,
"shareaudio" : "Partager l'audio" ,
"sharedvideo" : "Démarrer / Arrêter le partage de vidéo YouTube" ,
"shareRoom" : "Inviter quelqu'un" ,
"shareYourScreen" : "Activer / Désactiver le partage d'écran" ,
"shortcuts" : "Afficher / Masquer les raccourcis" ,
"show" : "Afficher en premier plan" ,
2021-10-25 10:00:32 +00:00
"silence" : "Silence" ,
2021-06-14 16:33:58 +00:00
"speakerStats" : "Afficher / Cacher les statistiques de parole" ,
2021-10-25 10:00:32 +00:00
"surprised" : "Surpris" ,
2021-06-14 16:33:58 +00:00
"tileView" : "Activer / Désactiver la vue mosaïque" ,
"toggleCamera" : "Changer de caméra" ,
2021-12-02 14:06:21 +00:00
"toggleFilmstrip" : "Afficher ou masquer les vignettes vidéo" ,
2021-06-14 16:33:58 +00:00
"videomute" : "Activer / Couper la vidéo" ,
"videoblur" : "Activer / désactiver le floutage" ,
"selectBackground" : "Selectionner un arrière-plan" ,
"expand" : "Développer" ,
"collapse" : "Plier"
2020-04-03 10:14:21 +00:00
} ,
2021-06-14 16:33:58 +00:00
"addPeople" : "Ajouter des personnes à votre appel" ,
"audioSettings" : "Paramètres audio" ,
2021-10-25 10:00:32 +00:00
"videoSettings" : "Paramètres vidéo" ,
2021-06-14 16:33:58 +00:00
"audioOnlyOff" : "Désactiver le mode bande passante réduite" ,
"audioOnlyOn" : "Activer le mode bande passante réduite" ,
"audioRoute" : "Sélectionner la source audio" ,
"authenticate" : "Authentifiez-vous" ,
2021-10-25 10:00:32 +00:00
"boo" : "Huer" ,
2021-06-14 16:33:58 +00:00
"callQuality" : "Ajuster la qualité vidéo" ,
"chat" : "Ouvrir / Fermer le chat" ,
2021-10-25 10:00:32 +00:00
"clap" : "Applaudir" ,
2021-06-14 16:33:58 +00:00
"closeChat" : "Fermer le chat" ,
2021-10-25 10:00:32 +00:00
"closeReactionsMenu" : "Fermer le menu réactions" ,
"disableReactionSounds" : "Vous pouvez interdire les réactions sonores à cette réunion" ,
2021-06-14 16:33:58 +00:00
"documentClose" : "Fermer le document partagé" ,
"documentOpen" : "Ouvrir le document partagé" ,
"download" : "Télécharger nos applications" ,
"e2ee" : "Chiffrement de Bout-en-Bout" ,
"embedMeeting" : "Intégrer la réunion" ,
"enterFullScreen" : "Afficher en plein écran" ,
"enterTileView" : "Accéder au mode mosaïque" ,
"exitFullScreen" : "Quitter le mode plein écran" ,
"exitTileView" : "Quitter le mode mosaïque" ,
"feedback" : "Laisser des commentaires" ,
"hangup" : "Quitter" ,
"help" : "Aide" ,
"invite" : "Inviter des participants" ,
2021-11-20 10:51:55 +00:00
"joinBreakoutRoom" : "Rejoindre salle annexe" ,
2021-10-25 10:00:32 +00:00
"laugh" : "Rire" ,
2021-11-20 10:51:55 +00:00
"leaveBreakoutRoom" : "Quitter salle annexe" ,
2021-10-25 10:00:32 +00:00
"like" : "Approuver" ,
2021-06-14 16:33:58 +00:00
"lobbyButtonDisable" : "Désactiver le mode salle d'attente / contrôle des participant(e)s" ,
"lobbyButtonEnable" : "Activer le mode salle d'attente / contrôle des participant(e)s" ,
"login" : "Connexion" ,
"logout" : "Déconnexion" ,
"lowerYourHand" : "Baisser la main" ,
"moreActions" : "Plus d'actions" ,
"moreOptions" : "Plus d'options" ,
"mute" : "Muet / Actif" ,
"muteEveryone" : "Couper le micro à tout le monde" ,
"muteEveryonesVideo" : "Couper la caméra de tout le monde" ,
"noAudioSignalTitle" : "Il n'y a pas de signal provenant de votre micro !" ,
"noAudioSignalDesc" : "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, envisagez de changer de périphérique utilisé." ,
"noAudioSignalDescSuggestion" : "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, pensez à utiliser le périphérique suivant :" ,
"noAudioSignalDialInDesc" : "Vous pouvez également appeler en utilisant :" ,
"noAudioSignalDialInLinkDesc" : "Numéros d'appel" ,
"noisyAudioInputTitle" : "Votre microphone semble être bruyant !" ,
2021-10-25 10:00:32 +00:00
"noisyAudioInputDesc" : "Il semble que votre microphone soit bruyant, veuillez le couper ou changer de périphérique." ,
2021-06-14 16:33:58 +00:00
"openChat" : "Ouvrir le chat" ,
2021-10-25 10:00:32 +00:00
"openReactionsMenu" : "Ouvrir le menu Réactions" ,
2021-06-14 16:33:58 +00:00
"participants" : "Participants" ,
"pip" : "Entrer en mode Picture-in-Picture" ,
"privateMessage" : "Envoyer un message privé" ,
"profile" : "Éditer votre profil" ,
"raiseHand" : "Lever / Baisser la main" ,
"raiseYourHand" : "Lever la main" ,
2021-10-25 10:00:32 +00:00
"reactionBoo" : "Envoyer réaction huer" ,
"reactionClap" : "Envoyer réaction applaudir" ,
"reactionLaugh" : "Envoyer réaction rire" ,
"reactionLike" : "Envoyer réaction approuver" ,
"reactionSilence" : "Envoyer réaction silence" ,
"reactionSurprised" : "Envoyer réaction surprise" ,
2021-06-14 16:33:58 +00:00
"security" : "Options de sécurité" ,
"Settings" : "Paramètres" ,
"shareaudio" : "Partager l'audio" ,
"sharedvideo" : "Partager une vidéo YouTube" ,
"shareRoom" : "Inviter quelqu'un" ,
"shortcuts" : "Afficher les raccourcis" ,
2021-10-25 10:00:32 +00:00
"silence" : "Silence" ,
2021-06-14 16:33:58 +00:00
"speakerStats" : "Statistiques de l'interlocuteur" ,
"startScreenSharing" : "Démarrer le partage d'écran" ,
"startSubtitles" : "Activer les sous-titres" ,
2021-10-25 10:00:32 +00:00
"stopAudioSharing" : "Arrêter le partage son" ,
2021-06-14 16:33:58 +00:00
"stopScreenSharing" : "Arrêter le partage d'écran" ,
"stopSubtitles" : "Désactiver les sous-titres" ,
"stopSharedVideo" : "Arrêter la vidéo YouTube" ,
2021-10-25 10:00:32 +00:00
"surprised" : "Surpris" ,
2021-06-14 16:33:58 +00:00
"talkWhileMutedPopup" : "Vous voulez parler ? Votre micro est coupé." ,
"tileViewToggle" : "Activer / Désactiver la vue mosaïque" ,
"toggleCamera" : "Changer de caméra" ,
"videomute" : "Démarrer / Arrêter la caméra" ,
"selectBackground" : "Sélectionner un arrière-plan"
} ,
"transcribing" : {
"ccButtonTooltip" : "Activer / Désactiver les sous-titres" ,
"error" : "Échec de la transcription. Veuillez réessayer." ,
"expandedLabel" : "La transcription est actuellement activée" ,
"failedToStart" : "Échec de démarrage de la transcription" ,
"labelToolTip" : "La transcription de la réunion est en cours" ,
"off" : "La transcription désactivée" ,
"pending" : "Préparation de la transcription de la réunion ..." ,
"start" : "Activer les sous-titres" ,
"stop" : "Désactiver les sous-titres" ,
"tr" : "TR"
} ,
"userMedia" : {
"androidGrantPermissions" : "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation." ,
"chromeGrantPermissions" : "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation." ,
"edgeGrantPermissions" : "Sélectionnez <b><i>Oui</i></b> quand le navigateur demande votre autorisation." ,
"electronGrantPermissions" : "Veuillez autoriser le partage de votre camera et microphone." ,
"firefoxGrantPermissions" : "Sélectionnez <b><i>Partager le périphérique sélectionné</i></b> lorsque votre navigateur demande votre autorisation." ,
"iexplorerGrantPermissions" : "Sélectionnez <b><i>OK</i></b> quand le navigateur demande votre autorisation." ,
"nwjsGrantPermissions" : "Veuillez autoriser le partage de votre camera et microphone." ,
"operaGrantPermissions" : "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation." ,
"react-nativeGrantPermissions" : "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation." ,
"safariGrantPermissions" : "Sélectionnez <b><i>OK</i></b> quand le navigateur demande votre autorisation."
} ,
"volumeSlider" : "Curseur de volume" ,
"videoSIPGW" : {
"busy" : "Nous tentons de libérer les ressources requises. Veuillez réessayez dans quelques minutes." ,
"busyTitle" : "Le service du Salon est actuellement occupé" ,
"errorAlreadyInvited" : "{{displayName}} est déjà invité(e)" ,
"errorInvite" : "La conférence n'est pas encore établie. Veuillez réessayer plus tard." ,
"errorInviteFailed" : "Nous tentons de résoudre le problème. Veuillez réessayer plus tard." ,
"errorInviteFailedTitle" : "L'invitation de {{displayName}} a échoué" ,
"errorInviteTitle" : "Erreur lors de l'invitation" ,
"pending" : "{{displayName}} a été invité(e)"
} ,
"videoStatus" : {
2021-10-25 10:00:32 +00:00
"adjustFor" : "Ajuster pour:" ,
2021-06-14 16:33:58 +00:00
"audioOnly" : "VOIX" ,
2021-10-25 10:00:32 +00:00
"bestPerformance" : "la meilleure performance" ,
"highestQuality" : "la meilleure qualité" ,
2021-06-14 16:33:58 +00:00
"audioOnlyExpanded" : "Vous êtes en mode bande passante réduite. Dans ce mode, vous ne recevrez que le partage audio et le partage d'écran." ,
"callQuality" : "Qualité vidéo" ,
"hd" : "HD" ,
"hdTooltip" : "Regardez la vidéo en haute définition" ,
"highDefinition" : "Haute définition" ,
"labelTooiltipNoVideo" : "Aucune vidéo" ,
"labelTooltipAudioOnly" : "Mode bande passante réduite activé" ,
"ld" : "BD" ,
"ldTooltip" : "Regardez la vidéo en basse définition" ,
"lowDefinition" : "Basse définition" ,
2021-10-25 10:00:32 +00:00
"performanceSettings" : "Paramètres de performance" ,
2021-06-14 16:33:58 +00:00
"sd" : "MD" ,
"sdTooltip" : "Regardez la vidéo en définition standard" ,
"standardDefinition" : "Moyenne Définition"
} ,
"videothumbnail" : {
"connectionInfo" : "Informations de la connexion" ,
"domute" : "Couper le micro" ,
"domuteVideo" : "Couper la caméra" ,
"domuteOthers" : "Couper le micro de tous les autres" ,
"domuteVideoOfOthers" : "Couper la caméra des autres" ,
"flip" : "Balancer" ,
2021-10-25 10:00:32 +00:00
"grantModerator" : "Donner des droits de modérateur" ,
2021-06-14 16:33:58 +00:00
"kick" : "Exclure" ,
"moderator" : "Modérateur" ,
"mute" : "Un participant a coupé son micro" ,
"muted" : "Muet" ,
"videoMuted" : "Caméra coupée" ,
"remoteControl" : "Démarrer / Arrêter le contrôle à distance" ,
"show" : "Afficher en premier plan" ,
"videomute" : "Le participant a arrêté la caméra"
} ,
"welcomepage" : {
"addMeetingName" : "Ajouter un nom de réunion" ,
"accessibilityLabel" : {
"join" : "Touchez pour rejoindre" ,
"roomname" : "Saisissez un nom de salle"
2020-04-03 10:14:21 +00:00
} ,
2021-06-14 16:33:58 +00:00
"appDescription" : "Foncez tchater en vidéo avec toute le monde. En fait, vous pouvez inviter tout ceux que vous connaissez. {{app}} est une solution de visioconférence entièrement chiffrée et 100% libre que vous pouvez utiliser en permanence, chaque jour, et sans aucun compte requis." ,
"audioVideoSwitch" : {
"audio" : "Voix" ,
"video" : "Vidéo"
2020-07-03 08:36:58 +00:00
} ,
2021-06-14 16:33:58 +00:00
"calendar" : "Calendrier" ,
"connectCalendarButton" : "Connecter votre calendrier" ,
"connectCalendarText" : "Connectez-vous à votre calendrier pour afficher toutes les réunions {{app}}. Ajoutez également les réunions de {{provider}} à votre calendrier et démarrez-les d'un simple clic." ,
"enterRoomTitle" : "Démarrer une nouvelle réunion" ,
"getHelp" : "Obtenir de l'aide" ,
"go" : "Créer" ,
"goSmall" : "Créer" ,
"headerTitle" : "Jitsi Meet" ,
"headerSubtitle" : "Conférences sécurisées et de haute qualité" ,
"info" : "Infos" ,
"join" : "CRÉER / REJOINDRE" ,
"jitsiOnMobile" : "Jitsi sur mobile – télécharger notre application et démarrez des conférences de n'import où" ,
"mobileDownLoadLinkIos" : "Télécharger l'application mobile sur iOS" ,
"mobileDownLoadLinkAndroid" : "Télécharger l'application mobile sur Android" ,
"mobileDownLoadLinkFDroid" : "Télécharger l'application mobile sur F-Droid" ,
"moderatedMessage" : "Ou <a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">réserver une URL de réunion</a> à l'avance et où vous êtes le seul modérateur." ,
"privacy" : "Confidentialité" ,
"recentList" : "Récent" ,
"recentListDelete" : "Supprimer" ,
"recentListEmpty" : "Votre liste récente est actuellement vide. Discuter avec votre équipe et vous trouverez toutes vos réunions récentes ici." ,
"reducedUIText" : "Bienvenue sur {{app}} !" ,
"roomNameAllowedChars" : "Le nom de la réunion ne doit contenir aucun de ces caractères : ?, &, :, ', \", %, #." ,
"roomname" : "Saisissez un nom de salle" ,
"roomnameHint" : "Entrez le nom ou l'URL de la salle que vous souhaitez rejoindre. Vous pouvez faire un nom, laissez les gens que vous rencontrerez le savoir afin qu'ils entrent le même nom." ,
"sendFeedback" : "Envoyer votre avis" ,
"startMeeting" : "Démarrer la conférence" ,
"terms" : "Termes" ,
"title" : "Système de vidéoconférence sécurisé, riche en fonctionnalités et gratuit" ,
"logo" : {
"calendar" : "Logo Calendar" ,
"microsoftLogo" : "Logo Microsoft" ,
"logoDeepLinking" : "Logo Jitsi meet" ,
"desktopPreviewThumbnail" : "Miniature d'aperçu du bureau" ,
"googleLogo" : "Logo Google" ,
"policyLogo" : "Logo de la politique"
2015-03-31 11:35:05 +00:00
}
2021-06-14 16:33:58 +00:00
} ,
"lonelyMeetingExperience" : {
"button" : "Inviter d'autres personnes" ,
"youAreAlone" : "Vous êtes le seul participant de la réunion"
} ,
2021-11-20 10:51:55 +00:00
"termsView" : {
"header" : "Conditions d'utilisation"
} ,
"privacyView" : {
"header" : "Confidentialité"
} ,
2021-06-14 16:33:58 +00:00
"helpView" : {
"header" : "Centre d'aide"
} ,
"lobby" : {
"admit" : "Accepter" ,
"admitAll" : "Tout accepter" ,
"knockingParticipantList" : "Liste des participants en attente" ,
"allow" : "Autoriser" ,
"backToKnockModeButton" : "Aucun mot de passe, demander à rejoindre plutôt" ,
"dialogTitle" : "Mode salle d'attente" ,
"disableDialogContent" : "Le mode salle d'attente est actuellement activé. Cette fonctionnalité garantit que les participants indésirables ne peuvent pas rejoindre votre réunion. Souhaitez-vous la désactiver ?" ,
"disableDialogSubmit" : "Désactiver" ,
"emailField" : "Saisissez votre adresse email" ,
"enableDialogPasswordField" : "Définir le mot de passe (optionnel)" ,
"enableDialogSubmit" : "Activer" ,
"enableDialogText" : "Le mode salle d'attente vous permet de protéger votre réunion en autorisant les personnes à entrer qu'après l'approbation formelle d'un modérateur." ,
"enterPasswordButton" : "Saisissez un mot de passe de réunion" ,
"enterPasswordTitle" : "Saisissez le mot de passe pour rejoindre la réunion" ,
2021-10-25 10:00:32 +00:00
"errorMissingPassword" : "Veuillez saisir le mot de passe de la réunion" ,
2021-06-14 16:33:58 +00:00
"invalidPassword" : "Mot de passe invalide" ,
"joiningMessage" : "Vous allez rejoindre une réunion dès que quelqu'un aura accepté votre demande" ,
"joinWithPasswordMessage" : "Tentative de rejoindre avec mot de passe, patientez s'il vous plait ..." ,
"joinRejectedMessage" : "Votre requête pour rejoindre une réunion a été refusée par un modérateur." ,
"joinTitle" : "Rejoindre une réunion" ,
"joiningTitle" : "Demander à rejoindre une réunion ..." ,
"joiningWithPasswordTitle" : "Rejoindre avec mot de passe ..." ,
"knockButton" : "Demander à rejoindre" ,
"knockTitle" : "Quelqu'un souhaite rejoindre la réunion" ,
"nameField" : "Saisissez votre nom" ,
"notificationLobbyAccessDenied" : "{{targetParticipantName}} a été refusé par {{originParticipantName}}" ,
"notificationLobbyAccessGranted" : "{{targetParticipantName}} a été accepté par {{originParticipantName}}" ,
"notificationLobbyDisabled" : "Le mode salle d'attente a été désactivé par {{originParticipantName}}" ,
"notificationLobbyEnabled" : "Le mode salle d'attente a été activé par {{originParticipantName}}" ,
"notificationTitle" : "Salle d'attente" ,
"passwordField" : "Veuillez saisir le mot de passe de la réunion" ,
"passwordJoinButton" : "Rejoindre" ,
"reject" : "Refuser" ,
2021-10-25 10:00:32 +00:00
"rejectAll" : "Refuser tout" ,
2021-06-14 16:33:58 +00:00
"toggleLabel" : "Activer la salle d'attente"
}
2020-03-23 13:56:25 +00:00
}