From fa5db056a4299f55ffd94f5d7e532d40804e9a4b Mon Sep 17 00:00:00 2001 From: Nik Verweel Date: Wed, 18 Feb 2026 15:30:49 +0100 Subject: [PATCH 1/7] Initial localisation report text --- ..._CI_report_with_kpis_agronomic_support.Rmd | 234 ++++++++---------- 1 file changed, 100 insertions(+), 134 deletions(-) diff --git a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd index 2d59d0d..18457c3 100644 --- a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd +++ b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd @@ -8,6 +8,7 @@ params: borders: FALSE ci_plot_type: "both" colorblind_friendly: TRUE + lang: "es" facet_by_season: FALSE x_axis_unit: "days" output: @@ -27,6 +28,7 @@ ci_plot_type <- params$ci_plot_type colorblind_friendly <- params$colorblind_friendly facet_by_season <- params$facet_by_season x_axis_unit <- params$x_axis_unit +lang <- params$lang ``` ```{r load_libraries, message=FALSE, warning=FALSE, include=FALSE} @@ -59,6 +61,10 @@ suppressPackageStartupMessages({ library(knitr) # For R Markdown document generation (code execution and output) library(flextable) # For formatted tables in Word output (professional table styling) library(officer) # For Word document manipulation (custom formatting, headers, footers) + + # Translation handling + library(readxl) # For reading in the translation Excel + library(glue) # For easy variable formatting in texts }) # Load custom utility functions @@ -268,7 +274,6 @@ tryCatch({ }) ``` - ```{r compute_benchmarks_once, include=FALSE} # Compute CI benchmarks once for the entire estate if (!is.null(CI_quadrant) && nrow(CI_quadrant) > 0) { @@ -290,21 +295,68 @@ if (!is.null(CI_quadrant) && nrow(CI_quadrant) > 0) { } ``` -## Report Summary +```{r load_translations, include = FALSE} +# Load the translations document and build +tryCatch({ + # Define the sheets you want to load + sheet_names <- c("main_translations", "status_translations", "figure_translations") + + # Read each sheet and combine them into one dataframe + translation_list <- lapply(sheet_names, function(s) { + read_excel("translations/translations.xlsx", sheet = s) + }) + translations <- do.call(rbind, translation_list) -**Farm Location:** `r toupper(project_dir)` Estate -**Report Period:** Week `r current_week` of `r year` -**Data Source:** Planet Labs Satellite Imagery -**Analysis Type:** Chlorophyll Index (CI) Monitoring -**Report Generated on:** `r format(Sys.time(), "%B %d, %Y at %H:%M")` + if (!is.null(translations)) { + safe_log("Translations file succesfully loaded") + } else { + safe_log("Failed to load translations", "ERROR") + translations <- NULL + } +}, error = function(e) { + safe_log(paste("Error loading translation file:", e$message), "ERROR") + translations <<- NULL +}) -## Report Structure +# Try to select the translations for this report, otherwise fall back to English +tryCatch({ + if (lang %in% names(translations)) { + lang_col <- lang + safe_log(paste0("Loaded localisation for '", lang,"'")) + }else { + lang_col <- "en" + safe_log(paste("Specified language not supported, defaulting to 'en'"), "WARNING") + } + localisation <- translations[,c("messages", lang_col)] + tr <- setNames(localisation[[2]], localisation$messages) +}, error = function(e) { + safe_log(paste("Error loading translations:", e$message), "ERROR") + localisation <<- NULL +}) -**Section 1:** Farm-wide analyses, summaries and Key Performance Indicators (KPIs) -**Section 2:** Field-by-field detailed analyses with maps and trend graphs -**Section 3:** Explanation of the report, definitions, and methodology +# Helper function to handle missing translation keys +t <- function(key) { + if (key %in% names(tr)) { + txt <- glue(tr[key], .envir = parent.frame()) + + # 1. Handle tabs + txt <- gsub(">>", " ", txt) + + # 2. Handle newlines + txt <- gsub("\n", " \n", txt) + + return(txt) + } else { + return(paste0("[", key, "]")) + } +} +``` -## Key Insights +`r t("report_summary")` + +`r t("report_structure")` + +`r t("key_insights")` ```{r key_insights, echo=FALSE, results='asis'} # Calculate key insights from aggregated KPI summary data @@ -321,62 +373,62 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table # Uniformity insights if (!is.null(uniformity_summary) && nrow(uniformity_summary) > 0) { - cat("**Field Uniformity:**\n") + cat(t("field_unif")) for (i in 1:nrow(uniformity_summary)) { status <- uniformity_summary$Status[i] count <- uniformity_summary$`Field Count`[i] if (count > 0) { - cat("- ", count, " field(s) with ", status, "\n", sep="") + cat(t("unif_status")) } } } # Area change insights if (!is.null(area_change_summary) && nrow(area_change_summary) > 0) { - cat("\n**Area Change Status:**\n") + cat("\n", t("field_area")) for (i in 1:nrow(area_change_summary)) { status <- area_change_summary$Status[i] count <- area_change_summary$`Field Count`[i] if (count > 0 && !is.na(status)) { - cat("- ", count, " field(s) ", status, "\n", sep="") + cat(t("area_status")) } } } # Growth trend insights if (!is.null(growth_summary) && nrow(growth_summary) > 0) { - cat("\n**Growth Trends (4-Week):**\n") + cat("\n", t("growth_trend")) for (i in 1:nrow(growth_summary)) { trend <- growth_summary$Trend[i] count <- growth_summary$`Field Count`[i] if (count > 0 && !is.na(trend)) { - cat("- ", count, " field(s) with ", trend, "\n", sep="") + cat(t("trend_status")) } } } # Weed pressure insights if (!is.null(weed_summary) && nrow(weed_summary) > 0) { - cat("\n**Weed/Pest Pressure Risk:**\n") + cat("\n", t("weed_press")) for (i in 1:nrow(weed_summary)) { risk <- weed_summary$`Risk Level`[i] count <- weed_summary$`Field Count`[i] if (count > 0 && !is.na(risk)) { - cat("- ", count, " field(s) at ", risk, " risk\n", sep="") + cat(t("weed_status")) } } } } else { - cat("KPI data not available for ", project_dir, " on this date.\n", sep="") + cat(t("kpi_na")) } ``` \newpage -# Section 1: Farm-wide Analyses and KPIs +`r t("section_i")` -## Executive Summary - Key Performance Indicators +`r t("exec_summary")` ```{r combined_kpi_table, echo=FALSE, results='asis'} # Display KPI tables - standardized format with Level, Count, Percent columns @@ -481,7 +533,7 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table } ``` -## Field Alerts +`r t("field_alerts")` ```{r field_alerts_table, echo=FALSE, results='asis'} # Generate alerts for all fields @@ -592,7 +644,7 @@ if (exists("field_details_table") && !is.null(field_details_table) && nrow(field autofit() ft } else { - cat("No alerts data available.\n") + cat(t("alerts_na")) } } else { cat("Note: Field details data not available for alerts generation. Run 80_calculate_kpis.R to generate KPI data.\n") @@ -679,7 +731,7 @@ if (!exists("field_details_table") || is.null(field_details_table)) { } ``` -## Farm-Level Overview Maps +`r t("overview_maps")` ```{r aggregate_farm_level_rasters, message=FALSE, warning=FALSE, include=FALSE} # Aggregate per-field weekly mosaics into single farm-level rasters for visualization @@ -826,7 +878,7 @@ tryCatch({ }) ``` -### Chlorophyll Index (CI) Overview Map - Current Week +`r t("ci_overview_map")` ```{r render_farm_ci_map, echo=FALSE, fig.height=5.5, fig.width=6.5, dpi=150, dev='png', message=FALSE, warning=FALSE} # Create farm-level chlorophyll index map with OpenStreetMap basemap @@ -934,7 +986,7 @@ tryCatch({ }) ``` -### Weekly Chlorophyll Index Difference Map +`r t("ci_diff_map")` ```{r render_farm_ci_diff_map, echo=FALSE, fig.height=5.5, fig.width=6.5, dpi=150, dev='png', message=FALSE, warning=FALSE} # Create farm-level CI difference map (week-over-week change) @@ -1045,18 +1097,7 @@ tryCatch({ \newpage -# Section 2: Field-by-Field Analysis - -## Overview of Field-Level Insights -This section provides detailed, field-specific analyses including chlorophyll index maps, trend graphs, and performance metrics. Each field is analyzed individually to support targeted interventions. - -**Key Elements per Field:** -- Current and historical CI maps -- Week-over-week change visualizations -- Cumulative growth trends -- Field-specific KPI summaries - -*Navigate to the following pages for individual field reports.* +`r t("section_ii")` \newpage @@ -1257,11 +1298,7 @@ tryCatch({ }) ``` -## KPI Summary by Field - -## Detailed Field Performance Summary - -The following table provides a comprehensive overview of all monitored fields with their key performance metrics from the KPI analysis. +`r t("kpi_per_field")` ```{r detailed_field_table, echo=FALSE, results='asis'} # Detailed field performance table @@ -1329,6 +1366,8 @@ if (!exists("field_details_table") || is.null(field_details_table)) { ) } +# Set names according to localisation +names(field_details_clean) <- c(t("field"), t("field_size"), t("grow_unif"), t("yield_forecast"), t("gap_score"), t("decline_risk"), t("weed_risk"), t("mean_ci"), t("cv_value")) # Display the cleaned field table with flextable # Set column widths to fit page (approximately 6.5 inches for 1-inch margins) @@ -1336,7 +1375,7 @@ if (!exists("field_details_table") || is.null(field_details_table)) { col_widths <- c(0.97, 0.73, 0.80, 0.80, 0.65, 0.73, 0.65, 0.56, 0.48) # inches for each column ft <- flextable(field_details_clean) %>% - set_caption("Detailed Field Performance Summary") %>% + set_caption(t("detailed_kpi_caption")) %>% width(width = col_widths) ft @@ -1344,112 +1383,39 @@ ft \newpage -# Section 3: Report Methodology and Definitions +`r t("section_iii")` -## About This Report +![`r t("ci_caption")`](CI_graph_example.png) -This automated report provides weekly analysis of sugarcane crop health using satellite-derived Chlorophyll Index (CI) measurements. The analysis supports: - -• Scouting of growth related issues that are in need of attention -• Timely actions can be taken such that negative impact is reduced -• Monitoring of the crop growth rates of the farm, providing evidence of performance -• Planning of harvest moment and mill logistics is supported such that optimal tonnage and sucrose levels can be harvested. - -The base of the report is the Chlorophyll Index. The chlorophyll index identifies: -• Field-level crop health variations => target problem area's -• Weekly changes in crop vigor => scout for diseases and stress -• Areas requiring attention by the agricultural and irrigation teams -• Growth patterns across different field sections - -Key Features: - High-resolution satellite imagery analysis - Week-over-week change detection - Individual field performance metrics - Actionable insights for crop management - -### Explanation of the Report - -This report provides a detailed analysis (3x3m of resolution) of your sugarcane fields based on satellite imagery. It supports you monitor crop health and development throughout the growing season. The data is processed weekly to give you timely insights for optimal farm management decisions. - -### What is the Chlorophyll Index (CI)? - -The Chlorophyll Index (CI) is a vegetation index that measures the relative amount of chlorophyll in plant leaves. Chlorophyll is the green pigment responsible for photosynthesis in plants. Higher CI values indicate: -• Greater photosynthetic activity -• Healthier plant tissue -• Better nitrogen uptake -• More vigorous crop growth - -CI values typically range from 0 (bare soil or severely stressed vegetation) to 7+ (very healthy, dense vegetation). For sugarcane, values between 3-7 generally indicate good crop health, depending on the growth stage. - -![Chlorophyll Index Example](CI_graph_example.png) - - -### What You'll Find in This Report: - -1. **Key Performance Indicators (KPIs):** - The report provides a farm-wide analysis based on the Chlorophyll Index (CI) changes. KPIs are calculated field by field and summarized in tables. The current KPIs included are: - - - **Field Uniformity:** Assesses the consistency of crop growth within each field using the coefficient of variation (CV) of CI values. Uniformity levels are classified as: - - **Excellent:** CV < 0.08 (very uniform growth) - - **Good:** CV < 0.15 (acceptable uniformity) - - **Moderate:** CV < 0.25 (some variation present) - - **Poor:** CV ≥ 0.25 (high variation - investigate irrigation, fertility, or pests) - - - **Area Change:** Summarizes the proportion of field area that is improving, stable, or declining week-over-week, based on CI changes. Helps identify fields requiring immediate attention. - - - **TCH Forecasted:** Provides yield predictions (tons cane per hectare) for mature fields (typically over 240 days old), using a machine learning model trained on historical CI and yield data. Helps plan harvest timing and logistics. - - - **Weed Presence Score:** Detects rapid CI increases between weeks as a proxy for weed outbreaks in young fields (< 8 months old). After 8 months, canopy closure prevents weed growth. Risk levels based on percentage of pixels showing rapid growth (> 2.0 CI units increase): - - **Low:** < 10% of field area (minimal weed presence) - - **Moderate:** 10–25% (monitor and scout) - - **High:** > 25% (requires immediate intervention) - - **Note:** Mature fields (≥ 8 months) show "Canopy closed - Low weed risk" as the closed canopy suppresses weed growth. - - - **Gap Filling Score:** Indicates the proportion of a field with low CI values (lowest 25% of the distribution), highlighting areas with poor crop establishment or gaps that may need replanting. - -2. **Overview Map: Growth on Farm:** - Provides a traffic light overview of field-by-field growth status for quick prioritization and reporting. - -3. **Chlorophyll Index Overview Map:** - Shows current CI values for all fields, helping to identify high- and low-performing areas. - -4. **Field-by-Field Analysis:** - Includes detailed maps, trend graphs, and performance metrics for each field. - -5. **Yield Prediction:** - For mature crops (over 240 days), yield is predicted using current and historical CI data. - -6. **Farm Overview Table:** - Presents numerical field-level results for all KPIs. +`r t("find_report")` --- - -### Historical Benchmark Lines - -The CI time series graphs include historical benchmark lines for the 10th, 50th, and 90th percentiles of CI values across all fields and seasons. -**Note:** These lines are now all rendered as solid lines (not dashed or dotted), with different colors for each percentile. -- **10th Percentile:** Lower end of historical performance -- **50th Percentile:** Median historical performance -- **90th Percentile:** Upper end of historical performance -Comparing the current season to these lines helps assess whether crop growth is below, at, or above historical norms. +`r t("historical_benchmark")` \newpage -## Report Metadata +`r t("metadata")` ```{r report_metadata, echo=FALSE, results='asis'} metadata_info <- data.frame( - Metric = c("Report Generated", "Data Source", "Analysis Period", "Total Fields", "Next Update"), + Metric = c(t("report_gen"), t("data_source"), t("analysis_period"), t("tot_fields"), t("next_update")), Value = c( format(Sys.time(), "%Y-%m-%d %H:%M:%S"), - paste("Project", toupper(project_dir)), - paste("Week", current_week, "of", year), - ifelse(exists("AllPivots0"), nrow(AllPivots0 %>% filter(!is.na(field)) %>% group_by(field) %>% summarise()), "Unknown"), - "Next Wednesday" + paste(t("project"), toupper(project_dir)), + paste(t("week"), current_week, "of", year), + ifelse(exists("AllPivots0"), nrow(AllPivots0 %>% filter(!is.na(field)) %>% group_by(field) %>% summarise()), t("unknown")), + t("next_wed") ) ) +# Set names of columns according to localisation +names(metadata_info) <- c(t("metric"), t("value")) + ft <- flextable(metadata_info) %>% - set_caption("Report Metadata") %>% + set_caption(t("metadata_caption")) %>% autofit() ft ``` -*This report was automatically generated by the SmartCane monitoring system. For questions or additional analysis, please contact the technical team.* \ No newline at end of file +`r t("disclaimer")` From 4ba2d5d84fe95aa5b5ca8a2cb45f769d9bad87d4 Mon Sep 17 00:00:00 2001 From: Nik Verweel Date: Wed, 18 Feb 2026 15:36:08 +0100 Subject: [PATCH 2/7] Upload translation strings --- r_app/translations/translations.xlsx | Bin 0 -> 26148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 r_app/translations/translations.xlsx diff --git a/r_app/translations/translations.xlsx b/r_app/translations/translations.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..715556ee85f9a97e91bec260fd1ee2b74196d48a GIT binary patch literal 26148 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 Date: Fri, 20 Feb 2026 10:55:35 +0100 Subject: [PATCH 3/7] Updated translations --- .gitignore | 2 + ..._CI_report_with_kpis_agronomic_support.Rmd | 362 ++++++++---------- r_app/translations/translations.xlsx | Bin 17058 -> 36600 bytes 3 files changed, 166 insertions(+), 198 deletions(-) diff --git a/.gitignore b/.gitignore index cf5b8fc..12458df 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,8 @@ Rplots.pdf # R Data Files *.rds +*.here +*.png !renv.lock # Data Files (Excel, CSV, Text) diff --git a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd index 4b63f09..9513e0c 100644 --- a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd +++ b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd @@ -3,7 +3,7 @@ params: ref: "word-styles-reference-var1.docx" output_file: "CI_report.docx" report_date: "2026-02-04" #!r Sys.Date() - data_dir: "aura" + data_dir: "tpc" mail_day: "Wednesday" borders: FALSE ci_plot_type: "both" @@ -502,14 +502,11 @@ tryCatch({ t <- function(key) { if (key %in% names(tr)) { txt <- glue(tr[key], .envir = parent.frame()) - - # 1. Handle tabs - txt <- gsub(">>", " ", txt) - - # 2. Handle newlines txt <- gsub("\n", " \n", txt) - return(txt) + return(enc2utf8(as.character(txt))) + } else if (key == "" | is.na(key)) { + return("") } else { return(paste0("[", key, "]")) } @@ -518,13 +515,11 @@ t <- function(key) { ::: {custom-style="Cover_title" style="text-align:center; margin-top:120px;"} -Satellite Based Field Reporting +`r t("cover_title")` ::: - - ::: {custom-style="Cover_subtitle" style="text-align:center; margin-top:18px;"} -Chlorophyll Index (CI) Monitoring Report — `r toupper(params$data_dir)` Farm (Week `r { rd <- params$report_date; rd <- if (inherits(rd, "Date")) rd else suppressWarnings(as.Date(rd)); if (is.na(rd)) rd <- Sys.Date(); if (!is.null(params$week)) params$week else format(rd, '%V') }`, `r { rd <- params$report_date; rd <- if (inherits(rd, "Date")) rd else suppressWarnings(as.Date(rd)); if (is.na(rd)) rd <- Sys.Date(); format(rd, '%Y') }`) +`r t("cover_subtitle")` ::: \newpage @@ -543,7 +538,7 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table # 1. Uniformity insights - group by interpretation if (!is.null(summary_tables$uniformity) && nrow(summary_tables$uniformity) > 0) { - cat(t("field_unif")) + cat(t("field_unif"), "\n\n") uniformity_counts <- summary_tables$uniformity %>% dplyr::select(interpretation, count = field_count) @@ -551,14 +546,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table status <- uniformity_counts$interpretation[i] count <- uniformity_counts$count[i] if (!is.na(status) && !is.na(count) && count > 0) { - cat(t("unif_status")) + cat("-", t("unif_status"), "\n\n") } } } # 2. Area change insights - group by interpretation if (!is.null(summary_tables$area_change) && nrow(summary_tables$area_change) > 0) { - cat("\n", t("field_area")) + cat(t("field_area"), "\n\n") area_counts <- summary_tables$area_change %>% dplyr::select(interpretation, count = field_count) @@ -566,14 +561,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table status <- area_counts$interpretation[i] count <- area_counts$count[i] if (!is.na(status) && !is.na(count) && count > 0) { - cat(t("area_status")) + cat("-", t("area_status"), "\n\n") } } } # 3. Growth trend insights - group by trend_interpretation if (!is.null(summary_tables$growth_decline) && nrow(summary_tables$growth_decline) > 0) { - cat("\n", t("growth_trend")) + cat(t("growth_trend"), "\n\n") growth_counts <- summary_tables$growth_decline %>% dplyr::select(trend_interpretation, count = field_count) @@ -581,14 +576,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table trend <- growth_counts$trend_interpretation[i] count <- growth_counts$count[i] if (!is.na(trend) && !is.na(count) && count > 0) { - cat(t("trend_status")) + cat("-", t("trend_status"), "\n\n") } } } # 4. Patchiness insights - group by patchiness_risk if (!is.null(summary_tables$patchiness) && nrow(summary_tables$patchiness) > 0) { - cat("\n", t("patch_risk")) + cat(t("patch_risk"), "\n\n") patchiness_counts <- summary_tables$patchiness %>% dplyr::select(patchiness_risk, count = field_count) @@ -596,14 +591,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table risk <- patchiness_counts$patchiness_risk[i] count <- patchiness_counts$count[i] if (!is.na(risk) && !is.na(count) && count > 0) { - cat(t("patch_status")) + cat("-", t("patch_status"), "\n\n") } } } # 5. Total fields analyzed total_fields <- sum(summary_tables$uniformity$field_count, na.rm = TRUE) - cat("\n", t("tot_fields_analyzed")) + cat(t("tot_fields_analyzed")) } else { cat(t("kpi_na")) @@ -614,7 +609,7 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table `r t("section_i")` -`r t("exec_summary")` +`r t("exec_summary")`\n\n ```{r combined_kpi_table, echo=FALSE, results='asis'} # Display KPI tables - standardized format with Level, Count, Percent columns @@ -692,8 +687,12 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table display_df <- combined_df %>% dplyr::select(KPI = KPI_display, Level, Count, Percent) + # Translate the table for visualization + names(display_df) <- c(t("KPI"), t("Level"), t("Count"), t("Percent")) + display_df[, 1:2] <- lapply(display_df[, 1:2], function(col) sapply(col, t)) + ft <- flextable(display_df) %>% - merge_v(j = "KPI") %>% + merge_v(j = t("KPI")) %>% autofit() cum_rows <- cumsum(kpi_group_sizes) @@ -703,15 +702,15 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table hline(i = cum_rows[i], border = officer::fp_border(width = 2)) } } - + ft } else { - cat("No valid KPI summary tables found for display.\n") + cat(t("no_kpi_table")) } }, error = function(e) { safe_log(paste("Error displaying KPI tables:", e$message), "WARNING") - cat("KPI summary tables could not be displayed. Individual KPI sections will be shown below.\n") + cat(t("kpi_table_error")) }) } else { @@ -730,7 +729,7 @@ generate_field_alerts <- function(field_details_table) { } # Check for required columns - required_cols <- c("Field", "Field Size (acres)", "Growth Uniformity", "Yield Forecast (t/ha)", + required_cols <- c("Field", "Field Size (hectares)", "Growth Uniformity", "Yield Forecast (t/ha)", "Gap Score", "Decline Risk", "Patchiness Risk", "Mean CI", "CV Value", "Moran's I") missing_cols <- setdiff(required_cols, colnames(field_details_table)) @@ -887,7 +886,6 @@ if (!exists("CI_quadrant")) { } ``` - ```{r load_field_boundaries, message=TRUE, warning=TRUE, include=FALSE} # Load field boundaries from GeoJSON tryCatch({ @@ -1116,9 +1114,9 @@ tryCatch({ # Choose color palette based on colorblind_friendly parameter if (colorblind_friendly) { fill_scale <- ggplot2::scale_fill_viridis_c( - name = "Chlorophyll Index (CI)", + name = t("legend_ci"), limits = c(1, 8), - direction = -1, # Reversed: green=high, yellow/red=low + direction = 1, na.value = "transparent", oob = scales::squish ) @@ -1126,7 +1124,7 @@ tryCatch({ # Use Red-Yellow-Green diverging palette (reversed for intuitive interpretation) fill_scale <- ggplot2::scale_fill_distiller( palette = "RdYlGn", - name = "Chlorophyll Index (CI)", + name = t("legend_ci"), limits = c(1, 8), direction = 1, # Standard direction for RdYlGn na.value = "transparent" @@ -1190,7 +1188,7 @@ tryCatch({ panel.background = ggplot2::element_rect(fill = "white", color = NA) ) + ggplot2::labs( - title = paste("Current Week CI Overview - Week", current_week, "of", current_iso_year) + title = t("ci_overview_title") ) # Print the map @@ -1209,7 +1207,7 @@ tryCatch({ }) ``` -```{r render_farm_ci_diff_map, echo=FALSE, message=FALSE, warning=FALSE, fig.height=6.8, fig.width=8.5, dpi=150, dev='png'} +```{r render_farm_ci_diff_map, echo=FALSE, fig.height=6.8, fig.width=8.5, message=FALSE, warning=FALSE, dev='png', dpi=150} # Create farm-level CI difference map (week-over-week change) tryCatch({ if (!is.null(farm_ci_diff_week_ll)) { @@ -1223,7 +1221,7 @@ tryCatch({ if (colorblind_friendly) { # Use plasma for colorblind-friendly diverging visualization fill_scale <- ggplot2::scale_fill_viridis_c( - name = "CI Change (Week-over-Week)", + name = t("legend_ci_change"), option = "plasma", limits = c(-3, 3), na.value = "transparent", @@ -1233,7 +1231,7 @@ tryCatch({ # Use Red-Blue diverging palette (red=decline, blue=increase) fill_scale <- ggplot2::scale_fill_distiller( palette = "RdBu", - name = "CI Change (Week-over-Week)", + name = t("legend_ci_change"), limits = c(-3, 3), direction = 1, na.value = "transparent" @@ -1297,7 +1295,7 @@ tryCatch({ panel.background = ggplot2::element_rect(fill = "white", color = NA) ) + ggplot2::labs( - title = paste("Weekly CI Change - Week", current_week, "vs Week", week_minus_1) + title = t("ci_change_title") ) # Print the map @@ -1316,18 +1314,9 @@ tryCatch({ }) ``` -# Section 2: Field-by-Field Analysis +\newpage -## Overview of Field-Level Insights -This section provides detailed, field-specific analyses including chlorophyll index maps, trend graphs, and performance metrics. Each field is analyzed individually to support targeted interventions. - -**Key Elements per Field:** -- Current and historical CI maps -- Week-over-week change visualizations -- Cumulative growth trends -- Field-specific KPI summaries - -*Navigate to the following pages for individual field reports.* +`r t("section_ii")` \newpage @@ -1516,7 +1505,7 @@ tryCatch({ }) ``` -```{r generate_subarea_visualizations, echo=FALSE, fig.height=3.8, fig.width=6.5, dpi=150, message=FALSE, warning=FALSE, results='asis', eval=FALSE} +```{r generate_subarea_visualizations, eval=FALSE, echo=FALSE, fig.height=3.8, fig.width=6.5, message=FALSE, warning=FALSE, dpi=150, results='asis'} # Alternative visualization grouped by sub-area (disabled by default) tryCatch({ # Group pivots by sub-area @@ -1549,17 +1538,14 @@ tryCatch({ }) ``` -\newpage -## Detailed Field Performance Summary by Field - -The following table provides a comprehensive overview of all monitored fields with their key performance metrics from the KPI analysis. +`r t("detailed_field")` ```{r detailed_field_table, echo=FALSE, results='asis'} # Detailed field performance table if (!exists("field_details_table") || is.null(field_details_table) || nrow(field_details_table) == 0) { safe_log("No field details available for table", "WARNING") - cat("No field-level KPI data available for this report period.\n") + cat(t("no_field_data")) } else { # Calculate field sizes from boundaries (convert to acres) @@ -1613,33 +1599,56 @@ if (!exists("field_details_table") || is.null(field_details_table) || nrow(field field_details_clean <- field_details_clean %>% mutate(Weekly_CI_Change = round(Weekly_CI_Change, 2)) %>% select( - Field = Field_id, - `Field Size (acres)` = field_size_acres, - `Mean CI` = Mean_CI, - `Weekly CI Change` = Weekly_CI_Change, - `Yield Forecast (t/ha)` = TCH_Forecasted, - `Gap Score %` = Gap_Score, - `Decline Risk` = Decline_Severity, - `Patchiness Risk` = Patchiness_Risk, - `CV Value` = CV + field = Field_id, + field_size = field_size_acres, + mean_ci = Mean_CI, + weekly_ci_change = Weekly_CI_Change, + yield_forecast = TCH_Forecasted, + gap_score = Gap_Score, + decline_risk = Decline_Severity, + patchiness_risk = Patchiness_Risk, + cv_value = CV ) } else { field_details_clean <- field_details_clean %>% select( - Field = Field_id, - `Field Size (acres)` = field_size_acres, - `Mean CI` = Mean_CI, - `Yield Forecast (t/ha)` = TCH_Forecasted, - `Gap Score %` = Gap_Score, - `Decline Risk` = Decline_Severity, - `Patchiness Risk` = Patchiness_Risk, - `CV Value` = CV + field = Field_id, + field_size = field_size_acres, + mean_ci = Mean_CI, + yield_forecast = TCH_Forecasted, + gap_score = Gap_Score, + decline_risk = Decline_Severity, + patchiness_risk = Patchiness_Risk, + cv_value = CV ) } + # Translate risk levels + field_details_clean <- field_details_clean %>% + mutate( + across( + c(decline_risk, patchiness_risk), + ~ sapply(.x, t) + ) + ) + + # Translation labels for flextable + header_labels <- list( + field = t("field"), + field_size = t("field_size"), + mean_ci = t("mean_ci"), + weekly_ci_change = t("weekly_ci_change"), + yield_forecast = t("yield_forecast"), + gap_score = t("gap_score"), + decline_risk = t("decline_risk"), + patchiness_risk = t("patchiness_risk"), + cv_value = t("cv_value") + ) + # Display the cleaned field table with flextable (fit to page width) ft <- flextable(field_details_clean) %>% - set_caption("Detailed Field Performance Summary") %>% + set_header_labels(values = header_labels) %>% + set_caption(t("detailed_field_caption")) %>% theme_booktabs() %>% set_table_properties(width = 1, layout = "autofit") # Fit to 100% page width with auto-adjust @@ -1649,144 +1658,101 @@ if (!exists("field_details_table") || is.null(field_details_table) || nrow(field \newpage -This automated report provides weekly analysis of sugarcane crop health using satellite-derived Chlorophyll Index (CI) measurements. The analysis supports: +`r t("section_iii")` -• Scouting of growth related issues that are in need of attention -• Timely actions can be taken such that negative impact is reduced -• Monitoring of the crop growth rates of the farm, providing evidence of performance -• Planning of harvest moment and mill logistics is supported such that optimal tonnage and sucrose levels can be harvested. - -The base of the report is the Chlorophyll Index. The chlorophyll index identifies: -• Field-level crop health variations => target problem area's -• Weekly changes in crop vigor => scout for diseases and stress -• Areas requiring attention by the agricultural and irrigation teams -• Growth patterns across different field sections - -Key Features: - High-resolution satellite imagery analysis - Week-over-week change detection - Individual field performance metrics - Actionable insights for crop management - -### Explanation of the Report - -This report provides a detailed analysis (3x3m of resolution) of your sugarcane fields based on satellite imagery. It supports you monitor crop health and development throughout the growing season. The data is processed weekly to give you timely insights for optimal farm management decisions. - -### What is the Chlorophyll Index (CI)? - -The Chlorophyll Index (CI) is a vegetation index that measures the relative amount of chlorophyll in plant leaves. Chlorophyll is the green pigment responsible for photosynthesis in plants. Higher CI values indicate: -• Greater photosynthetic activity -• Healthier plant tissue -• Better nitrogen uptake -• More vigorous crop growth - -CI values typically range from 0 (bare soil or severely stressed vegetation) to 7+ (very healthy, dense vegetation). For sugarcane, values between 3-7 generally indicate good crop health, depending on the growth stage. +```{r include=FALSE} +# Tries to get the CI graph in different language, otherwise falls back on English +target_img <- paste0("CI_graph_example_", lang, ".png") +img_path <- ifelse(file.exists(target_img), target_img, "CI_graph_example.png") +```
-![`r t("ci_caption")`](CI_graph_example.png) +![`r t("ci_caption")`](`r img_path`)
-### What You'll Find in This Report: +`r t("sec_iii_1")` + + - `r t("kpi_i")` + - `r t("kpi_i_metric")` + - `r t("kpi_i_calc")` + - `r t("kpi_categories")` + - `r t("kpi_i_excellent")` + - `r t("kpi_i_good")` + - `r t("kpi_i_accept")` + - `r t("kpi_i_poor")` + - `r t("kpi_i_verypoor")` + - `r t("kpi_i_why")` + + - `r t("kpi_ii")` + - `r t("kpi_ii_calc")` + - `r t("kpi_categories")` + - `r t("kpi_ii_rapid")` + - `r t("kpi_ii_positive")` + - `r t("kpi_ii_stable")` + - `r t("kpi_ii_declining")` + - `r t("kpi_ii_rapid_decline")` + - `r t("kpi_ii_why")` + + - `r t("kpi_iii")` + - `r t("kpi_iii_applies")` + - `r t("kpi_iii_method")` + - `r t("kpi_iii_input")` + - `r t("kpi_iii_output")` + - `r t("kpi_iii_why")` + + - `r t("kpi_iv")` + - `r t("kpi_iv_calc")` + - `r t("kpi_categories")` + - `r t("kpi_iv_strong")` + - `r t("kpi_iv_weak")` + - `r t("kpi_iv_sli_decline")` + - `r t("kpi_iv_mod_decline")` + - `r t("kpi_iv_str_decline")` + - `r t("kpi_iv_why")` + + - `r t("kpi_v")` + - `r t("kpi_v_met1")` + - `r t("kpi_v_form")` + - `r t("kpi_v_range")` + - `r t("kpi_v_interpretation")` + - `r t("kpi_v_met2")` + - `r t("kpi_v_met2_range")` + - `r t("kpi_v_thresh")` + - `r t("kpi_v_risk")` + - `r t("kpi_v_minimal")` + - `r t("kpi_v_low")` + - `r t("kpi_v_medium")` + - `r t("kpi_v_high")` + - `r t("kpi_v_why")` -1. **Key Performance Indicators (KPIs):** - The report provides a farm-wide analysis based on weekly Chlorophyll Index (CI) measurements. Five comprehensive KPIs are calculated field by field to assess crop health: - - - **KPI 1: Field Uniformity** — Measures how consistently crop is developing across the field - - **Metric:** Coefficient of Variation (CV) of CI pixel values - - **Calculation:** CV = (Standard Deviation of CI) / (Mean CI) - - **Categories:** - - **Excellent:** CV < 0.08 (very uniform growth, minimal intervention needed) - - **Good:** CV < 0.15 (acceptable uniformity, routine monitoring) - - **Acceptable:** CV < 0.25 (moderate variation, monitor irrigation/fertility) - - **Poor:** CV < 0.4 (high variation, investigate management issues) - - **Very poor:** CV ≥ 0.4 (severe variation, immediate field scout required) - - **Why it matters:** Uniform fields are easier to manage and typically produce better yields. Uneven growth suggests irrigation problems, fertility gaps, pests, or disease. - - - **KPI 2: Area Change (Weekly Growth)** — Tracks week-over-week CI changes to detect rapid improvements or declines - - **Calculation:** Current Mean CI − Previous Mean CI (absolute change in CI units) - - **Categories:** - - **Rapid growth:** > +0.5 (excellent weekly progress) - - **Positive growth:** +0.2 to +0.5 (steady improvement) - - **Stable:** −0.2 to +0.2 (field maintained, no significant change) - - **Declining:** −0.5 to −0.2 (slow decline, warrant closer monitoring) - - **Rapid decline:** < −0.5 (alert: urgent issue requiring investigation) - - **Why it matters:** Week-to-week changes reveal developing problems early, enabling timely intervention. - - - **KPI 3: TCH Forecasted (Yield Prediction)** — Predicts final harvest tonnage for mature fields - - **Applies to:** Fields ≥ 240 days old (mature stage) - - **Method:** Random Forest machine learning model trained on historical harvest data and CI trajectories - - **Inputs:** Days after harvest (DAH) and CI growth rate (CI_per_day) - - **Output:** Predicted tons of cane per hectare (t/ha) - - **Why it matters:** Helps plan harvest timing, mill throughput, and revenue forecasting for mature crops. - - - **KPI 4: Growth Decline (4-Week Trend)** — Assesses short-term growth trajectory using linear regression - - **Calculation:** Linear slope of CI values over the previous 4 weeks - - **Categories:** - - **Strong growth:** Slope > 0.1 CI units/week (excellent sustained progress) - - **Weak growth:** Slope 0–0.1 (slow improvement, monitor closely) - - **Slight decline:** Slope −0.1–0 (low severity, non-urgent observation) - - **Moderate decline:** Slope −0.3 to −0.1 (medium severity, scouting recommended) - - **Strong decline:** Slope < −0.3 (high severity, immediate field investigation required) - - **Why it matters:** Trend analysis reveals whether crop is accelerating, stalling, or stressed over time. - - - **KPI 5: Field Patchiness (Heterogeneity)** — Combines two complementary spatial metrics for comprehensive heterogeneity assessment - - **Metric 1: Gini Coefficient** — Statistical measure of distribution inequality in CI pixel values - - **Formula:** (2 × Σ(i × sorted_CI)) / (n × Σ(sorted_CI)) − (n+1)/n - - **Range:** 0 (perfectly uniform) to 1 (highly unequal) - - **Interpretation:** Low Gini (< 0.15) = good uniformity; High Gini (> 0.3) = significant heterogeneity - - **Metric 2: Moran's I** — Spatial autocorrelation indicating whether high/low areas are clustered or scattered - - **Range:** −1 (dispersed pattern) to +1 (strong clustering) - - **Thresholds:** Moran's I > 0.85 indicates clustered problem areas; < 0.75 suggests scattered issues - - **Risk Determination (Gini + Moran's I Combined):** - - **Minimal Risk:** Gini < 0.15 (excellent uniformity regardless of spatial pattern) - - **Low Risk:** Gini 0.15–0.30, Moran's I < 0.85 (moderate variation, scattered distribution) - - **Medium Risk:** Gini 0.15–0.30, Moran's I > 0.85 OR Gini 0.30–0.50, Moran's I < 0.85 (notable issues) - - **High Risk:** Gini > 0.30, Moran's I > 0.85 (severe heterogeneity with localized clusters—urgent scouting needed) - - **Why it matters:** High patchiness may indicate irrigation inefficiencies, localized pest pressure, fertility variation, or disease spread. Combined Gini + Moran's I reveals not just *how much* variation exists, but also *how it's distributed* spatially. CI reflects chlorophyll = nitrogen status + plant health + vigor. High CV/Patchiness often signals N gaps, water stress, pests (borers), or ratoon decline. - - - **Uniformity vs. Patchiness — What's the Difference?** - Both KPIs measure variation, but they answer different questions and drive different management actions: - - **Uniformity (CV-based)** answers: "*Is* growth even across the field?" — it detects whether a problem exists but not where. - - **Patchiness (Gini + Moran's I)** answers: "*Where* are problems and how are they arranged?" — it reveals the spatial pattern. + - `r t("unif_v_patch")` + - `r t("unif")` + - `r t("patch")` - **Practical example:** Two fields both score "Poor" on Uniformity (CV = 0.25). However: - - Field A has scattered low-CI patches (Moran's I = 0.6) → suggests *random* stress (disease pressure, uneven irrigation) - - Field B has clustered low-CI in one corner (Moran's I = 0.95) → suggests *localized* problem (drainage, compaction, pest hotspot) - Your scouting and remediation strategy should differ: Field A might need systemic irrigation adjustment or disease management; Field B might need soil remediation in the affected corner. **Patchiness tells you *where to focus your effort*.** - - - **KPI 6: Gap Score (Establishment Quality)** — Quantifies field gaps and areas of poor crop establishment - - **Calculation Method:** Statistical outlier detection (2σ method) - - Identifies pixels with CI below: **Median CI − (2 × Standard Deviation)** - - Calculates: **Gap Score = (Outlier Pixels / Total Pixels) × 100** - - Example: If 2 of 100 pixels fall below threshold → Gap Score = 2% - - **Score Ranges & Interpretation:** - - **0–10%:** Minimal gaps (excellent establishment, healthy field) - - **10–25%:** Moderate gaps (monitor for expansion, coordinate with agronomy) - - **≥ 25%:** Significant gaps (consider targeted replanting or rehabilitation) - - **Why it matters:** Gap scores reveal areas of poor establishment that may indicate early growth problems or harvest-related residue issues. Lower is better (0–3% is typical for healthy fields). + `r t("practical_example")` + + - `r t("field_a")` + - `r t("field_b")` + + `r t("scouting")` + + - `r t("kpi_vi")` + - `r t("kpi_vi_calc")` + - `r t("kpi_vi_identify")` + - `r t("kpi_vi_calculates")` + - `r t("kpi_vi_example")` + - `r t("kpi_vi_scores")` + - `r t("kpi_vi_0")` + - `r t("kpi_vi_10")` + - `r t("kpi_vi_25")` + - `r t("kpi_vi_why")` -2. **Overview Map: Growth on Farm:** - Provides a traffic light overview of field-by-field growth status for quick prioritization and reporting. - -3. **Chlorophyll Index Overview Map:** - Shows current CI values for all fields, helping to identify high- and low-performing areas. - -4. **Field-by-Field Analysis:** - Includes detailed maps, trend graphs, and performance metrics for each field. - -5. **Yield Prediction:** - For mature crops (over 240 days), yield is predicted using current and historical CI data. - -6. **Farm Overview Table:** - Presents numerical field-level results for all KPIs. +`r t("sec_iii_2_to_6")` --- -### Historical Benchmark Lines - -The CI time series graphs include historical benchmark lines for the 10th, 50th, and 90th percentiles of CI values across all fields and seasons. -**Note:** These lines are now all rendered as solid lines (not dashed or dotted), with different colors for each percentile. -- **10th Percentile:** Lower end of historical performance -- **50th Percentile:** Median historical performance -- **90th Percentile:** Upper end of historical performance -Comparing the current season to these lines helps assess whether crop growth is below, at, or above historical norms. +`r t("hist_benchmark")` \newpage `r t("metadata")` @@ -1797,7 +1763,7 @@ metadata_info <- data.frame( Value = c( format(Sys.time(), "%Y-%m-%d %H:%M:%S"), paste(t("project"), toupper(project_dir)), - paste(t("week"), current_week, "of", year), + paste(t("week"), current_week, t("of"), year), ifelse(exists("AllPivots0"), nrow(AllPivots0 %>% filter(!is.na(field)) %>% group_by(field) %>% summarise()), t("unknown")), t("next_wed") ) @@ -1813,4 +1779,4 @@ ft <- flextable(metadata_info) %>% ft ``` -`r t("disclaimer")` \ No newline at end of file +`r t("disclaimer")` diff --git a/r_app/translations/translations.xlsx b/r_app/translations/translations.xlsx index 82896f2a9552c6f177696accdecb77e8ce96ed48..46e0f88f83778f8a77b13600ec7254f1b4580144 100644 GIT binary patch delta 29957 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 m^bZEr|F)oQ{}wfj|1WV Date: Mon, 23 Feb 2026 11:34:15 +0100 Subject: [PATCH 4/7] Corrected Spansih translations Jordi --- ..._CI_report_with_kpis_agronomic_support.Rmd | 191 +++++++++--------- r_app/translations/translations.xlsx | Bin 36600 -> 36549 bytes 2 files changed, 96 insertions(+), 95 deletions(-) diff --git a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd index 9513e0c..57f240d 100644 --- a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd +++ b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd @@ -8,7 +8,7 @@ params: borders: FALSE ci_plot_type: "both" colorblind_friendly: TRUE - lang: "es" + lang: "en" facet_by_season: FALSE x_axis_unit: "days" output: @@ -503,12 +503,13 @@ t <- function(key) { if (key %in% names(tr)) { txt <- glue(tr[key], .envir = parent.frame()) txt <- gsub("\n", " \n", txt) - return(enc2utf8(as.character(txt))) - } else if (key == "" | is.na(key)) { + } else if (is.na(key)) { + return(t("NA")) + } else if (key == "") { return("") } else { - return(paste0("[", key, "]")) + return(paste0(key)) } } ``` @@ -538,7 +539,7 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table # 1. Uniformity insights - group by interpretation if (!is.null(summary_tables$uniformity) && nrow(summary_tables$uniformity) > 0) { - cat(t("field_unif"), "\n\n") + cat("\n", t("field_unif")) uniformity_counts <- summary_tables$uniformity %>% dplyr::select(interpretation, count = field_count) @@ -546,14 +547,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table status <- uniformity_counts$interpretation[i] count <- uniformity_counts$count[i] if (!is.na(status) && !is.na(count) && count > 0) { - cat("-", t("unif_status"), "\n\n") + cat(" -", t("unif_status")) } } } # 2. Area change insights - group by interpretation if (!is.null(summary_tables$area_change) && nrow(summary_tables$area_change) > 0) { - cat(t("field_area"), "\n\n") + cat("\n\n", t("field_area")) area_counts <- summary_tables$area_change %>% dplyr::select(interpretation, count = field_count) @@ -561,14 +562,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table status <- area_counts$interpretation[i] count <- area_counts$count[i] if (!is.na(status) && !is.na(count) && count > 0) { - cat("-", t("area_status"), "\n\n") + cat(" -", t("area_status")) } } } # 3. Growth trend insights - group by trend_interpretation if (!is.null(summary_tables$growth_decline) && nrow(summary_tables$growth_decline) > 0) { - cat(t("growth_trend"), "\n\n") + cat("\n\n", t("growth_trend")) growth_counts <- summary_tables$growth_decline %>% dplyr::select(trend_interpretation, count = field_count) @@ -576,14 +577,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table trend <- growth_counts$trend_interpretation[i] count <- growth_counts$count[i] if (!is.na(trend) && !is.na(count) && count > 0) { - cat("-", t("trend_status"), "\n\n") + cat(" -", t("trend_status")) } } } # 4. Patchiness insights - group by patchiness_risk if (!is.null(summary_tables$patchiness) && nrow(summary_tables$patchiness) > 0) { - cat(t("patch_risk"), "\n\n") + cat("\n\n", t("patch_risk")) patchiness_counts <- summary_tables$patchiness %>% dplyr::select(patchiness_risk, count = field_count) @@ -591,14 +592,14 @@ if (exists("summary_tables") && !is.null(summary_tables) && length(summary_table risk <- patchiness_counts$patchiness_risk[i] count <- patchiness_counts$count[i] if (!is.na(risk) && !is.na(count) && count > 0) { - cat("-", t("patch_status"), "\n\n") + cat(" -", t("patch_status")) } } } # 5. Total fields analyzed total_fields <- sum(summary_tables$uniformity$field_count, na.rm = TRUE) - cat(t("tot_fields_analyzed")) + cat("\n\n", t("tot_fields_analyzed")) } else { cat(t("kpi_na")) @@ -1455,14 +1456,14 @@ tryCatch({ if (nrow(field_kpi) > 0) { # Format KPIs as compact single line (no interpretations, just values) kpi_parts <- c( - sprintf("**CV:** %.2f", field_kpi$CV), - sprintf("**Mean CI:** %.2f", field_kpi$Mean_CI) + sprintf("**%s:** %.2f", t("cv_value"), field_kpi$CV), + sprintf("**%s:** %.2f", t("mean_ci"), field_kpi$Mean_CI) ) # Add Weekly_CI_Change if available (note: capital C and I) if (!is.null(field_kpi$Weekly_CI_Change) && !is.na(field_kpi$Weekly_CI_Change)) { change_sign <- ifelse(field_kpi$Weekly_CI_Change >= 0, "+", "") - kpi_parts <- c(kpi_parts, sprintf("**Δ CI:** %s%.2f", change_sign, field_kpi$Weekly_CI_Change)) + kpi_parts <- c(kpi_parts, sprintf("**Δ%s:** %s%.2f", t("CI"), change_sign, field_kpi$Weekly_CI_Change)) } # Compact trend display with symbols @@ -1474,17 +1475,17 @@ tryCatch({ grepl("Strong decline|Severe", field_kpi$Trend_Interpretation, ignore.case = TRUE) ~ "↓↓", TRUE ~ field_kpi$Trend_Interpretation ) - kpi_parts <- c(kpi_parts, sprintf("**Trend:** %s", trend_compact)) + kpi_parts <- c(kpi_parts, sprintf("**%s:** %s", t("Trend"), trend_compact)) if (!is.na(field_kpi$TCH_Forecasted) && field_kpi$TCH_Forecasted > 0) { - kpi_parts <- c(kpi_parts, sprintf("**Yield:** %.1f t/ha", field_kpi$TCH_Forecasted)) + kpi_parts <- c(kpi_parts, sprintf("**%s:** %.1f t/ha", t("Yield"), field_kpi$TCH_Forecasted)) } kpi_parts <- c( kpi_parts, - sprintf("**Gap:** %.0f", field_kpi$Gap_Score), - sprintf("**Patchiness:** %s", field_kpi$Patchiness_Risk), - sprintf("**Decline:** %s", field_kpi$Decline_Severity) + sprintf("**%s:** %.0f%%", t("Gaps"), field_kpi$Gap_Score), + sprintf("**%s:** %s", t("Patchiness"), t(field_kpi$Patchiness_Risk)), + sprintf("**%s:** %s", t("Decline"), t(field_kpi$Decline_Severity)) ) cat(paste(kpi_parts, collapse = " | "), "\n\n") # Double newline for markdown paragraph break @@ -1667,86 +1668,74 @@ img_path <- ifelse(file.exists(target_img), target_img, "CI_graph_example.png") ```
-![`r t("ci_caption")`](`r img_path`) +![`r t("ci_caption")`](`r img_path`){width=4in}
`r t("sec_iii_1")` - - `r t("kpi_i")` - - `r t("kpi_i_metric")` - - `r t("kpi_i_calc")` - - `r t("kpi_categories")` - - `r t("kpi_i_excellent")` - - `r t("kpi_i_good")` - - `r t("kpi_i_accept")` - - `r t("kpi_i_poor")` - - `r t("kpi_i_verypoor")` - - `r t("kpi_i_why")` - - - `r t("kpi_ii")` - - `r t("kpi_ii_calc")` - - `r t("kpi_categories")` - - `r t("kpi_ii_rapid")` - - `r t("kpi_ii_positive")` - - `r t("kpi_ii_stable")` - - `r t("kpi_ii_declining")` - - `r t("kpi_ii_rapid_decline")` - - `r t("kpi_ii_why")` - - - `r t("kpi_iii")` - - `r t("kpi_iii_applies")` - - `r t("kpi_iii_method")` - - `r t("kpi_iii_input")` - - `r t("kpi_iii_output")` - - `r t("kpi_iii_why")` - - - `r t("kpi_iv")` - - `r t("kpi_iv_calc")` - - `r t("kpi_categories")` - - `r t("kpi_iv_strong")` - - `r t("kpi_iv_weak")` - - `r t("kpi_iv_sli_decline")` - - `r t("kpi_iv_mod_decline")` - - `r t("kpi_iv_str_decline")` - - `r t("kpi_iv_why")` - - - `r t("kpi_v")` - - `r t("kpi_v_met1")` - - `r t("kpi_v_form")` - - `r t("kpi_v_range")` - - `r t("kpi_v_interpretation")` - - `r t("kpi_v_met2")` - - `r t("kpi_v_met2_range")` - - `r t("kpi_v_thresh")` - - `r t("kpi_v_risk")` - - `r t("kpi_v_minimal")` - - `r t("kpi_v_low")` - - `r t("kpi_v_medium")` - - `r t("kpi_v_high")` - - `r t("kpi_v_why")` + - `r t("kpi_i")` + - `r t("kpi_i_metric")` + - `r t("kpi_i_calc")` + - `r t("kpi_categories")` + - `r t("kpi_i_excellent")` + - `r t("kpi_i_good")` + - `r t("kpi_i_accept")` + - `r t("kpi_i_poor")` + - `r t("kpi_i_verypoor")` + - `r t("kpi_i_why")` - - `r t("unif_v_patch")` - - `r t("unif")` - - `r t("patch")` + - `r t("kpi_ii")` + - `r t("kpi_ii_calc")` + - `r t("kpi_categories")` + - `r t("kpi_ii_rapid")` + - `r t("kpi_ii_positive")` + - `r t("kpi_ii_stable")` + - `r t("kpi_ii_declining")` + - `r t("kpi_ii_rapid_decline")` + - `r t("kpi_ii_why")` + + - `r t("kpi_iii")` + - `r t("kpi_iii_applies")` + - `r t("kpi_iii_method")` + - `r t("kpi_iii_input")` + - `r t("kpi_iii_output")` + - `r t("kpi_iii_why")` + + - `r t("kpi_iv")` + - `r t("kpi_iv_calc")` + - `r t("kpi_categories")` + - `r t("kpi_iv_strong")` + - `r t("kpi_iv_weak")` + - `r t("kpi_iv_sli_decline")` + - `r t("kpi_iv_mod_decline")` + - `r t("kpi_iv_str_decline")` + - `r t("kpi_iv_why")` + + - `r t("kpi_v")` + - `r t("kpi_v_met1")` + - `r t("kpi_v_form")` + - `r t("kpi_v_range")` + - `r t("kpi_v_interpretation")` + - `r t("kpi_v_met2")` + - `r t("kpi_v_met2_range")` + - `r t("kpi_v_thresh")` + - `r t("kpi_v_risk")` + - `r t("kpi_v_minimal")` + - `r t("kpi_v_low")` + - `r t("kpi_v_medium")` + - `r t("kpi_v_high")` + - `r t("kpi_v_why")` - - `r t("practical_example")` - - - `r t("field_a")` - - `r t("field_b")` - - `r t("scouting")` - - - `r t("kpi_vi")` - - `r t("kpi_vi_calc")` - - `r t("kpi_vi_identify")` - - `r t("kpi_vi_calculates")` - - `r t("kpi_vi_example")` - - `r t("kpi_vi_scores")` - - `r t("kpi_vi_0")` - - `r t("kpi_vi_10")` - - `r t("kpi_vi_25")` - - `r t("kpi_vi_why")` + - `r t("kpi_vi")` + - `r t("kpi_vi_calc")` + - `r t("kpi_vi_identify")` + - `r t("kpi_vi_calculates")` + - `r t("kpi_vi_example")` + - `r t("kpi_vi_scores")` + - `r t("kpi_vi_0")` + - `r t("kpi_vi_10")` + - `r t("kpi_vi_25")` + - `r t("kpi_vi_why")` `r t("sec_iii_2_to_6")` @@ -1754,6 +1743,18 @@ img_path <- ifelse(file.exists(target_img), target_img, "CI_graph_example.png") `r t("hist_benchmark")` +`r t("unif_v_patch")` + +- `r t("unif")` +- `r t("patch")` + +`r t("practical_example")` + +- `r t("field_a")` +- `r t("field_b")` + +`r t("scouting")` + \newpage `r t("metadata")` diff --git a/r_app/translations/translations.xlsx b/r_app/translations/translations.xlsx index 46e0f88f83778f8a77b13600ec7254f1b4580144..4050caf64ad3e74a9ad7794c915c3a0a63443246 100644 GIT binary patch delta 28416 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 From eafb6f68bee1963d64c04940f45a4aef035d070c Mon Sep 17 00:00:00 2001 From: Nik Verweel Date: Mon, 23 Feb 2026 11:40:47 +0100 Subject: [PATCH 5/7] Spanish CI graph --- r_app/CI_graph_example_es.png | Bin 0 -> 77511 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 r_app/CI_graph_example_es.png diff --git a/r_app/CI_graph_example_es.png b/r_app/CI_graph_example_es.png new file mode 100644 index 0000000000000000000000000000000000000000..265fbdfbb6496647f5e3ba563ca30daf2aafd6d2 GIT binary patch literal 77511 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 Date: Mon, 23 Feb 2026 14:38:38 +0100 Subject: [PATCH 6/7] Minor translation updates --- ..._CI_report_with_kpis_agronomic_support.Rmd | 2 +- r_app/translations/translations.xlsx | Bin 36549 -> 36489 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd index 57f240d..01143f2 100644 --- a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd +++ b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd @@ -730,7 +730,7 @@ generate_field_alerts <- function(field_details_table) { } # Check for required columns - required_cols <- c("Field", "Field Size (hectares)", "Growth Uniformity", "Yield Forecast (t/ha)", + required_cols <- c("Field", "Field Size (acres)", "Growth Uniformity", "Yield Forecast (t/ha)", "Gap Score", "Decline Risk", "Patchiness Risk", "Mean CI", "CV Value", "Moran's I") missing_cols <- setdiff(required_cols, colnames(field_details_table)) diff --git a/r_app/translations/translations.xlsx b/r_app/translations/translations.xlsx index 4050caf64ad3e74a9ad7794c915c3a0a63443246..9bf4de6bb26906c49131c71cf05c63caab5134e1 100644 GIT binary patch delta 8048 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 delta 8089 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 Date: Mon, 23 Feb 2026 16:06:02 +0100 Subject: [PATCH 7/7] Fix alert table and finish first translation iteration --- ..._CI_report_with_kpis_agronomic_support.Rmd | 33 +++++++++--------- r_app/translations/translations.xlsx | Bin 36489 -> 37004 bytes 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd index b56507f..d281ae5 100644 --- a/r_app/90_CI_report_with_kpis_agronomic_support.Rmd +++ b/r_app/90_CI_report_with_kpis_agronomic_support.Rmd @@ -2,13 +2,13 @@ params: ref: "word-styles-reference-var1.docx" output_file: "CI_report.docx" - report_date: "2026-02-04" #!r Sys.Date() + report_date: "2026-02-18" #!r Sys.Date() data_dir: "tpc" mail_day: "Wednesday" borders: FALSE ci_plot_type: "both" colorblind_friendly: TRUE - lang: "en" + language: "en" facet_by_season: FALSE x_axis_unit: "days" output: @@ -28,7 +28,7 @@ ci_plot_type <- params$ci_plot_type colorblind_friendly <- params$colorblind_friendly facet_by_season <- params$facet_by_season x_axis_unit <- params$x_axis_unit -lang <- params$lang +language <- params$language ``` ```{r load_libraries, message=FALSE, warning=FALSE, include=FALSE} @@ -484,10 +484,10 @@ tryCatch({ # Try to select the translations for this report, otherwise fall back to English tryCatch({ - if (lang %in% names(translations)) { - lang_col <- lang - safe_log(paste0("Loaded localisation for '", lang,"'")) - }else { + if (language %in% names(translations)) { + lang_col <- language + safe_log(paste0("Loaded localisation for '", language,"'")) + } else { lang_col <- "en" safe_log(paste("Specified language not supported, defaulting to 'en'"), "WARNING") } @@ -730,7 +730,7 @@ generate_field_alerts <- function(field_details_table) { } # Check for required columns - required_cols <- c("Field", "Field Size (acres)", "Growth Uniformity", "Yield Forecast (t/ha)", + required_cols <- c("Field", "Growth Uniformity", "Yield Forecast (t/ha)", "Gap Score", "Decline Risk", "Patchiness Risk", "Mean CI", "CV Value", "Moran's I") missing_cols <- setdiff(required_cols, colnames(field_details_table)) @@ -750,7 +750,6 @@ generate_field_alerts <- function(field_details_table) { # Aggregate data for the field field_summary <- field_data %>% summarise( - field_size = sum(`Field Size (acres)`, na.rm = TRUE), uniformity_levels = paste(unique(`Growth Uniformity`), collapse = "/"), avg_yield_forecast = mean(`Yield Forecast (t/ha)`, na.rm = TRUE), max_gap_score = max(`Gap Score`, na.rm = TRUE), @@ -785,21 +784,21 @@ generate_field_alerts <- function(field_details_table) { # Generate alerts based on priority level if (priority_level == 1) { - field_alerts <- c(field_alerts, "Priority field - recommend inspection") + field_alerts <- c(field_alerts, t("priority")) } else if (priority_level == 2) { - field_alerts <- c(field_alerts, "Monitor - check when convenient") + field_alerts <- c(field_alerts, t("monitor")) } # Priority 3: No alert (no stress) # Keep other alerts for decline risk, patchiness risk, gap score if (field_summary$highest_decline_risk %in% c("High", "Very-high")) { - field_alerts <- c(field_alerts, "Growth decline observed") + field_alerts <- c(field_alerts, t("growth_decline")) } if (field_summary$highest_patchiness_risk == "High") { - field_alerts <- c(field_alerts, "High patchiness detected - recommend scouting") + field_alerts <- c(field_alerts, t("high_patchiness")) } if (field_summary$max_gap_score > 20) { - field_alerts <- c(field_alerts, "Gaps present - recommend review") + field_alerts <- c(field_alerts, t("gaps_present")) } # Only add alerts if there are any (skip fields with no alerts) @@ -845,8 +844,8 @@ if (exists("field_details_table") && !is.null(field_details_table) && nrow(field if ("Gap_Score" %in% names(field_details_for_alerts)) { field_details_for_alerts <- field_details_for_alerts %>% dplyr::rename(`Gap Score` = Gap_Score) } - if ("Growth_Uniformity" %in% names(field_details_for_alerts)) { - field_details_for_alerts <- field_details_for_alerts %>% dplyr::rename(`Growth Uniformity` = Growth_Uniformity) + if ("Uniformity_Category" %in% names(field_details_for_alerts)) { + field_details_for_alerts <- field_details_for_alerts %>% dplyr::rename(`Growth Uniformity` = Uniformity_Category) } if ("Decline_Risk" %in% names(field_details_for_alerts)) { field_details_for_alerts <- field_details_for_alerts %>% dplyr::rename(`Decline Risk` = Decline_Risk) @@ -1663,7 +1662,7 @@ if (!exists("field_details_table") || is.null(field_details_table) || nrow(field ```{r include=FALSE} # Tries to get the CI graph in different language, otherwise falls back on English -target_img <- paste0("CI_graph_example_", lang, ".png") +target_img <- paste0("CI_graph_example_", language, ".png") img_path <- ifelse(file.exists(target_img), target_img, "CI_graph_example.png") ``` diff --git a/r_app/translations/translations.xlsx b/r_app/translations/translations.xlsx index 9bf4de6bb26906c49131c71cf05c63caab5134e1..ed636889f9ae9ddca70255599665fc0103d7f652 100644 GIT binary patch delta 12579 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 VKveNU5Whn~X7Lm-)e--Q{|gjDC?Nm<