diff --git a/CITATION.cff b/CITATION.cff index 8629fb7c..ae7ae538 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -8,7 +8,7 @@ message: 'To cite package "FreesearchR" in publications use:' type: software license: AGPL-3.0-or-later title: 'FreesearchR: Easy data analysis for clinicians' -version: 26.4.1 +version: 26.3.6 doi: 10.5281/zenodo.14527429 identifiers: - type: url diff --git a/DESCRIPTION b/DESCRIPTION index 89673630..23174866 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: FreesearchR Title: Easy data analysis for clinicians -Version: 26.4.1 +Version: 26.3.6 Authors@R: c( person("Andreas Gammelgaard", "Damsbo",email="agdamsbo@clin.au.dk", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-7559-1154")), diff --git a/NEWS.md b/NEWS.md index fbff9355..04fa782b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,3 @@ -# FreesearchR 26.4.1 - -Minor adjustments and bug fixes including streamlining icon use to only use phosphoricons across the app. - # FreesearchR 26.3.6 *FIX* Plot single variable in Likert plot. diff --git a/R/app_version.R b/R/app_version.R index 4f474ec7..ac06a8a2 100644 --- a/R/app_version.R +++ b/R/app_version.R @@ -1 +1 @@ -app_version <- function()'26.4.1' +app_version <- function()'26.3.6' diff --git a/R/data-summary.R b/R/data-summary.R index 27c11b3e..62f5e0bf 100644 --- a/R/data-summary.R +++ b/R/data-summary.R @@ -309,29 +309,21 @@ class_icons <- function(x) { lapply(x,class_icons) } else { if (identical(x, "numeric")) { - phosphoricons::ph("calculator") - # shiny::icon("calculator") + shiny::icon("calculator") } else if (identical(x, "factor")) { - phosphoricons::ph("chart-bar") - # shiny::icon("chart-simple") + shiny::icon("chart-simple") } else if (identical(x, "integer")) { - phosphoricons::ph("list-numbers") - # shiny::icon("arrow-down-1-9") + shiny::icon("arrow-down-1-9") } else if (identical(x, "character")) { - phosphoricons::ph("text-aa") - # shiny::icon("arrow-down-a-z") + shiny::icon("arrow-down-a-z") } else if (identical(x, "logical")) { - phosphoricons::ph("toggle-left") - # shiny::icon("toggle-off") + shiny::icon("toggle-off") } else if (any(c("Date", "POSIXt") %in% x)) { - phosphoricons::ph("calendar") - # shiny::icon("calendar-days") + shiny::icon("calendar-days") } else if (any("POSIXct", "hms") %in% x) { - phosphoricons::ph("clock") - # shiny::icon("clock") + shiny::icon("clock") } else { - phosphoricons::ph("calendar") - # shiny::icon("table") + shiny::icon("table") }} } @@ -350,29 +342,21 @@ type_icons <- function(x) { lapply(x,class_icons) } else { if (identical(x, "continuous")) { - phosphoricons::ph("calculator") - # shiny::icon("calculator") + shiny::icon("calculator") } else if (identical(x, "categorical")) { - phosphoricons::ph("chart-bar") - # shiny::icon("chart-simple") + shiny::icon("chart-simple") } else if (identical(x, "ordinal")) { - phosphoricons::ph("list-numbers") - # shiny::icon("arrow-down-1-9") + shiny::icon("arrow-down-1-9") } else if (identical(x, "text")) { - phosphoricons::ph("text-aa") - # shiny::icon("arrow-down-a-z") + shiny::icon("arrow-down-a-z") } else if (identical(x, "dichotomous")) { - phosphoricons::ph("toggle-left") - # shiny::icon("toggle-off") + shiny::icon("toggle-off") } else if (identical(x,"datetime")) { - phosphoricons::ph("calendar") - # shiny::icon("calendar-days") + shiny::icon("calendar-days") } else if (identical(x,"id")) { - phosphoricons::ph("identification-badge") - # shiny::icon("id-card") + shiny::icon("id-card") } else { - phosphoricons::ph("table") - # shiny::icon("table") + shiny::icon("table") } } } diff --git a/R/data_plots.R b/R/data_plots.R index bc1995e6..439b0ccf 100644 --- a/R/data_plots.R +++ b/R/data_plots.R @@ -20,8 +20,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { bslib::accordion_panel( value = "acc_pan_plot", title = "Create plot", - icon = phosphoricons::ph("chart-line"), - # icon = bsicons::bs_icon("graph-up"), + icon = bsicons::bs_icon("graph-up"), shiny::uiOutput(outputId = ns("primary")), shiny::helpText( i18n$t( @@ -38,8 +37,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { inputId = ns("act_plot"), label = i18n$t("Plot"), width = "100%", - icon = phosphoricons::ph("paint-brush"), - # icon = shiny::icon("palette"), + icon = shiny::icon("palette"), disabled = FALSE ), shiny::helpText(i18n$t('Adjust settings, then press "Plot".')) @@ -47,8 +45,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { bslib::accordion_panel( value = "acc_pan_download", title = "Download", - icon = phosphoricons::ph("download-simple"), - # icon = bsicons::bs_icon("download"), + icon = bsicons::bs_icon("download"), shinyWidgets::noUiSliderInput( inputId = ns("height_slide"), label = i18n$t("Plot height (mm)"), @@ -87,8 +84,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { shiny::downloadButton( outputId = ns("download_plot"), label = i18n$t("Download plot"), - icon = phosphoricons::ph("arrow-fat-down") - # icon = shiny::icon("download") + icon = shiny::icon("download") ) ) ), diff --git a/R/hosted_version.R b/R/hosted_version.R index 608d59ed..f7e99a89 100644 --- a/R/hosted_version.R +++ b/R/hosted_version.R @@ -1 +1 @@ -hosted_version <- function()'v26.4.1-260401' +hosted_version <- function()'v26.3.6-260331' diff --git a/R/landing_page_ui.R b/R/landing_page_ui.R index 8301309a..1123640e 100644 --- a/R/landing_page_ui.R +++ b/R/landing_page_ui.R @@ -37,6 +37,20 @@ landing_page_ui <- function(i18n) { div( class = "container my-5", + # Introduction text + # div( + # class = "row mb-5", + # div( + # class = "col-12 text-center", + # p( + # class = "lead", + # i18n$t("Start with FreesearchR for basic data evaluation and analysis."), + # i18n$t("When you need more advanced tools, you'll be better prepared to use R directly."), + # style = "font-size: 1.2rem; color: #555;" + # ) + # ) + # ), + # Core Features Section h2(i18n$t("Core Features"), class = "text-center mb-4", style = "color: #1E4A8F; font-weight: 600;"), @@ -54,8 +68,7 @@ landing_page_ui <- function(i18n) { class = "card-body text-center p-4", div( style = "font-size: 3rem; color: #1E4A8F; margin-bottom: 15px;", - phosphoricons::ph("folder-simple-plus", weight = "bold") - # fa("file-import") + fa("file-import") ), h4(i18n$t("Import Data"), class = "card-title", style = "color: #2D2D42; font-weight: 600;"), p( @@ -76,8 +89,7 @@ landing_page_ui <- function(i18n) { class = "card-body text-center p-4", div( style = "font-size: 3rem; color: #1E4A8F; margin-bottom: 15px;", - phosphoricons::ph("note-pencil", weight = "bold") - # fa("pen-to-square") + fa("pen-to-square") ), h4(i18n$t("Data Management"), class = "card-title", style = "color: #2D2D42; font-weight: 600;"), p( @@ -98,8 +110,7 @@ landing_page_ui <- function(i18n) { class = "card-body text-center p-4", div( style = "font-size: 3rem; color: #1E4A8F; margin-bottom: 15px;", - phosphoricons::ph("magnifying-glass", weight = "bold") - # fa("magnifying-glass-chart") + fa("magnifying-glass-chart") ), h4(i18n$t("Descriptive Statistics"), class = "card-title", style = "color: #2D2D42; font-weight: 600;"), p( @@ -124,7 +135,7 @@ landing_page_ui <- function(i18n) { style = "border-left: 4px solid #8A4FFF;", div( class = "card-body", - h5(phosphoricons::ph("chart-line", weight = "bold"), " ", i18n$t("Data Visualization"), class = "card-title", style = "color: #2D2D42;"), + h5(fa("chart-line"), " ", i18n$t("Data Visualization"), class = "card-title", style = "color: #2D2D42;"), p(class = "card-text small", i18n$t("Create simple, clean plots for quick insights and overview")) ) ) @@ -136,7 +147,7 @@ landing_page_ui <- function(i18n) { style = "border-left: 4px solid #8A4FFF;", div( class = "card-body", - h5(phosphoricons::ph("calculator", weight = "bold"), " ", i18n$t("Regression Models"), class = "card-title", style = "color: #2D2D42;"), + h5(fa("calculator"), " ", i18n$t("Regression Models"), class = "card-title", style = "color: #2D2D42;"), p(class = "card-text small", i18n$t("Build simple regression models for advanced analysis")) ) ) @@ -153,7 +164,7 @@ landing_page_ui <- function(i18n) { style = "background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); border: none;", div( class = "card-body p-4", - h4(phosphoricons::ph("book-bookmark", weight = "bold"), " ", i18n$t("Export & Learn"), class = "text-center mb-3", style = "color: #1E4A8F;"), + h4(fa("download"), " ", i18n$t("Export & Learn"), class = "text-center mb-3", style = "color: #1E4A8F;"), div( class = "row text-center", div( diff --git a/R/missings-module.R b/R/missings-module.R index bb247b18..003a35f4 100644 --- a/R/missings-module.R +++ b/R/missings-module.R @@ -19,8 +19,7 @@ data_missings_ui <- function(id, ...) { bslib::accordion_panel( value = "acc_pan_mis", title = "Settings", - icon = phosphoricons::ph("gear"), - # icon = bsicons::bs_icon("gear"), + icon = bsicons::bs_icon("gear"), shiny::conditionalPanel( condition = "output.missings == true", shiny::uiOutput(ns("missings_method")), @@ -37,16 +36,14 @@ data_missings_ui <- function(id, ...) { inputId = ns("act_miss"), label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator"), - # icon = shiny::icon("calculator"), + icon = shiny::icon("calculator"), disabled = TRUE ) ), do.call(bslib::accordion_panel, c( list( title = "Download", - icon = phosphoricons::ph("download-simple") - # icon = bsicons::bs_icon("file-earmark-arrow-down") + icon = bsicons::bs_icon("file-earmark-arrow-down") ), table_download_ui(id = ns("tbl_dwn"), title = NULL) )) diff --git a/R/plot-download-module.R b/R/plot-download-module.R index ac1d58a5..4caf94bf 100644 --- a/R/plot-download-module.R +++ b/R/plot-download-module.R @@ -39,8 +39,7 @@ plot_download_ui <- regression_ui <- function(id, ...) { shiny::downloadButton( outputId = ns("download_plot"), label = "Download plot", - icon = phosphoricons::ph("arrow-fat-down") - # icon = shiny::icon("download") + icon = shiny::icon("download") ) ) } diff --git a/R/redcap_read_shiny_module.R b/R/redcap_read_shiny_module.R index bb704325..810cab0c 100644 --- a/R/redcap_read_shiny_module.R +++ b/R/redcap_read_shiny_module.R @@ -43,8 +43,7 @@ m_redcap_readUI <- function(id, title = TRUE, url = NULL) { shiny::actionButton( inputId = ns("data_connect"), label = i18n$t("Connect"), - icon = phosphoricons::ph("link",weight = "bold"), - # icon = shiny::icon("link", lib = "glyphicon"), + icon = shiny::icon("link", lib = "glyphicon"), width = "100%", disabled = TRUE ), @@ -100,8 +99,7 @@ m_redcap_readUI <- function(id, title = TRUE, url = NULL) { shinyWidgets::dropMenu( shiny::actionButton( inputId = ns("dropdown_params"), - label = phosphoricons::ph("funnel",weight = "bold"), - # label = shiny::icon("filter"), + label = shiny::icon("filter"), width = "50px" ), filter_ui @@ -120,8 +118,7 @@ m_redcap_readUI <- function(id, title = TRUE, url = NULL) { shiny::actionButton( inputId = ns("data_import"), label = i18n$t("Import"), - icon = phosphoricons::ph("download-simple",weight = "bold"), - # icon = shiny::icon("download", lib = "glyphicon"), + icon = shiny::icon("download", lib = "glyphicon"), width = "100%", disabled = TRUE ), diff --git a/R/regression-module.R b/R/regression-module.R index c8a0f20d..d569bd54 100644 --- a/R/regression-module.R +++ b/R/regression-module.R @@ -57,8 +57,7 @@ regression_ui <- function(id, ...) { bslib::accordion_panel( value = "acc_pan_reg", title = i18n$t("Regression"), - icon = phosphoricons::ph("calculator"), - # icon = bsicons::bs_icon("calculator"), + icon = bsicons::bs_icon("calculator"), shiny::uiOutput(outputId = ns("outcome_var")), # shiny::selectInput( # inputId = "design", @@ -92,8 +91,7 @@ regression_ui <- function(id, ...) { bslib::input_task_button( id = ns("load"), label = i18n$t("Analyse"), - icon = phosphoricons::ph("math-operations"), - # icon = bsicons::bs_icon("pencil"), + icon = bsicons::bs_icon("pencil"), label_busy = i18n$t("Working..."), icon_busy = fontawesome::fa_i("arrows-rotate", class = "fa-spin", @@ -138,8 +136,7 @@ regression_ui <- function(id, ...) { list( value = "acc_pan_coef_plot", title = "Coefficients plot", - icon = phosphoricons::ph("chart-bar-horizontal"), - # icon = bsicons::bs_icon("bar-chart-steps"), + icon = bsicons::bs_icon("bar-chart-steps"), shiny::tags$br(), shiny::uiOutput(outputId = ns("plot_model")) ), @@ -182,8 +179,7 @@ regression_ui <- function(id, ...) { shiny::downloadButton( outputId = ns("download_plot"), label = i18n$t("Download plot"), - icon = phosphoricons::ph("arrow-fat-down") - # icon = shiny::icon("download") + icon = shiny::icon("download") ) ) ) @@ -204,8 +200,7 @@ regression_ui <- function(id, ...) { bslib::accordion_panel( value = "acc_pan_checks", title = "Checks", - icon = phosphoricons::ph("checks"), - # icon = bsicons::bs_icon("clipboard-check"), + icon = bsicons::bs_icon("clipboard-check"), shiny::uiOutput(outputId = ns("plot_checks")) ) ) diff --git a/R/sysdata.rda b/R/sysdata.rda index 443516d1..be267dbf 100644 Binary files a/R/sysdata.rda and b/R/sysdata.rda differ diff --git a/R/table-download-module.R b/R/table-download-module.R index aebbb98d..baa566fa 100644 --- a/R/table-download-module.R +++ b/R/table-download-module.R @@ -37,8 +37,7 @@ table_download_server <- function(id, data, file_name = "table", ...) { shiny::downloadButton( outputId = ns("act_table"), label = i18n$t("Download table"), - icon = phosphoricons::ph("arrow-fat-down") - # icon = shiny::icon("download") + icon = shiny::icon("download") ) } else { # Return NULL to show nothing diff --git a/R/ui_elements.R b/R/ui_elements.R index 2cd23878..96175376 100644 --- a/R/ui_elements.R +++ b/R/ui_elements.R @@ -15,8 +15,7 @@ ui_elements <- function(selection) { "home" = bslib::nav_panel( title = "FreesearchR", # title = shiny::div(htmltools::img(src="FreesearchR-logo-white-nobg-h80.png")), - icon = phosphoricons::ph("house", weight = "bold"), - # icon = shiny::icon("house"), + icon = shiny::icon("house"), shiny::fluidRow( # "The browser language is", # textOutput("your_lang"), @@ -46,8 +45,7 @@ ui_elements <- function(selection) { ############################################################################## "import" = bslib::nav_panel( title = i18n$t("Get started"), - icon = phosphoricons::ph("play", weight = "bold"), - # icon = shiny::icon("play"), + icon = shiny::icon("play"), value = "nav_import", shiny::fluidRow( shiny::column(width = 2), @@ -124,8 +122,7 @@ ui_elements <- function(selection) { inputId = "modal_initial_view", label = i18n$t("Quick overview"), width = "100%", - icon = phosphoricons::ph("binoculars"), - # icon = shiny::icon("binoculars"), + icon = shiny::icon("binoculars"), disabled = FALSE ), shiny::br(), @@ -169,8 +166,7 @@ ui_elements <- function(selection) { inputId = "act_start", label = i18n$t("Let's begin!"), width = "100%", - icon = phosphoricons::ph("play"), - # icon = shiny::icon("play"), + icon = shiny::icon("play"), disabled = TRUE ), shiny::br(), @@ -189,13 +185,11 @@ ui_elements <- function(selection) { ############################################################################## "prepare" = bslib::nav_menu( title = i18n$t("Prepare"), - icon = phosphoricons::ph("note-pencil", weight = "bold"), - # icon = shiny::icon("pen-to-square"), + icon = shiny::icon("pen-to-square"), value = "nav_prepare", bslib::nav_panel( title = i18n$t("Overview and filter"), - icon = phosphoricons::ph("eye"), - # icon = shiny::icon("eye"), + icon = shiny::icon("eye"), value = "nav_prepare_overview", tags$h3(i18n$t("Overview and filtering")), fluidRow( @@ -270,8 +264,7 @@ ui_elements <- function(selection) { ), bslib::nav_panel( title = i18n$t("Edit and create data"), - icon = phosphoricons::ph("pencil-line"), - # icon = shiny::icon("file-pen"), + icon = shiny::icon("file-pen"), tags$h3(i18n$t("Subset, rename and convert variables")), fluidRow(shiny::column( width = 9, shiny::tags$p( @@ -300,13 +293,13 @@ ui_elements <- function(selection) { width = 3, shiny::actionButton( inputId = "modal_update", - label = i18n$t("Modify factor"), + label = i18n$t("Modify factor levels"), width = "100%" ), shiny::tags$br(), - shiny::helpText(i18n$t( - "Modify the levels of factor/categorical variables." - )), + shiny::helpText( + i18n$t("Reorder or rename the levels of factor/categorical variables.") + ), shiny::tags$br(), shiny::tags$br() ), @@ -319,7 +312,9 @@ ui_elements <- function(selection) { ), shiny::tags$br(), shiny::helpText( - i18n$t("Create factor/categorical variable from other variables.") + i18n$t( + "Create factor/categorical variable from a continous variable (number/date/time)." + ) ), shiny::tags$br(), shiny::tags$br() @@ -396,16 +391,14 @@ ui_elements <- function(selection) { "describe" = bslib::nav_menu( title = i18n$t("Evaluate"), - icon = phosphoricons::ph("magnifying-glass", weight = "bold"), - # icon = shiny::icon("magnifying-glass-chart"), + icon = shiny::icon("magnifying-glass-chart"), value = "nav_describe", # id = "navdescribe", # bslib::navset_bar( # title = "", bslib::nav_panel( title = i18n$t("Characteristics"), - icon = phosphoricons::ph("table"), - # icon = bsicons::bs_icon("table"), + icon = bsicons::bs_icon("table"), bslib::layout_sidebar( sidebar = bslib::sidebar( shiny::uiOutput(outputId = "data_info_nochar", inline = TRUE), @@ -417,8 +410,7 @@ ui_elements <- function(selection) { open = TRUE, value = "acc_pan_chars", title = "Settings", - icon = phosphoricons::ph("table"), - # icon = bsicons::bs_icon("table"), + icon = bsicons::bs_icon("table"), # vectorSelectInput( # inputId = "baseline_theme", # selected = "none", @@ -460,8 +452,7 @@ ui_elements <- function(selection) { inputId = "act_eval", label = i18n$t("Evaluate"), width = "100%", - icon = phosphoricons::ph("calculator"), - # icon = shiny::icon("calculator"), + icon = shiny::icon("calculator"), disabled = TRUE ), shiny::helpText(i18n$t( @@ -475,8 +466,7 @@ ui_elements <- function(selection) { ), bslib::nav_panel( title = i18n$t("Correlations"), - icon = phosphoricons::ph("graph"), - # icon = bsicons::bs_icon("bounding-box"), + icon = bsicons::bs_icon("bounding-box"), bslib::layout_sidebar( sidebar = bslib::sidebar( # shiny::uiOutput(outputId = "data_info_nochar", inline = TRUE), @@ -517,8 +507,7 @@ ui_elements <- function(selection) { do.call(bslib::nav_panel, c( list( title = i18n$t("Missings"), - icon = phosphoricons::ph("placeholder") - # icon = bsicons::bs_icon("x-circle") + icon = bsicons::bs_icon("x-circle") ), data_missings_ui(id = "missingness", validation_ui("validation_mcar")) )) @@ -533,8 +522,7 @@ ui_elements <- function(selection) { c( list( title = i18n$t("Visuals"), - icon = phosphoricons::ph("chart-line", weight = "bold"), - # icon = shiny::icon("chart-line"), + icon = shiny::icon("chart-line"), value = "nav_visuals" ), data_visuals_ui("visuals") @@ -555,8 +543,7 @@ ui_elements <- function(selection) { "analyze" = bslib::nav_panel( title = i18n$t("Regression"), - icon = phosphoricons::ph("calculator", weight = "bold"), - # icon = shiny::icon("calculator"), + icon = shiny::icon("calculator"), value = "nav_analyses", do.call(bslib::navset_card_tab, regression_ui("regression")) ), @@ -568,8 +555,7 @@ ui_elements <- function(selection) { "download" = bslib::nav_panel( title = i18n$t("Download"), - icon = phosphoricons::ph("download-simple", weight = "bold"), - # icon = shiny::icon("download"), + icon = shiny::icon("download"), value = "nav_download", shiny::fluidRow( shiny::column(width = 2), @@ -605,8 +591,7 @@ ui_elements <- function(selection) { shiny::downloadButton( outputId = "report", label = "Download report", - icon = phosphoricons::ph("arrow-fat-down") - # icon = shiny::icon("download") + icon = shiny::icon("download") ), shiny::br() # shiny::helpText("If choosing to output to MS Word, please note, that when opening the document, two errors will pop-up. Choose to repair and choose not to update references. The issue is being worked on. You can always choose LibreOffice instead."), @@ -636,8 +621,7 @@ ui_elements <- function(selection) { shiny::downloadButton( outputId = "data_modified", label = "Download data", - icon = phosphoricons::ph("arrow-fat-down") - # icon = shiny::icon("download") + icon = shiny::icon("download") ) ) ), diff --git a/R/update-factor-ext.R b/R/update-factor-ext.R index e8699886..7f3380cd 100644 --- a/R/update-factor-ext.R +++ b/R/update-factor-ext.R @@ -44,7 +44,7 @@ update_factor_ui <- function(id) { actionButton( disabled = TRUE, inputId = ns("drop_levels"), - label = tagList(phosphoricons::ph("trash"), i18n$t("Drop empty")), + label = tagList(phosphoricons::ph("sort-ascending"), i18n$t("Drop empty")), class = "btn-outline-primary mb-3", width = "100%" ) diff --git a/SESSION.md b/SESSION.md index d1466928..ae10ad0a 100644 --- a/SESSION.md +++ b/SESSION.md @@ -11,11 +11,11 @@ |collate |en_US.UTF-8 | |ctype |en_US.UTF-8 | |tz |Europe/Copenhagen | -|date |2026-04-01 | +|date |2026-03-31 | |rstudio |2026.01.1+403 Apple Blossom (desktop) | |pandoc |3.6.4 @ /opt/homebrew/bin/ (via rmarkdown) | |quarto |1.7.30 @ /usr/local/bin/quarto | -|FreesearchR |26.4.1.260401 | +|FreesearchR |26.3.6.260331 | -------------------------------------------------------------------------------- @@ -53,6 +53,7 @@ |colorspace |2.1-2 |2025-09-22 |CRAN (R 4.5.0) | |commonmark |2.0.0 |2025-07-07 |CRAN (R 4.5.0) | |crayon |1.5.3 |2024-06-20 |CRAN (R 4.5.0) | +|curl |7.0.0 |2025-08-19 |CRAN (R 4.5.0) | |data.table |1.18.2.1 |2026-01-27 |CRAN (R 4.5.2) | |datamods |1.5.3 |2024-10-02 |CRAN (R 4.5.0) | |datawizard |1.3.0 |2025-10-11 |CRAN (R 4.5.0) | @@ -83,7 +84,7 @@ |foreach |1.5.2 |2022-02-02 |CRAN (R 4.5.0) | |foreign |0.8-91 |2026-01-29 |CRAN (R 4.5.2) | |Formula |1.2-5 |2023-02-24 |CRAN (R 4.5.0) | -|FreesearchR |26.4.1 |NA |NA | +|FreesearchR |26.3.6 |NA |NA | |fs |1.6.7 |2026-03-06 |CRAN (R 4.5.2) | |gdtools |0.5.0 |2026-02-09 |CRAN (R 4.5.2) | |generics |0.1.4 |2025-05-09 |CRAN (R 4.5.0) | @@ -106,6 +107,7 @@ |htmltools |0.5.9 |2025-12-04 |CRAN (R 4.5.2) | |htmlwidgets |1.6.4 |2023-12-06 |CRAN (R 4.5.0) | |httpuv |1.6.16 |2025-04-16 |CRAN (R 4.5.0) | +|httr |1.4.8 |2026-02-13 |CRAN (R 4.5.2) | |IDEAFilter |0.2.1 |2025-07-29 |CRAN (R 4.5.0) | |insight |1.4.6 |2026-02-04 |CRAN (R 4.5.2) | |iterators |1.0.14 |2022-02-05 |CRAN (R 4.5.0) | @@ -115,6 +117,7 @@ |keyring |1.4.1 |2025-06-15 |CRAN (R 4.5.0) | |knitr |1.51 |2025-12-20 |CRAN (R 4.5.2) | |labeling |0.4.3 |2023-08-29 |CRAN (R 4.5.0) | +|labelled |2.16.0 |2025-10-22 |CRAN (R 4.5.0) | |later |1.4.8 |2026-03-05 |CRAN (R 4.5.2) | |lattice |0.22-7 |2025-04-02 |CRAN (R 4.5.2) | |lifecycle |1.0.5 |2026-01-08 |CRAN (R 4.5.2) | @@ -147,7 +150,7 @@ |pkgload |1.5.0 |2026-02-03 |CRAN (R 4.5.2) | |plyr |1.8.9 |2023-10-02 |CRAN (R 4.5.0) | |polyclip |1.10-7 |2024-07-23 |CRAN (R 4.5.0) | -|polylabelr |1.0.0 |2026-01-19 |CRAN (R 4.5.2) | +|polyglotr |1.7.1 |NA |NA | |pracma |2.4.6 |2025-10-22 |CRAN (R 4.5.0) | |processx |3.8.6 |2025-02-21 |CRAN (R 4.5.0) | |promises |1.5.0 |2025-11-01 |CRAN (R 4.5.0) | @@ -185,10 +188,12 @@ |rprojroot |2.1.1 |2025-08-26 |CRAN (R 4.5.0) | |rsconnect |1.7.0 |2025-12-06 |CRAN (R 4.5.2) | |rstudioapi |0.18.0 |2026-01-16 |CRAN (R 4.5.2) | +|rvest |1.0.5 |NA |NA | |S7 |0.2.1 |2025-11-14 |CRAN (R 4.5.2) | |sass |0.4.10 |2025-04-11 |CRAN (R 4.5.0) | |scales |1.4.0 |2025-04-24 |CRAN (R 4.5.0) | |see |0.13.0 |2026-01-30 |CRAN (R 4.5.2) | +|selectr |0.5-1 |NA |NA | |sessioninfo |1.2.3 |2025-02-05 |CRAN (R 4.5.0) | |shiny |1.13.0 |2026-02-20 |CRAN (R 4.5.2) | |shiny.i18n |0.3.0 |2023-01-16 |CRAN (R 4.5.0) | @@ -209,10 +214,13 @@ |tidyselect |1.2.1 |2024-03-11 |CRAN (R 4.5.0) | |timechange |0.4.0 |2026-01-29 |CRAN (R 4.5.2) | |toastui |0.4.0 |2025-04-03 |CRAN (R 4.5.0) | +|triebeard |0.4.1 |NA |NA | |tweenr |2.0.3 |2024-02-26 |CRAN (R 4.5.0) | |twosamples |2.0.1 |2023-06-23 |CRAN (R 4.5.0) | |tzdb |0.5.0 |2025-03-15 |CRAN (R 4.5.0) | +|urltools |1.7.3.1 |NA |NA | |usethis |3.2.1 |2025-09-06 |CRAN (R 4.5.0) | +|utf8 |1.2.6 |2025-06-08 |CRAN (R 4.5.0) | |uuid |1.2-2 |2026-01-23 |CRAN (R 4.5.2) | |vctrs |0.7.1 |2026-01-23 |CRAN (R 4.5.2) | |viridis |0.6.5 |2024-01-29 |CRAN (R 4.5.0) | diff --git a/inst/translations/translation_da.csv b/inst/translations/translation_da.csv index 2240bc2c..4f3752bd 100644 --- a/inst/translations/translation_da.csv +++ b/inst/translations/translation_da.csv @@ -260,6 +260,7 @@ "FreesearchR is available in multiple languages. To help with translations, please contact us at info@freesearchr.org","FreesearchR er tilgængelig på flere sprog. For at få hjælp med oversættelser, kontakt os venligst på info@freesearchr.org" "Home","Hjem" "Start with FreesearchR for basic data evaluation and analysis.","Start med FreesearchR til grundlæggende dataevaluering og -analyse." +"When you need more advanced tools, you'll be better prepared to use R directly.","Når du har brug for mere avancerede værktøjer, vil du være bedre forberedt på at bruge R direkte." "(Read more)","(Læs mere)" "Run the FreesearchR app locally when working with sensitive data.","Kør FreesearchR-appen lokalt, når du arbejder med følsomme data." "Load data from spreadsheets, REDCap servers, or try with sample data. Multiple sources supported for maximum flexibility.","Indlæs data fra regneark, REDCap-servere, eller prøv med eksempeldata. Flere kilder understøttes for maksimal fleksibilitet." @@ -270,6 +271,8 @@ "When you need more advanced tools, you'll be prepared to use R directly.","Når du har brug for mere avancerede værktøjer, vil du være forberedt på at bruge R direkte." "The app contains a selelct number of features and will guide you through key analyses.","Appen indeholder udvalgte funktioner, og guider dig gennem de vigtigste analyser." "Sort by Levels","Sorter efter niveauer" +"Modify factor levels","Ændr kategoriske niveauer" +"Reorder or rename the levels of factor/categorical variables.","Ændr navn eller rækkefølge på kategorisk variabel." "Maximum number of observations:","Maximale antal observationer:" "setting to 0 includes all","angiv 0 for at inkludere alle" "Select a dataset from your environment or sample dataset from a package.","Vælg et datasæt fra din kørende session eller vælg træningsdata." @@ -318,5 +321,3 @@ "An empty data set was imported. Please review data filter.","An empty data set was imported. Please review data filter." "An error was encountered exporting data. Please review data filter.","An error was encountered exporting data. Please review data filter." "Likert diagram","Likert diagram" -"Modify factor","Modify factor" -"Create factor/categorical variable from other variables.","Create factor/categorical variable from other variables." diff --git a/inst/translations/translation_sw.csv b/inst/translations/translation_sw.csv index 7866710e..a375e0a5 100644 --- a/inst/translations/translation_sw.csv +++ b/inst/translations/translation_sw.csv @@ -260,6 +260,7 @@ "FreesearchR is available in multiple languages. To help with translations, please contact us at info@freesearchr.org","FreesearchR inapatikana katika lugha nyingi. Ili kukusaidia na tafsiri, tafadhali wasiliana nasi kwa info@freesearchr.org." "Home","Nyumbani" "Start with FreesearchR for basic data evaluation and analysis.","Anza na FreesearchR kwa tathmini na uchambuzi wa data ya msingi." +"When you need more advanced tools, you'll be better prepared to use R directly.","Unapohitaji zana za hali ya juu zaidi, utakuwa tayari zaidi kutumia R moja kwa moja." "(Read more)","(Soma zaidi)" "Run the FreesearchR app locally when working with sensitive data.","Endesha programu ya FreesearchR ndani ya eneo lako unapofanya kazi na data nyeti." "Load data from spreadsheets, REDCap servers, or try with sample data. Multiple sources supported for maximum flexibility.","Pakia data kutoka kwa lahajedwali, seva za REDCap, au jaribu na data ya sampuli. Vyanzo vingi vinaungwa mkono kwa unyumbufu wa hali ya juu." @@ -270,6 +271,8 @@ "When you need more advanced tools, you'll be prepared to use R directly.","Unapohitaji zana za hali ya juu zaidi, utakuwa tayari kutumia R moja kwa moja." "The app contains a selelct number of features and will guide you through key analyses.","The app contains a selelct number of features and will guide you through key analyses." "Sort by Levels","Sort by Levels" +"Modify factor levels","Modify factor levels" +"Reorder or rename the levels of factor/categorical variables.","Reorder or rename the levels of factor/categorical variables." "Maximum number of observations:","Maximum number of observations:" "setting to 0 includes all","setting to 0 includes all" "Select a dataset from your environment or sample dataset from a package.","Select a dataset from your environment or sample dataset from a package." @@ -318,5 +321,3 @@ "An empty data set was imported. Please review data filter.","An empty data set was imported. Please review data filter." "An error was encountered exporting data. Please review data filter.","An error was encountered exporting data. Please review data filter." "Likert diagram","Likert diagram" -"Modify factor","Modify factor" -"Create factor/categorical variable from other variables.","Create factor/categorical variable from other variables."