feat: add YouTube video embed support for TipTap editor (#294)
* feat: add YouTube video embed support for TipTap editor - Paste YouTube URLs to auto-embed videos with metadata - Edit video title and URL through dropdown menu - Convert embed back to plain URL link - Fetch video titles automatically via YouTube oEmbed API * fix: - reverted NewCardForm CSS properties back to max-h-48. - Added boolean prop to TipTap Edtior for YouTube embed. - Disabled YouTube embed feature for NewCardForm Editor * chore: lint * chore: translations * chore: update translations --------- Co-authored-by: Henry <henry_ball@hotmail.co.uk>
This commit is contained in:
committed by
GitHub
parent
a5432c60b7
commit
89c8961176
@@ -31,17 +31,17 @@ msgstr "{0}"
|
||||
#. placeholder {1}: board?.name ?? t`Board`
|
||||
#. placeholder {1}: workspace.name ?? t`Workspace`
|
||||
#: src/views/boards/index.tsx:33
|
||||
#: src/views/card/index.tsx:272
|
||||
#: src/views/card/index.tsx:273
|
||||
msgid "{0} | {1}"
|
||||
msgstr "{0} | {1}"
|
||||
|
||||
#. placeholder {0}: labelPublicIds.length
|
||||
#: src/views/board/components/NewCardForm.tsx:452
|
||||
#: src/views/board/components/NewCardForm.tsx:453
|
||||
msgid "{0} labels"
|
||||
msgstr "{0} étiquettes"
|
||||
|
||||
#. placeholder {0}: isTemplate ? "Template" : "Board"
|
||||
#: src/views/board/index.tsx:408
|
||||
#: src/views/board/index.tsx:416
|
||||
msgid "{0} not found"
|
||||
msgstr "{0} introuvable"
|
||||
|
||||
@@ -83,7 +83,7 @@ msgstr "Compte supprimé"
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: src/views/card/index.tsx:386
|
||||
#: src/views/card/index.tsx:387
|
||||
#: src/views/public/board/CardModal.tsx:158
|
||||
msgid "Activity"
|
||||
msgstr "Activité"
|
||||
@@ -113,11 +113,11 @@ msgstr "Ajouter un élément..."
|
||||
msgid "Add checklist"
|
||||
msgstr "Ajouter une checklist"
|
||||
|
||||
#: src/components/Editor.tsx:451
|
||||
#: src/components/Editor.tsx:455
|
||||
msgid "Add description... (type '/' to open commands or '@' to mention)"
|
||||
msgstr "Ajouter une description... (tapez '/' pour ouvrir les commandes ou '@' pour mentionner)"
|
||||
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:195
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:200
|
||||
msgid "Add details..."
|
||||
msgstr "Ajouter des détails..."
|
||||
|
||||
@@ -317,8 +317,8 @@ msgstr "Portail de facturation"
|
||||
msgid "Blog Post"
|
||||
msgstr "Article de blog"
|
||||
|
||||
#: src/views/board/index.tsx:382
|
||||
#: src/views/card/index.tsx:272
|
||||
#: src/views/board/index.tsx:390
|
||||
#: src/views/card/index.tsx:273
|
||||
#: src/views/public/board/index.tsx:114
|
||||
msgid "Board"
|
||||
msgstr "Tableau"
|
||||
@@ -386,6 +386,7 @@ msgid "Bug Report"
|
||||
msgstr "Rapport de bug"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:49
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:176
|
||||
#: src/views/board/components/DeleteBoardConfirmation.tsx:44
|
||||
#: src/views/card/components/Comment.tsx:159
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:86
|
||||
@@ -400,12 +401,12 @@ msgstr "Rapport de bug"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/views/card/index.tsx:272
|
||||
#: src/views/card/index.tsx:273
|
||||
msgid "Card"
|
||||
msgstr "Carte"
|
||||
|
||||
#: src/views/card/index.tsx:306
|
||||
#: src/views/card/index.tsx:342
|
||||
#: src/views/card/index.tsx:307
|
||||
#: src/views/card/index.tsx:343
|
||||
msgid "Card not found"
|
||||
msgstr "Carte introuvable"
|
||||
|
||||
@@ -555,6 +556,10 @@ msgstr "Continuer avec {0}"
|
||||
msgid "Control who can view and edit your boards."
|
||||
msgstr "Contrôlez qui peut voir et modifier vos tableaux."
|
||||
|
||||
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:47
|
||||
msgid "Convert to link"
|
||||
msgstr "Convertir en lien"
|
||||
|
||||
#: src/views/pricing/components/FeatureComparisonTable.tsx:38
|
||||
msgid "Core features"
|
||||
msgstr "Fonctionnalités essentielles"
|
||||
@@ -565,7 +570,7 @@ msgid "Create {0}"
|
||||
msgstr "Créer {0}"
|
||||
|
||||
#: src/components/LabelForm.tsx:213
|
||||
#: src/views/board/components/NewCardForm.tsx:516
|
||||
#: src/views/board/components/NewCardForm.tsx:517
|
||||
#: src/views/board/components/NewListForm.tsx:141
|
||||
msgid "Create another"
|
||||
msgstr "Créer un autre"
|
||||
@@ -574,7 +579,7 @@ msgstr "Créer un autre"
|
||||
msgid "Create API key"
|
||||
msgstr "Créer une clé API"
|
||||
|
||||
#: src/views/board/components/NewCardForm.tsx:526
|
||||
#: src/views/board/components/NewCardForm.tsx:527
|
||||
msgid "Create card"
|
||||
msgstr "Créer une carte"
|
||||
|
||||
@@ -604,13 +609,13 @@ msgstr "Créer un nouveau {0}"
|
||||
msgid "Create new key"
|
||||
msgstr "Créer une nouvelle clé"
|
||||
|
||||
#: src/views/board/components/NewCardForm.tsx:414
|
||||
#: src/views/board/components/NewCardForm.tsx:415
|
||||
#: src/views/card/components/LabelSelector.tsx:98
|
||||
msgid "Create new label"
|
||||
msgstr "Créer une nouvelle étiquette"
|
||||
|
||||
#: src/views/board/index.tsx:64
|
||||
#: src/views/board/index.tsx:499
|
||||
#: src/views/board/index.tsx:65
|
||||
#: src/views/board/index.tsx:507
|
||||
msgid "Create new list"
|
||||
msgstr "Créer une nouvelle liste"
|
||||
|
||||
@@ -679,6 +684,7 @@ msgstr "Désactiver le lien d'invitation"
|
||||
|
||||
#: src/components/DeleteLabelConfirmation.tsx:51
|
||||
#: src/components/LabelForm.tsx:228
|
||||
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:52
|
||||
#: src/views/board/components/DeleteBoardConfirmation.tsx:47
|
||||
#: src/views/card/components/DeleteCardConfirmation.tsx:92
|
||||
#: src/views/card/components/DeleteChecklistConfirmation.tsx:67
|
||||
@@ -803,8 +809,8 @@ msgid "Download failed"
|
||||
msgstr "Échec du téléchargement"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:171
|
||||
#: src/views/board/components/NewCardForm.tsx:469
|
||||
#: src/views/card/index.tsx:139
|
||||
#: src/views/board/components/NewCardForm.tsx:470
|
||||
#: src/views/card/index.tsx:140
|
||||
msgid "Due date"
|
||||
msgstr "Date d'échéance"
|
||||
|
||||
@@ -824,6 +830,10 @@ msgstr "Échéance aujourd'hui"
|
||||
msgid "Due tomorrow"
|
||||
msgstr "Échéance demain"
|
||||
|
||||
#: src/components/YouTubeEmbed/YouTubeDropdown.tsx:42
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: src/views/board/components/BoardDropdown.tsx:41
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:116
|
||||
msgid "Edit board URL"
|
||||
@@ -841,6 +851,10 @@ msgstr "Modifier l'étiquette"
|
||||
msgid "Edit workspace URL"
|
||||
msgstr "Modifier l'URL de l'espace de travail"
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:108
|
||||
msgid "Edit YouTube Video"
|
||||
msgstr "Modifier la vidéo YouTube"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:32
|
||||
msgid "Editing"
|
||||
msgstr "Édition"
|
||||
@@ -857,6 +871,10 @@ msgstr "E-mail"
|
||||
msgid "Enhancement"
|
||||
msgstr "Amélioration"
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:131
|
||||
msgid "Enter a custom title"
|
||||
msgstr "Saisir un titre personnalisé"
|
||||
|
||||
#: src/views/settings/components/ChangePasswordConfirmation.tsx:122
|
||||
msgid "Enter your current password"
|
||||
msgstr "Saisissez votre mot de passe actuel"
|
||||
@@ -981,6 +999,10 @@ msgstr "Échec de la copie du lien d'invitation"
|
||||
msgid "Failed to create board"
|
||||
msgstr "Échec de la création du tableau"
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:82
|
||||
msgid "Failed to fetch video information"
|
||||
msgstr "Échec de la récupération des informations de la vidéo"
|
||||
|
||||
#. placeholder {0}: provider.at(0)?.toUpperCase() + provider.slice(1)
|
||||
#: src/components/AuthForm.tsx:291
|
||||
msgid "Failed to login with {0}. Please try again."
|
||||
@@ -1047,6 +1069,8 @@ msgid "For long-term sustainability, we recognise all good open source projects
|
||||
msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons projets open source ont besoin d'une source de revenus. La nôtre provient de l'offre cloud payante pour les espaces de travail avec plusieurs utilisateurs et pour les slugs d'espace de travail personnalisés. Il n'y a aucune obligation de l'utiliser, et vous pouvez auto-héberger le logiciel sur votre propre infrastructure gratuitement."
|
||||
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/Pricing.tsx:32
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
#: src/views/pricing/components/PricingTiers.tsx:30
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
@@ -1092,7 +1116,7 @@ msgstr "Commencer"
|
||||
msgid "Get started by creating a new {0}"
|
||||
msgstr "Commencez par créer un nouveau {0}"
|
||||
|
||||
#: src/views/board/index.tsx:491
|
||||
#: src/views/board/index.tsx:499
|
||||
msgid "Get started by creating a new list"
|
||||
msgstr "Commencez par créer une nouvelle liste"
|
||||
|
||||
@@ -1175,6 +1199,10 @@ msgstr "Comment faire pour auto-héberger ?"
|
||||
msgid "How is the project funded?"
|
||||
msgstr "Comment le projet est-il financé ?"
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:151
|
||||
msgid "https://www.youtube.com/watch?v=..."
|
||||
msgstr "https://www.youtube.com/watch?v=..."
|
||||
|
||||
#: src/views/settings/components/DeleteAccountConfirmation.tsx:82
|
||||
msgid "I acknowledge that all of my account data will be permanently deleted and want to proceed."
|
||||
msgstr "Je reconnais que toutes les données de mon compte seront définitivement supprimées et je souhaite continuer."
|
||||
@@ -1327,8 +1355,8 @@ msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: src/views/board/components/Filters.tsx:155
|
||||
#: src/views/board/components/NewCardForm.tsx:418
|
||||
#: src/views/card/index.tsx:121
|
||||
#: src/views/board/components/NewCardForm.tsx:419
|
||||
#: src/views/card/index.tsx:122
|
||||
msgid "Labels"
|
||||
msgstr "Étiquettes"
|
||||
|
||||
@@ -1382,7 +1410,7 @@ msgstr "Clair"
|
||||
msgid "Link copied"
|
||||
msgstr "Lien copié"
|
||||
|
||||
#: src/views/card/index.tsx:113
|
||||
#: src/views/card/index.tsx:114
|
||||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
@@ -1445,8 +1473,8 @@ msgstr "Priorité moyenne"
|
||||
|
||||
#: src/components/SideNavigation.tsx:121
|
||||
#: src/views/board/components/Filters.tsx:147
|
||||
#: src/views/board/components/NewCardForm.tsx:376
|
||||
#: src/views/card/index.tsx:130
|
||||
#: src/views/board/components/NewCardForm.tsx:377
|
||||
#: src/views/card/index.tsx:131
|
||||
#: src/views/members/index.tsx:178
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
@@ -1520,7 +1548,7 @@ msgid "New label"
|
||||
msgstr "Nouvelle étiquette"
|
||||
|
||||
#: src/views/board/components/NewListForm.tsx:113
|
||||
#: src/views/board/index.tsx:462
|
||||
#: src/views/board/index.tsx:470
|
||||
msgid "New list"
|
||||
msgstr "Nouvelle liste"
|
||||
|
||||
@@ -1581,7 +1609,7 @@ msgstr "Aucune URL de téléchargement disponible pour cette pièce jointe."
|
||||
msgid "No keyboard shortcuts registered."
|
||||
msgstr "Aucun raccourci clavier enregistré."
|
||||
|
||||
#: src/views/board/index.tsx:488
|
||||
#: src/views/board/index.tsx:496
|
||||
msgid "No lists"
|
||||
msgstr "Aucune liste"
|
||||
|
||||
@@ -1719,6 +1747,11 @@ msgstr "Veuillez saisir un nom valide"
|
||||
msgid "Please enter a valid password"
|
||||
msgstr "Veuillez saisir un mot de passe valide"
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:58
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:98
|
||||
msgid "Please enter a valid YouTube URL"
|
||||
msgstr "Veuillez saisir une URL YouTube valide"
|
||||
|
||||
#: src/views/settings/components/Avatar.tsx:92
|
||||
msgid "Please select a file to upload."
|
||||
msgstr "Veuillez sélectionner un fichier à télécharger."
|
||||
@@ -1732,12 +1765,12 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
|
||||
#: src/views/board/components/NewTemplateForm.tsx:77
|
||||
#: src/views/board/components/UpdateBoardSlugForm.tsx:73
|
||||
#: src/views/board/components/VisibilityButton.tsx:54
|
||||
#: src/views/board/index.tsx:170
|
||||
#: src/views/board/index.tsx:226
|
||||
#: src/views/board/index.tsx:171
|
||||
#: src/views/board/index.tsx:227
|
||||
#: src/views/boards/components/ImportBoardsForm.tsx:205
|
||||
#: src/views/card/components/AttachmentThumbnails.tsx:74
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:67
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:95
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:69
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:97
|
||||
#: src/views/card/components/ChecklistNameInput.tsx:47
|
||||
#: src/views/card/components/Checklists.tsx:81
|
||||
#: src/views/card/components/Comment.tsx:65
|
||||
@@ -1751,8 +1784,8 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
|
||||
#: src/views/card/components/NewChecklistForm.tsx:71
|
||||
#: src/views/card/components/NewChecklistItemForm.tsx:90
|
||||
#: src/views/card/components/NewCommentForm.tsx:32
|
||||
#: src/views/card/index.tsx:187
|
||||
#: src/views/card/index.tsx:200
|
||||
#: src/views/card/index.tsx:188
|
||||
#: src/views/card/index.tsx:201
|
||||
#: src/views/members/components/DeleteMemberConfirmation.tsx:28
|
||||
#: src/views/members/components/InviteMemberForm.tsx:104
|
||||
#: src/views/members/components/InviteMemberForm.tsx:241
|
||||
@@ -1924,6 +1957,7 @@ msgstr "Rôle"
|
||||
msgid "Run on your own infrastructure"
|
||||
msgstr "Exécutez sur votre propre infrastructure"
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:183
|
||||
#: src/views/card/components/Comment.tsx:166
|
||||
#: src/views/settings/components/Avatar.tsx:309
|
||||
msgid "Save"
|
||||
@@ -2107,8 +2141,8 @@ msgstr "Forfait d'équipe"
|
||||
msgid "Teams"
|
||||
msgstr "Équipes"
|
||||
|
||||
#: src/views/board/index.tsx:382
|
||||
#: src/views/board/index.tsx:417
|
||||
#: src/views/board/index.tsx:390
|
||||
#: src/views/board/index.tsx:425
|
||||
msgid "Template"
|
||||
msgstr "Modèle"
|
||||
|
||||
@@ -2214,6 +2248,10 @@ msgstr "Cette URL d'espace de travail est réservée"
|
||||
msgid "This workspace username has already been taken"
|
||||
msgstr "Ce nom d'utilisateur d'espace de travail est déjà pris"
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:127
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: src/views/boards/components/TemplateBoards.tsx:17
|
||||
#: src/views/boards/components/TemplateBoards.tsx:23
|
||||
msgid "To Do"
|
||||
@@ -2256,7 +2294,7 @@ msgstr "Impossible d'ajouter l'élément à la liste de contrôle"
|
||||
msgid "Unable to add comment"
|
||||
msgstr "Impossible d'ajouter un commentaire"
|
||||
|
||||
#: src/views/card/index.tsx:199
|
||||
#: src/views/card/index.tsx:200
|
||||
msgid "Unable to add label"
|
||||
msgstr "Impossible d'ajouter l'étiquette"
|
||||
|
||||
@@ -2293,7 +2331,7 @@ msgstr "Impossible de supprimer la carte"
|
||||
msgid "Unable to delete checklist"
|
||||
msgstr "Impossible de supprimer la liste de contrôle"
|
||||
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:94
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:96
|
||||
msgid "Unable to delete checklist item"
|
||||
msgstr "Impossible de supprimer l'élément de la liste de contrôle"
|
||||
|
||||
@@ -2321,8 +2359,8 @@ msgstr "Impossible de mettre à jour l'URL du tableau"
|
||||
msgid "Unable to update board visibility"
|
||||
msgstr "Impossible de mettre à jour la visibilité du tableau"
|
||||
|
||||
#: src/views/board/index.tsx:225
|
||||
#: src/views/card/index.tsx:186
|
||||
#: src/views/board/index.tsx:226
|
||||
#: src/views/card/index.tsx:187
|
||||
msgid "Unable to update card"
|
||||
msgstr "Impossible de mettre à jour la carte"
|
||||
|
||||
@@ -2330,7 +2368,7 @@ msgstr "Impossible de mettre à jour la carte"
|
||||
msgid "Unable to update checklist"
|
||||
msgstr "Impossible de mettre à jour la liste de contrôle"
|
||||
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:66
|
||||
#: src/views/card/components/ChecklistItemRow.tsx:68
|
||||
msgid "Unable to update checklist item"
|
||||
msgstr "Impossible de mettre à jour l'élément de la liste de contrôle"
|
||||
|
||||
@@ -2346,7 +2384,7 @@ msgstr "Impossible de mettre à jour la date d'échéance"
|
||||
msgid "Unable to update labels"
|
||||
msgstr "Impossible de mettre à jour les étiquettes"
|
||||
|
||||
#: src/views/board/index.tsx:169
|
||||
#: src/views/board/index.tsx:170
|
||||
#: src/views/card/components/ListSelector.tsx:52
|
||||
msgid "Unable to update list"
|
||||
msgstr "Impossible de mettre à jour la liste"
|
||||
@@ -2557,7 +2595,7 @@ msgid "Why make an open source Trello?"
|
||||
msgstr "Pourquoi créer un Trello open source ?"
|
||||
|
||||
#: src/components/SettingsLayout.tsx:39
|
||||
#: src/views/board/index.tsx:382
|
||||
#: src/views/board/index.tsx:390
|
||||
#: src/views/boards/index.tsx:33
|
||||
#: src/views/members/index.tsx:173
|
||||
#: src/views/public/board/index.tsx:114
|
||||
@@ -2733,3 +2771,7 @@ msgstr "Le nom de votre espace de travail a été mis à jour."
|
||||
#: src/views/settings/components/UpdateWorkspaceUrlForm.tsx:61
|
||||
msgid "Your workspace slug has been updated."
|
||||
msgstr "Le slug de votre espace de travail a été mis à jour."
|
||||
|
||||
#: src/components/YouTubeEmbed/EditYouTubeModal.tsx:147
|
||||
msgid "YouTube URL"
|
||||
msgstr "URL YouTube"
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user