From f9c6ede6a3488a22eda4d7fa903aea89d2212361 Mon Sep 17 00:00:00 2001 From: Jim Myers Date: Fri, 1 May 2026 17:31:35 -0400 Subject: [PATCH 1/6] i18n, fix download, cleanup --- previewers/betatest/i18n/en.json | 37 ++++++ previewers/betatest/i18n/es.json | 37 ++++++ previewers/betatest/i18n/fr.json | 37 ++++++ previewers/betatest/js/refiqda.js | 2 +- previewers/betatest/js/refiqdacore.js | 162 +++++++++++++------------- previewers/betatest/js/refiqdpx.js | 108 +++++++++-------- 6 files changed, 253 insertions(+), 130 deletions(-) diff --git a/previewers/betatest/i18n/en.json b/previewers/betatest/i18n/en.json index f2c095d..4afd1f6 100644 --- a/previewers/betatest/i18n/en.json +++ b/previewers/betatest/i18n/en.json @@ -24,6 +24,43 @@ "rocratePreviewText": "RO-Crate Preview", "refiqdpxPreviewText": "REFI-QDA Project Preview", "refiqdcPreviewText": "REFI-QDA Codebook Preview", + "refiqdaPreviewText": "REFI-QDA Preview", + "refiqdaRedactedNotice": "Note: This is a redacted, public view of the restricted QDAS file", + "refiqdaEnableFilteringBy": "Enable Filtering By", + "refiqdaFilteringInstructions": "Select a table and then select entries in that table to filter the other tables.", + "refiqdaNoFiltering": "No Filtering", + "refiqdaParsingProject": "Found Project File. Parsing Contents...", + "refiqdaRetrievingFile": "Retrieving File...", + "refiqdaExcerptTooltipHeader": "Text Excerpt (Position $1-$2)", + "refiqdaWholeDocument": "Whole Document", + "refiqdaUsers": "Users", + "refiqdaCodes": "Codes", + "refiqdaSources": "Sources", + "refiqdaSource": "Source", + "refiqdaAnnotations": "Annotations", + "refiqdaNotes": "Notes", + "refiqdaCases": "Cases", + "refiqdaSets": "Sets", + "refiqdaName": "Name", + "refiqdaCode": "Code", + "refiqdaDescription": "Description", + "refiqdaColor": "Color", + "refiqdaCodable": "Codable", + "refiqdaUses": "# of Uses", + "refiqdaUser": "User", + "refiqdaDate": "Date", + "refiqdaSelection": "Selection", + "refiqdaExcerpt": "Excerpt", + "refiqdaGuid": "GUID", + "refiqdaText": "Text", + "refiqdaFilename": "Filename", + "refiqdaType": "Type", + "refiqdaContent": "Content", + "refiqdaAuthors": "Authors", + "refiqdaGraphs": "Graphs", + "refiqdaReset": "Reset", + "refiqdaNoQdeError": "Unable to continue: No .qde file found in archive", + "refiqdaZipReadError": "Zip file structure could not be read ($1). You can still download the zip file.", "jupyterPreviewText": "Jupyter Notebook Preview", "cdiPreviewText": "CDI Preview", "prev": "Previous", diff --git a/previewers/betatest/i18n/es.json b/previewers/betatest/i18n/es.json index da1b4d6..5d6ce34 100644 --- a/previewers/betatest/i18n/es.json +++ b/previewers/betatest/i18n/es.json @@ -23,6 +23,43 @@ "rocratePreviewText": "Previsualización de RO-Crate", "refiqdpxPreviewText": "Previsualización del proyecto REFI-QDA", "refiqdcPreviewText": "Previsualización del libro de códigos REFI-QDA", + "refiqdaPreviewText": "Previsualización de REFI-QDA", + "refiqdaRedactedNotice": "Nota: Esta es una vista pública redactada del archivo QDAS restringido", + "refiqdaEnableFilteringBy": "Habilitar filtrado por", + "refiqdaFilteringInstructions": "Seleccione una tabla y luego seleccione entradas en esa tabla para filtrar las otras tablas.", + "refiqdaNoFiltering": "Sin filtrado", + "refiqdaParsingProject": "Archivo de proyecto encontrado. Analizando contenido...", + "refiqdaRetrievingFile": "Recuperando archivo...", + "refiqdaExcerptTooltipHeader": "Extracto de texto (Posición $1-$2)", + "refiqdaWholeDocument": "Documento completo", + "refiqdaUsers": "Usuarios", + "refiqdaCodes": "Códigos", + "refiqdaSources": "Fuentes", + "refiqdaSource": "Fuente", + "refiqdaAnnotations": "Anotaciones", + "refiqdaNotes": "Notas", + "refiqdaCases": "Casos", + "refiqdaSets": "Conjuntos", + "refiqdaName": "Nombre", + "refiqdaCode": "Código", + "refiqdaDescription": "Descripción", + "refiqdaColor": "Color", + "refiqdaCodable": "Codificable", + "refiqdaUses": "# de usos", + "refiqdaUser": "Usuario", + "refiqdaDate": "Fecha", + "refiqdaSelection": "Selección", + "refiqdaExcerpt": "Extracto", + "refiqdaGuid": "GUID", + "refiqdaText": "Texto", + "refiqdaFilename": "Nombre del archivo", + "refiqdaType": "Tipo", + "refiqdaContent": "Contenido", + "refiqdaAuthors": "Autores", + "refiqdaGraphs": "Gráficos", + "refiqdaReset": "Restablecer", + "refiqdaNoQdeError": "No se puede continuar: no se encontró ningún archivo .qde en el archivo", + "refiqdaZipReadError": "No se pudo leer la estructura del archivo Zip ($1). Aún puede descargar el archivo zip.", "jupyterPreviewText": "Previsualización de Jupyter Notebook", "cdiPreviewText": "Previsualización de CDI", "prev": "Anterior", diff --git a/previewers/betatest/i18n/fr.json b/previewers/betatest/i18n/fr.json index 373792b..fe15b16 100644 --- a/previewers/betatest/i18n/fr.json +++ b/previewers/betatest/i18n/fr.json @@ -24,6 +24,43 @@ "rocratePreviewText": "Aperçu RO-Crate", "refiqdpxPreviewText": "Aperçu du projet REFI-QDA", "refiqdcPreviewText": "Aperçu du codebook REFI-QDA", + "refiqdaPreviewText": "Aperçu REFI-QDA", + "refiqdaRedactedNotice": "Remarque : il s'agit d'une vue publique expurgée du fichier QDAS restreint", + "refiqdaEnableFilteringBy": "Activer le filtrage par", + "refiqdaFilteringInstructions": "Sélectionnez un tableau, puis sélectionnez des entrées dans ce tableau pour filtrer les autres tableaux.", + "refiqdaNoFiltering": "Pas de filtrage", + "refiqdaParsingProject": "Fichier de projet trouvé. Analyse du contenu...", + "refiqdaRetrievingFile": "Récupération du fichier...", + "refiqdaExcerptTooltipHeader": "Extrait de texte (Position $1-$2)", + "refiqdaWholeDocument": "Document entier", + "refiqdaUsers": "Utilisateurs", + "refiqdaCodes": "Codes", + "refiqdaSources": "Sources", + "refiqdaSource": "Source", + "refiqdaAnnotations": "Annotations", + "refiqdaNotes": "Notes", + "refiqdaCases": "Cas", + "refiqdaSets": "Ensembles", + "refiqdaName": "Nom", + "refiqdaCode": "Code", + "refiqdaDescription": "Description", + "refiqdaColor": "Couleur", + "refiqdaCodable": "Codable", + "refiqdaUses": "# d'utilisations", + "refiqdaUser": "Utilisateur", + "refiqdaDate": "Date", + "refiqdaSelection": "Sélection", + "refiqdaExcerpt": "Extrait", + "refiqdaGuid": "GUID", + "refiqdaText": "Texte", + "refiqdaFilename": "Nom du fichier", + "refiqdaType": "Type", + "refiqdaContent": "Contenu", + "refiqdaAuthors": "Auteurs", + "refiqdaGraphs": "Graphiques", + "refiqdaReset": "Réinitialiser", + "refiqdaNoQdeError": "Impossible de continuer : aucun fichier .qde trouvé dans l'archive", + "refiqdaZipReadError": "La structure du fichier Zip n'a pas pu être lue ($1). Vous pouvez toujours télécharger le fichier zip.", "jupyterPreviewText": "Aperçu Jupyter Notebook", "cdiPreviewText": "Aperçu CDI", "prev": "Précédent", diff --git a/previewers/betatest/js/refiqda.js b/previewers/betatest/js/refiqda.js index b9a047b..81ef434 100644 --- a/previewers/betatest/js/refiqda.js +++ b/previewers/betatest/js/refiqda.js @@ -6,7 +6,7 @@ function writeContent(fileUrl, file, title, authors) { }; // Custom rules wait = $('
').attr('id', 'waiting'); $('').width('15%').attr('src', 'images/Loading_icon.gif').attr('id', 'throbber').appendTo(wait); - $('').text('Retrieving File...').appendTo(wait); + $('').text($.i18n('refiqdaRetrievingFile')).appendTo(wait); wait.appendTo($('.preview')); if (fileUrl.includes('auxiliary/qdpx')) { diff --git a/previewers/betatest/js/refiqdacore.js b/previewers/betatest/js/refiqdacore.js index 749dbf9..85fda64 100644 --- a/previewers/betatest/js/refiqdacore.js +++ b/previewers/betatest/js/refiqdacore.js @@ -22,6 +22,10 @@ $(document).ready(function() { function translateBaseHtmlPage() { var refiqdaPreviewText = $.i18n("refiqdaPreviewText"); $('.refiqdaPreviewText').text(refiqdaPreviewText); + var refiqdpxPreviewText = $.i18n("refiqdpxPreviewText"); + $('.refiqdpxPreviewText').text(refiqdpxPreviewText); + var refiqdcPreviewText = $.i18n("refiqdcPreviewText"); + $('.refiqdcPreviewText').text(refiqdcPreviewText); } var zipUrl = ''; @@ -54,7 +58,7 @@ function parseData(data, filejson) { $('#waiting').remove(); wait = $('
').attr('id', 'waiting'); $('').width('15%').attr('src', 'images/Loading_icon.gif').appendTo(wait); - $('').text('Found Project File. Parsing Contents...').appendTo(wait); + $('').text($.i18n('refiqdaParsingProject')).appendTo(wait); wait.appendTo($('.preview')); new Promise((resolve) => setTimeout(resolve, 500)).then(() => { parseData2(data) }); @@ -68,25 +72,25 @@ function parseData2(data) { xmlDoc = parser.parseFromString(data, "text/xml"); if(redactedMode) { - let redactedNotice = $('

