Add translations for Satellite Based Field Reporting in translations_91.json

This commit is contained in:
Timon 2026-03-10 17:38:15 +01:00
parent 58072d8f4a
commit d794f31460
6 changed files with 1946 additions and 781 deletions

View file

@ -8,7 +8,7 @@ params:
borders: FALSE borders: FALSE
ci_plot_type: "both" ci_plot_type: "both"
colorblind_friendly: TRUE colorblind_friendly: TRUE
language: "en" # Language code for translations (e.g., "en", "es", "pt-br") language: "en" # Language code for translations (e.g., "en", "es-mx", "pt-br")
facet_by_season: FALSE facet_by_season: FALSE
x_axis_unit: "days" x_axis_unit: "days"
output: output:
@ -63,7 +63,7 @@ suppressPackageStartupMessages({
library(officer) # For Word document manipulation (custom formatting, headers, footers) library(officer) # For Word document manipulation (custom formatting, headers, footers)
# Translation handling # Translation handling
library(readxl) # For reading in the translation Excel library(jsonlite) # For reading in the translation JSON
library(glue) # For easy variable formatting in texts library(glue) # For easy variable formatting in texts
}) })
@ -460,41 +460,34 @@ if (!is.null(CI_quadrant) && nrow(CI_quadrant) > 0) {
``` ```
```{r load_translations, include = FALSE} ```{r load_translations, include = FALSE}
# Load the translations document and build # Load the translations document from JSON
tryCatch({ tryCatch({
# Define the sheets you want to load translations_json <- fromJSON("translations/translations_90.json", simplifyVector = FALSE)
# Flatten all sheets into a single named vector: key -> translated string
sheet_names <- c("main_translations", "status_translations", "figure_translations") sheet_names <- c("main_translations", "status_translations", "figure_translations")
# Read each sheet and combine them into one dataframe # Determine language column (fall back to English)
translation_list <- lapply(sheet_names, function(s) { lang_col <- if (language %in% c("en", "es", "pt-br")) language else "en"
read_excel("translations/translations_90.xlsx", sheet = s) if (lang_col != language) {
}) safe_log(paste("Specified language not supported, defaulting to 'en'"), "WARNING")
translations <- do.call(rbind, translation_list) } else {
safe_log(paste0("Loaded localisation for '", language, "'"))
if (!is.null(translations)) {
safe_log("Translations file successfully loaded")
} else { safe_log("Failed to load translations", "ERROR")
translations <- NULL
} }
# Build the tr named vector (same interface as before)
tr <- unlist(lapply(sheet_names, function(s) {
sheet <- translations_json[[s]]
vapply(names(sheet), function(key) {
val <- sheet[[key]][[lang_col]]
if (is.null(val) || val == "") sheet[[key]][["en"]] else val
}, character(1))
}))
safe_log(paste("Translations loaded:", length(tr), "keys"))
}, error = function(e) { }, error = function(e) {
safe_log(paste("Error loading translation file:", e$message), "ERROR") safe_log(paste("Error loading translation file:", e$message), "ERROR")
translations <<- NULL tr <<- NULL
})
# Try to select the translations for this report, otherwise fall back to English
tryCatch({
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")
}
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
}) })
# tr_key() and map_trend_to_arrow() are defined in 90_report_utils.R (sourced above) # tr_key() and map_trend_to_arrow() are defined in 90_report_utils.R (sourced above)

View file

