From 69fb69a8a2cc33694f121d2c9a91e28840d18a7b Mon Sep 17 00:00:00 2001 From: Sammy Ndabo Date: Thu, 23 Oct 2025 19:21:02 -0400 Subject: [PATCH 1/6] enh: Add contextual popovers for recording visibility help --- app/assets/locales/ca.json | 9 ++++ app/assets/locales/de.json | 9 ++++ app/assets/locales/en.json | 9 ++++ app/assets/locales/es.json | 11 ++++ app/assets/locales/fr.json | 9 ++++ app/assets/locales/gl.json | 9 ++++ app/assets/locales/it.json | 9 ++++ app/assets/locales/nl.json | 11 ++++ app/assets/locales/pt.json | 11 ++++ .../components/recordings/RecordingsList.jsx | 53 ++++++++++++++++++- 10 files changed, 138 insertions(+), 2 deletions(-) diff --git a/app/assets/locales/ca.json b/app/assets/locales/ca.json index 3ebfea06e6..d497c0378e 100644 --- a/app/assets/locales/ca.json +++ b/app/assets/locales/ca.json @@ -175,11 +175,20 @@ "users": "Usuaris", "visibility": "Visibilitat", "formats": "Formats", + "formats_help": "Mostra els tipus de reproducció disponibles (per exemple, Presentació o Vídeo). En fer clic en un format s'obre la gravació de BigBlueButton en una pestanya nova.", "published": "Publicat", "unpublished": "No Publicat", "protected": "Protegit", "public": "Públic", "public_protected": "Públic/Protegit", + "visibility_help": { + "title": "Opcions de visibilitat de la gravació", + "public": "Públic: Es mostra a la pàgina de gravacions públiques i es pot veure sense iniciar sessió.", + "public_protected": "Públic/Protegit: Es mostra públicament però utilitza enllaços protegits; qualsevol que tingui la pàgina la pot veure.", + "protected": "Protegit: Amagat de la pàgina pública; només el propietari o els usuaris compartits hi poden accedir després d'iniciar sessió.", + "published": "Publicat: No apareix en llistes públiques, però el propietari i els usuaris compartits la poden veure després d'iniciar sessió.", + "unpublished": "No Publicat: Amagat per a tothom fins que canviïs la visibilitat." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Processant enregistrament, això pot trigar diversos minuts...", "copy_recording_urls": "Copia URL(s) d'Enregistrament", diff --git a/app/assets/locales/de.json b/app/assets/locales/de.json index db75245b42..4c4094844b 100644 --- a/app/assets/locales/de.json +++ b/app/assets/locales/de.json @@ -180,11 +180,20 @@ "users": "Nutzende", "visibility": "Sichtbarkeit", "formats": "Formate", + "formats_help": "Zeigt die verfügbaren Wiedergabetypen (z. B. Präsentation oder Video). Ein Klick auf ein Format öffnet die BigBlueButton-Aufzeichnung in einem neuen Tab.", "published": "Veröffentlicht", "unpublished": "Unveröffentlicht", "protected": "Geschützt", "public": "Öffentlich", "public_protected": "Öffentlich/Geschützt", + "visibility_help": { + "title": "Optionen für die Aufzeichnungssichtbarkeit", + "public": "Öffentlich: Wird auf der Seite für öffentliche Aufzeichnungen gelistet und kann ohne Anmeldung angesehen werden.", + "public_protected": "Öffentlich/Geschützt: Wird öffentlich gelistet, verwendet aber geschützte Links; jede Person mit der Seite kann sie ansehen.", + "protected": "Geschützt: Auf der öffentlichen Seite verborgen; nur Eigentümer:innen oder geteilte Nutzende können nach Anmeldung zugreifen.", + "published": "Veröffentlicht: Nicht gelistet, aber Eigentümer:innen und geteilte Nutzende können sie nach Anmeldung ansehen.", + "unpublished": "Unveröffentlicht: Für alle anderen verborgen, bis du die Sichtbarkeit änderst." + }, "length_in_minutes": "{{recording.length}} Minuten", "processing_recording": "Aufzeichnung wird erstellt, dies kann einige Minuten dauern...", "copy_recording_urls": "Kopiere die URL(s) der Aufzeichnungen", diff --git a/app/assets/locales/en.json b/app/assets/locales/en.json index 802f8d24fd..0c85f27406 100644 --- a/app/assets/locales/en.json +++ b/app/assets/locales/en.json @@ -185,6 +185,15 @@ "protected": "Protected", "public": "Public", "public_protected": "Public/Protected", + "formats_help": "Shows the available playback types (for example, Presentation or Video). Clicking a format opens the BigBlueButton recording in a new tab.", + "visibility_help": { + "title": "Recording visibility options", + "public": "Public: Listed on the public recordings page and viewable without signing in.", + "public_protected": "Public/Protected: Listed publicly but uses protected playback links; anyone can watch if they have the page.", + "protected": "Protected: Hidden from the public page; only signed-in owners or shared users can access it.", + "published": "Published: Unlisted, but owners and shared users can watch it after signing in.", + "unpublished": "Unpublished: Hidden from everyone else until you change the visibility." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Processing recording, this may take several minutes...", "copy_recording_urls": "Copy Recording Url(s)", diff --git a/app/assets/locales/es.json b/app/assets/locales/es.json index d3e67f84b8..211bf06ccd 100644 --- a/app/assets/locales/es.json +++ b/app/assets/locales/es.json @@ -168,9 +168,20 @@ "users": "Usuarios", "visibility": "Visibilidad", "formats": "Formatos", + "formats_help": "Muestra los tipos de reproducción disponibles (por ejemplo, Presentación o Video). Al hacer clic en un formato se abre la grabación de BigBlueButton en una nueva pestaña.", "published": "Publicado", "unpublished": "No publicado", "protected": "Protegido", + "public": "Público", + "public_protected": "Público/Protegido", + "visibility_help": { + "title": "Opciones de visibilidad de la grabación", + "public": "Público: Aparece en la página de grabaciones públicas y se puede ver sin iniciar sesión.", + "public_protected": "Público/Protegido: Aparece públicamente pero usa enlaces protegidos; cualquiera puede verlo si tiene la página.", + "protected": "Protegido: Oculto en la página pública; solo el propietario o usuarios compartidos pueden acceder tras iniciar sesión.", + "published": "Publicado: No aparece en listas públicas, pero el propietario y usuarios compartidos pueden verlo tras iniciar sesión.", + "unpublished": "No publicado: Oculto para todos los demás hasta que cambies la visibilidad." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Procesando grabación...", "copy_recording_urls": "Copiar enlace(s) de la grabación", diff --git a/app/assets/locales/fr.json b/app/assets/locales/fr.json index b2a996448b..e419782350 100644 --- a/app/assets/locales/fr.json +++ b/app/assets/locales/fr.json @@ -180,11 +180,20 @@ "users": "Utilisateurs", "visibility": "État", "formats": "Lecture", + "formats_help": "Affiche les types de lecture disponibles (par exemple Présentation ou Vidéo). Cliquer sur un format ouvre l'enregistrement BigBlueButton dans un nouvel onglet.", "published": "Publiée", "unpublished": "Non publiée", "protected": "Protégé", "public": "Public", "public_protected": "Public/Protégé", + "visibility_help": { + "title": "Options de visibilité de l'enregistrement", + "public": "Public : Apparaît sur la page des enregistrements publics et se visionne sans connexion.", + "public_protected": "Public/Protégé : Apparaît publiquement mais utilise des liens protégés ; toute personne ayant la page peut le visionner.", + "protected": "Protégé : Masqué de la page publique ; seul le propriétaire ou les utilisateurs partagés peuvent y accéder après connexion.", + "published": "Publiée : Non listée publiquement, mais le propriétaire et les utilisateurs partagés peuvent la visionner une fois connectés.", + "unpublished": "Non publiée : Masquée pour tous jusqu'à ce que vous changiez la visibilité." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "L'enregistrement est en cours de traitement, cela peu prendre quelques minutes...", "copy_recording_urls": "Copier l'URL de l'enregistrement", diff --git a/app/assets/locales/gl.json b/app/assets/locales/gl.json index a37ef4aed5..cb450381ae 100644 --- a/app/assets/locales/gl.json +++ b/app/assets/locales/gl.json @@ -180,11 +180,20 @@ "users": "Usuarios", "visibility": "Visibilidade", "formats": "Formatos", + "formats_help": "Mostra os tipos de reprodución dispoñíbeis (por exemplo, Presentación ou Vídeo). Ao premer nun formato ábrese a gravación de BigBlueButton nunha nova lapela.", "published": "Publicada", "unpublished": "Sen publicar", "protected": "Protexida", "public": "Publica", "public_protected": "Publica/protexida", + "visibility_help": { + "title": "Opcións de visibilidade da gravación", + "public": "Pública: Aparece na páxina de gravacións públicas e pódese ver sen iniciar sesión.", + "public_protected": "Pública/Protexida: Aparece publicamente pero usa ligazóns protexidas; calquera persoa con acceso á páxina pode vela.", + "protected": "Protexida: Agochada da páxina pública; só o propietario ou as persoas co acceso compartido poden entrar despois de iniciar sesión.", + "published": "Publicada: Non aparece en listaxes públicas, pero o propietario e os usuarios compartidos poden vela despois de iniciar sesión.", + "unpublished": "Sen publicar: Agochada para todos ata que cambie a visibilidade." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Procesando a gravación, isto pode levar varios minutos…", "copy_recording_urls": "Copiar o(s) URL da(s) gravación(s)", diff --git a/app/assets/locales/it.json b/app/assets/locales/it.json index ea8618daf6..6660053de2 100644 --- a/app/assets/locales/it.json +++ b/app/assets/locales/it.json @@ -180,11 +180,20 @@ "users": "Utenti", "visibility": "Visibilità", "formats": "Formati", + "formats_help": "Mostra i tipi di riproduzione disponibili (ad esempio Presentazione o Video). Facendo clic su un formato si apre la registrazione BigBlueButton in una nuova scheda.", "published": "Pubblicata", "unpublished": "Non pubblicata", "protected": "Protetta", "public": "Pubblica", "public_protected": "Pubblica/Protetta", + "visibility_help": { + "title": "Opzioni di visibilità della registrazione", + "public": "Pubblica: Elencata nella pagina delle registrazioni pubbliche e visibile senza accesso.", + "public_protected": "Pubblica/Protetta: Elencata pubblicamente ma usa link protetti; chiunque abbia la pagina può guardarla.", + "protected": "Protetta: Nascosta dalla pagina pubblica; solo il proprietario o gli utenti con accesso condiviso possono vederla dopo il login.", + "published": "Pubblicata: Non elencata, ma proprietario e utenti condivisi possono guardarla dopo aver effettuato l'accesso.", + "unpublished": "Non pubblicata: Nascosta a tutti finché non cambi la visibilità." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Registrazione in elaborazione, può richiedere del tempo...", "copy_recording_urls": "Copia URL Registrazione", diff --git a/app/assets/locales/nl.json b/app/assets/locales/nl.json index 971f253fe0..e6a97f0112 100644 --- a/app/assets/locales/nl.json +++ b/app/assets/locales/nl.json @@ -168,9 +168,20 @@ "users": "Gebruikers", "visibility": "Zichtbaarheid", "formats": "Formaten", + "formats_help": "Toont de beschikbare afspeeltypes (bijvoorbeeld Presentatie of Video). Klikken op een formaat opent de BigBlueButton-opname in een nieuw tabblad.", "published": "Gepubliceerd", "unpublished": "Niet gepubliceerd", "protected": "Beschermd", + "public": "Openbaar", + "public_protected": "Openbaar/Beschermd", + "visibility_help": { + "title": "Opties voor opnamezichtbaarheid", + "public": "Openbaar: Wordt getoond op de pagina met openbare opnames en is te bekijken zonder in te loggen.", + "public_protected": "Openbaar/Beschermd: Wordt openbaar weergegeven maar gebruikt beschermde links; iedereen met de pagina kan de opname bekijken.", + "protected": "Beschermd: Verborgen op de openbare pagina; alleen de eigenaar of gedeelde gebruikers hebben toegang na inloggen.", + "published": "Gepubliceerd: Niet vermeld in openbare lijsten, maar de eigenaar en gedeelde gebruikers kunnen de opname bekijken na inloggen.", + "unpublished": "Niet gepubliceerd: Verborgen voor iedereen totdat je de zichtbaarheid wijzigt." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Opname wordt verwerkt. Dit kan enkele minuten duren...", "copy_recording_urls": "Kopieer opname-URL(s)", diff --git a/app/assets/locales/pt.json b/app/assets/locales/pt.json index 9c80073fd6..4bcfbd1bf5 100644 --- a/app/assets/locales/pt.json +++ b/app/assets/locales/pt.json @@ -168,9 +168,20 @@ "users": "Utilizadores", "visibility": "Visibilidade", "formats": "Formatos", + "formats_help": "Mostra os tipos de reprodução disponíveis (por exemplo, Apresentação ou Vídeo). Ao clicar num formato abre-se a gravação do BigBlueButton num novo separador.", "published": "Publicada", "unpublished": "Não publicada", "protected": "Protegida", + "public": "Pública", + "public_protected": "Pública/Protegida", + "visibility_help": { + "title": "Opções de visibilidade da gravação", + "public": "Pública: Listada na página de gravações públicas e pode ser vista sem iniciar sessão.", + "public_protected": "Pública/Protegida: Listada publicamente mas usa ligações protegidas; qualquer pessoa com a página pode vê-la.", + "protected": "Protegida: Oculta da página pública; apenas o proprietário ou utilizadores partilhados podem aceder após iniciar sessão.", + "published": "Publicada: Não listada, mas o proprietário e os utilizadores partilhados podem vê-la depois de iniciar sessão.", + "unpublished": "Não publicada: Oculta para todos até alterares a visibilidade." + }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "A processar a gravação. Isto pode demorar alguns minutos...", "copy_recording_urls": "Copiar link da gravação", diff --git a/app/javascript/components/recordings/RecordingsList.jsx b/app/javascript/components/recordings/RecordingsList.jsx index c43e08658c..c793ece5e9 100644 --- a/app/javascript/components/recordings/RecordingsList.jsx +++ b/app/javascript/components/recordings/RecordingsList.jsx @@ -19,7 +19,10 @@ import PropTypes from 'prop-types'; import { Badge, Card, Stack, Table, } from 'react-bootstrap'; +import OverlayTrigger from 'react-bootstrap/OverlayTrigger'; +import Tooltip from 'react-bootstrap/Tooltip'; import { useTranslation } from 'react-i18next'; +import { QuestionMarkCircleIcon } from '@heroicons/react/24/outline'; import SortBy from '../shared_components/search/SortBy'; import RecordingsListRowPlaceHolder from './RecordingsListRowPlaceHolder'; import NoSearchResults from '../shared_components/search/NoSearchResults'; @@ -33,6 +36,25 @@ export default function RecordingsList({ }) { const { t } = useTranslation(); + const visibilityTooltip = ( + +
{t('recording.visibility_help.title')}
+ +
+ ); + + const formatsTooltip = ( + + {t('recording.formats_help')} + + ); + if (!isLoading && recordings?.data?.length === 0 && !searchInput && recordingsProcessing === 0) { return ; } @@ -68,8 +90,35 @@ export default function RecordingsList({ {t('recording.name')} {t('recording.length')} {t('recording.users')} - {t('recording.visibility')} - {t('recording.formats')} + + + {t('recording.visibility')} + + + + + + + + + + + {t('recording.formats')} + + + + + + + From f7058cedf5aa4fa704f25d36ca0eb878d6da3907 Mon Sep 17 00:00:00 2001 From: Sammy Ndabo Date: Tue, 4 Nov 2025 01:22:14 +0200 Subject: [PATCH 2/6] fix: reorder visibility help items in tooltip --- app/javascript/components/recordings/RecordingsList.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/components/recordings/RecordingsList.jsx b/app/javascript/components/recordings/RecordingsList.jsx index c793ece5e9..e9a4f99158 100644 --- a/app/javascript/components/recordings/RecordingsList.jsx +++ b/app/javascript/components/recordings/RecordingsList.jsx @@ -40,8 +40,8 @@ export default function RecordingsList({
{t('recording.visibility_help.title')}
    -
  • {t('recording.visibility_help.public')}
  • {t('recording.visibility_help.public_protected')}
  • +
  • {t('recording.visibility_help.public')}
  • {t('recording.visibility_help.protected')}
  • {t('recording.visibility_help.published')}
  • {t('recording.visibility_help.unpublished')}
  • From ca19afd215fd3b15fb82509fd726e24bf345bfae Mon Sep 17 00:00:00 2001 From: Sammy Ndabo Date: Sat, 15 Nov 2025 12:30:07 +0300 Subject: [PATCH 3/6] fix: optimize placeholder rendering in RecordingsList component --- app/javascript/components/recordings/RecordingsList.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/components/recordings/RecordingsList.jsx b/app/javascript/components/recordings/RecordingsList.jsx index e9a4f99158..b4bb43d0df 100644 --- a/app/javascript/components/recordings/RecordingsList.jsx +++ b/app/javascript/components/recordings/RecordingsList.jsx @@ -124,10 +124,10 @@ export default function RecordingsList({ { - (isLoading && [...Array(numPlaceholders)].map((val, idx) => ( + isLoading && Array.from({ length: numPlaceholders }).map((_, idx) => ( // eslint-disable-next-line react/no-array-index-key - ))) + )) } { (recordings?.data?.length > 0 && recordings?.data?.map((recording, idx) => ( From df131d04b36ce50332d6a01510bfd16e1a283fee Mon Sep 17 00:00:00 2001 From: Sammy Ndabo Date: Sat, 15 Nov 2025 12:32:51 +0300 Subject: [PATCH 4/6] fix: replace span with button for better accessibility in RecordingsList component --- app/javascript/components/recordings/RecordingsList.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/javascript/components/recordings/RecordingsList.jsx b/app/javascript/components/recordings/RecordingsList.jsx index b4bb43d0df..e247080d37 100644 --- a/app/javascript/components/recordings/RecordingsList.jsx +++ b/app/javascript/components/recordings/RecordingsList.jsx @@ -99,9 +99,9 @@ export default function RecordingsList({ trigger={['hover', 'focus']} overlay={visibilityTooltip} > - + @@ -113,9 +113,9 @@ export default function RecordingsList({ trigger={['hover', 'focus']} overlay={formatsTooltip} > - + From 158902584adc9148de8c392426d2943291a66027 Mon Sep 17 00:00:00 2001 From: Sammy Ndabo Date: Sat, 15 Nov 2025 14:45:37 +0300 Subject: [PATCH 5/6] fix: remove visibility help text from multiple locale files for unsure translations --- app/assets/locales/ca.json | 9 --------- app/assets/locales/de.json | 9 --------- app/assets/locales/es.json | 11 ----------- app/assets/locales/gl.json | 9 --------- app/assets/locales/it.json | 9 --------- app/assets/locales/nl.json | 11 ----------- app/assets/locales/pt.json | 11 ----------- 7 files changed, 69 deletions(-) diff --git a/app/assets/locales/ca.json b/app/assets/locales/ca.json index d497c0378e..3ebfea06e6 100644 --- a/app/assets/locales/ca.json +++ b/app/assets/locales/ca.json @@ -175,20 +175,11 @@ "users": "Usuaris", "visibility": "Visibilitat", "formats": "Formats", - "formats_help": "Mostra els tipus de reproducció disponibles (per exemple, Presentació o Vídeo). En fer clic en un format s'obre la gravació de BigBlueButton en una pestanya nova.", "published": "Publicat", "unpublished": "No Publicat", "protected": "Protegit", "public": "Públic", "public_protected": "Públic/Protegit", - "visibility_help": { - "title": "Opcions de visibilitat de la gravació", - "public": "Públic: Es mostra a la pàgina de gravacions públiques i es pot veure sense iniciar sessió.", - "public_protected": "Públic/Protegit: Es mostra públicament però utilitza enllaços protegits; qualsevol que tingui la pàgina la pot veure.", - "protected": "Protegit: Amagat de la pàgina pública; només el propietari o els usuaris compartits hi poden accedir després d'iniciar sessió.", - "published": "Publicat: No apareix en llistes públiques, però el propietari i els usuaris compartits la poden veure després d'iniciar sessió.", - "unpublished": "No Publicat: Amagat per a tothom fins que canviïs la visibilitat." - }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Processant enregistrament, això pot trigar diversos minuts...", "copy_recording_urls": "Copia URL(s) d'Enregistrament", diff --git a/app/assets/locales/de.json b/app/assets/locales/de.json index 4c4094844b..db75245b42 100644 --- a/app/assets/locales/de.json +++ b/app/assets/locales/de.json @@ -180,20 +180,11 @@ "users": "Nutzende", "visibility": "Sichtbarkeit", "formats": "Formate", - "formats_help": "Zeigt die verfügbaren Wiedergabetypen (z. B. Präsentation oder Video). Ein Klick auf ein Format öffnet die BigBlueButton-Aufzeichnung in einem neuen Tab.", "published": "Veröffentlicht", "unpublished": "Unveröffentlicht", "protected": "Geschützt", "public": "Öffentlich", "public_protected": "Öffentlich/Geschützt", - "visibility_help": { - "title": "Optionen für die Aufzeichnungssichtbarkeit", - "public": "Öffentlich: Wird auf der Seite für öffentliche Aufzeichnungen gelistet und kann ohne Anmeldung angesehen werden.", - "public_protected": "Öffentlich/Geschützt: Wird öffentlich gelistet, verwendet aber geschützte Links; jede Person mit der Seite kann sie ansehen.", - "protected": "Geschützt: Auf der öffentlichen Seite verborgen; nur Eigentümer:innen oder geteilte Nutzende können nach Anmeldung zugreifen.", - "published": "Veröffentlicht: Nicht gelistet, aber Eigentümer:innen und geteilte Nutzende können sie nach Anmeldung ansehen.", - "unpublished": "Unveröffentlicht: Für alle anderen verborgen, bis du die Sichtbarkeit änderst." - }, "length_in_minutes": "{{recording.length}} Minuten", "processing_recording": "Aufzeichnung wird erstellt, dies kann einige Minuten dauern...", "copy_recording_urls": "Kopiere die URL(s) der Aufzeichnungen", diff --git a/app/assets/locales/es.json b/app/assets/locales/es.json index 211bf06ccd..d3e67f84b8 100644 --- a/app/assets/locales/es.json +++ b/app/assets/locales/es.json @@ -168,20 +168,9 @@ "users": "Usuarios", "visibility": "Visibilidad", "formats": "Formatos", - "formats_help": "Muestra los tipos de reproducción disponibles (por ejemplo, Presentación o Video). Al hacer clic en un formato se abre la grabación de BigBlueButton en una nueva pestaña.", "published": "Publicado", "unpublished": "No publicado", "protected": "Protegido", - "public": "Público", - "public_protected": "Público/Protegido", - "visibility_help": { - "title": "Opciones de visibilidad de la grabación", - "public": "Público: Aparece en la página de grabaciones públicas y se puede ver sin iniciar sesión.", - "public_protected": "Público/Protegido: Aparece públicamente pero usa enlaces protegidos; cualquiera puede verlo si tiene la página.", - "protected": "Protegido: Oculto en la página pública; solo el propietario o usuarios compartidos pueden acceder tras iniciar sesión.", - "published": "Publicado: No aparece en listas públicas, pero el propietario y usuarios compartidos pueden verlo tras iniciar sesión.", - "unpublished": "No publicado: Oculto para todos los demás hasta que cambies la visibilidad." - }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Procesando grabación...", "copy_recording_urls": "Copiar enlace(s) de la grabación", diff --git a/app/assets/locales/gl.json b/app/assets/locales/gl.json index cb450381ae..a37ef4aed5 100644 --- a/app/assets/locales/gl.json +++ b/app/assets/locales/gl.json @@ -180,20 +180,11 @@ "users": "Usuarios", "visibility": "Visibilidade", "formats": "Formatos", - "formats_help": "Mostra os tipos de reprodución dispoñíbeis (por exemplo, Presentación ou Vídeo). Ao premer nun formato ábrese a gravación de BigBlueButton nunha nova lapela.", "published": "Publicada", "unpublished": "Sen publicar", "protected": "Protexida", "public": "Publica", "public_protected": "Publica/protexida", - "visibility_help": { - "title": "Opcións de visibilidade da gravación", - "public": "Pública: Aparece na páxina de gravacións públicas e pódese ver sen iniciar sesión.", - "public_protected": "Pública/Protexida: Aparece publicamente pero usa ligazóns protexidas; calquera persoa con acceso á páxina pode vela.", - "protected": "Protexida: Agochada da páxina pública; só o propietario ou as persoas co acceso compartido poden entrar despois de iniciar sesión.", - "published": "Publicada: Non aparece en listaxes públicas, pero o propietario e os usuarios compartidos poden vela despois de iniciar sesión.", - "unpublished": "Sen publicar: Agochada para todos ata que cambie a visibilidade." - }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Procesando a gravación, isto pode levar varios minutos…", "copy_recording_urls": "Copiar o(s) URL da(s) gravación(s)", diff --git a/app/assets/locales/it.json b/app/assets/locales/it.json index 6660053de2..ea8618daf6 100644 --- a/app/assets/locales/it.json +++ b/app/assets/locales/it.json @@ -180,20 +180,11 @@ "users": "Utenti", "visibility": "Visibilità", "formats": "Formati", - "formats_help": "Mostra i tipi di riproduzione disponibili (ad esempio Presentazione o Video). Facendo clic su un formato si apre la registrazione BigBlueButton in una nuova scheda.", "published": "Pubblicata", "unpublished": "Non pubblicata", "protected": "Protetta", "public": "Pubblica", "public_protected": "Pubblica/Protetta", - "visibility_help": { - "title": "Opzioni di visibilità della registrazione", - "public": "Pubblica: Elencata nella pagina delle registrazioni pubbliche e visibile senza accesso.", - "public_protected": "Pubblica/Protetta: Elencata pubblicamente ma usa link protetti; chiunque abbia la pagina può guardarla.", - "protected": "Protetta: Nascosta dalla pagina pubblica; solo il proprietario o gli utenti con accesso condiviso possono vederla dopo il login.", - "published": "Pubblicata: Non elencata, ma proprietario e utenti condivisi possono guardarla dopo aver effettuato l'accesso.", - "unpublished": "Non pubblicata: Nascosta a tutti finché non cambi la visibilità." - }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Registrazione in elaborazione, può richiedere del tempo...", "copy_recording_urls": "Copia URL Registrazione", diff --git a/app/assets/locales/nl.json b/app/assets/locales/nl.json index e6a97f0112..971f253fe0 100644 --- a/app/assets/locales/nl.json +++ b/app/assets/locales/nl.json @@ -168,20 +168,9 @@ "users": "Gebruikers", "visibility": "Zichtbaarheid", "formats": "Formaten", - "formats_help": "Toont de beschikbare afspeeltypes (bijvoorbeeld Presentatie of Video). Klikken op een formaat opent de BigBlueButton-opname in een nieuw tabblad.", "published": "Gepubliceerd", "unpublished": "Niet gepubliceerd", "protected": "Beschermd", - "public": "Openbaar", - "public_protected": "Openbaar/Beschermd", - "visibility_help": { - "title": "Opties voor opnamezichtbaarheid", - "public": "Openbaar: Wordt getoond op de pagina met openbare opnames en is te bekijken zonder in te loggen.", - "public_protected": "Openbaar/Beschermd: Wordt openbaar weergegeven maar gebruikt beschermde links; iedereen met de pagina kan de opname bekijken.", - "protected": "Beschermd: Verborgen op de openbare pagina; alleen de eigenaar of gedeelde gebruikers hebben toegang na inloggen.", - "published": "Gepubliceerd: Niet vermeld in openbare lijsten, maar de eigenaar en gedeelde gebruikers kunnen de opname bekijken na inloggen.", - "unpublished": "Niet gepubliceerd: Verborgen voor iedereen totdat je de zichtbaarheid wijzigt." - }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Opname wordt verwerkt. Dit kan enkele minuten duren...", "copy_recording_urls": "Kopieer opname-URL(s)", diff --git a/app/assets/locales/pt.json b/app/assets/locales/pt.json index 4bcfbd1bf5..9c80073fd6 100644 --- a/app/assets/locales/pt.json +++ b/app/assets/locales/pt.json @@ -168,20 +168,9 @@ "users": "Utilizadores", "visibility": "Visibilidade", "formats": "Formatos", - "formats_help": "Mostra os tipos de reprodução disponíveis (por exemplo, Apresentação ou Vídeo). Ao clicar num formato abre-se a gravação do BigBlueButton num novo separador.", "published": "Publicada", "unpublished": "Não publicada", "protected": "Protegida", - "public": "Pública", - "public_protected": "Pública/Protegida", - "visibility_help": { - "title": "Opções de visibilidade da gravação", - "public": "Pública: Listada na página de gravações públicas e pode ser vista sem iniciar sessão.", - "public_protected": "Pública/Protegida: Listada publicamente mas usa ligações protegidas; qualquer pessoa com a página pode vê-la.", - "protected": "Protegida: Oculta da página pública; apenas o proprietário ou utilizadores partilhados podem aceder após iniciar sessão.", - "published": "Publicada: Não listada, mas o proprietário e os utilizadores partilhados podem vê-la depois de iniciar sessão.", - "unpublished": "Não publicada: Oculta para todos até alterares a visibilidade." - }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "A processar a gravação. Isto pode demorar alguns minutos...", "copy_recording_urls": "Copiar link da gravação", From 468f0f9537f7b37728a28240d04e26cc28ebeb69 Mon Sep 17 00:00:00 2001 From: Sammy Ndabo Date: Thu, 4 Dec 2025 00:12:13 +0300 Subject: [PATCH 6/6] i18n: update visibility help text wordings for clarity --- app/assets/locales/en.json | 10 +++++----- app/assets/locales/fr.json | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/assets/locales/en.json b/app/assets/locales/en.json index 0c85f27406..fa76c8fdb0 100644 --- a/app/assets/locales/en.json +++ b/app/assets/locales/en.json @@ -188,11 +188,11 @@ "formats_help": "Shows the available playback types (for example, Presentation or Video). Clicking a format opens the BigBlueButton recording in a new tab.", "visibility_help": { "title": "Recording visibility options", - "public": "Public: Listed on the public recordings page and viewable without signing in.", - "public_protected": "Public/Protected: Listed publicly but uses protected playback links; anyone can watch if they have the page.", - "protected": "Protected: Hidden from the public page; only signed-in owners or shared users can access it.", - "published": "Published: Unlisted, but owners and shared users can watch it after signing in.", - "unpublished": "Unpublished: Hidden from everyone else until you change the visibility." + "public_protected": "Public/Protected - The recording is available on the Public Recordings page that can be reached from the Room Join page. The link can only be viewed from within Greenlight", + "public": "Public - The recording is available on the Public Recordings page that can be reached from the Room Join page. The link can be shared with anyone", + "protected": "Protected - The recording must be viewed from within Greenlight", + "published": "Published - The recording is accessible to anyone with the link", + "unpublished": "Unpublished - The recording is not accessible to anyone" }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "Processing recording, this may take several minutes...", diff --git a/app/assets/locales/fr.json b/app/assets/locales/fr.json index e419782350..109e943223 100644 --- a/app/assets/locales/fr.json +++ b/app/assets/locales/fr.json @@ -188,11 +188,11 @@ "public_protected": "Public/Protégé", "visibility_help": { "title": "Options de visibilité de l'enregistrement", - "public": "Public : Apparaît sur la page des enregistrements publics et se visionne sans connexion.", - "public_protected": "Public/Protégé : Apparaît publiquement mais utilise des liens protégés ; toute personne ayant la page peut le visionner.", - "protected": "Protégé : Masqué de la page publique ; seul le propriétaire ou les utilisateurs partagés peuvent y accéder après connexion.", - "published": "Publiée : Non listée publiquement, mais le propriétaire et les utilisateurs partagés peuvent la visionner une fois connectés.", - "unpublished": "Non publiée : Masquée pour tous jusqu'à ce que vous changiez la visibilité." + "public_protected": "Public/Protégé - L'enregistrement est disponible sur la page des enregistrements publics accessible depuis la page Rejoindre la salle. Le lien ne peut être consulté que depuis Greenlight", + "public": "Public - L'enregistrement est disponible sur la page des enregistrements publics accessible depuis la page Rejoindre la salle. Le lien peut être partagé avec n'importe qui", + "protected": "Protégé - L'enregistrement doit être consulté depuis Greenlight", + "published": "Publiée - L'enregistrement est accessible à toute personne disposant du lien", + "unpublished": "Non publiée - L'enregistrement n'est accessible à personne" }, "length_in_minutes": "{{recording.length}} min.", "processing_recording": "L'enregistrement est en cours de traitement, cela peu prendre quelques minutes...",