Skip to content

Conversation

cvvergara
Copy link
Member

@cvvergara cvvergara commented Sep 24, 2025

Changes proposed in this pull request:

  • Fixes translation typos
  • upgrades cmake to 3.12

@pgRouting/admins

Summary by CodeRabbit

  • Documentation
    • Simplified doc build options (HTML, PDF, locale, link-check); improved Sphinx discovery, version/flag handling, clearer status and error messages; refined language/locales and explicit build-language collection.
  • Translations
    • Updated Spanish and Swedish translations (punctuation, placeholders, formatting) and updated translator contacts across many locale files; Japanese translator contact updates.
  • Refactor
    • Raised minimum CMake/Sphinx tooling requirements and modernized discovery/validation.
  • Chores (CI)
    • Simplified CI workflow and streamlined cmake invocation; removed some setup/debug steps.

@cvvergara cvvergara added this to the FOSS4G 2024 milestone Sep 24, 2025
Copy link

coderabbitai bot commented Sep 24, 2025

Walkthrough

Refactors documentation build: raises CMake minimum to 3.12; replaces find_package(Sphinx) with find_program + explicit version extraction and SPHINX_FLAGS; switches Perl discovery to find_package(Perl); centralizes BUILD_* options and language selection; updates docs/CMakeLists and CI; and applies multiple PO metadata and minor translation fixes (ES, SV, JA).

Changes