@ -8,6 +8,7 @@ params:
borders: FALSE borders: FALSE
ci_plot_type: "both" # options: "absolute", "cumulative", "both" ci_plot_type: "both" # options: "absolute", "cumulative", "both"
colorblind_friendly: TRUE # use colorblind-friendly palettes (viridis/plasma) colorblind_friendly: TRUE # use colorblind-friendly palettes (viridis/plasma)
language: "en" # Language code for translations (e.g., "en", "es-mx", "pt-br", "sw")
facet_by_season: FALSE # facet CI trend plots by season instead of overlaying facet_by_season: FALSE # facet CI trend plots by season instead of overlaying
x_axis_unit: "days" # x-axis unit for trend plots: "days" or "weeks" x_axis_unit: "days" # x-axis unit for trend plots: "days" or "weeks"
output: output:
@ -25,6 +26,7 @@ mail_day <- params$mail_day
borders <- params$borders borders <- params$borders
ci_plot_type <- params$ci_plot_type ci_plot_type <- params$ci_plot_type
colorblind_friendly <- params$colorblind_friendly colorblind_friendly <- params$colorblind_friendly
language <- params$language
facet_by_season <- params$facet_by_season facet_by_season <- params$facet_by_season
x_axis_unit <- params$x_axis_unit x_axis_unit <- params$x_axis_unit
``` ```
@ -59,6 +61,8 @@ suppressPackageStartupMessages({
# Reporting # Reporting
library(knitr) # For R Markdown document generation (code execution and output) library(knitr) # For R Markdown document generation (code execution and output)
library(flextable) # For formatted tables in Word output (professional table styling) library(flextable) # For formatted tables in Word output (professional table styling)
library(jsonlite) # For reading in the translation JSON
library(glue) # For variable interpolation in translations
}) })
# Configure tmap for static plotting (required for legend.outside to work) # Configure tmap for static plotting (required for legend.outside to work)
@ -424,28 +428,60 @@ if (exists("summary_data") && !is.null(summary_data) && "field_analysis" %in% na
} }
``` ```
```{r load_translations, include = FALSE}
# Load the translations document from JSON
tryCatch({
translations_json <- fromJSON("translations/translations_91.json", simplifyVector = FALSE)
# Flatten all sheets into a single named vector: key -> translated string
sheet_names <- c("main_translations", "status_translations", "figure_translations")
# Determine language column (fall back to English)
lang_col <- if (language %in% c("en", "es-mx", "pt-br", "sw")) language else "en"
if (lang_col != language) {
safe_log(paste("Specified language not supported, defaulting to 'en'"), "WARNING")
} else {
safe_log(paste0("Loaded localisation for '", language, "'"))
}
# Build the tr named vector (same interface as report 90)
tr <- unlist(lapply(sheet_names, function(s) {
sheet <- translations_json[[s]]
vapply(names(sheet), function(key) {
val <- sheet[[key]][[lang_col]]
if (is.null(val) || val == "") sheet[[key]][["en"]] else val
}, character(1))
}))
safe_log(paste("Translations loaded:", length(tr), "keys"))
}, error = function(e) {
safe_log(paste("Error loading translation file:", e$message), "ERROR")
tr <<- NULL
})
```
<!-- Dynamic cover page --> <!-- Dynamic cover page -->
::: {custom-style="Cover_title" style="text-align:center; margin-top:120px;"} ::: {custom-style="Cover_title" style="text-align:center; margin-top:120px;"}
<span style="font-size:100pt; line-height:1.0; font-weight:700;">Satellite Based Field Reporting</span> <span style="font-size:100pt; line-height:1.0; font-weight:700;">`r tr_key("cover_title")`</span>
::: :::
::: {custom-style="Cover_subtitle" style="text-align:center; margin-top:18px;"} ::: {custom-style="Cover_subtitle" style="text-align:center; margin-top:18px;"}
<span style="font-size:20pt; font-weight:600;">Chlorophyll Index (CI) Monitoring Report — `r toupper(params$data_dir)` Estate (Week `r (if (!is.null(params$week)) params$week else format(as.Date(params$report_date), '%V'))`, `r format(as.Date(params$report_date), '%Y')`)</span> <span style="font-size:20pt; font-weight:600;">`r tr_key("cover_subtitle")`</span>
::: :::
\newpage \newpage
## Report Generated `r tr_key("report_summary_heading")`
**Farm Location:** `r toupper(project_dir)` Estate `r tr_key("report_farm_location")` `r toupper(project_dir)` Estate
**Report Period:** Week `r current_week` of `r year` `r tr_key("report_period_label")`
**Report Generated on:** `r format(Sys.time(), "%B %d, %Y at %H:%M")` `r tr_key("report_generated_on")` `r format(Sys.time(), "%B %d, %Y at %H:%M")`
**Farm Size Included in Analysis:** `r formatC(total_acreage, format="f", digits=1)` acres `r tr_key("report_farm_size")`
**Data Source:** Planet Labs Satellite Imagery `r tr_key("report_data_source")`
**Analysis Type:** Chlorophyll Index (CI) Monitoring `r tr_key("report_analysis_type")`
## Key Insights `r tr_key("key_insights")`
```{r key_insights, echo=FALSE, results='asis', eval=TRUE} ```{r key_insights, echo=FALSE, results='asis', eval=TRUE}
# Calculate key insights from KPI data # Calculate key insights from KPI data
@ -478,27 +514,26 @@ if (exists("summary_data") && !is.null(summary_data) && "field_analysis" %in% na
improving_pct <- ifelse(total_acreage > 0, round(improving_acreage / total_acreage * 100, 1), 0) improving_pct <- ifelse(total_acreage > 0, round(improving_acreage / total_acreage * 100, 1), 0)
declining_pct <- ifelse(total_acreage > 0, round(declining_acreage / total_acreage * 100, 1), 0) declining_pct <- ifelse(total_acreage > 0, round(declining_acreage / total_acreage * 100, 1), 0)
cat("- ", excellent_pct, "% of fields have excellent uniformity (CV < 0.08)\n", sep="") cat(tr_key("insight_excellent_unif"), "\n")
cat("- ", good_pct, "% of fields have good uniformity (CV < 0.15)\n", sep="") cat(tr_key("insight_good_unif"), "\n")
cat("- ", round(improving_acreage, 1), " acres (", improving_pct, "%) of farm area is improving week-over-week\n", sep="") cat(tr_key("insight_improving"), "\n")
cat("- ", round(declining_acreage, 1), " acres (", declining_pct, "%) of farm area is declining week-over-week\n", sep="") cat(tr_key("insight_declining"), "\n")
} else { } else {
cat("KPI data not available for key insights.\n") cat(tr_key("kpi_na_insights"), "\n")
} }
``` ```
## Report Structure `r tr_key("report_structure_heading")`
**Section 1:** Cane supply zone analyses, summaries and Key Performance Indicators (KPIs) `r tr_key("report_structure_body")`
**Section 2:** Explanation of the report, definitions, methodology, and CSV export structure
\newpage \newpage
# Section 1: Farm-wide Analyses and KPIs `r tr_key("section_i")`
## 1.1 Overview of cane supply area, showing zones with number of acres being harvest ready `r tr_key("section_1_1")`
```{r overview_map, fig.width=7, fig.height=6, fig.align="center", echo=FALSE, message=FALSE, warning=FALSE} ```{r overview_map, fig.width=7, fig.height=6, fig.align="center", echo=FALSE, message=FALSE, warning=FALSE}
# Create a hexbin overview map with ggplot # Create a hexbin overview map with ggplot
@ -603,7 +638,7 @@ tryCatch({
# Hexbin for NOT ready fields (light background) # Hexbin for NOT ready fields (light background)
geom_hex( geom_hex(
data = points_not_ready, data = points_not_ready,
aes(x = X, y = Y, weight = area_value, alpha = "Not harvest ready"), aes(x = X, y = Y, weight = area_value, alpha = tr_key("hexbin_not_ready")),
binwidth = c(0.012, 0.012), binwidth = c(0.012, 0.012),
fill = "#ffffff", fill = "#ffffff",
colour = "#0000009a", colour = "#0000009a",
@ -626,7 +661,7 @@ tryCatch({
labels = labels_vec, labels = labels_vec,
limits = c(0, 35), limits = c(0, 35),
oob = scales::squish, oob = scales::squish,
name = "Total Acres" name = tr_key("hexbin_legend_acres")
) + ) +
# Alpha scale for "not ready" status indication # Alpha scale for "not ready" status indication
scale_alpha_manual( scale_alpha_manual(
@ -634,7 +669,7 @@ tryCatch({
values = 0.8 values = 0.8
) + ) +
# Titles and subtitle # Titles and subtitle
labs(subtitle = "Acres of fields 'harvest ready within a month'") + labs(subtitle = tr_key("hexbin_subtitle")) +
# Spatial coordinate system with explicit bounds (prevents basemap calc_limits conflicts) # Spatial coordinate system with explicit bounds (prevents basemap calc_limits conflicts)
coord_sf(crs = 4326, xlim = x_limits, ylim = y_limits, expand = FALSE) + coord_sf(crs = 4326, xlim = x_limits, ylim = y_limits, expand = FALSE) +
# Theme customization # Theme customization
@ -669,7 +704,7 @@ tryCatch({
``` ```
## 1.2 Key Performance Indicators `r tr_key("section_1_2")`
```{r combined_kpi_table, echo=FALSE, results='asis'} ```{r combined_kpi_table, echo=FALSE, results='asis'}
# Create consolidated KPI table from field_analysis data # Create consolidated KPI table from field_analysis data
@ -874,11 +909,11 @@ if (exists("summary_data") && !is.null(summary_data) && "field_analysis" %in% na
# Render as flextable with merged cells # Render as flextable with merged cells
ft <- flextable(combined_df) %>% ft <- flextable(combined_df) %>%
set_header_labels( set_header_labels(
KPI_display = "KPI Category", KPI_display = tr_key("kpi_col_category"),
Category = "Item", Category = tr_key("kpi_col_item"),
Acreage = "Acreage", Acreage = tr_key("kpi_col_acreage"),
Percent = "Percentage of total fields", Percent = tr_key("kpi_col_percent"),
Field_count = "# Fields" Field_count = tr_key("kpi_col_fields")
) %>% ) %>%
merge_v(j = "KPI_display") %>% merge_v(j = "KPI_display") %>%
autofit() autofit()
@ -906,10 +941,10 @@ if (exists("summary_data") && !is.null(summary_data) && "field_analysis" %in% na
ft ft
} else { } else {
cat("KPI summary data available but is empty/invalid.\n") cat(tr_key("kpi_empty"), "\n")
} }
} else { } else {
cat("KPI summary data not available.\n") cat(tr_key("kpi_unavailable"), "\n")
} }
``` ```
@ -970,35 +1005,35 @@ tryCatch({
``` ```
\newpage \newpage
# Section 2: Support Document for weekly SmartCane data package. `r tr_key("section_2_heading")`
## 1. About This Document `r tr_key("about_doc_heading")`
This document is the support document to the SmartCane data file. It includes the definitions, explanatory calculations and suggestions for interpretations of the data as provided. For additional questions please feel free to contact SmartCane support, through your contact person, or via info@smartcane.ag. `r tr_key("about_doc_body")`
## 2. About the Data File `r tr_key("about_data_heading")`
The data file is automatically populated based on normalized and indexed remote sensing images of provided polygons. Specific SmartCane algorithms provide tailored calculation results developed to support the sugarcane operations by: `r tr_key("about_data_body")`
Supporting harvest planning mill-field logistics to ensure optimal tonnage and sucrose levels `r tr_key("about_data_bullet_harvest")`
Monitoring of the crop growth rates on the farm, providing evidence of performance `r tr_key("about_data_bullet_monitoring")`
Identifying growth-related issues that are in need of attention `r tr_key("about_data_bullet_identifying")`
Enabling timely actions to minimize negative impact `r tr_key("about_data_bullet_enabling")`
Key Features of the data file: - High-resolution satellite imagery analysis - Week-over-week change detection - Individual field performance metrics - Actionable insights for crop management. `r tr_key("about_data_key_features")`
#### *What is the Chlorophyll Index (CI)?* `r tr_key("ci_section_heading")`
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: `r tr_key("ci_intro_body")`
Greater photosynthetic activity `r tr_key("ci_bullet_photosynthetic")`
Healthier plant tissue `r tr_key("ci_bullet_healthy")`
Better nitrogen uptake `r tr_key("ci_bullet_nitrogen")`
More vigorous crop growth `r tr_key("ci_bullet_vigorous")`
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 tr_key("ci_range_body")`
@ -1007,73 +1042,73 @@ CI values typically range from 0 (bare soil or severely stressed vegetation) to
</div> </div>
### Data File Structure and Columns `r tr_key("data_structure_heading")`
The data file is organized in rows, one row per agricultural field (polygon), and columns, providing field data, actual measurements, calculation results and descriptions. The data file can be directly integration with existing farm management systems for further analysis. Each column is described hereunder: `r tr_key("data_structure_intro")`
| **Nr.** | **Column** | **Description** | **Example** | | **Nr.** | **Column** | **Description** | **Example** |
|-----|---------------|----------------------------------------------------------------------------|-------------| |-----|---------------|----------------------------------------------------------------------------|-------------|
|-----|---------------|----------------------------------------------------------------------------|-------------| |-----|---------------|----------------------------------------------------------------------------|-------------|
| **1** | **Field_id** | Unique identifier for a cane field combining field name and sub-field number. This can be the same as Field_Name but is also helpful in keeping track of cane fields should they change, split or merge. | "00110" | | **1** | **Field_id** | `r tr_key("col_field_id_desc")` | "00110" |
| **2** | **Farm_Section** | Sub-area or section name | "Section a" | | **2** | **Farm_Section** | `r tr_key("col_farm_section_desc")` | "Section a" |
| **3** | **Field_name** | Client Name or label assigned to a cane field. | "Tinga1" | | **3** | **Field_name** | `r tr_key("col_field_name_desc")` | "Tinga1" |
| **4** | **Acreage** | Field size in acres | "4.5" | | **4** | **Acreage** | `r tr_key("col_acreage_desc")` | "4.5" |
| **5** | **Status_trigger** | Shows changes in crop status worth alerting. More detailed explanation of the possible alerts is written down under key concepts. | "Harvest_ready" | | **5** | **Status_trigger** | `r tr_key("col_status_trigger_desc")` | "Harvest_ready" |
| **6** | **Last_harvest_or_planting_date** | Date of most recent harvest as per satellite detection algorithm / or manual entry | “2025-03-14” | | **6** | **Last_harvest_or_planting_date** | Date of most recent harvest as per satellite detection algorithm / or manual entry | “2025-03-14” |
| **7** |**Age_week** | Time elapsed since planting/harvest in weeks; used to predict expected growth phases. Reflects planting/harvest date (left). | "40" | | **7** |**Age_week** | `r tr_key("col_age_week_desc")` | "40" |
| **8** | **Phase (age based)** | Current growth phase (e.g., germination, tillering, stem elongation, grain fill, mature) inferred from crop age | "Maturation" | | **8** | **Phase (age based)** | `r tr_key("col_phase_desc")` | "Maturation" |
| **9** | **Germination_progress** | Estimated percentage or stage of germination/emergence based on CI patterns and age. This goes for young fields (age < 4 months). Remain at 100% when finished. | "maturation_progressing" | | **9** | **Germination_progress** | `r tr_key("col_germination_progress_desc")` | "maturation_progressing" |
| **10** | **Mean_CI** | Average Chlorophyll Index value across the field; higher values indicate healthier, greener vegetation. Calculated on a 7-day merged weekly image | "3.95" | | **10** | **Mean_CI** | `r tr_key("col_mean_ci_desc")` | "3.95" |
| **11** | **Weekly CI Change** | Week-over-week change in Mean_CI; positive values indicate greening/growth, negative values indicate yellowing/decline | "0.79" | | **11** | **Weekly CI Change** | `r tr_key("col_weekly_ci_change_desc")` | "0.79" |
| **12** | **Four_week_trend** | Long term change in mean CI; smoothed trend (strong growth, growth, no growth, decline, strong decline) | "0.87" | | **12** | **Four_week_trend** | `r tr_key("col_four_week_trend_desc")` | "0.87" |
| **13** | **CI_range** | Min-max Chlorophyll Index values within the field; wide ranges indicate spatial heterogeneity/patches. Derived from week mosaic | "3.6-5.6" | | **13** | **CI_range** | `r tr_key("col_ci_range_desc")` | "3.6-5.6" |
| **14** | **CI_Percentiles** | The CI-range without border effects | "3.5-4.4" | | **14** | **CI_Percentiles** | `r tr_key("col_ci_percentiles_desc")` | "3.5-4.4" |
| **15** | **CV** | Coefficient of variation of CI; measures field uniformity (lower = more uniform, >0.25 = poor uniformity). Derived from week mosaic. In percentages | "10.01%" | | **15** | **CV** | `r tr_key("col_cv_desc")` | "10.01%" |
| **16** | **CV_Trend_Short_Term** | Trend of CV over two weeks. Indicating short-term heterogeneity | "0.15" | | **16** | **CV_Trend_Short_Term** | `r tr_key("col_cv_trend_short_desc")` | "0.15" |
| **17** | **CV_Trend_Long_Term** | Slope of 8-week trend line. | "0.32" | | **17** | **CV_Trend_Long_Term** | `r tr_key("col_cv_trend_long_desc")` | "0.32" |
| **18** | **Imminent_prob** | Probability (0-1) that the field is ready for harvest based on LSTM harvest model predictions | "0.8" | | **18** | **Imminent_prob** | `r tr_key("col_imminent_prob_desc")` | "0.8" |
| **19** | **Cloud_pct_clear** | Percentage of field visible in the satellite image (unobstructed by clouds); lower values indicate poor data quality | "70%" | | **19** | **Cloud_pct_clear** | `r tr_key("col_cloud_pct_desc")` | "70%" |
| **20** | **Cloud_category** | Classification of cloud cover level (e.g., clear, partial, heavy); indicates confidence in CI measurements | "Partial Coverage" | | **20** | **Cloud_category** | `r tr_key("col_cloud_category_desc")` | "Partial Coverage" |
\newpage \newpage
# 3. Key Concepts `r tr_key("key_concepts_heading")`
#### *Growth Phases (Age-Based)* `r tr_key("growth_phases_heading")`
Each field is assigned to one of four growth phases based on age in weeks since planting: `r tr_key("growth_phases_intro")`
| **Phase** | **Age Range** | **Characteristics** | | **Phase** | **Age Range** | **Characteristics** |
|-------|-----------|-----------------| |-------|-----------|-----------------|
| Germination | 0-6 weeks | Crop emergence and early establishment; high variability expected | | `r tr_key("Germination")` | `r tr_key("germination_age_range")` | `r tr_key("germination_characteristics")` |
| Tillering | 4-16 weeks | Shoot multiplication and plant establishment; rapid growth phase | | `r tr_key("Tillering")` | `r tr_key("tillering_age_range")` | `r tr_key("tillering_characteristics")` |
| Grand Growth | 17-39 weeks | Peak vegetative growth; maximum height and biomass accumulation | | `r tr_key("Grand Growth")` | `r tr_key("grand_growth_age_range")` | `r tr_key("grand_growth_characteristics")` |
| Maturation | 39+ weeks | Ripening phase; sugar accumulation and preparation for harvest | | `r tr_key("Maturation")` | `r tr_key("maturation_age_range")` | `r tr_key("maturation_characteristics")` |
#### *Status Alert* `r tr_key("status_alert_heading")`
Status alerts indicate the current field condition based on CI and age-related patterns. Each field receives **one alert** reflecting its most relevant status: `r tr_key("status_alert_intro")`
| **Alert** | **Condition** | **Phase** | **Messaging** | | **Alert** | **Condition** | **Phase** | **Messaging** |
|---------|-----------|-------|-----------| |---------|-----------|-------|-----------|
| Ready for harvest-check | Harvest model > 0.50 and crop is mature | Active from 52 weeks onwards | Ready for harvest-check | | `r tr_key("harvest_ready")` | `r tr_key("harvest_ready_condition")` | `r tr_key("harvest_ready_phase_info")` | `r tr_key("harvest_ready_msg")` |
| harvested/bare | Field of 50 weeks or older either shows mean CI values lower than 1.5 (for a maximum of three weeks) OR drops from higher CI to lower than 1.5. Alert drops if CI rises and passes 1.5 again | Maturation (39+) | Harvested or bare field | | `r tr_key("harvested_bare")` | `r tr_key("harvested_bare_condition")` | `r tr_key("harvested_bare_phase_info")` | `r tr_key("harvested_bare_msg")` |
| stress_detected_whole_field | Mean CI on field drops by 2+ points but field mean CI remains higher than 1.5 | Any | Strong decline in crop health | | `r tr_key("stress_detected")` | `r tr_key("stress_condition")` | `r tr_key("stress_phase_info")` | `r tr_key("stress_msg")` |
#### *Harvest Date and Harvest Imminent* `r tr_key("harvest_date_heading")`
The SmartCane algorithm calculates the last harvest date and the probability of harvest approaching in the next 4 weeks. Two different algorithms are used. `r tr_key("harvest_date_body_1")`
The **last harvest date** is a timeseries analyses of the CI levels of the past years, based on clean factory managed fields as data set for the machine learning, a reliability of over 90% has been reached. Smallholder managed fields of small size (0.3 acres) have specific side effects and field management characteristics, that influence the model results. `r tr_key("harvest_date_body_2")`
**Imminent_probability** of harvest is a prediction algorithm, estimating the likelihood of a crop ready to be harvested in the near future. This prediction takes the CI-levels into consideration, building on the vegetative development of sugarcane in the last stage of Maturation, where all sucrose is pulled into the stalk, depleting the leaves from energy and productive function, reducing the levels of CI in the leave tissue. `r tr_key("harvest_date_body_3")`
Both algorithms are not always in sync, and can have contradictory results. Wider field characteristics analyses is suggested if such contradictory calculation results occur. `r tr_key("harvest_date_body_4")`
\newpage \newpage
## Report Metadata `r tr_key("metadata")`
```{r report_metadata, echo=FALSE} ```{r report_metadata, echo=FALSE}
# Calculate total area from field analysis data # Calculate total area from field analysis data
@ -1092,33 +1127,37 @@ if (exists("AllPivots0")) {
metadata_info <- data.frame( metadata_info <- data.frame(
Metric = c( Metric = c(
"Report Generated", tr_key("report_gen"),
"Data Source", tr_key("data_source"),
"Analysis Period", tr_key("analysis_period"),
"Total Fields [number]", tr_key("tot_fields_number"),
"Total Area [acres]", tr_key("tot_area_acres"),
"Next Update", tr_key("next_update"),
"Service provided", tr_key("service_provided"),
"Starting date service" tr_key("service_start")
), ),
Value = c( Value = c(
format(Sys.time(), "%Y-%m-%d %H:%M:%S"), format(Sys.time(), "%Y-%m-%d %H:%M:%S"),
paste("Project", toupper(project_dir)), paste(tr_key("project"), toupper(project_dir)),
paste("Week", current_week, "of", year), paste(tr_key("week"), current_week, tr_key("of"), year),
ifelse(total_fields_count > 0, total_fields_count, "Unknown"), ifelse(total_fields_count > 0, total_fields_count, tr_key("unknown")),
ifelse(total_area_acres > 0, round(total_area_acres, 0), "Unknown"), ifelse(total_area_acres > 0, round(total_area_acres, 0), tr_key("unknown")),
"Next Wednesday", tr_key("next_wed"),
"Cane Supply Office - Weekly", tr_key("cane_supply_service"),
"23 dec 2025" "23 dec 2025"
), ),
stringsAsFactors = FALSE stringsAsFactors = FALSE
) )
ft <- flextable(metadata_info) %>% ft <- flextable(metadata_info) %>%
set_caption("Report Metadata") %>% set_header_labels(
Metric = tr_key("metric"),
Value = tr_key("value")
) %>%
set_caption(tr_key("metadata_caption")) %>%
autofit() autofit()
ft ft
``` ```
*This report was automatically generated by the SmartCane monitoring system. For questions or additional analysis, please contact the technical team at info@smartcane.ag.* `r tr_key("disclaimer")`

View file

@ -445,8 +445,8 @@ rmarkdown::render(
rmarkdown::render( rmarkdown::render(
"r_app/90_CI_report_with_kpis_agronomic_support.Rmd", "r_app/90_CI_report_with_kpis_agronomic_support.Rmd",
params = list(data_dir = "aura", report_date = as.Date("2026-02-18"), language = "es" ), params = list(data_dir = "aura", report_date = as.Date("2026-02-18"), language = "es-mx" ),
output_file = "SmartCane_Report_agronomic_support_aura_2026-02-18_es_test.docx", output_file = "SmartCane_Report_agronomic_support_aura_2026-02-18_es-mx_test.docx",
output_dir = "laravel_app/storage/app/aura/reports" output_dir = "laravel_app/storage/app/aura/reports"
) )
# #

View file

@ -1,645 +0,0 @@
# create_translations_91.R
# Run once to generate translations/translations_91.xlsx for script 91.
# Languages: en (English), sw (Swahili), es-mx (Spanish Mexico)
library(writexl)
# ─────────────────────────────────────────────────────────────────────────────
# SHEET 1: main_translations
# ─────────────────────────────────────────────────────────────────────────────
main <- data.frame(
messages = c(
"cover_title",
"cover_subtitle_label",
"report_summary_heading",
"report_farm_location",
"report_period_label",
"report_generated_on",
"report_farm_size",
"report_data_source",
"report_analysis_type",
"key_insights",
"insight_excellent_unif",
"insight_good_unif",
"insight_improving",
"insight_declining",
"kpi_na_insights",
"report_structure_heading",
"report_structure_body",
"section_i",
"section_1_1",
"section_1_2",
"kpi_empty",
"kpi_unavailable",
"metadata",
"disclaimer",
# Section 2 headings and body
"section_2_heading",
"about_doc_heading",
"about_doc_body",
"about_data_heading",
"about_data_body",
"about_data_bullet_harvest",
"about_data_bullet_monitoring",
"about_data_bullet_identifying",
"about_data_bullet_enabling",
"about_data_key_features",
"ci_section_heading",
"ci_intro_body",
"ci_bullet_photosynthetic",
"ci_bullet_healthy",
"ci_bullet_nitrogen",
"ci_bullet_vigorous",
"ci_range_body",
"data_structure_heading",
"data_structure_intro",
# Data file column descriptions (per-row)
"col_field_id_desc",
"col_farm_section_desc",
"col_field_name_desc",
"col_acreage_desc",
"col_status_trigger_desc",
"col_last_harvest_desc",
"col_age_week_desc",
"col_phase_desc",
"col_germination_progress_desc",
"col_mean_ci_desc",
"col_weekly_ci_change_desc",
"col_four_week_trend_desc",
"col_ci_range_desc",
"col_ci_percentiles_desc",
"col_cv_desc",
"col_cv_trend_short_desc",
"col_cv_trend_long_desc",
"col_imminent_prob_desc",
"col_cloud_pct_desc",
"col_cloud_category_desc",
# Key concepts section
"key_concepts_heading",
"growth_phases_heading",
"growth_phases_intro",
"germination_age_range",
"tillering_age_range",
"grand_growth_age_range",
"maturation_age_range",
"germination_characteristics",
"tillering_characteristics",
"grand_growth_characteristics",
"maturation_characteristics",
"status_alert_heading",
"status_alert_intro",
"harvest_ready_condition",
"harvest_ready_phase_info",
"harvest_ready_msg",
"harvested_bare_condition",
"harvested_bare_phase_info",
"harvested_bare_msg",
"stress_condition",
"stress_phase_info",
"stress_msg",
"harvest_date_heading",
"harvest_date_body_1",
"harvest_date_body_2",
"harvest_date_body_3",
"harvest_date_body_4"
),
en = c(
# Cover
"Satellite Based Field Reporting",
"Cane Supply Office",
"## Report Generated",
"**Farm Location:**",
"**Report Period:** Week {current_week} of {year}",
"**Report Generated on:**",
"**Farm Size Included in Analysis:** {formatC(total_acreage, format='f', digits=1)} acres",
"**Data Source:** Planet Labs Satellite Imagery",
"**Analysis Type:** Chlorophyll Index (CI) Monitoring",
"## Key Insights",
"- {excellent_pct}% of fields have excellent uniformity (CV < 0.08)",
"- {good_pct}% of fields have good uniformity (CV < 0.15)",
"- {round(improving_acreage, 1)} acres ({improving_pct}%) of farm area is improving week-over-week",
"- {round(declining_acreage, 1)} acres ({declining_pct}%) of farm area is declining week-over-week",
"KPI data not available for key insights.",
"## Report Structure",
"**Section 1:** Cane supply zone analyses, summaries and Key Performance Indicators (KPIs)\n**Section 2:** Explanation of the report, definitions, methodology, and CSV export structure",
"# Section 1: Farm-wide Analyses and KPIs",
"## 1.1 Overview of cane supply area, showing zones with number of acres being harvest ready",
"## 1.2 Key Performance Indicators",
"KPI summary data available but is empty/invalid.",
"KPI summary data not available.",
"## Report Metadata",
"*This report was automatically generated by the SmartCane monitoring system. For questions or additional analysis, please contact the technical team at info@smartcane.ag.*",
# Section 2
"# Section 2: Support Document for weekly SmartCane data package.",
"## 1. About This Document",
"This document is the support document to the SmartCane data file. It includes the definitions, explanatory calculations and suggestions for interpretations of the data as provided. For additional questions please feel free to contact SmartCane support, through your contact person, or via info@smartcane.ag.",
"## 2. About the Data File",
"The data file is automatically populated based on normalized and indexed remote sensing images of provided polygons. Specific SmartCane algorithms provide tailored calculation results developed to support the sugarcane operations by:",
"Supporting harvest planning mill-field logistics to ensure optimal tonnage and sucrose levels",
"Monitoring of the crop growth rates on the farm, providing evidence of performance",
"Identifying growth-related issues that are in need of attention",
"Enabling timely actions to minimize negative impact",
"Key Features of the data file: - High-resolution satellite imagery analysis - Week-over-week change detection - Individual field performance metrics - Actionable insights for crop management.",
"#### *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.",
"### Data File Structure and Columns",
"The data file is organized in rows, one row per agricultural field (polygon), and columns, providing field data, actual measurements, calculation results and descriptions. The data file can be directly integrated with existing farm management systems for further analysis. Each column is described hereunder:",
# Column descriptions
"Unique identifier for a cane field combining field name and sub-field number. This can be the same as Field_Name but is also helpful in keeping track of cane fields should they change, split or merge.",
"Sub-area or section name",
"Client name or label assigned to a cane field.",
"Field size in acres",
"Shows changes in crop status worth alerting. More detailed explanation of the possible alerts is written down under key concepts.",
"Date of most recent harvest as per satellite detection algorithm / or manual entry",
"Time elapsed since planting/harvest in weeks; used to predict expected growth phases. Reflects planting/harvest date.",
"Current growth phase (e.g., germination, tillering, stem elongation, grain fill, mature) inferred from crop age",
"Estimated percentage or stage of germination/emergence based on CI patterns and age. This goes for young fields (age < 4 months). Remains at 100% when finished.",
"Average Chlorophyll Index value across the field; higher values indicate healthier, greener vegetation. Calculated on a 7-day merged weekly image.",
"Week-over-week change in Mean_CI; positive values indicate greening/growth, negative values indicate yellowing/decline",
"Long term change in mean CI; smoothed trend (strong growth, growth, no growth, decline, strong decline)",
"Min-max Chlorophyll Index values within the field; wide ranges indicate spatial heterogeneity/patches. Derived from week mosaic.",
"The CI-range without border effects",
"Coefficient of variation of CI; measures field uniformity (lower = more uniform, >0.25 = poor uniformity). Derived from week mosaic. In percentages.",
"Trend of CV over two weeks. Indicating short-term heterogeneity.",
"Slope of 8-week trend line.",
"Probability (0-1) that the field is ready for harvest based on LSTM harvest model predictions",
"Percentage of field visible in the satellite image (unobstructed by clouds); lower values indicate poor data quality",
"Classification of cloud cover level (e.g., clear, partial, heavy); indicates confidence in CI measurements",
# Key concepts
"# 3. Key Concepts",
"#### *Growth Phases (Age-Based)*",
"Each field is assigned to one of four growth phases based on age in weeks since planting:",
"0-6 weeks",
"4-16 weeks",
"17-39 weeks",
"39+ weeks",
"Crop emergence and early establishment; high variability expected",
"Shoot multiplication and plant establishment; rapid growth phase",
"Peak vegetative growth; maximum height and biomass accumulation",
"Ripening phase; sugar accumulation and preparation for harvest",
"#### *Status Alert*",
"Status alerts indicate the current field condition based on CI and age-related patterns. Each field receives **one alert** reflecting its most relevant status:",
"Harvest model > 0.50 and crop is mature",
"Active from 52 weeks onwards",
"Ready for harvest-check",
"Field of 50 weeks or older either shows mean CI values lower than 1.5 (for a maximum of three weeks) OR drops from higher CI to lower than 1.5. Alert drops if CI rises and passes 1.5 again",
"Maturation (39+)",
"Harvested or bare field",
"Mean CI on field drops by 2+ points but field mean CI remains higher than 1.5",
"Any",
"Strong decline in crop health",
"#### *Harvest Date and Harvest Imminent*",
"The SmartCane algorithm calculates the last harvest date and the probability of harvest approaching in the next 4 weeks. Two different algorithms are used.",
"The **last harvest date** is a timeseries analysis of the CI levels of the past years, based on clean factory managed fields as data set for the machine learning, a reliability of over 90% has been reached. Smallholder managed fields of small size (0.3 acres) have specific side effects and field management characteristics, that influence the model results.",
"**Imminent_probability** of harvest is a prediction algorithm, estimating the likelihood of a crop ready to be harvested in the near future. This prediction takes the CI-levels into consideration, building on the vegetative development of sugarcane in the last stage of Maturation, where all sucrose is pulled into the stalk, depleting the leaves from energy and productive function, reducing the levels of CI in the leaf tissue.",
"Both algorithms are not always in sync, and can have contradictory results. Wider field characteristics analysis is suggested if such contradictory calculation results occur."
),
sw = c(
# Cover
"Ripoti ya Mashamba kwa Setilaiti",
"Ofisi ya Ugavi wa Miwa",
"## Ripoti Iliyoundwa",
"**Eneo la Shamba:**",
"**Kipindi cha Ripoti:** Wiki {current_week} ya {year}",
"**Ripoti Iliyoundwa Tarehe:**",
"**Ukubwa wa Shamba Uliojumuishwa:** {formatC(total_acreage, format='f', digits=1)} ekari",
"**Chanzo cha Data:** Picha za Setilaiti za Planet Labs",
"**Aina ya Uchambuzi:** Ufuatiliaji wa Kiashiria cha Klorofili (CI)",
"## Maarifa Muhimu",
"- {excellent_pct}% ya mashamba yana usawa mzuri sana (CV < 0.08)",
"- {good_pct}% ya mashamba yana usawa mzuri (CV < 0.15)",
"- Ekari {round(improving_acreage, 1)} ({improving_pct}%) ya eneo la shamba zinaendelea vizuri wiki hadi wiki",
"- Ekari {round(declining_acreage, 1)} ({declining_pct}%) ya eneo la shamba zinapungua wiki hadi wiki",
"Data ya KPI haipatikani kwa maarifa muhimu.",
"## Muundo wa Ripoti",
"**Sehemu ya 1:** Uchambuzi wa maeneo ya ugavi wa miwa, muhtasari na Viashiria Muhimu vya Utendaji (KPIs)\n**Sehemu ya 2:** Maelezo ya ripoti, ufafanuzi, mbinu, na muundo wa usafirishaji wa CSV",
"# Sehemu ya 1: Uchambuzi wa Shamba na KPIs",
"## 1.1 Muhtasari wa eneo la ugavi wa miwa, ukionyesha maeneo yenye idadi ya ekari tayari kuvunwa",
"## 1.2 Viashiria Muhimu vya Utendaji",
"Data ya muhtasari wa KPI inapatikani lakini ni tupu au si sahihi.",
"Data ya muhtasari wa KPI haipatikani.",
"## Metadata ya Ripoti",
"*Ripoti hii ilitolewa kiotomatiki na mfumo wa ufuatiliaji wa SmartCane. Kwa maswali au uchambuzi zaidi, tafadhali wasiliana na timu ya kiufundi kupitia info@smartcane.ag.*",
# Section 2
"# Sehemu ya 2: Hati ya Msaada kwa Kifurushi cha Data cha SmartCane cha Kila Wiki.",
"## 1. Kuhusu Hati Hii",
"Hati hii ni hati ya msaada kwa faili la data la SmartCane. Inajumuisha ufafanuzi, mahesabu ya maelezo na mapendekezo ya tafsiri ya data iliyotolewa. Kwa maswali zaidi, tafadhali wasiliana na msaada wa SmartCane, kupitia mtu wako wa mawasiliano, au kupitia info@smartcane.ag.",
"## 2. Kuhusu Faili la Data",
"Faili la data linajazwa kiotomatiki kulingana na picha za utambuzi wa mbali zilizofanywa kawaida na kuorodheshwa za poligoni zilizotolewa. Algoriti maalum za SmartCane hutoa matokeo ya mahesabu yaliyoandaliwa kusaidia shughuli za miwa kwa:",
"Kusaidia mipango ya uvunaji na usimamizi wa logistics ya kiwanda-shamba kuhakikisha uzito bora na viwango vya sukrosi",
"Kufuatilia viwango vya ukuaji wa mazao shambani, kutoa ushahidi wa utendaji",
"Kutambua matatizo yanayohusiana na ukuaji ambayo yanahitaji umakini",
"Kuwezesha vitendo vya wakati mwafaka kupunguza athari mbaya",
"Vipengele Muhimu vya faili la data: - Uchambuzi wa picha za setilaiti za ubora wa juu - Ugunduzi wa mabadiliko wiki kwa wiki - Viashiria vya utendaji vya kila shamba - Maarifa yanayoweza kutekelezwa kwa usimamizi wa mazao.",
"#### *Kiashiria cha Klorofili (CI) ni nini?*",
"Kiashiria cha Klorofili (CI) ni kiashiria cha mimea kinachopima kiasi cha jamaa cha klorofili katika majani ya mmea. Klorofili ni rangi ya kijani inayohusika na usanisinuru katika mimea. Maadili ya juu ya CI yanaonyesha:",
"Shughuli kubwa zaidi ya usanisinuru",
"Tishu za mmea zenye afya zaidi",
"Uchukuaji bora wa nitrojeni",
"Ukuaji wa mazao ulio imara zaidi",
"Maadili ya CI kwa kawaida huanzia 0 (udongo wazi au mimea iliyoathirika sana) hadi 7+ (mimea yenye afya sana na mnene). Kwa miwa, maadili kati ya 3-7 kwa ujumla yanaonyesha afya nzuri ya mazao, kulingana na hatua ya ukuaji.",
"### Muundo wa Faili la Data na Safu",
"Faili la data limeandaliwa katika safu mlalo, safu mlalo moja kwa kila shamba la kilimo (poligoni), na safu wima, ikitoa data ya shamba, vipimo halisi, matokeo ya mahesabu na maelezo. Faili la data linaweza kuunganishwa moja kwa moja na mifumo iliyopo ya usimamizi wa shamba kwa uchambuzi zaidi. Kila safu wima imeelezwa hapa chini:",
# Column descriptions
"Kitambulisho kipekee cha shamba la miwa kinachojumuisha jina la shamba na nambari ya shamba ndogo. Hii inaweza kuwa sawa na Field_Name lakini pia husaidia katika kufuatilia mashamba ya miwa iwapo yanabadilika, kugawanyika au kuungana.",
"Jina la eneo ndogo au sehemu",
"Jina la mteja au lebo iliyokabidhiwa kwa shamba la miwa.",
"Ukubwa wa shamba kwa ekari",
"Inaonyesha mabadiliko ya hali ya mazao yanayostahili tahadhari. Maelezo zaidi ya tahadhari zinazowezekana yameandikwa chini ya dhana muhimu.",
"Tarehe ya uvunaji wa hivi karibuni zaidi kulingana na algoriti ya ugunduzi wa setilaiti / au uingizaji wa mkono",
"Muda uliopita tangu kupanda/kuvuna kwa wiki; hutumiwa kutabiri hatua za ukuaji zinazotarajiwa. Inaakisi tarehe ya kupanda/kuvuna.",
"Hatua ya sasa ya ukuaji (k.m., kuota, tillering, urefushaji wa shina, kujaza nafaka, mkomavu) inayodhaniwa kutokana na umri wa mazao",
"Asilimia au hatua ya kuota/kuchomoza inayokadiriwa kulingana na mifumo ya CI na umri. Hii ni kwa mashamba mapya (umri < miezi 4). Inabaki 100% inapokamilika.",
"Thamani ya wastani ya Kiashiria cha Klorofili kwenye shamba; maadili ya juu yanaonyesha mimea yenye afya zaidi na ya kijani. Imehesabiwa kwenye picha ya kila wiki ya siku 7.",
"Mabadiliko ya wiki kwa wiki ya Mean_CI; maadili chanya yanaonyesha kuwa na kijani/ukuaji, maadili hasi yanaonyesha kugeuka njano/kupungua",
"Mabadiliko ya muda mrefu ya CI ya wastani; mwelekeo uliosawazishwa (ukuaji mkubwa, ukuaji, hakuna ukuaji, kupungua, kupungua kwa kasi)",
"Maadili ya kiwango cha chini-juu cha Kiashiria cha Klorofili ndani ya shamba; safu pana zinaonyesha tofauti ya anga/madoa. Imetokana na mosaic ya wiki.",
"Safu ya CI bila athari za mipaka",
"Mgawo wa tofauti ya CI; hupima usawa wa shamba (chini = sawa zaidi, >0.25 = usawa mbaya). Imetokana na mosaic ya wiki. Kwa asilimia.",
"Mwelekeo wa CV kwa wiki mbili. Unaonyesha kutofautiana kwa muda mfupi.",
"Mteremko wa mstari wa mwelekeo wa wiki 8.",
"Uwezekano (0-1) kwamba shamba liko tayari kuvunwa kulingana na utabiri wa mfano wa LSTM wa uvunaji",
"Asilimia ya shamba inayoonekana kwenye picha ya setilaiti (bila kuzingatiwa na mawingu); maadili ya chini yanaonyesha ubora mbaya wa data",
"Uainishaji wa kiwango cha mawingu (k.m., wazi, sehemu, mzito); unaonyesha kuaminika kwa vipimo vya CI",
# Key concepts
"# 3. Dhana Muhimu",
"#### *Hatua za Ukuaji (Kulingana na Umri)*",
"Kila shamba linapewa moja ya hatua nne za ukuaji kulingana na umri kwa wiki tangu kupanda:",
"Wiki 0-6",
"Wiki 4-16",
"Wiki 17-39",
"Wiki 39+",
"Kuchomoza kwa mazao na uanzishwaji wa awali; tofauti kubwa inatarajiwa",
"Kuzidishwa kwa risasi na uanzishwaji wa mmea; hatua ya ukuaji wa haraka",
"Ukuaji mkubwa wa mimea; urefu na mkusanyiko wa biomasi wa juu",
"Hatua ya kuiva; mkusanyiko wa sukari na maandalizi kwa ajili ya uvunaji",
"#### *Tahadhari ya Hali*",
"Tahadhari za hali zinaonyesha hali ya sasa ya shamba kulingana na CI na mifumo inayohusiana na umri. Kila shamba linapokea **tahadhari moja** inayoonyesha hali yake muhimu zaidi:",
"Mfano wa uvunaji > 0.50 na mazao yamekuwa mkomavu",
"Inafanya kazi kuanzia wiki 52 na kuendelea",
"Tayari kwa ukaguzi wa uvunaji",
"Shamba lenye wiki 50 au zaidi linaonyesha maadili ya wastani ya CI chini ya 1.5 (kwa wiki tatu za juu) AU inapungua kutoka CI ya juu hadi chini ya 1.5. Tahadhari inaisha ikiwa CI inapanda na kupita 1.5 tena",
"Kukomaa (wiki 39+)",
"Shamba lililovjunwa au tupu",
"CI ya wastani kwenye shamba inapungua kwa pointi 2+ lakini CI ya wastani ya shamba inabaki juu ya 1.5",
"Yoyote",
"Kupungua kwa nguvu kwa afya ya mazao",
"#### *Tarehe ya Uvunaji na Uvunaji Unaokaribia*",
"Algoriti ya SmartCane inahesabu tarehe ya uvunaji wa mwisho na uwezekano wa uvunaji kukaribia katika wiki 4 zijazo. Algoriti mbili tofauti zinatumika.",
"**Tarehe ya uvunaji wa mwisho** ni uchambuzi wa mfululizo wa wakati wa viwango vya CI vya miaka iliyopita, kulingana na mashamba yaliyosimamiwa vizuri na kiwanda kama seti ya data kwa ujifunzaji wa mashine, kuaminika kwa zaidi ya 90% kumefikiwa. Mashamba yanayosimamiwa na wakulima wadogo ya ukubwa mdogo (ekari 0.3) yana athari maalum za pembeni na sifa za usimamizi wa shamba, ambazo zinaathiri matokeo ya mfano.",
"**Uwezekano_wa_uvunaji_karibu** ni algoriti ya utabiri, inayokadiri uwezekano wa mazao kuwa tayari kuvunwa katika siku zijazo. Utabiri huu unazingatia viwango vya CI, ukijenga juu ya maendeleo ya mimea ya miwa katika hatua ya mwisho ya Kukomaa, ambapo sukrosi yote inavutwa ndani ya shina, ikidhoofisha majani kutoka nguvu na kazi ya uzalishaji, ikipunguza viwango vya CI kwenye tishu za jani.",
"Algoriti zote mbili hazipatani wakati wote, na zinaweza kuwa na matokeo yanayopingana. Uchambuzi mpana wa sifa za shamba unapendekezwa ikiwa matokeo kama hayo yanayopingana ya mahesabu yatatokea."
),
`es-mx` = c(
# Cover
"Reporte de Campo Basado en Satélite",
"Oficina de Suministro de Caña",
"## Reporte Generado",
"**Ubicación de la Finca:**",
"**Período del Reporte:** Semana {current_week} de {year}",
"**Reporte Generado el:**",
"**Tamaño de la Finca Incluido en el Análisis:** {formatC(total_acreage, format='f', digits=1)} acres",
"**Fuente de Datos:** Imágenes Satelitales de Planet Labs",
"**Tipo de Análisis:** Monitoreo del Índice de Clorofila (IC)",
"## Puntos Clave",
"- {excellent_pct}% de los campos tienen uniformidad excelente (CV < 0.08)",
"- {good_pct}% de los campos tienen buena uniformidad (CV < 0.15)",
"- {round(improving_acreage, 1)} acres ({improving_pct}%) del área de la finca está mejorando semana a semana",
"- {round(declining_acreage, 1)} acres ({declining_pct}%) del área de la finca está declinando semana a semana",
"Datos KPI no disponibles para los puntos clave.",
"## Estructura del Reporte",
"**Sección 1:** Análisis de la zona de suministro de caña, resúmenes e Indicadores Clave de Desempeño (KPIs)\n**Sección 2:** Explicación del reporte, definiciones, metodología y estructura de exportación CSV",
"# Sección 1: Análisis de la Finca y KPIs",
"## 1.1 Vista general del área de suministro de caña, mostrando zonas con número de acres listos para cosecha",
"## 1.2 Indicadores Clave de Desempeño",
"Los datos de resumen de KPI están disponibles pero están vacíos o son inválidos.",
"Los datos de resumen de KPI no están disponibles.",
"## Metadatos del Reporte",
"*Este reporte fue generado automáticamente por el sistema de monitoreo SmartCane. Para preguntas o análisis adicionales, comuníquese con el equipo técnico en info@smartcane.ag.*",
# Section 2
"# Sección 2: Documento de Apoyo para el Paquete de Datos Semanal de SmartCane.",
"## 1. Acerca de Este Documento",
"Este documento es el documento de apoyo al archivo de datos de SmartCane. Incluye las definiciones, cálculos explicativos y sugerencias para la interpretación de los datos proporcionados. Para preguntas adicionales, no dude en contactar al soporte de SmartCane, a través de su persona de contacto, o mediante info@smartcane.ag.",
"## 2. Acerca del Archivo de Datos",
"El archivo de datos se llena automáticamente basándose en imágenes de teledetección normalizadas e indexadas de los polígonos proporcionados. Los algoritmos específicos de SmartCane proporcionan resultados de cálculo personalizados desarrollados para apoyar las operaciones de caña de azúcar mediante:",
"Apoyo a la planificación de la cosecha y la logística finca-planta para garantizar un tonelaje y niveles de sacarosa óptimos",
"Monitoreo de las tasas de crecimiento del cultivo en la finca, proporcionando evidencia del desempeño",
"Identificación de problemas relacionados con el crecimiento que requieren atención",
"Habilitación de acciones oportunas para minimizar el impacto negativo",
"Características clave del archivo de datos: - Análisis de imágenes satelitales de alta resolución - Detección de cambios semana a semana - Métricas de desempeño de campo individual - Información procesable para el manejo del cultivo.",
"#### *¿Qué es el Índice de Clorofila (IC)?*",
"El Índice de Clorofila (IC) es un índice de vegetación que mide la cantidad relativa de clorofila en las hojas de las plantas. La clorofila es el pigmento verde responsable de la fotosíntesis en las plantas. Los valores más altos de IC indican:",
"Mayor actividad fotosintética",
"Tejido vegetal más saludable",
"Mejor absorción de nitrógeno",
"Crecimiento del cultivo más vigoroso",
"Los valores de IC típicamente van de 0 (suelo desnudo o vegetación gravemente estresada) a 7+ (vegetación muy saludable y densa). Para la caña de azúcar, los valores entre 3-7 generalmente indican buena salud del cultivo, dependiendo de la etapa de crecimiento.",
"### Estructura del Archivo de Datos y Columnas",
"El archivo de datos está organizado en filas, una fila por campo agrícola (polígono), y columnas, proporcionando datos del campo, mediciones reales, resultados de cálculos y descripciones. El archivo de datos puede integrarse directamente con los sistemas de gestión agrícola existentes para un análisis adicional. Cada columna se describe a continuación:",
# Column descriptions
"Identificador único de un campo de caña que combina el nombre del campo y el número de sub-campo. Puede ser el mismo que Field_Name, pero también es útil para el seguimiento de los campos de caña en caso de que cambien, se dividan o se fusionen.",
"Nombre del área o sección secundaria",
"Nombre o etiqueta del cliente asignada a un campo de caña.",
"Tamaño del campo en acres",
"Muestra cambios en el estado del cultivo que valen la pena alertar. Una explicación más detallada de las alertas posibles se describe bajo conceptos clave.",
"Fecha de la cosecha más reciente según el algoritmo de detección por satélite / o entrada manual",
"Tiempo transcurrido desde la siembra/cosecha en semanas; se usa para predecir las fases de crecimiento esperadas. Refleja la fecha de siembra/cosecha.",
"Fase de crecimiento actual (p. ej., germinación, macollamiento, elongación del tallo, llenado de granos, maduro) inferida a partir de la edad del cultivo",
"Porcentaje o etapa estimada de germinación/emergencia basada en patrones de IC y edad. Aplica para campos jóvenes (edad < 4 meses). Permanece en 100% cuando termina.",
"Valor promedio del Índice de Clorofila en el campo; los valores más altos indican vegetación más saludable y verde. Calculado en una imagen semanal combinada de 7 días.",
"Cambio semana a semana en Mean_CI; los valores positivos indican verdecimiento/crecimiento, los valores negativos indican amarillamiento/declive",
"Cambio a largo plazo en el IC promedio; tendencia suavizada (crecimiento fuerte, crecimiento, sin crecimiento, declive, declive fuerte)",
"Valores mín-máx del Índice de Clorofila dentro del campo; rangos amplios indican heterogeneidad espacial/parches. Derivado del mosaico semanal.",
"El rango de IC sin efectos de borde",
"Coeficiente de variación del IC; mide la uniformidad del campo (menor = más uniforme, >0.25 = uniformidad deficiente). Derivado del mosaico semanal. En porcentajes.",
"Tendencia del CV durante dos semanas. Indica heterogeneidad a corto plazo.",
"Pendiente de la línea de tendencia de 8 semanas.",
"Probabilidad (0-1) de que el campo esté listo para la cosecha según las predicciones del modelo de cosecha LSTM",
"Porcentaje del campo visible en la imagen satelital (sin obstrucción de nubes); los valores más bajos indican mala calidad de datos",
"Clasificación del nivel de cobertura de nubes (p. ej., despejado, parcial, pesado); indica la confianza en las mediciones de IC",
# Key concepts
"# 3. Conceptos Clave",
"#### *Fases de Crecimiento (Basadas en Edad)*",
"Cada campo es asignado a una de cuatro fases de crecimiento basadas en la edad en semanas desde la siembra:",
"0-6 semanas",
"4-16 semanas",
"17-39 semanas",
"39+ semanas",
"Emergencia del cultivo y establecimiento temprano; se espera alta variabilidad",
"Multiplicación de brotes y establecimiento de plantas; fase de crecimiento rápido",
"Crecimiento vegetativo máximo; acumulación máxima de altura y biomasa",
"Fase de maduración; acumulación de azúcar y preparación para la cosecha",
"#### *Alerta de Estado*",
"Las alertas de estado indican la condición actual del campo basándose en el IC y los patrones relacionados con la edad. Cada campo recibe **una alerta** que refleja su estado más relevante:",
"Modelo de cosecha > 0.50 y el cultivo está maduro",
"Activo desde la semana 52 en adelante",
"Listo para verificación de cosecha",
"Campo de 50 semanas o más que muestra valores de IC promedio inferiores a 1.5 (por un máximo de tres semanas) O cae de IC alto a menos de 1.5. La alerta cae si el IC sube y pasa 1.5 nuevamente",
"Maduración (39+)",
"Campo cosechado o desnudo",
"El IC promedio en el campo cae 2+ puntos pero el IC promedio del campo permanece por encima de 1.5",
"Cualquiera",
"Fuerte declive en la salud del cultivo",
"#### *Fecha de Cosecha y Cosecha Inminente*",
"El algoritmo de SmartCane calcula la fecha de última cosecha y la probabilidad de que la cosecha se aproxime en las próximas 4 semanas. Se utilizan dos algoritmos diferentes.",
"La **fecha de última cosecha** es un análisis de series de tiempo de los niveles de IC de los años pasados, basado en campos manejados por fábricas limpias como conjunto de datos para el aprendizaje automático, se ha alcanzado una confiabilidad de más del 90%. Los campos de pequeños propietarios de tamaño pequeño (0.3 acres) tienen efectos secundarios específicos y características de manejo de campo que influyen en los resultados del modelo.",
"La **probabilidad_inminente** de cosecha es un algoritmo de predicción que estima la probabilidad de que un cultivo esté listo para ser cosechado en un futuro cercano. Esta predicción toma en cuenta los niveles de IC, basándose en el desarrollo vegetativo de la caña de azúcar en la última etapa de la Maduración, donde toda la sacarosa se extrae hacia el tallo, agotando las hojas de energía y función productiva, reduciendo los niveles de IC en el tejido foliar.",
"Ambos algoritmos no siempre están sincronizados y pueden tener resultados contradictorios. Se sugiere un análisis más amplio de las características del campo si se producen resultados de cálculo contradictorios."
),
stringsAsFactors = FALSE
)
# ─────────────────────────────────────────────────────────────────────────────
# SHEET 2: status_translations
# ─────────────────────────────────────────────────────────────────────────────
status <- data.frame(
messages = c(
"PHASE DISTRIBUTION",
"OPERATIONAL ALERTS",
"AREA CHANGE",
"CLOUD INFLUENCE",
"TOTAL FARM",
"Germination",
"Tillering",
"Grand Growth",
"Maturation",
"Unknown Phase",
"harvest_ready",
"harvested_bare",
"stress_detected",
"germination_delayed",
"growth_on_track",
"No active triggers",
"Improving",
"Stable",
"Declining",
"Total Acreage",
"kpi_na"
),
en = c(
"Phase Distribution",
"Operational Alerts",
"Area Change",
"Cloud Influence",
"Total Farm",
"Germination",
"Tillering",
"Grand Growth",
"Maturation",
"Unknown Phase",
"Ready for Harvest-Check",
"Harvested / Bare Field",
"Stress Detected",
"Germination Delayed",
"Growth on Track",
"No Active Triggers",
"Improving",
"Stable",
"Declining",
"Total Acreage",
"KPI data not available for {project_dir} on this date."
),
sw = c(
"Usambazaji wa Hatua",
"Arifa za Uendeshaji",
"Mabadiliko ya Eneo",
"Athari za Mawingu",
"Jumla ya Shamba",
"Kuota",
"Kutaawanyika kwa Shina",
"Ukuaji Mkubwa",
"Kukomaa",
"Hatua Isiyojulikana",
"Tayari kwa Ukaguzi wa Uvunaji",
"Imevunwa / Shamba Tupu",
"Msongo Umegunduliwa",
"Kuota Kumechelewa",
"Ukuaji Unakwenda Vizuri",
"Hakuna Arifa Zinazoendelea",
"Kuimarika",
"Imara",
"Kupungua",
"Jumla ya Ekari",
"Data ya KPI haipatikani kwa {project_dir} tarehe hii."
),
`es-mx` = c(
"Distribución de Fases",
"Alertas Operativas",
"Cambio de Área",
"Influencia de Nubes",
"Total Finca",
"Germinación",
"Macollamiento",
"Crecimiento Principal",
"Maduración",
"Fase Desconocida",
"Lista para Verificación de Cosecha",
"Cosechada / Campo Desnudo",
"Estrés Detectado",
"Germinación Retrasada",
"Crecimiento en Buen Ritmo",
"Sin Alertas Activas",
"Mejorando",
"Estable",
"Declinando",
"Área Total",
"Datos KPI no disponibles para {project_dir} en esta fecha."
),
stringsAsFactors = FALSE
)
# ─────────────────────────────────────────────────────────────────────────────
# SHEET 3: figure_translations
# ─────────────────────────────────────────────────────────────────────────────
figures <- data.frame(
messages = c(
"kpi_col_category",
"kpi_col_item",
"kpi_col_acreage",
"kpi_col_percent",
"kpi_col_fields",
"hexbin_legend_acres",
"hexbin_subtitle",
"hexbin_not_ready",
"metadata_caption",
"metric",
"value",
"report_gen",
"data_source",
"analysis_period",
"tot_fields_number",
"tot_area_acres",
"next_update",
"service_provided",
"service_start",
"next_wed",
"week",
"of",
"project",
"cane_supply_service",
"unknown",
"no_field_data"
),
en = c(
"KPI Category",
"Item",
"Acreage",
"Percentage of Total Fields",
"# Fields",
"Total Acres",
"Acres of fields 'harvest ready within a month'",
"Not harvest ready",
"Report Metadata",
"Metric",
"Value",
"Report Generated",
"Data Source",
"Analysis Period",
"Total Fields [number]",
"Total Area [acres]",
"Next Update",
"Service provided",
"Starting date service",
"Next Wednesday",
"Week",
"of",
"Project",
"Cane Supply Office - Weekly",
"Unknown",
"No field-level KPI data available for this report period."
),
sw = c(
"Kategoria ya KPI",
"Kipengele",
"Ekari",
"Asilimia ya Mashamba Yote",
"Idadi ya Mashamba",
"Jumla ya Ekari",
"Ekari za mashamba 'tayari kuvunwa ndani ya mwezi'",
"Haijawa tayari kuvunwa",
"Metadata ya Ripoti",
"Kipimo",
"Thamani",
"Ripoti Iliyoundwa",
"Chanzo cha Data",
"Kipindi cha Uchambuzi",
"Jumla ya Mashamba [nambari]",
"Jumla ya Eneo [ekari]",
"Sasisho la Ijayo",
"Huduma Inayotolewa",
"Tarehe ya Kuanza Huduma",
"Jumatano Ijayo",
"Wiki",
"wa",
"Mradi",
"Ofisi ya Ugavi wa Miwa - Kila Wiki",
"Haijulikani",
"Hakuna data ya KPI ya kiwango cha shamba inayopatikana kwa kipindi hiki cha ripoti."
),
`es-mx` = c(
"Categoría KPI",
"Elemento",
"Área (Acres)",
"Porcentaje del Total de Campos",
"# Campos",
"Total de Acres",
"Acres de campos 'listos para cosecha en un mes'",
"No lista para cosecha",
"Metadatos del Reporte",
"Métrica",
"Valor",
"Reporte Generado",
"Fuente de Datos",
"Período de Análisis",
"Total Campos [número]",
"Área Total [acres]",
"Próxima Actualización",
"Servicio Proporcionado",
"Fecha de Inicio del Servicio",
"Próximo Miércoles",
"Semana",
"de",
"Proyecto",
"Oficina de Suministro de Caña - Semanal",
"Desconocido",
"No hay datos de KPI a nivel de campo disponibles para este período del reporte."
),
stringsAsFactors = FALSE
)
# ─────────────────────────────────────────────────────────────────────────────
# WRITE TO EXCEL
# ─────────────────────────────────────────────────────────────────────────────
output_path <- "r_app/translations/translations_91.xlsx"
write_xlsx(
list(
main_translations = main,
status_translations = status,
figure_translations = figures
),
path = output_path
)
cat("✓ Created", output_path, "\n")
cat(" main_translations rows:", nrow(main), "\n")
cat(" status_translations rows:", nrow(status), "\n")
cat(" figure_translations rows:", nrow(figures), "\n")

View file

@ -0,0 +1,948 @@
{
"main_translations": {
"report_summary": {
"en": "## Report Summary\r\n\r\n**Farm Location:** {toupper(project_dir)} \\n\\n\r\n**Report Period:** Week {current_week} of {year} \\n\\n\r\n**Data Source:** Planet Labs Satellite Imagery\\n\\n\r\n**Analysis Type:** Chlorophyll Index (CI) Monitoring\\n\\n\r\n**Report Generated on:** {format(Sys.time(), '%d/%m/%Y at %H:%M')}\\n\\n",
"es-mx": "## Resumen del informe\r\n\r\n**Ubicación de la parcela:** {toupper(project_dir)}\\n\\n\r\n**Periodo del reporte:** Semana {current_week} del {year} \\n\\n\r\n**Fuente de datos:** Imágenes satélite de Planet Labs\\n\\n\r\n**Tipo de análisis:** Monitoreo del Índice de Clorofila (IC)\\n\\n\r\n**Reporte generado el:** {format(Sys.time(), '%d/%m/%Y a las %H:%M')}\\n\\n",
"pt-br": "## Resumo do relatório\r\n\r\n**Localização da fazenda:** {toupper(project_dir)} Estate \\n\\n\r\n**Período do relatório:** Semana {current_week} de {year} \\n\\n\r\n**Fonte dos dados:** Imagens de satélite da Planet Labs\\n\\n\r\n**Tipo de análise:** Monitoramento do Índice de Clorofila (CI)\\n\\n\r\n**Relatório gerado em:** {format(Sys.time(), '%d/%m/%Y às %H:%M')}\\n\\n"
},
"report_structure": {
"en": "## Report Structure\r\n\r\n**Section 1:** Farm-wide analyses, summaries and Key Performance Indicators (KPIs) \\n\\n\r\n**Section 2:** Field-by-field detailed analyses with maps and trend graphs \\n\\n\r\n**Section 3:** Explanation of the report, definitions, and methodology\\n\\n",
"es-mx": "## Estructura del Reporte\r\n\r\n**Sección 1:** Análisis amplio de su cultivo, resúmenes e Indicadores de Desempeño Clave (IDC).\\n\\n\r\n**Sección 2:** Análisis detallado para cada parcela con mapas y gráficos de tendencias. \\n\\n\r\n**Sección 3:** Explicación del reporte, definiciones y metodología.\\n\\n",
"pt-br": "## Estrutura do relatório\r\n\r\n**Seção 1:** Análises, resumos e indicadores-chave de desempenho (KPIs) de toda a fazenda \\n\\n\r\n**Seção 2:** Análises detalhadas campo a campo com mapas e gráficos de tendências \\n\\n\r\n**Seção 3:** Explicação do relatório, definições e metodologia\\n\\n"
},
"key_insights": {
"en": "## Key Insights",
"es-mx": "## Elementos clave",
"pt-br": "## Principais conclusões"
},
"section_i": {
"en": "# Section 1: Farm-wide Analyses and KPIs",
"es-mx": "# Sección 1: Análisis amplio de su cultivo, resúmenes e Indicadores de Desempeño Clave (IDC).",
"pt-br": "# Seção 1: Análises e KPIs em toda a fazenda"
},
"exec_summary": {
"en": "## Executive Summary - Key Performance Indicators",
"es-mx": "## Resumen ejecutivo: indicadores clave de rendimiento",
"pt-br": "## Resumo executivo - Indicadores-chave de desempenho"
},
"field_alerts": {
"en": "## Field Alerts",
"es-mx": "## Alertas para las parcelas",
"pt-br": "## Alertas de campo"
},
"metadata": {
"en": "## Report Metadata",
"es-mx": "## Metadatos del informe",
"pt-br": "## Metadados do relatório"
},
"disclaimer": {
"en": "*This report was automatically generated by the SmartCane monitoring system. For questions or additional analysis, please contact the technical team at info@smartcane.ag*",
"es-mx": "*Este informe ha sido generado automáticamente por el sistema de monitoreo de SmartCane. Si tiene alguna pregunta o desea un análisis adicional, póngase en contacto con el equipo técnico en info@smartcane.ag.*",
"pt-br": "*Este relatório foi gerado automaticamente pelo sistema de monitoramento SmartCane. Para perguntas ou análises adicionais, entre em contato com a equipe técnica em info@smartcane.ag*"
},
"cover_title": {
"en": "Satellite Based Field Reporting",
"es-mx": "Reporte de campo basado en información satelital",
"pt-br": "Relatórios de campo baseados em satélite"
},
"cover_subtitle": {
"en": "Agronomic field advice\r\n\r\nChlorophyll Index (CI) Monitoring Report — {toupper(params$data_dir)} Farm (Week {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') }, { 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')})",
"es-mx": "Asesoramiento agronómico de campo\r\n\r\nInforme de seguimiento del índice de clorofila (IC) — {toupper(params$data_dir)} Granja (Semana {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') }, { 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')})",
"pt-br": "Relatório de monitoramento do índice de clorofila (CI) — {toupper(params$data_dir)} Fazenda (Semana {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') }, { 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')})"
},
"section_ii": {
"en": "# Section 2: Field-by-Field Analysis\r\n\r\n## Overview of Field-Level Insights\r\nThis section provides detailed, field-specific analyses including chlorophyll index maps, trend graphs, and performance metrics. Each field is analyzed individually to support targeted interventions.\r\n\r\n**Key Elements per Field:**\r\n• Current and historical CI maps \r\n• Week-over-week change visualizations \r\n• Cumulative growth trends \r\n• Field-specific KPI summaries \r\n\r\n*Navigate to the following pages for individual field reports.*",
"es-mx": "# Sección 2: Análisis detallado para cada parcela con mapas y gráficos de tendencias. \r\n\r\n## Resumen de la información a nivel de parcela\r\nEsta sección ofrece análisis detallados y específicos de cada campo, incluyendo mapas del índice de clorofila, gráficos de tendencias y métricas de rendimiento. Cada parcela se analiza individualmente para facilitar intervenciones específicas.\r\n\r\n**Elementos clave por parcela:**\r\n• Mapas IC actuales e históricos \r\n• Visualizaciones de cambios semana a semana \r\n• Tendencias de crecimiento acumulativas \r\n• Resúmenes de IDC específicos de cada parcela \r\n\r\n*Diríjase a las siguientes páginas para ver los informes de cada parcela.*",
"pt-br": "# Seção 2: Análise campo a campo\r\n\r\n## Visão geral das informações por campo\r\nEsta seção fornece análises detalhadas específicas por campo, incluindo mapas de índice de clorofila, gráficos de tendências e métricas de desempenho. Cada campo é analisado individualmente para apoiar intervenções direcionadas.\r\n\r\n**Elementos-chave por campo:**\r\n• Mapas CI atuais e históricos \r\n• Visualizações de mudanças semana a semana \r\n• Tendências de crescimento acumuladas \r\n• Resumos de KPI específicos por campo \r\n\r\n*Navegue até as páginas a seguir para obter relatórios individuais por campo.*"
},
"detailed_field": {
"en": "## Detailed Field Performance Summary by Field\r\n\r\nThe following table provides a comprehensive overview of all monitored fields with their key performance metrics from the KPI analysis.",
"es-mx": "## Resumen detallado del rendimiento por campo\r\n\r\nLa siguiente tabla ofrece una visión general completa de todos los campos supervisados con sus métricas de rendimiento clave a partir del análisis de los IDC.",
"pt-br": "Resumo detalhado do desempenho por campo\r\n\r\nA tabela a seguir fornece uma visão geral abrangente de todos os campos monitorados com suas principais métricas de desempenho a partir da análise de KPI."
},
"section_iii": {
"en": "# Section 3: Report Methodology and Definitions\r\n\r\n## About This Report\r\n\r\nThis automated report provides weekly analysis of sugarcane crop health using the Chlorophyll Index (CI) calculated from daily high resolution (3x3m) satellite data. The analysis supports: \r\n\r\n• Scouting of growth related issues that are in need of attention \r\n• Timely actions can be taken such that negative impact is reduced \r\n• Monitoring of the crop growth rates on the farm, providing evidence of performance \r\n• Planning of harvest moment and mill logistics is supported such that optimal tonnage and sucrose levels can be harvested. \r\n\r\nThe base of the report is the Chlorophyll Index. The chlorophyll index identifies: \r\n• Field-level crop health variations => target problem area's \r\n• Weekly changes in crop vigor => scout for diseases and stress \r\n• Areas requiring attention by the agricultural and irrigation teams \r\n• Growth patterns across different field sections \r\n\r\nKey Features: \r\n• High-resolution satellite imagery analysis \r\n• Week-over-week change detection \r\n• Individual field performance metrics \r\n• Actionable insights for crop management\r\n\r\n### What is the Chlorophyll Index (CI)?\r\n\r\nThe Chlorophyll Index (CI) is a vegetation index that measures the relative amount of chlorophyll in plant leaves. Chlorophyll, the green pigment in plant tissue, is responsible for photosynthesis in plants, and strongly related to the plant's productivity. Higher CI values indicate: \r\n• Healthier plant tissue \r\n• More vigorous crop growth \r\n• Greater photosynthetic activity \r\n\r\nCI 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.",
"es-mx": "# Sección 3: Metodología y definiciones del informe\r\n\r\n## Acerca de este informe\r\n\r\nEste informe automatizado proporciona un análisis semanal del estado de los cultivos de caña de azúcar utilizando el índice de clorofila (IC) calculado a partir de datos satelitales diarios de alta resolución (3x3 m). El análisis permite: \r\n\r\n• La detección de problemas relacionados con el crecimiento que requieren atención. \r\n• La adopción de medidas oportunas para reducir el impacto negativo. \r\n• El seguimiento de las tasas de crecimiento de los cultivos de la explotación, lo que proporciona pruebas del rendimiento. \r\n• La planificación del momento de la cosecha y la logística del molino, lo que permite obtener un tonelaje y unos niveles de sacarosa óptimos. \r\n\r\nLa base del informe es el índice de clorofila. El índice de clorofila identifica: \r\n• Las variaciones en el estado de los cultivos a nivel de campo => áreas problemáticas objetivo. \r\n• Los cambios semanales en el vigor de los cultivos => detección de enfermedades y estrés. \r\n• Las áreas que requieren la atención de los equipos agrícolas y de riego. \r\n• Los patrones de crecimiento en diferentes secciones del campo. \r\n\r\nCaracterísticas principales: \r\n• Análisis de imágenes satelitales de alta resolución. \r\n• Detección de cambios semana a semana. \r\n• Métricas de rendimiento de campos individuales. \r\n• Información útil para la gestión de cultivos.\r\n\r\n### ¿Qué es el índice de clorofila (IC)?\r\n\r\nEl índice de clorofila (IC) es un índice de vegetación que mide la cantidad relativa de clorofila en las hojas de las plantas. La clorofila es el pigmento verde responsable de la fotosíntesis en las plantas. Los valores más altos del CI indican:\r\n• Mayor actividad fotosintética \r\n• Tejido vegetal más sano \r\n• Mejor absorción de nitrógeno \r\n• Crecimiento más vigoroso de los cultivos \r\n\r\nLos valores del IC suelen oscilar entre 0 (suelo desnudo o vegetación muy estresada) y 7+ (vegetación muy sana y densa). En el caso de la caña de azúcar, los valores entre 3 y 7 suelen indicar un buen estado de salud del cultivo, dependiendo de la fase de crecimiento.",
"pt-br": "# Seção 3: Metodologia e definições do relatório\r\n\r\n## Sobre este relatório\r\n\r\nEste relatório automatizado fornece uma análise semanal da saúde da cultura da cana-de-açúcar usando medições do Índice de Clorofila (CI) derivadas de satélite. A análise apoia:\r\n\r\n• Identificação de questões relacionadas ao crescimento que precisam de atenção\r\n• Ações oportunas podem ser tomadas para reduzir o impacto negativo\r\n• Monitoramento das taxas de crescimento da safra da fazenda, fornecendo evidências de desempenho \r\n• O planejamento do momento da colheita e da logística da usina é apoiado de forma que a tonelagem e os níveis de sacarose ideais possam ser colhidos. \r\n\r\nA base do relatório é o Índice de Clorofila. O índice de clorofila identifica: \r\n• Variações na saúde da safra em nível de campo => áreas problemáticas alvo \r\n• Mudanças semanais no vigor da safra => identificação de doenças e estresse \r\n• Áreas que requerem atenção das equipes agrícolas e de irrigação \r\n• Padrões de crescimento em diferentes seções do campo \r\n\r\nPrincipais recursos: \r\n• Análise de imagens de satélite de alta resolução \r\n• Detecção de mudanças semanais \r\n• Métricas de desempenho de campos individuais \r\n• Insights acionáveis para o gerenciamento de culturas\r\n\r\n### Explicação do relatório\r\n\r\nEste relatório fornece uma análise detalhada (resolução de 3x3 m) de seus campos de cana-de-açúcar com base em imagens de satélite. Ele ajuda você a monitorar a saúde e o desenvolvimento das culturas ao longo da estação de cultivo. Os dados são processados semanalmente para fornecer insights oportunos para decisões de gestão agrícola ideais.\r\n\r\n### O que é o Índice de Clorofila (CI)?\r\n\r\nO Índice de Clorofila (CI) é um índice de vegetação que mede a quantidade relativa de clorofila nas folhas das plantas. A clorofila é o pigmento verde responsável pela fotossíntese nas plantas. Valores mais altos de IC indicam: \r\n• Maior atividade fotossintética \r\n• Tecido vegetal mais saudável \r\n• Melhor absorção de nitrogênio \r\n• Crescimento mais vigoroso da cultura \r\n\r\nOs valores de IC variam normalmente de 0 (solo nu ou vegetação severamente estressada) a 7+ (vegetação muito saudável e densa). Para a cana-de-açúcar, valores entre 3 e 7 geralmente indicam boa saúde da cultura, dependendo do estágio de crescimento."
},
"hist_benchmark": {
"en": "### Historical Benchmark Lines \r\n\r\nThe CI time series graphs include historical benchmark lines for the 10th, 50th, and 90th percentiles of CI values across all fields and seasons. \r\n**Note:** These lines are now all rendered as solid lines (not dashed or dotted), with different colors for each percentile. \r\n- **10th Percentile:** Lower end of historical performance \r\n- **50th Percentile:** Median historical performance \r\n- **90th Percentile:** Upper end of historical performance \r\nComparing the current season to these lines helps assess whether crop growth is below, at, or above historical norms.",
"es-mx": "### Líneas de referencia históricas\r\n\r\nLos gráficos de series temporales de IC incluyen líneas de referencia históricas para los percentiles 10, 50 y 90 de los valores de IC en todos los campos y temporadas. \r\n**Nota:** Ahora todas estas líneas se representan como líneas continuas (no discontinuas ni punteadas), con colores diferentes para cada percentil. \r\n- **Percentil 10:** extremo inferior del rendimiento histórico \r\n- **Percentil 50:** rendimiento histórico medio \r\n- **Percentil 90:** extremo superior del rendimiento histórico \r\nLa comparación de la temporada actual con estas líneas ayuda a evaluar si el crecimiento de los cultivos está por debajo, en el nivel o por encima de las normas históricas.",
"pt-br": "### Linhas de referência históricas\r\n\r\nOs gráficos de séries temporais do CI incluem linhas de referência históricas para os percentis 10, 50 e 90 dos valores do CI em todos os campos e temporadas.\r\n**Observação:** essas linhas agora são todas representadas como linhas contínuas (não tracejadas ou pontilhadas), com cores diferentes para cada percentil. \r\n- **10º percentil:** extremidade inferior do desempenho histórico\r\n- **50º percentil:** desempenho histórico mediano\r\n- **90º percentil:** extremidade superior do desempenho histórico\r\nComparar a estação atual com essas linhas ajuda a avaliar se o crescimento da cultura está abaixo, dentro ou acima das normas históricas."
},
"sec_iii_1": {
"en": "### What You'll Find in This Report:\r\n\r\n1. **Key Performance Indicators (KPIs):** \r\n 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:",
"es-mx": "### Qué encontrará en este informe:\r\n\r\n1. **Indicadores clave de rendimiento (IDC):** \r\n El informe proporciona un análisis de todas sus parcelas basado en mediciones semanales del índice de clorofila (IC). Se calculan cinco IDC clave parcela a parcela para evaluar la salud de los cultivos:",
"pt-br": "### O que você encontrará neste relatório:\r\n\r\n1. **Indicadores-chave de desempenho (KPIs):** \r\n O relatório fornece uma análise de toda a fazenda com base em medições semanais do Índice de Clorofila (CI). Cinco KPIs abrangentes são calculados campo por campo para avaliar a saúde das culturas:"
},
"sec_iii_2_to_6": {
"en": "2. **Chlorophyll Index Overview Map:** \r\n Shows current CI values for all fields, helping to identify high- and low-performing areas.\r\n\r\n3. **Overview Map: Growth on Farm:** \r\n Shows the difference in CI level over the most recent week for all fields, helping to identify high- and low-performing areas. \r\n\r\n4. **Field-by-Field Analysis:** \r\n Includes detailed maps, trend graphs, and performance metrics for each field.\r\n\r\n5. **Yield Prediction:** \r\n For mature crops (over 240 days), yield is predicted using current and historical CI data. The yield prediction is expressed in tons per hectare, TCH.\r\n\r\n6. **Farm Overview Table:** \r\n Presents numerical field-level results for relevant set of KPIs.",
"es-mx": "2. **Mapa general del índice de clorofila:** \r\n Muestra los valores actuales del índice de clorofila (IC) de todas las parcelas, lo que ayuda a identificar las zonas de alto y bajo rendimiento.\r\n\r\n3. **Mapa panorámico: Crecimiento en sus parcelas:** \r\n Proporciona una visión general con semáforos del estado de crecimiento parcela a parcela para establecer rápidamente prioridades y elaborar informes.\r\n\r\n4. **Análisis parcela a parcela:** \r\n Incluye mapas detallados, gráficos de tendencias y métricas de rendimiento para cada parcela..\r\n\r\n5. **Predicción del rendimiento:** \r\n Para los cultivos maduros (más de 240 días), el rendimiento se predice utilizando datos actuales e históricos del índice de clorofila.\r\n\r\n6. **Tabla resumen de sus parcelas:** \r\n Presenta resultados numéricos a nivel de parcela de los IDC.",
"pt-br": "2. **Mapa geral: Crescimento na fazenda:** \r\n Fornece uma visão geral do status de crescimento campo a campo, com um sistema de semáforos, para priorização e relatórios rápidos.\r\n\r\n3. **Mapa geral do índice de clorofila:** \r\n Mostra os valores atuais do CI para todos os campos, ajudando a identificar áreas de alto e baixo desempenho.\r\n\r\n4. **Análise campo a campo:** \r\n Inclui mapas detalhados, gráficos de tendências e métricas de desempenho para cada campo.\r\n\r\n5. **Previsão de rendimento:** \r\n Para culturas maduras (mais de 240 dias), o rendimento é previsto usando dados atuais e históricos do IC.\r\n\r\n6. **Tabela de visão geral da fazenda:** \r\n Apresenta resultados numéricos em nível de campo para todos os KPIs."
},
"kpi_i": {
"en": "**KPI 1: Field Uniformity** — Measures how consistently crop is developing across the field",
"es-mx": "**IDC 1: Uniformidad del campo**: mide la consistencia con la que se desarrolla el cultivo en cada parcela.",
"pt-br": "**KPI 1: Uniformidade do campo** — Mede a consistência do desenvolvimento da cultura em todo o campo."
},
"kpi_i_metric": {
"en": "**Metric:** Coefficient of Variation (CV) of CI pixel values",
"es-mx": "**Métrica:** coeficiente de variación (CV) de los valores de píxeles IC.",
"pt-br": "**Métrica:** Coeficiente de variação (CV) dos valores de pixel CI."
},
"kpi_i_calc": {
"en": "**Calculation:** CV = (Standard Deviation of CI) / (Mean CI)",
"es-mx": "**Cálculo:** CV = (desviación estándar de IC) / (IC medio).",
"pt-br": "**Cálculo:** CV = (desvio padrão do CI) / (CI médio)."
},
"kpi_categories": {
"en": "**Categories:**",
"es-mx": "**Categorías:**",
"pt-br": "**Categorias:**"
},
"kpi_i_excellent": {
"en": "**Excellent:** CV < 0.08 (very uniform growth, minimal intervention needed)",
"es-mx": "**Excelente:** CV < 0,08 (crecimiento muy uniforme, intervención mínima necesaria).",
"pt-br": "**Excelente:** CV < 0,08 (crescimento muito uniforme, intervenção mínima necessária)"
},
"kpi_i_good": {
"en": "**Good:** CV < 0.15 (acceptable uniformity, routine monitoring)",
"es-mx": "**Bueno:** CV < 0,15 (uniformidad aceptable, supervisión rutinaria).",
"pt-br": "**Bom:** CV < 0,15 (uniformidade aceitável, monitoramento de rotina)"
},
"kpi_i_accept": {
"en": "**Acceptable:** CV < 0.25 (moderate variation, monitor irrigation/fertility)",
"es-mx": "**Aceptable:** CV < 0,25 (variación moderada, supervisar el riego/la fertilidad).",
"pt-br": "**Aceitável:** CV < 0,25 (variação moderada, monitorar irrigação/fertilidade)"
},
"kpi_i_poor": {
"en": "**Poor:** CV < 0.4 (high variation, investigate management issues)",
"es-mx": "**Deficiente:** CV < 0,4 (alta variación, investigar problemas de manejo)",
"pt-br": "**Ruim:** CV < 0,4 (alta variação, investigar questões de gestão)"
},
"kpi_i_verypoor": {
"en": "**Very poor:** CV ≥ 0.4 (severe variation, immediate field scout required)",
"es-mx": "**Muy deficiente:** CV ≥ 0,4 (variación grave, se requiere inspección inmediata de la parcela)",
"pt-br": "**Muito ruim:** CV ≥ 0,4 (variação grave, necessária inspeção imediata do campo)"
},
"kpi_i_why": {
"en": "**Why it matters:** Uniform fields are easier to manage and typically produce better yields. Uneven growth suggests irrigation problems, fertility gaps, pests, or disease.",
"es-mx": "**Por qué es importante:** Los campos uniformes son más fáciles de manejar y suelen producir mejores rendimientos. El crecimiento desigual sugiere problemas de riego, deficiencias de fertilidad, plagas o enfermedades.",
"pt-br": "**Por que isso é importante:** Campos uniformes são mais fáceis de gerenciar e normalmente produzem melhores rendimentos. O crescimento desigual sugere problemas de irrigação, lacunas de fertilidade, pragas ou doenças."
},
"kpi_ii": {
"en": "**KPI 2: Area Change (Weekly Growth)** — Difference in CI level over the most recent week",
"es-mx": "**IDC 2: Cambio en el área (crecimiento semanal)**: realiza un seguimiento de los cambios en el IC semana tras semana para detectar mejoras o descensos rápidos.",
"pt-br": "**KPI 2: Variação da área (crescimento semanal)** — Acompanha as variações semanais do CI para detectar melhorias ou declínios rápidos."
},
"kpi_ii_calc": {
"en": "**Calculation:** Current week Mean CI Previous week Mean CI (absolute change in CI units)",
"es-mx": "**Cálculo:** IC medio actual IC medio anterior (cambio absoluto en unidades de IC).",
"pt-br": "**Cálculo:** Média atual do CI Média anterior do CI (variação absoluta em unidades do CI)"
},
"kpi_ii_rapid": {
"en": "**Rapid growth:** > +0.5 (excellent weekly progress)",
"es-mx": "**Crecimiento rápido:** > +0,5 (progreso semanal excelente).",
"pt-br": "**Crescimento rápido:** > +0,5 (excelente progresso semanal)"
},
"kpi_ii_positive": {
"en": "**Positive growth:** +0.2 to +0.5 (steady improvement)",
"es-mx": "**Crecimiento positivo:** +0,2 a +0,5. (mejora constante).",
"pt-br": "**Crescimento positivo:** +0,2 a +0,5 (melhoria constante)"
},
"kpi_ii_stable": {
"en": "**Stable:** 0.2 to +0.2 (field maintained, no significant change)",
"es-mx": "**Estable:** 0,2 a +0,2 (parcela constante, sin cambios significativos).",
"pt-br": "**Estável:** 0,2 a +0,2 (campo mantido, sem alteração significativa)"
},
"kpi_ii_declining": {
"en": "**Declining:** 0.5 to 0.2 (slow decline, warrant closer monitoring)",
"es-mx": "**Descenso:** 0,5 a 0,2 (descenso lento, requiere un manejo más estrecho).",
"pt-br": "**Declínio:** 0,5 a 0,2 (declínio lento, requer monitoramento mais próximo)"
},
"kpi_ii_rapid_decline": {
"en": "**Rapid decline:** < 0.5 (alert: urgent issue requiring investigation)",
"es-mx": "**Descenso rápido:** < 0,5 (alerta: problema urgente que requiere investigación).",
"pt-br": "**Declínio rápido:** < 0,5 (alerta: questão urgente que requer investigação)"
},
"kpi_ii_why": {
"en": "**Why it matters:** Week-over-week changes reveal developing problems early, enabling timely intervention.",
"es-mx": "**Por qué es importante:** los cambios semanales revelan los problemas incipientes, lo que permite una intervención oportuna.",
"pt-br": "**Por que isso é importante:** as mudanças semanais revelam problemas em desenvolvimento antecipadamente, permitindo uma intervenção oportuna."
},
"kpi_iii": {
"en": "**KPI 3: TCH Forecasted (Yield Prediction)** — Predicts final harvest tonnage for mature fields per hectare",
"es-mx": "**IDC 3: TCH previsto (predicción del rendimiento)**: predice el tonelaje final de la cosecha para las parcelas maduras.",
"pt-br": "**KPI 3: Previsão de TCH (previsão de rendimento)** — prevê a tonelagem final da colheita para campos maduros"
},
"kpi_iii_applies": {
"en": "**Applies to:** Fields ≥ 240 days old (mature stage)",
"es-mx": "**Se aplica a:** campos con una antigüedad ≥ 240 días (etapa madura).",
"pt-br": "**Aplica-se a:** campos com ≥ 240 dias (estágio maduro)"
},
"kpi_iii_method": {
"en": "**Method:** Random Forest machine learning model trained on historical harvest data and cumulative CI values",
"es-mx": "**Método:** Modelo de aprendizaje automático Random Forest entrenado con datos históricos de cosechas y trayectorias del IC.",
"pt-br": "**Método:** Modelo de aprendizado de máquina Random Forest treinado com dados históricos de colheita e trajetórias de CI"
},
"kpi_iii_input": {
"en": "**Inputs:** Days after harvest (DAH) and CI growth rate (CI_per_day)",
"es-mx": "**Entradas:** Días después de la cosecha (DDC) y tasa de crecimiento de IC (IC_por_día).",
"pt-br": "**Entradas:** Dias após a colheita (DAH) e taxa de crescimento de CI (CI_por_dia)"
},
"kpi_iii_output": {
"en": "**Output:** Predicted metric tons of cane per hectare (t/ha)",
"es-mx": "**Salida:** Toneladas previstas de caña por hectárea (t/ha).",
"pt-br": "**Saída:** Previsão de toneladas de cana por hectare (t/ha)"
},
"kpi_iii_why": {
"en": "**Why it matters:** Helps plan harvest timing, mill throughput, and revenue forecasting for mature crops.",
"es-mx": "**Por qué es importante:** Ayuda a planificar el momento de la cosecha, el rendimiento del ingenio y la previsión de ingresos para los cultivos maduros.",
"pt-br": "**Por que é importante:** Ajuda a planejar o momento da colheita, a produtividade da usina e a previsão de receita para culturas maduras."
},
"kpi_iv": {
"en": "**KPI 4: Growth Trend (4-Week Trend) ***— Assesses medium-term growth direction using linear regression.",
"es-mx": "**IDC 4: Tendencia de crecimiento (tendencia de 4 semanas): evalúa la dirección del crecimiento a medio plazo mediante regresión lineal.",
"pt-br": "**KPI 4: Tendência de crescimento (tendência de 4 semanas)** — Avalia a direção do crescimento a médio prazo usando regressão linear."
},
"kpi_iv_calc": {
"en": "**Calculation:** Linear slope of CI values over the previous 4 weeks",
"es-mx": "**Cálculo:** pendiente lineal de los valores de CI durante las 4 semanas anteriores.",
"pt-br": "**Cálculo:** Inclinação linear dos valores de CI nas 4 semanas anteriores"
},
"kpi_iv_str_improve": {
"en": "**Strong growth (↑↑):** Slope ≥ 0.3 CI units/week (excellent sustained progress)",
"es-mx": "**Crecimiento fuerte (↑↑):** pendiente ≥ 0,3 unidades de CI/semana (progreso sostenido excelente).",
"pt-br": "**Crescimento forte (↑↑):** Inclinação ≥ 0,3 unidades de CI/semana (excelente progresso sustentado)"
},
"kpi_iv_weak_improve": {
"en": "**Weak growth (↑):** Slope 0.10.3 (slow improvement, monitor closely)",
"es-mx": "**Crecimiento débil (↑):** Pendiente de 0,1 a 0,3 (mejora lenta, supervisar de cerca).",
"pt-br": "**Crescimento fraco (↑):** Inclinação de 0,1 a 0,3 (melhoria lenta, monitorar de perto)"
},
"kpi_iv_stable": {
"en": "**Stable (→): ** Slope 0.1 to +0.1 (no significant change, crop on plateau)",
"es-mx": "**Estable (→): ** Pendiente de 0,1 a +0,1 (sin cambios significativos, cultivo en meseta).",
"pt-br": "**Estável (→):** Inclinação de 0,1 a +0,1 (sem mudança significativa, cultura em platô)"
},
"kpi_iv_weak_decline": {
"en": "**Weak Decline (↓):** Slope 0.3 to 0.1 (minor concern, scouting recommended)",
"es-mx": "**Descenso débil (↓):** Pendiente de 0,3 a 0,1 (preocupación menor, se recomienda inspeccionar).",
"pt-br": "**Declínio fraco (↓):** Inclinação de 0,3 a 0,1 (preocupação menor, recomenda-se inspeção)"
},
"kpi_iv_str_decline": {
"en": "**Strong Decline (↓↓):** Slope < 0.3 (high severity, immediate field investigation required)",
"es-mx": "**Descenso fuerte (↓↓):** Pendiente < 0,3 (gravedad alta, se requiere investigación inmediata del campo)",
"pt-br": "**Declínio forte (↓↓):** Inclinação < 0,3 (alta gravidade, investigação de campo imediata necessária)"
},
"kpi_iv_why": {
"en": "**Why it matters:** Trend analysis reveals whether crop is accelerating, stalling, or stressed over time. Arrow symbols (↑↑, ↑, →, ↓, ↓↓) provide quick visual interpretation of field trajectory.",
"es-mx": "**Por qué es importante:** El análisis de tendencias revela si el cultivo se está acelerando, estancando o estresando con el tiempo. Los símbolos de flecha (↑↑, ↑, →, ↓, ↓↓) proporcionan una interpretación visual rápida de la trayectoria del campo.",
"pt-br": "**Por que é importante:** A análise de tendências revela se a cultura está acelerando, estagnando ou estressada ao longo do tempo. Os símbolos de seta (↑↑, ↑, →, ↓, ↓↓) fornecem interpretação visual rápida da trajetória do campo."
},
"kpi_v": {
"en": "**KPI 5: Field Patchiness (Heterogeneity)** — Combines two complementary spatial metrics for comprehensive heterogeneity assessment",
"es-mx": "**IDC 5: Heterogeneidad del campo (heterogeneidad)**: combina dos métricas espaciales complementarias para una evaluación exhaustiva de la heterogeneidad.",
"pt-br": "**KPI 5: Heterogeneidade do campo (Heterogeneidade)** — Combina duas métricas espaciais complementares para uma avaliação abrangente da heterogeneidade"
},
"kpi_v_met1": {
"en": "**Metric 1: Gini Coefficient** — Statistical measure of distribution inequality in CI pixel values",
"es-mx": "**Métrica 1: Coeficiente de Gini**: medida estadística de la desigualdad de distribución en los valores de píxeles IC.",
"pt-br": "**Métrica 1: Coeficiente de Gini** — Medida estatística da desigualdade de distribuição nos valores de pixel CI"
},
"kpi_v_form": {
"en": "**Formula:** (2 × Σ(i × sorted_CI)) / (n × Σ(sorted_CI)) (n+1)/n",
"es-mx": "**Fórmula:** (2 × Σ(i × IC_repartido)) / (n × Σ(IC_repartido)) (n+1)/n",
"pt-br": "**Fórmula:** (2 × Σ(i × sorted_CI)) / (n × Σ(sorted_CI)) (n+1)/n"
},
"kpi_v_range": {
"en": "**Range:** 0 (perfectly uniform) to 1 (highly unequal)",
"es-mx": "**Rango:** 0 (perfectamente uniforme) a 1 (muy desigual)",
"pt-br": "**Intervalo:** 0 (perfeitamente uniforme) a 1 (altamente desigual)"
},
"kpi_v_interpretation": {
"en": "**Interpretation:** Low Gini (< 0.15) = good uniformity; High Gini (> 0.3) = significant heterogeneity",
"es-mx": "**Interpretación:** Gini bajo (< 0,15) = buena uniformidad; Gini alto (> 0,3) = heterogeneidad significativa.",
"pt-br": "**Interpretação:** Gini baixo (< 0,15) = boa uniformidade; Gini alto (> 0,3) = heterogeneidade significativa"
},
"kpi_v_met2": {
"en": "**Metric 2: Moran's I** — Spatial autocorrelation indicating whether high/low areas are clustered or scattered",
"es-mx": "**Métrica 2: I de Moran**: autocorrelación espacial que indica si las áreas altas/bajas están agrupadas o dispersas.",
"pt-br": "**Métrica 2: I de Moran** — Autocorrelação espacial indicando se as áreas altas/baixas estão agrupadas ou dispersas"
},
"kpi_v_met2_range": {
"en": "**Range:** 1 (dispersed pattern) to +1 (strong clustering)",
"es-mx": "**Rango:** 1 (patrón disperso) a +1 (agrupación fuerte).",
"pt-br": "**Intervalo:** 1 (padrão disperso) a +1 (forte agrupamento)"
},
"kpi_v_thresh": {
"en": "**Thresholds:** Moran's I > 0.85 indicates clustered problem areas; < 0.75 suggests scattered issues",
"es-mx": "**Umbrales:** I de Moran > 0,85 indica áreas problemáticas agrupadas; < 0,75 sugiere problemas dispersos",
"pt-br": "**Limites:** I de Moran > 0,85 indica áreas problemáticas agrupadas; < 0,75 sugere problemas dispersos"
},
"kpi_v_risk": {
"en": "**Risk Determination (Gini + Moran's I Combined):**",
"es-mx": "**Determinación del riesgo (Gini + I de Moran combinados):**",
"pt-br": "**Determinação do risco (Gini + I de Moran combinados):**"
},
"kpi_v_minimal": {
"en": "**Minimal Risk:** Gini < 0.15 (excellent uniformity regardless of spatial pattern)",
"es-mx": "**Riesgo mínimo:** Gini < 0,15 (excelente uniformidad independientemente del patrón espacial)",
"pt-br": "**Risco mínimo:** Gini < 0,15 (excelente uniformidade, independentemente do padrão espacial)"
},
"kpi_v_low": {
"en": "**Low Risk:** Gini 0.150.30, Moran's I < 0.85 (moderate variation, scattered distribution)",
"es-mx": "**Riesgo bajo:** Gini 0,15-0,30, Moran's I < 0,85 (variación moderada, distribución dispersa).",
"pt-br": "**Risco baixo:** Gini 0,150,30, Moran's I < 0,85 (variação moderada, distribuição dispersa)"
},
"kpi_v_medium": {
"en": "**Medium Risk:** Gini 0.150.30, Moran's I > 0.85 OR Gini 0.300.50, Moran's I < 0.85 (notable issues)",
"es-mx": "**Riesgo medio:** Gini 0,15-0,30, I de Moran > 0,85 O Gini 0,30-0,50, I de Moran < 0,85 (problemas notables).",
"pt-br": "**Risco médio:** Gini 0,150,30, Moran's I > 0,85 OU Gini 0,300,50, Moran's I < 0,85 (questões notáveis)"
},
"kpi_v_high": {
"en": "**High Risk:** Gini > 0.30, Moran's I > 0.85 (severe heterogeneity with localized clusters—urgent scouting needed)",
"es-mx": "**Riesgo alto:** Gini > 0,30, I de Moran > 0,85 (heterogeneidad grave con agrupaciones localizadas; se necesita una exploración urgente).",
"pt-br": "**Risco alto:** Gini > 0,30, Moran's I > 0,85 (heterogeneidade grave com aglomerados localizados — necessidade urgente de reconhecimento)"
},
"kpi_v_why": {
"en": "**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.",
"es-mx": "**Por qué es importante:** Una alta irregularidad puede indicar ineficiencias en el riego, presión localizada de plagas, variación en la fertilidad o propagación de enfermedades. La combinación de Gini + I de Moran revela no solo *cuánta* variación existe, sino también *cómo se distribuye* espacialmente. El IC refleja el estado de la clorofila = nitrógeno + salud de la planta + vigor. Un CV/irregularidad altos suelen indicar déficits de N, estrés hídrico, plagas (barrenadores) o declive de los rebrotes.",
"pt-br": "**Por que isso é importante:** A alta irregularidade pode indicar ineficiências na irrigação, pressão localizada de pragas, variação na fertilidade ou propagação de doenças. A combinação de Gini + Moran's I revela não apenas *quanto* de variação existe, mas também *como ela está distribuída* espacialmente. O CI reflete clorofila = status de nitrogênio + saúde da planta + vigor. CV/irregularidade elevados geralmente sinalizam deficiências de N, estresse hídrico, pragas (brocas) ou declínio do rebrote."
},
"unif_v_patch": {
"en": "### Uniformity vs. Patchiness — What's the Difference? ###\r\n Both KPIs measure variation, but they answer different questions and drive different management actions:",
"es-mx": "### Uniformidad frente a irregularidad: ¿cuál es la diferencia? ###\r\n Ambos IDC miden la variación, pero responden a preguntas diferentes y dan lugar a medidas de gestión diferentes:",
"pt-br": "### Uniformidade vs. Irregularidade — Qual é a diferença? ###\r\n Ambos os KPIs medem a variação, mas respondem a perguntas diferentes e impulsionam ações de gestão diferentes:"
},
"unif": {
"en": "**Uniformity (CV-based)** answers: \"*Is* growth even across the field?\" — it detects whether a problem exists but not where.",
"es-mx": "**La uniformidad (basada en CV)** responde a la pregunta: «¿El crecimiento es uniforme en todo el campo?». Detecta si existe un problema, pero no dónde.",
"pt-br": "**Uniformidade (baseada em CV)** responde: “O crescimento é uniforme em todo o campo?” — detecta se existe um problema, mas não onde."
},
"patch": {
"en": "**Patchiness (Gini + Moran's I)** answers: \"*Where* are problems and how are they arranged?\" — it reveals the spatial pattern.",
"es-mx": "**La irregularidad (Gini + Moran's I)** responde a la pregunta: «¿Dónde están los problemas y cómo están distribuidos?». Revela el patrón espacial.",
"pt-br": "**Irregularidade (Gini + Moran's I)** responde: “Onde estão os problemas e como estão distribuídos?” — revela o padrão espacial."
},
"practical_example": {
"en": "**Practical example:** Two fields both score \"Poor\" on Uniformity (CV = 0.25). However:",
"es-mx": "**Ejemplo práctico:** Dos parcelas obtienen una puntuación «Deficiente» en Uniformidad (CV = 0,25). Sin embargo:",
"pt-br": "**Exemplo prático:** Dois campos obtêm a classificação “Ruim” em Uniformidade (CV = 0,25). No entanto:"
},
"field_a": {
"en": "Field A has scattered low-CI patches (Moran's I = 0.6) → suggests *random* stress (disease pressure, uneven irrigation)",
"es-mx": "La parcela A tiene parches dispersos con un IC bajo (índice de Moran = 0,6) → sugiere un estrés *aleatorio* (presión de enfermedades, riego desigual).",
"pt-br": "O campo A tem manchas dispersas de baixo CI (Moran's I = 0,6) → sugere estresse *aleatório* (pressão de doenças, irrigação desigual)"
},
"field_b": {
"en": "Field B has clustered low-CI in one corner (Moran's I = 0.95) → suggests *localized* problem (drainage, compaction, pest hotspot)",
"es-mx": "La parcela tiene un IC bajo agrupado en una esquina (índice de Moran = 0,95) → sugiere un problema *localizado* (drenaje, compactación, foco de plagas).",
"pt-br": "O campo B tem um baixo CI agrupado em um canto (Moran's I = 0,95) → sugere um problema *localizado* (drenagem, compactação, foco de pragas)"
},
"scouting": {
"en": "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*.**",
"es-mx": "Su estrategia de exploración y remediación debe ser diferente: la parcela A podría necesitar un ajuste sistémico del riego o un control de enfermedades; la parcela B podría necesitar una remediación del suelo en la esquina afectada. **La irregularidad le indica *dónde debe centrar sus esfuerzos*.**",
"pt-br": "Sua estratégia de exploração e remediação deve ser diferente: o campo A pode precisar de um ajuste sistêmico da irrigação ou do manejo de doenças; o campo B pode precisar de remediação do solo no canto afetado. **A irregularidade indica *onde concentrar seus esforços*.**"
},
"kpi_vi": {
"en": "**KPI 6: Gap Score (Establishment Quality)** — Quantifies field gaps and areas of poor crop establishment",
"es-mx": "**IDC 6: Puntuación de brecha (calidad del establecimiento)**: cuantifica las brechas de la parcela y las áreas de establecimiento deficiente de los cultivos",
"pt-br": "**KPI 6: Pontuação de lacunas (qualidade do estabelecimento)** — Quantifica as lacunas do campo e as áreas de estabelecimento deficiente da cultura"
},
"kpi_vi_calc": {
"en": "**Calculation Method:** Statistical outlier detection (σ method)",
"es-mx": "**Método de cálculo:** detección estadística de valores atípicos (método σ)",
"pt-br": "**Método de cálculo:** Detecção estatística de outliers (método σ)"
},
"kpi_vi_identify": {
"en": "Identifies pixels with CI below: **Median CI (Standard Deviation)**",
"es-mx": "Identifica los píxeles con un IC inferior a: **IC mediano (desviación estándar)**",
"pt-br": "Identifica pixels com CI abaixo de: **CI mediano (desvio padrão)**"
},
"kpi_vi_calculates": {
"en": "Calculates: **Gap Score = (Outlier Pixels / Total Pixels) × 100**",
"es-mx": "Cálculo: **Puntuación de brechas = (píxeles atípicos / píxeles totales) × 100**.",
"pt-br": "Calcula: **Pontuação de lacunas = (Pixels atípicos / Total de pixels) × 100**"
},
"kpi_vi_example": {
"en": "Example: If 2 of 100 pixels fall below threshold → Gap Score = 2%",
"es-mx": "Ejemplo: si 2 de 100 píxeles están por debajo del umbral → Puntuación de brechas = 2 %.",
"pt-br": "Exemplo: Se 2 de 100 pixels ficarem abaixo do limite → Pontuação de lacunas = 2%"
},
"kpi_vi_scores": {
"en": "**Score Ranges & Interpretation:**",
"es-mx": "**Rangos de puntuación e interpretación:**",
"pt-br": "**Intervalos de pontuação e interpretação:**"
},
"kpi_vi_0": {
"en": "**010%:** Minimal gaps (excellent establishment, healthy field)",
"es-mx": "**0-10 %:** Brechas mínimas (establecimiento excelente, campo saludable).",
"pt-br": "**010%:** Lacunas mínimas (estabelecimento excelente, campo saudável)"
},
"kpi_vi_10": {
"en": "**1025%:** Moderate gaps (monitor for expansion, coordinate with agronomy)",
"es-mx": "**10-25 %:** Diferencias moderadas (supervisar la expansión, coordinar con agronomía)",
"pt-br": "**1025%:** Lacunas moderadas (monitorar a expansão, coordenar com a agronomia)"
},
"kpi_vi_25": {
"en": "**≥ 25%:** Significant gaps (consider targeted replanting or rehabilitation)",
"es-mx": "**≥ 25 %:** Diferencias significativas (considerar la replantación o rehabilitación selectiva)",
"pt-br": "**≥ 25%:** Lacunas significativas (considerar replantio ou reabilitação direcionados)"
},
"kpi_vi_why": {
"en": "**Why it matters:** Gap scores reveal areas of poor establishment that may indicate early growth problems or harvest-related residue issues. Lower is better (03% is typical for healthy fields).",
"es-mx": "**Por qué es importante:** Las puntuaciones de diferencia revelan áreas de establecimiento deficiente que pueden indicar problemas de crecimiento temprano o problemas de residuos relacionados con la cosecha. Cuanto más baja, mejor (0-3 % es lo habitual en campos sanos).",
"pt-br": "**Por que isso é importante:** As pontuações de lacuna revelam áreas de estabelecimento deficiente que podem indicar problemas de crescimento precoce ou questões relacionadas a resíduos da colheita. Quanto menor, melhor (03% é típico para campos saudáveis)."
}
},
"status_translations": {
"field_unif": {
"en": "**Field Uniformity:**",
"es-mx": "**Uniformidad de parcelas:**",
"pt-br": "**Uniformidade do campo:**"
},
"unif_status": {
"en": "{count} field(s) with {tr_key(status)} uniformity",
"es-mx": "{count} parcela(s) con {tr_key(status)} uniformidad",
"pt-br": " {count} campo(s) com {tr_key(status)} uniformidade"
},
"field_area": {
"en": "**Area Change Status:**",
"es-mx": "**Estado del cambio de área:**",
"pt-br": "**Status da alteração da área:**"
},
"area_status": {
"en": "{count} field(s) {tr_key(status)}",
"es-mx": "{count} parcela(s) {tr_key(status)}",
"pt-br": " {count} campo(s) {tr_key(status)}"
},
"growth_trend": {
"en": "**Growth Trends (4-Week):**",
"es-mx": "**Tendencias de crecimiento (4 semanas):**",
"pt-br": "**Tendências de crescimento (4 semanas):**"
},
"trend_status": {
"en": "{count} field(s) with {tr_key(trend)}",
"es-mx": "{count} parcela(s) con {tr_key(trend)}",
"pt-br": " {count} campo(s) com {tr_key(trend)}"
},
"patch_risk": {
"en": "**Field Patchiness Risk:**",
"es-mx": "**Riesgo de irregularidades en la parcela:**",
"pt-br": "**Risco de irregularidade no campo:**"
},
"patch_status": {
"en": "{count} field(s) at {tr_key(risk)} risk",
"es-mx": "{count} parcela(s) con riesgo {tr_key(risk)}",
"pt-br": " {count} campo(s) com risco {tr_key(risk)}"
},
"kpi_na": {
"en": "KPI data not available for {project_dir} on this date.",
"es-mx": "Los datos de IDC no están disponibles para {project_dir} en esta fecha.",
"pt-br": "Dados de KPI não disponíveis para {project_dir} nesta data."
},
"No data": {
"en": "No data",
"es-mx": "Sin datos",
"pt-br": "Sem dados"
},
"Rapid growth": {
"en": "Rapid growth",
"es-mx": "Crecimiento rápido",
"pt-br": "Crescimento rápido"
},
"Positive growth": {
"en": "Positive growth",
"es-mx": "Crecimiento positivo",
"pt-br": "Crescimento positivo"
},
"Stable": {
"en": "stable",
"es-mx": "estable",
"pt-br": "estável"
},
"Declining": {
"en": "declining",
"es-mx": "en declive",
"pt-br": "em declínio"
},
"Rapid decline": {
"en": "tapid decline",
"es-mx": "descenso rápido",
"pt-br": "declínio rápido"
},
"No previous data": {
"en": "No previous data",
"es-mx": "Sin datos previos",
"pt-br": "Sem dados anteriores"
},
"Strong growth": {
"en": "strong growth",
"es-mx": "crecimiento fuerte",
"pt-br": "crescimento forte"
},
"Weak growth": {
"en": "weak growth",
"es-mx": "Crecimiento débil",
"pt-br": "crescimento fraco"
},
"Slight growth": {
"en": "slight growth",
"es-mx": "crecimiento ligero",
"pt-br": "crescimento leve"
},
"Slight decline": {
"en": "slight decline",
"es-mx": "ligero descenso",
"pt-br": "ligeiro declínio"
},
"Moderate decline": {
"en": "moderate decline",
"es-mx": "descenso moderado",
"pt-br": "declínio moderado"
},
"Strong decline": {
"en": "strong decline",
"es-mx": "descenso fuerte",
"pt-br": "declínio forte"
},
"tot_fields_analyzed": {
"en": "**Total Fields Analyzed:** {total_fields}",
"es-mx": "**Total de parcelas analizadas:** {total_fields}",
"pt-br": "**Total de campos analisados:** {total_fields}"
},
"Medium": {
"en": "Medium",
"es-mx": "Medio",
"pt-br": "Média"
},
"Low": {
"en": "low",
"es-mx": "bajo",
"pt-br": "baixa"
},
"Minimal": {
"en": "minimal",
"es-mx": "mínimo",
"pt-br": "mínima"
},
"alerts_na": {
"en": "No alerts data available.",
"es-mx": "No hay datos de alertas disponibles.",
"pt-br": "Não há dados de alertas disponíveis."
},
"Acceptable": {
"en": "acceptable",
"es-mx": "aceptable",
"pt-br": "aceitável"
},
"Good": {
"en": "good",
"es-mx": "buena",
"pt-br": "bom"
},
"Excellent": {
"en": "excellent",
"es-mx": "excelente",
"pt-br": "excelente"
},
"Insufficient data": {
"en": "Insufficient data",
"es-mx": "Datos insuficientes",
"pt-br": "Dados insuficientes"
},
"High": {
"en": "High",
"es-mx": "Alto",
"pt-br": "Alto"
},
"Moderate": {
"en": "moderate",
"es-mx": "moderado",
"pt-br": "moderado"
},
"Significant": {
"en": "Significant",
"es-mx": "Significativo",
"pt-br": "Significativo"
},
"TCH Forecasted": {
"en": "TCH Forecasted",
"es-mx": "Previsión de TCH",
"pt-br": "Previsão TCH"
},
"Trend": {
"en": "Trend",
"es-mx": "Previsión de rdto",
"pt-br": "Tendência"
},
"Yield": {
"en": "Yield",
"es-mx": "Rdto",
"pt-br": "Rendimento"
},
"NA": {
"en": "NA",
"es-mx": "ND",
"pt-br": "NA"
},
"priority": {
"en": "Priority field - recommend inspection",
"es-mx": "Área prioritaria: se recomienda inspección.",
"pt-br": "Campo prioritário - inspeção recomendada"
},
"monitor": {
"en": "Monitor - check when convenient",
"es-mx": "Monitorear: revisar cuando sea conveniente.",
"pt-br": "Monitorar - verificar quando for conveniente"
},
"growth_decline": {
"en": "Growth decline observed",
"es-mx": "Se observa una disminución del crecimiento.",
"pt-br": "Declínio no crescimento observado"
},
"high_patchiness": {
"en": "High patchiness detected - recommend scouting",
"es-mx": "Se detecta una gran irregularidad: se recomienda realizar un reconocimiento.",
"pt-br": "Alta irregularidade detectada - recomenda-se inspeção"
},
"gaps_present": {
"en": "Gaps present - recommend review",
"es-mx": "Hay huecos: se recomienda revisar.",
"pt-br": "Lacunas presentes - recomenda-se revisão"
},
"None": {
"en": "None",
"es-mx": "Ninguno",
"pt-br": "Nenhum"
}
},
"figure_translations": {
"metadata_caption": {
"en": "Report Metadata",
"es-mx": "Metadatos del informe",
"pt-br": "Metadados do relatório"
},
"metric": {
"en": "Metric",
"es-mx": "Métrica",
"pt-br": "Métrica"
},
"value": {
"en": "Value",
"es-mx": "Valor",
"pt-br": "Valor"
},
"report_gen": {
"en": "Report Generated",
"es-mx": "Informe generado",
"pt-br": "Relatório gerado"
},
"data_source": {
"en": "Data Source",
"es-mx": "Fuente de datos",
"pt-br": "Fonte dos dados"
},
"analysis_period": {
"en": "Analysis Period",
"es-mx": "Período de análisis",
"pt-br": "Período de análise"
},
"tot_fields": {
"en": "Total Fields",
"es-mx": "Total de parcelas",
"pt-br": "Total de campos"
},
"next_update": {
"en": "Next Update",
"es-mx": "Próxima actualización",
"pt-br": "Próxima atualização"
},
"project": {
"en": "Project",
"es-mx": "Proyecto",
"pt-br": "Projeto"
},
"week": {
"en": "Week",
"es-mx": "Semana",
"pt-br": "Semana"
},
"next_wed": {
"en": "Next Wednesday",
"es-mx": "Próximo miércoles",
"pt-br": "Próxima quarta-feira"
},
"unknown": {
"en": "Unknown",
"es-mx": "Desconocido",
"pt-br": "Desconhecido"
},
"ci_caption": {
"en": "Chlorophyll Index schematic visualisation of the growth curve throughout the various growth stages",
"es-mx": "Ejemplo de índice de clorofila",
"pt-br": "Exemplo de Índice de Clorofila"
},
"no_field_data": {
"en": "No field-level KPI data available for this report period.",
"es-mx": "No hay datos de IDC a nivel de campo disponibles para este período del informe.",
"pt-br": "Não há dados de KPI de campo disponíveis para este período do relatório."
},
"detailed_field_caption": {
"en": "Detailed Field Performance Summary",
"es-mx": "Resumen detallado del rendimiento del campo",
"pt-br": "Resumo detalhado do desempenho do campo"
},
"field": {
"en": "Field",
"es-mx": "Parcela",
"pt-br": "Campo"
},
"field_size": {
"en": "Field Size ({get_area_unit_label()})",
"es-mx": "Tamaño del campo ({get_area_unit_label()})",
"pt-br": "Tamanho do campo ({get_area_unit_label()})"
},
"mean_ci": {
"en": "Mean CI",
"es-mx": "IC medio",
"pt-br": "CI médio"
},
"weekly_ci_change": {
"en": "Weekly CI Change",
"es-mx": "Variación semanal del IC",
"pt-br": "Variação semanal do CI"
},
"yield_forecast": {
"en": "Yield Forecast (t/ha)",
"es-mx": "Previsión de rendimiento (t/ha)",
"pt-br": "Previsão de rendimento (t/ha)"
},
"gap_score": {
"en": "Gap Score %",
"es-mx": "Puntuación de brecha %",
"pt-br": "Pontuação de diferença %"
},
"decline_risk": {
"en": "Decline Risk",
"es-mx": "Riesgo de disminución",
"pt-br": "Risco de declínio"
},
"patchiness_risk": {
"en": "Patchiness Risk",
"es-mx": "Riesgo de irregularidad",
"pt-br": "Risco de irregularidade"
},
"cv_value": {
"en": "CV Value",
"es-mx": "Valor CV",
"pt-br": "Valor CV"
},
"of": {
"en": "of",
"es-mx": "de",
"pt-br": "de"
},
"no_kpi_table": {
"en": "No valid KPI summary tables found for display.",
"es-mx": "No se han encontrado tablas resumen de IDC válidas para mostrar.",
"pt-br": "Não foram encontradas tabelas de resumo de KPI válidas para exibição."
},
"kpi_table_error": {
"en": "KPI summary tables could not be displayed. Individual KPI sections will be shown below.",
"es-mx": "No se han podido mostrar las tablas resumen de IDC. A continuación se muestran las secciones individuales de IDC.",
"pt-br": "Não foi possível exibir as tabelas de resumo de KPI. As seções individuais de KPI serão mostradas abaixo."
},
"Level": {
"en": "Level",
"es-mx": "Nivel",
"pt-br": "Nível"
},
"Count": {
"en": "Count",
"es-mx": "Recuento",
"pt-br": "Contagem"
},
"Percent": {
"en": "Percent",
"es-mx": "Porcentaje",
"pt-br": "Porcentagem"
},
"Field Uniformity": {
"en": "Field Uniformity",
"es-mx": "Uniformidad de la parcela",
"pt-br": "Uniformidade do campo"
},
"Area Change": {
"en": "Area Change ({get_area_unit_label()})",
"es-mx": "Cambio en el área ({get_area_unit_label()})",
"pt-br": "Mudança de área ({get_area_unit_label()})"
},
"4-Week Trend": {
"en": "4-Week Trend",
"es-mx": "Tendencia en 4 semanas",
"pt-br": "Tendência de 4 semanas"
},
"Field Patchiness": {
"en": "Field Patchiness",
"es-mx": "Irregularidad del campo",
"pt-br": "Irregularidade do campo"
},
"Gaps": {
"en": "Gaps",
"es-mx": "Huecos",
"pt-br": "Lacunas"
},
"ci_overview_title": {
"en": "Current Week CI Overview - Week {current_week} of {current_iso_year}",
"es-mx": "Resumen del índice de clorofila (IC) de la semana actual - Semana {current_week} de {current_iso_year}",
"pt-br": "Visão geral do CI da semana atual - Semana {current_week} de {current_iso_year}"
},
"legend_ci": {
"en": "Chlorophyll Index (CI)",
"es-mx": "Índice de Clorofila (IC)",
"pt-br": "Índice de clorofila (CI)"
},
"legend_ci_change": {
"en": "CI Change (Week-over-Week)",
"es-mx": "Variación del IC",
"pt-br": "Variação do CI (semanal)"
},
"ci_change_title": {
"en": "Weekly CI Change - Week {current_week} versus Week {week_minus_1}",
"es-mx": "Variación semanal del IC: semana {current_week} frente a semana {week_minus_1}",
"pt-br": "Variação semanal do CI - Semana {current_week} em comparação com a semana {week_minus_1}"
},
"KPI": {
"en": "KPI",
"es-mx": "IDC",
"pt-br": "KPI"
},
"CV": {
"en": "CV",
"es-mx": "CV",
"pt-br": "CV"
},
"CI": {
"en": "CI",
"es-mx": "IC",
"pt-br": "CI"
},
"Patchiness": {
"en": "Patchiness",
"es-mx": "Irregularidad",
"pt-br": "Irregularidade"
},
"Decline": {
"en": "Decline",
"es-mx": "Declive",
"pt-br": "Declínio"
},
"map_title_max_ci": {
"en": "Max CI week {week}\\n{age} weeks ({age_days} days) old",
"es-mx": "Semana de IC máx. {week}\\n{age} semanas ({age_days} días de edad)",
"pt-br": "Semana de CI máx. {week}\\n{age} semanas ({age_days} dias de idade)"
},
"map_title_ci_change": {
"en": "CI change week {week_1} - week {week_2}\\n{age} weeks ({age_days} days) old",
"es-mx": "Cambio de IC: sem. {week_1} - sem. {week_2}\\n{age} semanas ({age_days} días de edad)",
"pt-br": "Variação de CI: sem. {week_1} - sem. {week_2}\\n{age} semanas ({age_days} dias de idade)"
},
"map_legend_ci_diff": {
"en": "CI diff.",
"es-mx": "Dif. IC",
"pt-br": "Dif. CI"
},
"field_section_header": {
"en": "Field {pivotName} - {age} weeks/ {age_months} months after planting/harvest",
"es-mx": "Parcela {pivotName} - {age} semanas/ {age_months} meses después de la siembra/cosecha",
"pt-br": "Campo {pivotName} - {age} semanas/ {age_months} meses após o plantio/colheita"
},
"lbl_age_of_crop_days": {
"en": "Age of Crop (Days)",
"es-mx": "Edad del cultivo (días)",
"pt-br": "Idade do cultivo (dias)"
},
"lbl_week_number": {
"en": "Week Number",
"es-mx": "Número de semana",
"pt-br": "Número da semana"
},
"lbl_age_in_months": {
"en": "Age in Months",
"es-mx": "Edad en meses",
"pt-br": "Idade em meses"
},
"lbl_ci_value": {
"en": "CI Value",
"es-mx": "Valor IC",
"pt-br": "Valor CI"
},
"lbl_cumulative_ci": {
"en": "Cumulative CI",
"es-mx": "IC acumulado",
"pt-br": "CI acumulado"
},
"lbl_rolling_mean_ci": {
"en": "10-Day Rolling Mean CI",
"es-mx": "Promedio móvil de IC (10 días)",
"pt-br": "Média móvel de CI (10 dias)"
},
"lbl_season": {
"en": "Season",
"es-mx": "Temporada",
"pt-br": "Temporada"
},
"lbl_field_name": {
"en": "Field Name",
"es-mx": "Nombre de parcela",
"pt-br": "Nome do campo"
},
"lbl_for_field": {
"en": "for Field",
"es-mx": "para la parcela",
"pt-br": "para o campo"
},
"lbl_plot_of": {
"en": "Plot of",
"es-mx": "Gráfico de",
"pt-br": "Gráfico de"
},
"lbl_ci_analysis_title": {
"en": "CI Analysis for Field {pivotName}",
"es-mx": "Análisis de IC para la parcela {pivotName}",
"pt-br": "Análise de CI para o campo {pivotName}"
},
"lbl_plot_of_for_field": {
"en": "Plot of {y_label} for Field {pivotName}",
"es-mx": "Gráfico de {y_label} para la parcela {pivotName}",
"pt-br": "Gráfico de {y_label} para o campo {pivotName}"
},
"lbl_no_data": {
"en": "No data available",
"es-mx": "Sin datos disponibles",
"pt-br": "Sem dados disponíveis"
},
"lbl_date": {
"en": "Date",
"es-mx": "Fecha",
"pt-br": "Data"
},
"lbl_ci_rate": {
"en": "CI Rate",
"es-mx": "Tasa IC",
"pt-br": "Taxa CI"
},
"lbl_rolling_mean_fallback": {
"en": "14 day rolling MEAN CI rate - Field {pivotName}",
"es-mx": "Promedio móvil de IC 14 días - Parcela {pivotName}",
"pt-br": "Média móvel de CI 14 dias - Campo {pivotName}"
},
"map_legend_ci_title": {
"en": "CI",
"es-mx": "IC",
"pt-br": "CI"
}
}
}

View file

@ -0,0 +1,830 @@
{
"main_translations": {
"cover_title": {
"en": "Satellite Based Field Reporting",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"cover_subtitle": {
"en": "Cane Supply Office\n\nChlorophyll Index (CI) Monitoring Report — {toupper(params$data_dir)} Estate (Week {if (!is.null(params$week)) params$week else format(as.Date(params$report_date), '%V')}, {format(as.Date(params$report_date), '%Y')})",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_summary_heading": {
"en": "## Report Generated",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_farm_location": {
"en": "**Farm Location:**",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_period_label": {
"en": "**Report Period:** Week {current_week} of {year}",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_generated_on": {
"en": "**Report Generated on:**",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_farm_size": {
"en": "**Farm Size Included in Analysis:** {formatC(total_acreage, format='f', digits=1)} acres",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_data_source": {
"en": "**Data Source:** Planet Labs Satellite Imagery",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_analysis_type": {
"en": "**Analysis Type:** Chlorophyll Index (CI) Monitoring",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"key_insights": {
"en": "## Key Insights",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"insight_excellent_unif": {
"en": "- {excellent_pct}% of fields have excellent uniformity (CV < 0.08)",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"insight_good_unif": {
"en": "- {good_pct}% of fields have good uniformity (CV < 0.15)",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"insight_improving": {
"en": "- {round(improving_acreage, 1)} acres ({improving_pct}%) of farm area is improving week-over-week",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"insight_declining": {
"en": "- {round(declining_acreage, 1)} acres ({declining_pct}%) of farm area is declining week-over-week",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_na_insights": {
"en": "KPI data not available for key insights.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_structure_heading": {
"en": "## Report Structure",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_structure_body": {
"en": "**Section 1:** Cane supply zone analyses, summaries and Key Performance Indicators (KPIs)\n**Section 2:** Explanation of the report, definitions, methodology, and CSV export structure",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"section_i": {
"en": "# Section 1: Farm-wide Analyses and KPIs",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"section_1_1": {
"en": "## 1.1 Overview of cane supply area, showing zones with number of acres being harvest ready",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"section_1_2": {
"en": "## 1.2 Key Performance Indicators",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_empty": {
"en": "KPI summary data available but is empty/invalid.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_unavailable": {
"en": "KPI summary data not available.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"metadata": {
"en": "## Report Metadata",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"disclaimer": {
"en": "*This report was automatically generated by the SmartCane monitoring system. For questions or additional analysis, please contact the technical team at info@smartcane.ag.*",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"section_2_heading": {
"en": "# Section 2: Support Document for weekly SmartCane data package.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_doc_heading": {
"en": "## 1. About This Document",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_doc_body": {
"en": "This document is the support document to the SmartCane data file. It includes the definitions, explanatory calculations and suggestions for interpretations of the data as provided. For additional questions please feel free to contact SmartCane support, through your contact person, or via info@smartcane.ag.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_data_heading": {
"en": "## 2. About the Data File",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_data_body": {
"en": "The data file is automatically populated based on normalized and indexed remote sensing images of provided polygons. Specific SmartCane algorithms provide tailored calculation results developed to support the sugarcane operations by:",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_data_bullet_harvest": {
"en": "Supporting harvest planning mill-field logistics to ensure optimal tonnage and sucrose levels",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_data_bullet_monitoring": {
"en": "Monitoring of the crop growth rates on the farm, providing evidence of performance",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_data_bullet_identifying": {
"en": "Identifying growth-related issues that are in need of attention",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_data_bullet_enabling": {
"en": "Enabling timely actions to minimize negative impact",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"about_data_key_features": {
"en": "Key Features of the data file: - High-resolution satellite imagery analysis - Week-over-week change detection - Individual field performance metrics - Actionable insights for crop management.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"ci_section_heading": {
"en": "#### *What is the Chlorophyll Index (CI)?*",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"ci_intro_body": {
"en": "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:",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"ci_bullet_photosynthetic": {
"en": "Greater photosynthetic activity",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"ci_bullet_healthy": {
"en": "Healthier plant tissue",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"ci_bullet_nitrogen": {
"en": "Better nitrogen uptake",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"ci_bullet_vigorous": {
"en": "More vigorous crop growth",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"ci_range_body": {
"en": "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.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"data_structure_heading": {
"en": "### Data File Structure and Columns",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"data_structure_intro": {
"en": "The data file is organized in rows, one row per agricultural field (polygon), and columns, providing field data, actual measurements, calculation results and descriptions. The data file can be directly integrated with existing farm management systems for further analysis. Each column is described hereunder:",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_field_id_desc": {
"en": "Unique identifier for a cane field combining field name and sub-field number. This can be the same as Field_Name but is also helpful in keeping track of cane fields should they change, split or merge.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_farm_section_desc": {
"en": "Sub-area or section name",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_field_name_desc": {
"en": "Client name or label assigned to a cane field.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_acreage_desc": {
"en": "Field size in acres",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_status_trigger_desc": {
"en": "Shows changes in crop status worth alerting. More detailed explanation of the possible alerts is written down under key concepts.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_last_harvest_desc": {
"en": "Date of most recent harvest as per satellite detection algorithm / or manual entry",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_age_week_desc": {
"en": "Time elapsed since planting/harvest in weeks; used to predict expected growth phases. Reflects planting/harvest date.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_phase_desc": {
"en": "Current growth phase (e.g., germination, tillering, stem elongation, grain fill, mature) inferred from crop age",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_germination_progress_desc": {
"en": "Estimated percentage or stage of germination/emergence based on CI patterns and age. This goes for young fields (age < 4 months). Remains at 100% when finished.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_mean_ci_desc": {
"en": "Average Chlorophyll Index value across the field; higher values indicate healthier, greener vegetation. Calculated on a 7-day merged weekly image.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_weekly_ci_change_desc": {
"en": "Week-over-week change in Mean_CI; positive values indicate greening/growth, negative values indicate yellowing/decline",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_four_week_trend_desc": {
"en": "Long term change in mean CI; smoothed trend (strong growth, growth, no growth, decline, strong decline)",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_ci_range_desc": {
"en": "Min-max Chlorophyll Index values within the field; wide ranges indicate spatial heterogeneity/patches. Derived from week mosaic.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_ci_percentiles_desc": {
"en": "The CI-range without border effects",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_cv_desc": {
"en": "Coefficient of variation of CI; measures field uniformity (lower = more uniform, >0.25 = poor uniformity). Derived from week mosaic. In percentages.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_cv_trend_short_desc": {
"en": "Trend of CV over two weeks. Indicating short-term heterogeneity.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_cv_trend_long_desc": {
"en": "Slope of 8-week trend line.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_imminent_prob_desc": {
"en": "Probability (0-1) that the field is ready for harvest based on LSTM harvest model predictions",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_cloud_pct_desc": {
"en": "Percentage of field visible in the satellite image (unobstructed by clouds); lower values indicate poor data quality",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"col_cloud_category_desc": {
"en": "Classification of cloud cover level (e.g., clear, partial, heavy); indicates confidence in CI measurements",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"key_concepts_heading": {
"en": "# 3. Key Concepts",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"growth_phases_heading": {
"en": "#### *Growth Phases (Age-Based)*",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"growth_phases_intro": {
"en": "Each field is assigned to one of four growth phases based on age in weeks since planting:",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"germination_age_range": {
"en": "0-6 weeks",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"tillering_age_range": {
"en": "4-16 weeks",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"grand_growth_age_range": {
"en": "17-39 weeks",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"maturation_age_range": {
"en": "39+ weeks",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"germination_characteristics": {
"en": "Crop emergence and early establishment; high variability expected",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"tillering_characteristics": {
"en": "Shoot multiplication and plant establishment; rapid growth phase",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"grand_growth_characteristics": {
"en": "Peak vegetative growth; maximum height and biomass accumulation",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"maturation_characteristics": {
"en": "Ripening phase; sugar accumulation and preparation for harvest",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"status_alert_heading": {
"en": "#### *Status Alert*",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"status_alert_intro": {
"en": "Status alerts indicate the current field condition based on CI and age-related patterns. Each field receives **one alert** reflecting its most relevant status:",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_ready_condition": {
"en": "Harvest model > 0.50 and crop is mature",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_ready_phase_info": {
"en": "Active from 52 weeks onwards",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_ready_msg": {
"en": "Ready for harvest-check",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvested_bare_condition": {
"en": "Field of 50 weeks or older either shows mean CI values lower than 1.5 (for a maximum of three weeks) OR drops from higher CI to lower than 1.5. Alert drops if CI rises and passes 1.5 again",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvested_bare_phase_info": {
"en": "Maturation (39+)",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvested_bare_msg": {
"en": "Harvested or bare field",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"stress_condition": {
"en": "Mean CI on field drops by 2+ points but field mean CI remains higher than 1.5",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"stress_phase_info": {
"en": "Any",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"stress_msg": {
"en": "Strong decline in crop health",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_date_heading": {
"en": "#### *Harvest Date and Harvest Imminent*",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_date_body_1": {
"en": "The SmartCane algorithm calculates the last harvest date and the probability of harvest approaching in the next 4 weeks. Two different algorithms are used.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_date_body_2": {
"en": "The **last harvest date** is a timeseries analysis of the CI levels of the past years, based on clean factory managed fields as data set for the machine learning, a reliability of over 90% has been reached. Smallholder managed fields of small size (0.3 acres) have specific side effects and field management characteristics, that influence the model results.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_date_body_3": {
"en": "**Imminent_probability** of harvest is a prediction algorithm, estimating the likelihood of a crop ready to be harvested in the near future. This prediction takes the CI-levels into consideration, building on the vegetative development of sugarcane in the last stage of Maturation, where all sucrose is pulled into the stalk, depleting the leaves from energy and productive function, reducing the levels of CI in the leaf tissue.",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_date_body_4": {
"en": "Both algorithms are not always in sync, and can have contradictory results. Wider field characteristics analysis is suggested if such contradictory calculation results occur.",
"es-mx": "",
"pt-br": "",
"sw": ""
}
},
"status_translations": {
"PHASE DISTRIBUTION": {
"en": "Phase Distribution",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"OPERATIONAL ALERTS": {
"en": "Operational Alerts",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"AREA CHANGE": {
"en": "Area Change",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"CLOUD INFLUENCE": {
"en": "Cloud Influence",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"TOTAL FARM": {
"en": "Total Farm",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Germination": {
"en": "Germination",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Tillering": {
"en": "Tillering",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Grand Growth": {
"en": "Grand Growth",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Maturation": {
"en": "Maturation",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Unknown Phase": {
"en": "Unknown Phase",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvest_ready": {
"en": "Ready for Harvest-Check",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"harvested_bare": {
"en": "Harvested / Bare Field",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"stress_detected": {
"en": "Stress Detected",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"germination_delayed": {
"en": "Germination Delayed",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"growth_on_track": {
"en": "Growth on Track",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"No active triggers": {
"en": "No Active Triggers",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Improving": {
"en": "Improving",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Stable": {
"en": "Stable",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Declining": {
"en": "Declining",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"Total Acreage": {
"en": "Total Acreage",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_na": {
"en": "KPI data not available for {project_dir} on this date.",
"es-mx": "",
"pt-br": "",
"sw": ""
}
},
"figure_translations": {
"kpi_col_category": {
"en": "KPI Category",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_col_item": {
"en": "Item",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_col_acreage": {
"en": "Acreage",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_col_percent": {
"en": "Percentage of Total Fields",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"kpi_col_fields": {
"en": "# Fields",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"hexbin_legend_acres": {
"en": "Total Acres",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"hexbin_subtitle": {
"en": "Acres of fields 'harvest ready within a month'",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"hexbin_not_ready": {
"en": "Not harvest ready",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"metadata_caption": {
"en": "Report Metadata",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"metric": {
"en": "Metric",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"value": {
"en": "Value",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"report_gen": {
"en": "Report Generated",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"data_source": {
"en": "Data Source",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"analysis_period": {
"en": "Analysis Period",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"tot_fields_number": {
"en": "Total Fields [number]",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"tot_area_acres": {
"en": "Total Area [acres]",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"next_update": {
"en": "Next Update",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"service_provided": {
"en": "Service provided",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"service_start": {
"en": "Starting date service",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"next_wed": {
"en": "Next Wednesday",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"week": {
"en": "Week",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"of": {
"en": "of",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"project": {
"en": "Project",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"cane_supply_service": {
"en": "Cane Supply Office - Weekly",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"unknown": {
"en": "Unknown",
"es-mx": "",
"pt-br": "",
"sw": ""
},
"no_field_data": {
"en": "No field-level KPI data available for this report period.",
"es-mx": "",
"pt-br": "",
"sw": ""
}
}
}