').addClass('redacted-notice').text("Note: This is a redacted, public view of the restricted QDAS file").appendTo($(".preview")); + let redactedNotice = $('

').addClass('redacted-notice').text($.i18n('refiqdaRedactedNotice')).appendTo($(".preview")); } //Add a Filter By option let filterBlock = $('
').width(tableWidth).appendTo($(".preview")); - filterBlock.append($("

").html("Enable Filtering By")); - filterBlock.append($("

").html("Select a table and then select entries in that table to filter the other tables.")); + filterBlock.append($("

").html($.i18n('refiqdaEnableFilteringBy'))); + filterBlock.append($("

").html($.i18n('refiqdaFilteringInstructions'))); filterBlock.append($('').prop('id', 'filterby')); - $('#filterby').append($('

').width(tableWidth).appendTo($(".preview")); + let userBlock = $('
').width(tableWidth).appendTo(preview); userBlock.append($("

").html($.i18n('refiqdaUsers'))); //Users only has a "Name" column let userTable = createTable($.i18n('refiqdaUsers'), $.i18n('refiqdaName')).appendTo(userBlock); @@ -105,7 +107,7 @@ function parseData2(data) { userDataTable = new DataTable(".usertable", { //Allow table rows to be selectable if this is the filter by table - select: $('#filterby').val() == 'Users', + select: $('#filterby').val() === 'Users', order: [[0, 'asc']] }); //Draw to set order @@ -116,7 +118,7 @@ function parseData2(data) { console.log("Starting codes"); var codes = xmlDoc.getElementsByTagName("Code"); if (codes != null && codes.length > 0) { - $('#filterby').append($('