Cohort / File(s) Summary of edits
Build system root (CMake)
CMakeLists.txt
Bumped cmake_minimum_required to 3.12; replace find_package(Sphinx ...) with find_program(SPHINX_EXECUTABLE ...), capture SPHINX_EXECUTABLE_VERSION and check SPHINX_MINIMUM_VERSION; add SPHINX_FLAGS cache; switch to find_package(Perl REQUIRED); add options BUILD_HTML, BUILD_PDF, BUILD_LOCALE, BUILD_LINKCHECK; introduce WORKSHOP_LANGUAGES, WORKSHOP_LANGUAGES_TRANSLATED, derive PGR_WORKSHOP_BUILD_LANGUAGES and PGR_WORKSHOP_DOC_TARGETS; add validation, status logs and early exits on invalid configs.
Docs build orchestration
docs/CMakeLists.txt
Removed internal Sphinx/LATEX options and SPHINX_OPTS internal variables; rely on root-level BUILD_/language variables; iterate PGR_WORKSHOP_DOC_TARGETS and PGR_WORKSHOP_BUILD_LANGUAGES to create per-format/per-language Sphinx targets; minor formatting/whitespace tweaks.
CI workflow
.github/workflows/ubuntu.yml
Removed initial PostgreSQL status check, removed debug echos and a mkdir, simplified cmake configure flags (drop explicit -DSV/-DES), and reordered/simplified Configure steps (data download step noted in summary).
Translations — Spanish (es)
locale/es/LC_MESSAGES/* (multiple files)
Updated translator contact email for Vicky Vergara (vicky@georepublic.devicky@erosion.dev) across many Spanish PO headers; minor typographic/code-span fixes in basic/data.po.
Translations — Swedish (sv)
locale/sv/LC_MESSAGES/basic/graph_views.po, .../basic/pedestrian.po, .../basic/plpgsql_function.po, .../basic/vehicle.po, .../interactions/chapter-9.po
Swedish PO fixes: normalize reference formatting (backticks + trailing underscore), fix placeholder tokens (`
Translations — Japanese (ja)
locale/ja/LC_MESSAGES/* (multiple files)
Updated translator contact emails (Ko Nagase, Taro Matsuzawa and Last-Translator fields) in several PO headers; no msgid/msgstr changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant User as Developer
  participant CMake as CMake Configure
  participant Sphinx as sphinx-build
  participant Intl as sphinx-intl

  Note over CMake: Configure phase (new checks & options)
  User->>CMake: run cmake
  CMake->>CMake: find_program(SPHINX_EXECUTABLE) & execute_process to get version
  CMake->>CMake: check SPHINX_MINIMUM_VERSION, set SPHINX_FLAGS
  CMake->>CMake: find_package(Perl REQUIRED)
  CMake->>CMake: collect BUILD_* → PGR_WORKSHOP_DOC_TARGETS
  CMake->>CMake: collect WORKSHOP_LANGUAGES(+translated) → PGR_WORKSHOP_BUILD_LANGUAGES
  alt invalid config
    CMake-->>User: error & stop
  else valid config
    CMake-->>User: generate per-format/per-language targets
  end

  Note over User,CMake: Build phase
  User->>CMake: build docs target
  loop for each format in PGR_WORKSHOP_DOC_TARGETS
    alt format is "locale"
      CMake->>Intl: run sphinx-intl to manage PO files
      Intl-->>CMake: localized sources ready
    else
      loop each lang in PGR_WORKSHOP_BUILD_LANGUAGES
        CMake->>Sphinx: run sphinx-build -b <format> -D language=<lang> [SPHINX_FLAGS]
        Sphinx-->>CMake: build artifacts
      end
    end
  end
  CMake-->>User: artifacts produced
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

administrative

Poem

I twitch my whiskers at the change,
New flags and languages in a range.
Sphinx found by path, locales align,
PO headers tidy, translators sign.
I hop, I pack — the docs look fine. 🐇

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title Check ❓ Inconclusive The title “Belem 2024” does not describe the actual changes in the PR, such as bumping the CMake requirement or fixing translation typos, and is too generic for someone scanning the history to understand the intent. Consider renaming the PR to a concise title that highlights the main changes, for example “Bump CMake minimum version to 3.12 and fix translation typos,” so reviewers immediately see the scope of the update.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cvvergara cvvergara requested a review from iosefa September 24, 2025 16:13
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (7)
locale/sv/LC_MESSAGES/interactions/chapter-9.po (1)

181-183: Fix Swedish wording: “förminskat” → “formaterat”

“formmated layer” means “formatted layer,” not “minimized.” Update the Swedish text.

Apply this diff:

- Välj ett förminskat lager och :menuselection:`Högerklicka --> Stilar --> Kopiera stilar`
+ Välj ett formaterat lager och :menuselection:`Högerklicka --> Stilar --> Kopiera stilar`
locale/es/LC_MESSAGES/basic/data.po (1)

177-181: Minor Spanish clarity: add “en” before appendix reference

Improves readability and matches Spanish usage with Sphinx doc link.

Apply this diff:

- adicional sobre ``osm2pgrouting`` :doc:`../appendix/appendix-3`
+ adicional sobre ``osm2pgrouting`` en :doc:`../appendix/appendix-3`
docs/CMakeLists.txt (2)

48-65: Locale generation: verify sphinx‑intl presence and language list handling

  • This invokes sphinx-intl without checking availability; builds will fail if it’s missing.
  • Passing a comma-joined SPHINXINTL_LANGUAGE may not be accepted; sphinx-intl expects repeated -l flags.

Recommend detecting sphinx-intl (find_program) and iterating languages to pass multiple -l flags, or generate one update command per language.

Do you want me to propose a patch that introduces find_program(sphinx-intl) here and loops over PGR_WORKSHOP_BUILD_LANGUAGES for -l flags?


69-110: No-op WARNINGS_TO_ERRORS and noisy messages

  • WARNINGS_TO_ERRORS is always empty. If the intention is to treat warnings as errors for non-English, pass -W for those languages.
  • The message(STATUS ...) lines (82–83) are verbose for normal builds.

Optional: remove the messages or guard under PGR_WORKSHOP_VERBOSE_DEBUG and wire -W for non-en targets.

-    if (lang STREQUAL "en")
-      set(WARNINGS_TO_ERRORS "")
-    else()
-      set(WARNINGS_TO_ERRORS "")
-    endif()
-    message(STATUS "lang ${lang}")
-    message(STATUS "WARNINGS_TO_ERRORS ${WARNINGS_TO_ERRORS}")
+    if (lang STREQUAL "en")
+      set(WARNINGS_TO_ERRORS "")
+    else()
+      set(WARNINGS_TO_ERRORS "-W")
+    endif()
+    if (PGR_WORKSHOP_VERBOSE_DEBUG)
+      message(STATUS "lang ${lang}")
+      message(STATUS "WARNINGS_TO_ERRORS ${WARNINGS_TO_ERRORS}")
+    endif()
CMakeLists.txt (3)

107-112: find_program misuse of REQUIRED keyword

find_program doesn’t support REQUIRED; it’s ignored and treated like a name. Since you already error below when not found, drop REQUIRED to avoid confusion.

-find_program(SPHINX_EXECUTABLE
-  REQUIRED
-  NAMES sphinx-build
-  DOC "Sphinx Documentation Builder (sphinx-doc.org)"
-)
+find_program(SPHINX_EXECUTABLE
+  NAMES sphinx-build
+  DOC "Sphinx Documentation Builder (sphinx-doc.org)")

126-129: Dead return() after FATAL_ERROR

FATAL_ERROR stops processing; the return() is unreachable. Remove it.

 if (NOT SPHINX_EXECUTABLE)
   message(FATAL_ERROR "Sphinx not found")
-  return()
 endif()

219-224: sphinx-intl language list format may be invalid

This builds a comma-prefixed, comma-separated string (e.g., “,en,es,...”). sphinx-intl expects -l per language. Consider storing a semicolon list and iterating when invoking sphinx-intl (or generate one command per language).

I can propose a small patch to accumulate a list variable (e.g., PGR_LOCALE_LANGS) and adjust docs/CMakeLists.txt to iterate languages when running sphinx-intl. Want me to draft it?

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1a7e1d6 and 83d9e25.

📒 Files selected for processing (8)
  • CMakeLists.txt (5 hunks)
  • docs/CMakeLists.txt (2 hunks)
  • locale/es/LC_MESSAGES/basic/data.po (1 hunks)
  • locale/sv/LC_MESSAGES/basic/graph_views.po (1 hunks)
  • locale/sv/LC_MESSAGES/basic/pedestrian.po (3 hunks)
  • locale/sv/LC_MESSAGES/basic/plpgsql_function.po (2 hunks)
  • locale/sv/LC_MESSAGES/basic/vehicle.po (1 hunks)
  • locale/sv/LC_MESSAGES/interactions/chapter-9.po (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build
🔇 Additional comments (7)
locale/sv/LC_MESSAGES/basic/vehicle.po (1)

328-328: LGTM — placeholder token formatting fixed

The updated translation preserves the |place_X| tokens correctly.

locale/sv/LC_MESSAGES/basic/graph_views.po (1)

519-519: LGTM — backtick + trailing underscore link style

The reference formatting now matches Sphinx’s expected pattern.

locale/sv/LC_MESSAGES/basic/pedestrian.po (1)

150-151: LGTM — token and reference formatting corrections

  • Line 150: Keeps "|place_3|" and "|place_5|" intact.
  • Line 365: Quoted placeholders are correct.
  • Line 434: Trailing underscore on the cross-reference is correct.

Also applies to: 365-365, 434-434

locale/sv/LC_MESSAGES/basic/plpgsql_function.po (2)

372-373: LGTM — URL formatting for PostGIS operator

Proper angle-bracket URL formatting is applied.


570-571: LGTM — section reference style

Backtick + underscore reference is consistent with Sphinx.

locale/sv/LC_MESSAGES/interactions/chapter-9.po (1)

165-165: LGTM — menuselection token

Switched to :menuselection: consistently.

CMakeLists.txt (1)

2-2: CMake minimum version bump to 3.12 — OK

Matches the PR objective.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
docs/CMakeLists.txt (1)

8-8: Minor formatting: Inconsistent line ending.

The closing parenthesis appears on its own line, which seems inconsistent with the general formatting style in the file.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 83d9e25 and f3d6b07.

📒 Files selected for processing (3)
  • .github/workflows/ubuntu.yml (2 hunks)
  • CMakeLists.txt (6 hunks)
  • docs/CMakeLists.txt (1 hunks)
🔇 Additional comments (7)
.github/workflows/ubuntu.yml (1)

47-52: LGTM! Data preparation step added properly.

The new "get data" step downloads the necessary OSM data files for the workshop and aligns with the workshop requirements mentioned in the AI summary. The choice to use -N and --progress=dot:mega flags is appropriate for CI environments.

CMakeLists.txt (6)

2-2: CMake version update is appropriate.

The upgrade to CMake 3.12 introduces important features like add_compile_definitions() and support for version ranges in cmake_minimum_required(), which aligns well with the modernization of the build system shown in this PR.


107-132: Modern Sphinx discovery approach is well-implemented.

The replacement of find_package(Sphinx REQUIRED) with find_program(SPHINX_EXECUTABLE ...) provides better control over version checking and error handling. The version validation logic and early return pattern are appropriate.


154-154: Modern Perl discovery approach is appropriate.

The migration from custom FindPerl-based checks to find_package(Perl REQUIRED) follows modern CMake best practices.


161-177: Document target consolidation improves maintainability.

The consolidation from granular HTML/JSON/PICKLE options to BUILD_HTML, BUILD_PDF, BUILD_LOCALE, BUILD_LINKCHECK is cleaner and easier to manage. The validation logic ensures at least one target is selected.


185-196: Language handling overhaul is well-structured.

The separation of translated vs. non-translated languages with appropriate defaults (ON for translated, OFF for others) provides clear control over which documentation languages to build.


208-212: Good validation: Prevents empty language builds.

The check ensures at least one language is selected for building, preventing configuration errors that would result in no documentation output.

Comment on lines +61 to +63
if (WORKSHOP_DEBUG)
message(STATUS "WORKSHOP_CITY_FILE=${WORKSHOP_CITY_FILE}")
endif()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Variable name inconsistency: Missing PGR_ prefix.

The conditional check uses WORKSHOP_DEBUG but the option is defined as PGR_WORKSHOP_DEBUG in Lines 37-38. This will cause the debug message to never execute.

Apply this diff to fix the variable name:

-if (WORKSHOP_DEBUG)
-  message(STATUS "WORKSHOP_CITY_FILE=${WORKSHOP_CITY_FILE}")
+if (PGR_WORKSHOP_DEBUG)
+  message(STATUS "PGR_WORKSHOP_CITY_FILE=${PGR_WORKSHOP_CITY_FILE}")
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if (WORKSHOP_DEBUG)
message(STATUS "WORKSHOP_CITY_FILE=${WORKSHOP_CITY_FILE}")
endif()
if (PGR_WORKSHOP_DEBUG)
message(STATUS "PGR_WORKSHOP_CITY_FILE=${PGR_WORKSHOP_CITY_FILE}")
endif()
🤖 Prompt for AI Agents
In CMakeLists.txt around lines 61 to 63, the conditional uses WORKSHOP_DEBUG
while the option is defined as PGR_WORKSHOP_DEBUG; update the conditional to
check PGR_WORKSHOP_DEBUG instead so the debug message executes correctly (i.e.,
replace WORKSHOP_DEBUG with PGR_WORKSHOP_DEBUG in the if statement).

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (21)
locale/es/LC_MESSAGES/un_sdg/sdg7-energy.po (7)

61-62: Fix RST link markup in translation

Leading apostrophe breaks the interpreted text role. Use backticks only.

Apply this diff:

-msgstr "'Fuente de la imagen <https://sdgs.un.org/goals/goal7>`__"
+msgstr "`Fuente de la imagen <https://sdgs.un.org/goals/goal7>`__"

134-141: Correct doc role and domain terms (“grafo” vs “gráfico”)

  • Use :doc:data (matches source) instead of :ref: with a different target.
  • Replace “gráfico” (graphic) with “grafo” (graph).

Apply this diff:

-msgstr ""
-"El primer paso es preprocesar los datos obtenidos de "
-":ref:`un_sdg/data:Datos para los Objetivos de Desarrollo Sostenible`. En "
-"esta sección se trabajará el gráfico que se va a utilizar para el "
-"procesamiento. Al construir el gráfico, los datos deben inspeccionarse "
-"para determinar si hay datos no válidos. Este es un paso muy importante "
-"para asegurarse de que los datos sean de la calidad requerida. pgRouting "
-"también se puede utilizar para realizar algunos ajustes de datos. Esto se"
-" discutirá en secciones posteriores."
+msgstr ""
+"El primer paso es preprocesar los datos obtenidos de :doc:`data`. En "
+"esta sección se trabajará el grafo que se va a utilizar para el "
+"procesamiento. Al construir el grafo, los datos deben inspeccionarse "
+"para determinar si hay datos no válidos. Este es un paso muy importante "
+"para asegurarse de que los datos sean de la calidad requerida. pgRouting "
+"también se puede utilizar para realizar algunos ajustes de datos. Esto se "
+"discutirá en secciones posteriores."

159-162: Exercise title mistranslated and misnumbered

Match the source and fix accents.

Apply this diff:

-#, fuzzy
-msgid "Exercise 1: Set the seach path"
-msgstr "Ejercicio 2: Inspeccion de la ruta de búsqueda actual"
+#, fuzzy
+msgid "Exercise 1: Set the seach path"
+msgstr "Ejercicio 1: Establecer la ruta de búsqueda"

168-170: Fix backtick imbalance around schema names

Unbalanced backticks will produce broken formatting.

Apply this diff:

-msgstr ""
-"En este caso, la ruta de búsqueda debe incluir los esquemas `roads`` y "
-"``buildings``. La siguiente consulta se utiliza para corregir la ruta de "
-"búsqueda."
+msgstr ""
+"En este caso, la ruta de búsqueda debe incluir los esquemas ``roads`` y "
+"``buildings``. La siguiente consulta se utiliza para corregir la ruta de "
+"búsqueda."

260-262: Multiple typos in documentation sentence

Fix grammar and wording (“documentación… puede encontrarse… enlace”).

Apply this diff:

-msgstr ""
-"Para más información la documentation de `pgr_kruskalDFS "
-"<https://docs.pgrouting.org/3.1/en/pgr_kruskalDFS.html>`__ puede se "
-"emcotrada en esta liga.."
+msgstr ""
+"Para más información, la documentación de `pgr_kruskalDFS "
+"<https://docs.pgrouting.org/3.1/en/pgr_kruskalDFS.html>`__ puede "
+"encontrarse en este enlace."

308-311: Exercise title numbering mismatch

Match “Exercise 4” and complete the Spanish title.

Apply this diff:

-#, fuzzy
-msgid "Exercise 4: Compute total length of material required in km"
-msgstr "Ejercicio 11: Calcular la longitud total del material requerido en km"
+#, fuzzy
+msgid "Exercise 4: Compute total length of material required in km"
+msgstr "Ejercicio 4: Calcular la longitud total del material requerido en km"

331-334: Missing translation for output summary

Provide Spanish text to avoid empty UI strings.

Apply this diff:

-msgstr ""
+msgstr ""
+"-Para esta área se obtienen los siguientes resultados: - "
+"-* Longitud total de carreteras: ``55.68 km`` "
+"-* Longitud de la red óptima: ``29.89 km``"
locale/es/LC_MESSAGES/un_sdg/introduction.po (2)

79-80: Fix RST link markup in translation

Remove stray leading apostrophe.

Apply this diff:

-msgstr "'Fuente de la imagen <https://research.un.org/en/maps/flags/>`__"
+msgstr "`Fuente de la imagen <https://research.un.org/en/maps/flags/>`__"

455-456: Typo in “ODS 11 de la ONU”

Replace “dla” with “de la”.

Apply this diff:

-msgstr "ODS 11 dla ONU: Ciudades y comunidades sostenibles"
+msgstr "ODS 11 de la ONU: Ciudades y comunidades sostenibles"
locale/es/LC_MESSAGES/general-intro/introduction.po (11)

32-34: Missing translation for key intro sentence

Provide Spanish to avoid empty output.

Apply this diff:

-msgid "|pgrouting-web| adds routing functionality to |postgis-web|."
-msgstr ""
+msgid "|pgrouting-web| adds routing functionality to |postgis-web|."
+msgstr "|pgrouting-web| añade funcionalidad de ruteo a |postgis-web|."

36-44: Outdated/truncated translation (fuzzy block)

Complete the translation and align with current text.

Apply this diff:

-#, fuzzy
-msgid ""
-"Please see the :doc:`contents <../index>` for full content of FOSS4G "
-"Belém workshop. This workshop covers two levels for using pgRouting: "
-"`Basic`_ and `Advanced`_."
-msgstr ""
-"Consulte :doc:`contents <../index>` para obtener todo el contenido de "
-"este taller."
+#, fuzzy
+msgid ""
+"Please see the :doc:`contents <../index>` for full content of FOSS4G "
+"Belém workshop. This workshop covers two levels for using pgRouting: "
+"`Basic`_ and `Advanced`_."
+msgstr ""
+"Consulte :doc:`contents <../index>` para ver el contenido completo del "
+"taller FOSS4G Belém. Este taller cubre dos niveles para usar pgRouting: "
+"`Básico`_ y `Avanzado`_."

105-108: Version mismatch: OSGeoLive 17 vs 16.0 in ES

Sync with source to avoid confusion.

Apply this diff:

-#, fuzzy
-msgid "Equipments: `OSGeoLive <https://live.osgeo.org>`__ (17)"
-msgstr "Equipos: Este taller utiliza `OSGeoLive <https://live.osgeo.org>`__ (16.0)"
+#, fuzzy
+msgid "Equipments: `OSGeoLive <https://live.osgeo.org>`__ (17)"
+msgstr "Equipos: Este taller utiliza `OSGeoLive <https://live.osgeo.org>`__ (17)"

130-131: Missing translation: “Aknowledments”

Provide Spanish (and keep source typo as-is).

Apply this diff:

-msgid "Aknowledments"
-msgstr ""
+msgid "Aknowledments"
+msgstr "Agradecimientos"

143-145: Missing translation: Developers & presenters

Add Spanish text.

Apply this diff:

-msgid "Developers & presenters of FOSS4G Belém workshop:"
-msgstr ""
+msgid "Developers & presenters of FOSS4G Belém workshop:"
+msgstr "Desarrolladores y presentadores del taller FOSS4G Belém:"

157-160: Missing translation: Ramón Ríos bio

Add Spanish text.

Apply this diff:

-msgid ""
-"*Ramón Ríos* Is a freelance developer from Mexico. Lead engenieer for "
-"ParkUpFront"
-msgstr ""
+msgid ""
+"*Ramón Ríos* Is a freelance developer from Mexico. Lead engenieer for "
+"ParkUpFront"
+msgstr ""
+"*Ramón Ríos* es un desarrollador freelance de México. Ingeniero líder en "
+"ParkUpFront"

162-170: Missing translations: Tutors/developers list heading and content

Provide heading translation; keep names as-is.

Apply this diff:

-msgid "Past and present tutors and developers"
-msgstr ""
+msgid "Past and present tutors and developers"
+msgstr "Tutores y desarrolladores (pasados y presentes)"
 
 msgid ""
 "Daniel Kastl, José Ríos, Ko Nagase, Stephen Woodbridge, Swapnil Joshi, "
 "Rajat Shinde, Ramón Ríos, Rohith Reddy, Vicky Vergara"
-msgstr ""
+msgstr ""
+"Daniel Kastl, José Ríos, Ko Nagase, Stephen Woodbridge, Swapnil Joshi, "
+"Rajat Shinde, Ramón Ríos, Rohith Reddy, Vicky Vergara"

171-178: Missing translation: Supporters heading

Add Spanish; keep organizations as-is where appropriate.

Apply this diff:

-msgid "Past and present supporters"
-msgstr ""
+msgid "Past and present supporters"
+msgstr "Colaboradores (pasados y presentes)"

181-191: License: singular vs plural

Match source number and provide translation.

Apply this diff:

-msgid "License"
-msgstr "Licencias"
+msgid "License"
+msgstr "Licencia"

193-207: Missing translations: Sponsorship section

Fill in to avoid empty labels.

Apply this diff:

-msgid "Become a sponsor"
-msgstr ""
+msgid "Become a sponsor"
+msgstr "Conviértete en patrocinador"
 
-msgid "The Linux Foundation"
-msgstr ""
+msgid "The Linux Foundation"
+msgstr "The Linux Foundation"
 
-msgid "Open Collective"
-msgstr ""
+msgid "Open Collective"
+msgstr "Open Collective"
 
-msgid "OSGeo Foundation"
-msgstr ""
+msgid "OSGeo Foundation"
+msgstr "OSGeo Foundation"

31-65: Clear fuzzy flags and complete Spanish translations in locale/es/LC_MESSAGES/general-intro/introduction.po

  • Remove all “#, fuzzy” markers after updating entries.
  • Provide translations for every blank msgstr.
  • Ensure the “Basic” and “Advanced” sections read consistently in Spanish.
locale/es/LC_MESSAGES/basic/sql_function.po (1)

584-586: Typos: missing space and wrong accent (“subgráfos”)

  • Add missing space after the closing backticks.
  • Use “subgrafos” (no accent).

Apply this diff:

-msgstr ""
-"Dado que ``vehicle_net``y las otras 2 vistas son subgráfos de ``ways``, "
-"realizar el ``JOIN`` con ``ways``."
+msgstr ""
+"Dado que ``vehicle_net`` y las otras 2 vistas son subgrafos de ``ways``, "
+"realizar el ``JOIN`` con ``ways``."
🧹 Nitpick comments (9)
locale/ja/LC_MESSAGES/appendix/appendix-2.po (1)

8-8: LGTM: translator email updated (Ko Nagase).

No string changes; only metadata. Consider whether PO-Revision-Date should be updated to reflect the edit.

locale/ja/LC_MESSAGES/general-intro/introduction.po (1)

8-8: LGTM: translator email updated (Ko Nagase).

No content changes. Optionally refresh PO-Revision-Date if you want headers to reflect the update timestamp.

locale/ja/LC_MESSAGES/interactions/chapter-10.po (2)

9-9: LGTM: translator metadata refreshed (Ko Nagase email + Last-Translator).

Looks consistent. If this was the only modification, you may keep PO-Revision-Date as-is, or bump it to reflect the change.

Also applies to: 17-17


33-39: Optional: align translated links to https and clear fuzzy flags.

Several msgstr entries still point to http even though msgid uses https (and are marked fuzzy). Consider updating and removing fuzzy markers.

Example edits:

- "pl/pgsqlのラッパーができましたので、 `GeoServer <http://geoserver.org/>`_ を使用して、WMSレイヤとして利用できるようにしていきます。"
+ "pl/pgsqlのラッパーができましたので、 `GeoServer <https://geoserver.org/>`_ を使用して、WMSレイヤとして利用できるようにしていきます。"

- "GeoServer のインストールは、このワークショップの範囲外ですが、もし `OSGeo Live <http://live.osgeo.org>`_ を使用している場合は、既にインストール済みとなります。"
+ "GeoServer のインストールは、このワークショップの範囲外ですが、もし `OSGeoLive <https://live.osgeo.org>`_ を使用している場合は、既にインストール済みとなります。"

- "``http://pgrouting.org``"
+ "``https://pgrouting.org``"

Also applies to: 51-53, 133-137

locale/ja/LC_MESSAGES/interactions/chapter-11.po (1)

8-8: LGTM: translator email and Last-Translator updated (Ko Nagase).

No translation content changes. Optionally refresh PO-Revision-Date.

Also applies to: 16-16

locale/es/LC_MESSAGES/examples/wiki_example.po (1)

8-8: LGTM: translator metadata updated (Vicky Vergara email + Last-Translator).

No content changes. Optional: update PO-Revision-Date if you want header timestamps current.

Also applies to: 17-17

locale/es/LC_MESSAGES/basic/sql_function.po (1)

634-636: Improve phrasing

Natural Spanish: “Evite que … comience con …”

Apply this diff:

-msgstr "Evite el nombre de una función para comenzar con `pgr_`, `_pgr` o `ST_`"
+msgstr "Evite que el nombre de una función comience con `pgr_`, `_pgr` o `ST_`"
locale/es/LC_MESSAGES/appendix/appendix-2.po (2)

114-115: Fix word order in PostgreSQL version sentence

Natural Spanish ordering.

Apply this diff:

-msgid "Following the example with PostgreSQL 10:"
-msgstr "Siguiendo el ejemplo con 10 PostgreSQL:"
+msgid "Following the example with PostgreSQL 10:"
+msgstr "Siguiendo el ejemplo con PostgreSQL 10:"

102-111: Security caveat (optional): avoid advising trust in pg_hba.conf without scope

Consider adding “solo en entornos locales/de desarrollo” to discourage unsafe production configs.

If you agree, I can propose precise wording for ES and EN.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f3d6b07 and 05269a6.

📒 Files selected for processing (26)
  • locale/es/LC_MESSAGES/advanced/chapter-12.po (1 hunks)
  • locale/es/LC_MESSAGES/appendix/appendix-2.po (1 hunks)
  • locale/es/LC_MESSAGES/appendix/appendix-3.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/data.po (2 hunks)
  • locale/es/LC_MESSAGES/basic/pedestrian.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/plpgsql_function.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/sql_function.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/vehicle.po (1 hunks)
  • locale/es/LC_MESSAGES/examples/wiki_example.po (2 hunks)
  • locale/es/LC_MESSAGES/general-intro/introduction.po (1 hunks)
  • locale/es/LC_MESSAGES/index.po (1 hunks)
  • locale/es/LC_MESSAGES/interactions/chapter-10.po (1 hunks)
  • locale/es/LC_MESSAGES/interactions/chapter-11.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/data.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/introduction.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/sdg11-cities.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/sdg3-health.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/sdg7-energy.po (1 hunks)
  • locale/ja/LC_MESSAGES/advanced/chapter-12.po (1 hunks)
  • locale/ja/LC_MESSAGES/appendix/appendix-2.po (1 hunks)
  • locale/ja/LC_MESSAGES/basic/data.po (1 hunks)
  • locale/ja/LC_MESSAGES/general-intro/introduction.po (1 hunks)
  • locale/ja/LC_MESSAGES/general-intro/osgeolive.po (1 hunks)
  • locale/ja/LC_MESSAGES/general-intro/overview.po (1 hunks)
  • locale/ja/LC_MESSAGES/interactions/chapter-10.po (1 hunks)
  • locale/ja/LC_MESSAGES/interactions/chapter-11.po (1 hunks)
✅ Files skipped from review due to trivial changes (14)
  • locale/ja/LC_MESSAGES/general-intro/osgeolive.po
  • locale/es/LC_MESSAGES/appendix/appendix-3.po
  • locale/es/LC_MESSAGES/index.po
  • locale/es/LC_MESSAGES/interactions/chapter-11.po
  • locale/es/LC_MESSAGES/un_sdg/sdg11-cities.po
  • locale/es/LC_MESSAGES/interactions/chapter-10.po
  • locale/es/LC_MESSAGES/basic/plpgsql_function.po
  • locale/ja/LC_MESSAGES/advanced/chapter-12.po
  • locale/es/LC_MESSAGES/basic/pedestrian.po
  • locale/ja/LC_MESSAGES/basic/data.po
  • locale/es/LC_MESSAGES/un_sdg/sdg3-health.po
  • locale/ja/LC_MESSAGES/general-intro/overview.po
  • locale/es/LC_MESSAGES/basic/vehicle.po
  • locale/es/LC_MESSAGES/advanced/chapter-12.po
🚧 Files skipped from review as they are similar to previous changes (1)
  • locale/es/LC_MESSAGES/basic/data.po
🔇 Additional comments (6)
locale/es/LC_MESSAGES/un_sdg/sdg7-energy.po (1)

9-9: Translator metadata update looks good

Email/domain update is consistent with other ES PO files.

locale/es/LC_MESSAGES/un_sdg/introduction.po (1)

9-9: Translator metadata update looks good

locale/es/LC_MESSAGES/general-intro/introduction.po (1)

8-8: Translator metadata update looks good

locale/es/LC_MESSAGES/basic/sql_function.po (1)

10-10: Translator metadata update looks good

locale/es/LC_MESSAGES/appendix/appendix-2.po (1)

8-8: Translator metadata update looks good

locale/es/LC_MESSAGES/un_sdg/data.po (1)

9-9: Update translator email address consistently.

The translator email address has been updated from vicky@georepublic.de to vicky@erosion.dev. This change appears to be consistent with similar updates across multiple Spanish locale files in this PR.

@cvvergara cvvergara requested a review from sanak September 24, 2025 16:58
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (5)
docs/CMakeLists.txt (3)

58-61: Fix shell redirection in custom target (CMake doesn’t interpret '>')

Using “> locale_changes.txt” in COMMAND won’t work in CMake (no shell). This will likely break the locale target.

Apply:

-  COMMAND sphinx-intl update -d ${CMAKE_SOURCE_DIR}/locale -l ${SPHINXINTL_LANGUAGE} > locale_changes.txt
+  COMMAND ${SPHINX_INTL_EXECUTABLE} update -d ${CMAKE_SOURCE_DIR}/locale -l ${SPHINXINTL_LANGUAGE}

Additionally ensure SPHINX_INTL_EXECUTABLE is defined (see next comment).


49-65: Guard ‘locale’ target on sphinx-intl availability

The block invokes sphinx-intl by name; if not on PATH the build fails. Prefer find_program and guard.

Apply outside this block near the top of the file:

# Discover sphinx-intl
find_program(SPHINX_INTL_EXECUTABLE NAMES sphinx-intl DOC "sphinx-intl helper")

# Optional: report version
if (SPHINX_INTL_EXECUTABLE)
  execute_process(COMMAND ${SPHINX_INTL_EXECUTABLE} --version
                  OUTPUT_STRIP_TRAILING_WHITESPACE
                  OUTPUT_VARIABLE SPHINX_INTL_VERSION)
  message(STATUS "Found sphinx-intl: ${SPHINX_INTL_EXECUTABLE} (${SPHINX_INTL_VERSION})")
endif()

Then wrap the target creation:

if (LOCALE)
  if (NOT SPHINX_INTL_EXECUTABLE)
    message(WARNING "sphinx-intl not found. Skipping 'locale' target.")
  else()
    # existing add_custom_target(locale ...) with ${SPHINX_INTL_EXECUTABLE}
  endif()
endif()

69-110: Define PGR_WORKSHOP_DOC_TARGETS and PGR_WORKSHOP_BUILD_LANGUAGES before use
Neither variable is set in any CMakeLists, so the foreach loops in docs/CMakeLists.txt (lines 69–110) do nothing. Add definitions—e.g.

set(PGR_WORKSHOP_DOC_TARGETS html pdf locale linkcheck)
set(PGR_WORKSHOP_BUILD_LANGUAGES en fr de)

before their first use.

locale/es/LC_MESSAGES/un_sdg/sdg7-energy.po (1)

125-142: Clear remaining fuzzy translations

  • First step is to pre-process the data obtained from :doc:data
  • Exercise 1: Set the seach path
  • Exercise 2: Remove disconnected components
  • Exercise 3: Find the minimum spanning tree
  • Exercise 4: Compute total length of material required in km
  • Exercise 5: Compute total length of roads
  • Find the optimal network of roads such that it reaches every building
  • Find the optimal number and locations of Electricity Transformers

Remove the #, fuzzy flags on these entries after updating their translations to prevent them being ignored at build time.

locale/es/LC_MESSAGES/un_sdg/data.po (1)

67-79: Remove fuzzy markers in ES translations

  • locale/es/LC_MESSAGES/un_sdg/data.po: update the translations and clear #, fuzzy at lines 67 and 276.
  • Audit all files under locale/es for remaining #, fuzzy entries and remove them to ensure no strings are skipped.
🧹 Nitpick comments (5)
CMakeLists.txt (4)

107-125: Harden Sphinx version parsing.
sphinx-build --version output can vary; regex-extract the numeric version instead of replacing a token.

Apply this diff:

-# Getting sphinx version
-execute_process(COMMAND "${SPHINX_EXECUTABLE}" --version
-  OUTPUT_VARIABLE SPHINX_EXECUTABLE_VERSION
-  OUTPUT_STRIP_TRAILING_WHITESPACE)
-string(REPLACE "sphinx-build" "" SPHINX_EXECUTABLE_VERSION "${SPHINX_EXECUTABLE_VERSION}")
-string(STRIP "${SPHINX_EXECUTABLE_VERSION}" SPHINX_EXECUTABLE_VERSION)
+# Getting sphinx version
+execute_process(
+  COMMAND "${SPHINX_EXECUTABLE}" --version
+  OUTPUT_VARIABLE SPHINX_EXECUTABLE_VERSION
+  ERROR_VARIABLE SPHINX_EXECUTABLE_VERSION_ERR
+  OUTPUT_STRIP_TRAILING_WHITESPACE
+  ERROR_STRIP_TRAILING_WHITESPACE
+)
+# Extract first numeric version from stdout/stderr
+set(_SPHINX_VER_TEXT "${SPHINX_EXECUTABLE_VERSION}${SPHINX_EXECUTABLE_VERSION_ERR}")
+string(REGEX MATCH "[0-9]+(\\.[0-9]+)*" SPHINX_EXECUTABLE_VERSION "${_SPHINX_VER_TEXT}")
+unset(_SPHINX_VER_TEXT)
 
 if ("${SPHINX_EXECUTABLE_VERSION}" VERSION_LESS "${SPHINX_MINIMUM_VERSION}")
   message(FATAL_ERROR "Sphinx required version is ${SPHINX_MINIMUM_VERSION}")
 endif()
 
 message(STATUS "Found ${SPHINX_EXECUTABLE} version '${SPHINX_EXECUTABLE_VERSION}'")

126-129: Remove unreachable/duplicated Sphinx not-found check.
find_program(... REQUIRED) already errors out; this block won’t execute.

Apply this diff:

-if (NOT SPHINX_EXECUTABLE)
-  message(FATAL_ERROR "Sphinx not found")
-  return()
-endif()

161-168: Define WITH_ALL_DOC option (used but not declared).
Currently it relies on an undeclared cache var; make it explicit.

Apply this diff:

 option(BUILD_HTML "Set ON|OFF (default=OFF) to build Documentation library tree as HTML" ON)
 option(BUILD_PDF "Set ON|OFF (default=OFF) to build Documentation library tree as PDF" OFF)
 option(BUILD_LOCALE "Set ON|OFF (default=OFF) to build the locale files" OFF)
 option(BUILD_LINKCHECK "Set ON|OFF (default=OFF) to build Documentation library tree as LINKCHECK page" OFF)
+option(WITH_ALL_DOC "Build all documentation targets (html,pdf,locale,linkcheck)" OFF)
 
 foreach(opt BUILD_HTML BUILD_PDF BUILD_LOCALE BUILD_LINKCHECK)
   if (${${opt}} OR WITH_ALL_DOC)

254-256: Reduce noisy status messages or gate behind debug.
These duplicate earlier logs; consider removing or wrapping with PGR_WORKSHOP_DEBUG.

Apply this diff:

-message(STATUS "PGR_WORKSHOP_BUILD_LANGUAGES = ${PGR_WORKSHOP_BUILD_LANGUAGES}")
-message(STATUS "SPHINXINTL_LANGUAGE = ${SPHINXINTL_LANGUAGE}")
+if (PGR_WORKSHOP_DEBUG OR PGR_WORKSHOP_VERBOSE_DEBUG)
+  message(STATUS "PGR_WORKSHOP_BUILD_LANGUAGES = ${PGR_WORKSHOP_BUILD_LANGUAGES}")
+  message(STATUS "SPHINXINTL_LANGUAGE = ${SPHINXINTL_LANGUAGE}")
+endif()
docs/CMakeLists.txt (1)

75-83: WARNINGS_TO_ERRORS is always empty

Currently both branches set it to empty; either wire it to -W or remove the variable and messages.

Example:

-    if (lang STREQUAL "en")
-      set(WARNINGS_TO_ERRORS "")
-    else()
-      set(WARNINGS_TO_ERRORS "")
-    endif()
+    if (DEFINED SPHINX_WARN_AS_ERROR AND SPHINX_WARN_AS_ERROR)
+      set(WARNINGS_TO_ERRORS -W)
+    else()
+      set(WARNINGS_TO_ERRORS "")
+    endif()

Also applies to: 93-95

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 05269a6 and 678a4c1.

📒 Files selected for processing (30)
  • .github/workflows/ubuntu.yml (1 hunks)
  • CMakeLists.txt (6 hunks)
  • docs/CMakeLists.txt (1 hunks)
  • locale/es/LC_MESSAGES/advanced/chapter-12.po (1 hunks)
  • locale/es/LC_MESSAGES/appendix/appendix-2.po (1 hunks)
  • locale/es/LC_MESSAGES/appendix/appendix-3.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/data.po (2 hunks)
  • locale/es/LC_MESSAGES/basic/pedestrian.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/plpgsql_function.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/sql_function.po (1 hunks)
  • locale/es/LC_MESSAGES/basic/vehicle.po (1 hunks)
  • locale/es/LC_MESSAGES/examples/wiki_example.po (2 hunks)
  • locale/es/LC_MESSAGES/general-intro/introduction.po (1 hunks)
  • locale/es/LC_MESSAGES/index.po (1 hunks)
  • locale/es/LC_MESSAGES/interactions/chapter-10.po (1 hunks)
  • locale/es/LC_MESSAGES/interactions/chapter-11.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/data.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/introduction.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/sdg11-cities.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/sdg3-health.po (1 hunks)
  • locale/es/LC_MESSAGES/un_sdg/sdg7-energy.po (1 hunks)
  • locale/ja/LC_MESSAGES/advanced/chapter-12.po (1 hunks)
  • locale/ja/LC_MESSAGES/appendix/appendix-2.po (1 hunks)
  • locale/ja/LC_MESSAGES/appendix/appendix-3.po (1 hunks)
  • locale/ja/LC_MESSAGES/basic/data.po (1 hunks)
  • locale/ja/LC_MESSAGES/general-intro/introduction.po (1 hunks)
  • locale/ja/LC_MESSAGES/general-intro/osgeolive.po (1 hunks)
  • locale/ja/LC_MESSAGES/general-intro/overview.po (1 hunks)
  • locale/ja/LC_MESSAGES/interactions/chapter-10.po (1 hunks)
  • locale/ja/LC_MESSAGES/interactions/chapter-11.po (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • locale/ja/LC_MESSAGES/interactions/chapter-11.po
🚧 Files skipped from review as they are similar to previous changes (19)
  • locale/ja/LC_MESSAGES/general-intro/osgeolive.po
  • locale/es/LC_MESSAGES/interactions/chapter-11.po
  • locale/es/LC_MESSAGES/index.po
  • locale/ja/LC_MESSAGES/appendix/appendix-2.po
  • locale/es/LC_MESSAGES/appendix/appendix-2.po
  • locale/es/LC_MESSAGES/un_sdg/sdg11-cities.po
  • locale/ja/LC_MESSAGES/general-intro/introduction.po
  • locale/es/LC_MESSAGES/basic/vehicle.po
  • locale/ja/LC_MESSAGES/basic/data.po
  • locale/es/LC_MESSAGES/basic/plpgsql_function.po
  • locale/es/LC_MESSAGES/interactions/chapter-10.po
  • locale/ja/LC_MESSAGES/interactions/chapter-10.po
  • .github/workflows/ubuntu.yml
  • locale/es/LC_MESSAGES/un_sdg/sdg3-health.po
  • locale/ja/LC_MESSAGES/advanced/chapter-12.po
  • locale/es/LC_MESSAGES/appendix/appendix-3.po
  • locale/es/LC_MESSAGES/advanced/chapter-12.po
  • locale/ja/LC_MESSAGES/general-intro/overview.po
  • locale/es/LC_MESSAGES/un_sdg/introduction.po
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build
🔇 Additional comments (15)
locale/ja/LC_MESSAGES/appendix/appendix-3.po (1)

8-16: Translator contact update looks good.

The updated email aligns with the rest of the Japanese locale changes; no further adjustments needed.

CMakeLists.txt (8)

2-2: CMake 3.12 minimum looks good.
No issues; features used here are supported.


24-24: Patch version bump acknowledged.
Release variables remain consistent.


99-100: Sphinx minimum version set appropriately.
Version gating is clear.


131-133: Flags handling looks fine.
Assuming downstream uses sphinx_flags.


175-180: Good: explicit failure when no doc targets selected.
Prevents confusing no-op builds.


185-197: Language options generation is reasonable.
Defaults for translated languages make sense.


201-213: Language selection aggregation LGTM.
Strict failure on empty selection is helpful.


61-63: Fix debug option/variable names (still mismatched).
The condition should use PGR_WORKSHOP_DEBUG and the variable should be PGR_WORKSHOP_CITY_FILE.

Apply this diff:

-if (WORKSHOP_DEBUG)
-  message(STATUS "WORKSHOP_CITY_FILE=${WORKSHOP_CITY_FILE}")
+if (PGR_WORKSHOP_DEBUG)
+  message(STATUS "PGR_WORKSHOP_CITY_FILE=${PGR_WORKSHOP_CITY_FILE}")
 endif()
locale/es/LC_MESSAGES/un_sdg/sdg7-energy.po (1)

9-9: LGTM: translator metadata updated

Email/domain update looks consistent with other ES files.

locale/es/LC_MESSAGES/examples/wiki_example.po (1)

8-8: LGTM: translator metadata update

Switch to erosion.dev is consistent. Header Last-Translator aligns with change.

Also applies to: 17-17

locale/es/LC_MESSAGES/general-intro/introduction.po (1)

8-8: LGTM: translator contact updated

Consistent with other Spanish PO files; no content changes.

locale/es/LC_MESSAGES/basic/sql_function.po (1)

10-10: LGTM: translator metadata

Only metadata updated; translations untouched.

locale/es/LC_MESSAGES/un_sdg/data.po (1)

9-9: LGTM: translator email/domain update

Matches the broader metadata update across ES locale.

locale/es/LC_MESSAGES/basic/pedestrian.po (1)

9-9: LGTM: translator metadata

Domain change applied; content intact.

Comment on lines 219 to 224
if(LOCALE)
foreach(lang ${PGR_WORKSHOP_SUPPORTED_LANGUAGES})
foreach(lang ${WORKSHOP_LANGUAGES})
set(SPHINXINTL_LANGUAGE "${SPHINXINTL_LANGUAGE},${lang}")
endforeach()
set(PGR_WORKSHOP_LANGUAGES ${PGR_WORKSHOP_ENGLISH})
message(STATUS "SPHINXINTL_LANGUAGE=${SPHINXINTL_LANGUAGE}")
endif()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix LOCALE guard and avoid leading comma in SPHINXINTL_LANGUAGE.
The new option is BUILD_LOCALE, and current accumulation yields a leading comma.

Apply this diff:

-if(LOCALE)
-  foreach(lang ${WORKSHOP_LANGUAGES})
-    set(SPHINXINTL_LANGUAGE "${SPHINXINTL_LANGUAGE},${lang}")
-  endforeach()
-  message(STATUS "SPHINXINTL_LANGUAGE=${SPHINXINTL_LANGUAGE}")
+if(BUILD_LOCALE)
+  # Build PO files for all workshop languages
+  set(_ALL_LANGS "${WORKSHOP_LANGUAGES}")
+  string(REPLACE ";" "," SPHINXINTL_LANGUAGE "${_ALL_LANGS}")
+  unset(_ALL_LANGS)
+  message(STATUS "SPHINXINTL_LANGUAGE=${SPHINXINTL_LANGUAGE}")
 endif()
🤖 Prompt for AI Agents
In CMakeLists.txt around lines 219-224, the guard should check BUILD_LOCALE (not
LOCALE) and building SPHINXINTL_LANGUAGE currently prepends a leading comma when
SPHINXINTL_LANGUAGE is empty; update the if to use BUILD_LOCALE and change the
accumulation to set SPHINXINTL_LANGUAGE to the first lang when empty and
otherwise append ",<lang>" so you avoid a leading comma, then keep the
message(STATUS ...) as-is.

Comment on lines 176 to +180
msgstr ""
"El siguiente paso es ejecutar el convertidor ``osm2pgrouting'', que es una "
"El siguiente paso es ejecutar el convertidor ``osm2pgrouting`` que es una "
"herramienta de línea de comandos que inserta los datos en la base de datos, "
"\"listo\" para ser utilizado con pgRouting. Puede encontrar información "
"adicional sobre ``osm2pgrouting :doc:`../appendix/appendix-3`"
"adicional sobre ``osm2pgrouting`` :doc:`../appendix/appendix-3`"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Re-add missing preposition in localized sentence.

Line 177 drops the preposition “en”, so the sentence now reads incorrectly (“…información adicional… :doc”). Please restore it for proper Spanish grammar.

-"adicional sobre ``osm2pgrouting`` :doc:`../appendix/appendix-3`"
+"adicional sobre ``osm2pgrouting`` en :doc:`../appendix/appendix-3`"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
msgstr ""
"El siguiente paso es ejecutar el convertidor ``osm2pgrouting'', que es una "
"El siguiente paso es ejecutar el convertidor ``osm2pgrouting`` que es una "
"herramienta de línea de comandos que inserta los datos en la base de datos, "
"\"listo\" para ser utilizado con pgRouting. Puede encontrar información "
"adicional sobre ``osm2pgrouting :doc:`../appendix/appendix-3`"
"adicional sobre ``osm2pgrouting`` :doc:`../appendix/appendix-3`"
msgstr ""
"El siguiente paso es ejecutar el convertidor ``osm2pgrouting`` que es una "
"herramienta de línea de comandos que inserta los datos en la base de datos, "
"\"listo\" para ser utilizado con pgRouting. Puede encontrar información "
"adicional sobre ``osm2pgrouting`` en :doc:`../appendix/appendix-3`"
🤖 Prompt for AI Agents
In locale/es/LC_MESSAGES/basic/data.po around lines 176 to 180, the Spanish
translation is missing the preposition "en" before the :doc reference; update
the msgstr to restore proper grammar by inserting " en " before ":doc" so the
sentence reads "...información adicional sobre ``osm2pgrouting`` en
:doc:`../appendix/appendix-3`".

# Vicky Vergara <vicky@georepublic.de>, 2022
# Vicky Vergara <vicky@erosion.dev>, 2022
#
#, fuzzy
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Header is marked fuzzy — translations may be ignored

The header entry has “#, fuzzy”. Fuzzy headers can cause the MO to exclude translations. Remove the fuzzy flag once the header is correct.

List fuzzy markers in this PO:


🏁 Script executed:

#!/bin/bash
rg -n '^#,\s*fuzzy' locale/es/LC_MESSAGES/examples/wiki_example.po -n -C2

Length of output: 85


Remove fuzzy header flag
locale/es/LC_MESSAGES/examples/wiki_example.po:10 – delete “#, fuzzy” to ensure the header isn’t excluded from the compiled translations.

🤖 Prompt for AI Agents
In locale/es/LC_MESSAGES/examples/wiki_example.po around line 10, remove the
header flag line "#, fuzzy" (delete that exact line), save the PO file, and then
recompile/rebuild the translations (e.g., run your project's message compilation
step) so the header is no longer excluded from compiled translations.

Copy link
Member

@sanak sanak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Thanks a lot!

@cvvergara cvvergara merged commit 0869c0e into pgRouting:develop Sep 27, 2025
2 checks passed
@cvvergara cvvergara deleted the belem-2024 branch September 27, 2025 19:01
This was referenced Sep 30, 2025
@coderabbitai coderabbitai bot mentioned this pull request Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants