fix: improve Spanish translations#1054
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughRewrites Spanish locale strings extensively in Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
lib/I18n/translations/spanish.yaml (1)
12-12: Consider "Biblioteca" instead of "Librería" for Calibre library.In Spanish, "librería" typically means "bookstore/bookshop," while "biblioteca" means "library" (a collection of books). Since Calibre's library refers to a book collection rather than a shop, "Biblioteca Calibre" would be more semantically accurate.
💡 Suggested change
-STR_CALIBRE_LIBRARY: "Librería Calibre" +STR_CALIBRE_LIBRARY: "Biblioteca Calibre"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@lib/I18n/translations/spanish.yaml` at line 12, The Spanish translation for STR_CALIBRE_LIBRARY uses "Librería Calibre" but should use "Biblioteca Calibre" to reflect a book collection rather than a bookstore; update the value of STR_CALIBRE_LIBRARY in the translations file to "Biblioteca Calibre" so the label is semantically correct.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/translators.mdlib/I18n/translations/spanish.yaml
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-02-16T22:25:35.674Z
Learnt from: whyte-j
Repo: crosspoint-reader/crosspoint-reader PR: 733
File: lib/I18n/I18nKeys.h:271-272
Timestamp: 2026-02-16T22:25:35.674Z
Learning: In the crosspoint-reader i18n system (lib/I18n/), missing translation keys in non-English YAML files are automatically filled with English strings at build time by the gen_i18n.py script. All generated string arrays (STRINGS_EN, STRINGS_ES, etc.) have identical lengths, so runtime array indexing is safe without per-string fallback logic. The system prints "INFO: '{key}' missing in {lang_code}, using English fallback" during code generation when this occurs.
Applied to files:
lib/I18n/translations/spanish.yaml
⏰ 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). (2)
- GitHub Check: cppcheck
- GitHub Check: build
🔇 Additional comments (2)
lib/I18n/translations/spanish.yaml (1)
1-319: Good improvements to Spanish translations overall.The changes improve consistency, fix accents (e.g., "conexión"), add proper Spanish punctuation (¿...?), translate previously untranslated strings (BOOTING, SLEEPING), and standardize terminology (Punto de Acceso, Suspensión). The translation quality and localization accuracy are significantly improved.
docs/translators.md (1)
33-33: LGTM!The new translator entry follows the established format and is correctly placed under the Spanish section.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@lib/I18n/translations/spanish.yaml`:
- Around line 56-57: The two Spanish translation entries STR_OR_HTTP_PREFIX and
STR_SCAN_QR_HINT contain an incorrect accented "ó"; update their string values
to use the unaccented conjunction "o" (e.g., change "ó http://" to "o http://"
and "ó escanee el código QR con su móvil:" to "o escanee el código QR con su
móvil:") so both keys reflect correct Spanish orthography.
- Line 116: The translation value for STR_KOREADER_SYNC contains a wrong accent
("Síncronización") — search the file for any occurrences of the string
"Síncronización" (including the key STR_KOREADER_SYNC) and replace them with the
correct "Sincronización" so all Spanish translations use the correct spelling;
update each YAML value accordingly and ensure YAML syntax/quoting remains
unchanged.
---
Nitpick comments:
In `@lib/I18n/translations/spanish.yaml`:
- Line 12: The Spanish translation for STR_CALIBRE_LIBRARY uses "Librería
Calibre" but should use "Biblioteca Calibre" to reflect a book collection rather
than a bookstore; update the value of STR_CALIBRE_LIBRARY in the translations
file to "Biblioteca Calibre" so the label is semantically correct.
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
lib/I18n/translations/spanish.yaml
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-02-16T22:25:35.674Z
Learnt from: whyte-j
Repo: crosspoint-reader/crosspoint-reader PR: 733
File: lib/I18n/I18nKeys.h:271-272
Timestamp: 2026-02-16T22:25:35.674Z
Learning: In the crosspoint-reader i18n system (lib/I18n/), missing translation keys in non-English YAML files are automatically filled with English strings at build time by the gen_i18n.py script. All generated string arrays (STRINGS_EN, STRINGS_ES, etc.) have identical lengths, so runtime array indexing is safe without per-string fallback logic. The system prints "INFO: '{key}' missing in {lang_code}, using English fallback" during code generation when this occurs.
Applied to files:
lib/I18n/translations/spanish.yaml
🔇 Additional comments (4)
lib/I18n/translations/spanish.yaml (4)
6-58: Translations read clean and consistent in this block.No issues spotted in these updates.
64-170: Settings/reader strings look good overall.No concerns in this range.
171-293: Menu/status translations look consistent.No issues found here.
295-315: Sync/progress strings are consistent.No issues found in this block.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@lib/I18n/translations/spanish.yaml`:
- Line 294: The translation string STR_CALIBRE_URL_HINT currently uses a
lowercase product name; update its value to capitalize "Calibre" so it reads
"Para Calibre, agregue /opds a su URL" (locate the STR_CALIBRE_URL_HINT entry in
the Spanish translations and change the string accordingly).
- Around line 61-63: The translation file has STR_MAC_ADDRESS set to English;
update the value of STR_MAC_ADDRESS in the Spanish translations
(STR_MAC_ADDRESS) to the correct Spanish term (e.g., "Dirección MAC:" or "MAC
(Dirección):") to match surrounding Spanish labels and maintain consistency.
| STR_NETWORK_LEGEND: "* (Cifrado) | + (Guardado)" | ||
| STR_MAC_ADDRESS: "MAC Address:" | ||
| STR_CHECKING_WIFI: "Verificando Wi-Fi..." |
There was a problem hiding this comment.
Translate “MAC Address” to Spanish.
This string regresses to English while nearby labels are Spanish.
✏️ Proposed fix
-STR_MAC_ADDRESS: "MAC Address:"
+STR_MAC_ADDRESS: "Dirección MAC:"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@lib/I18n/translations/spanish.yaml` around lines 61 - 63, The translation
file has STR_MAC_ADDRESS set to English; update the value of STR_MAC_ADDRESS in
the Spanish translations (STR_MAC_ADDRESS) to the correct Spanish term (e.g.,
"Dirección MAC:" or "MAC (Dirección):") to match surrounding Spanish labels and
maintain consistency.
5671203 to
e5659ba
Compare
There was a problem hiding this comment.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/translators.mdlib/I18n/translations/spanish.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/translators.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-02-16T22:25:35.674Z
Learnt from: whyte-j
Repo: crosspoint-reader/crosspoint-reader PR: 733
File: lib/I18n/I18nKeys.h:271-272
Timestamp: 2026-02-16T22:25:35.674Z
Learning: In the crosspoint-reader i18n system (lib/I18n/), missing translation keys in non-English YAML files are automatically filled with English strings at build time by the gen_i18n.py script. All generated string arrays (STRINGS_EN, STRINGS_ES, etc.) have identical lengths, so runtime array indexing is safe without per-string fallback logic. The system prints "INFO: '{key}' missing in {lang_code}, using English fallback" during code generation when this occurs.
Applied to files:
lib/I18n/translations/spanish.yaml
⏰ 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). (2)
- GitHub Check: build
- GitHub Check: cppcheck
🔇 Additional comments (21)
lib/I18n/translations/spanish.yaml (21)
6-16: LGTM — clearer status and action labels.
These read naturally and stay concise for the UI.
22-27: LGTM — error/empty state wording is clear.
38-47: LGTM — connection prompts are consistent and well‑punctuated.
49-57: LGTM — hotspot flow instructions are clear and concise.
64-74: LGTM — Wi‑Fi and Calibre connection hints look good.
81-116: LGTM — instruction steps and settings categories are solid.
122-137: LGTM — auth/sync labels are consistent and user‑friendly.
139-148: LGTM — cache warnings and errors read well.
162-183: LGTM — control/label terminology is consistent.
187-196: LGTM — timing/page step labels are concise.
197-216: LGTM — update/download error messaging is clear.
218-223: LGTM — network/address wording is consistent.
225-228: LGTM — navigation labels look good.
238-245: LGTM — state and direction abbreviations are consistent.
247-256: LGTM — caps/status bar labels are concise and clear.
259-263: LGTM — theme/OPDS labels are consistent.
267-270: LGTM — Calibre flow labels are clear.
274-283: LGTM — remap prompts and HW labels are clear.
286-288: LGTM — sync/delete/cache labels are concise.
297-298: LGTM — hashing status/error strings are clear.
307-315: LGTM — progress/sync prompts are consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@lib/I18n/translations/spanish.yaml`:
- Around line 294-296: The Spanish translation for STR_CALIBRE_URL_HINT uses a
lowercase product name; update the value of STR_CALIBRE_URL_HINT to capitalize
the product name "Calibre" (e.g., "Para Calibre, agregue /opds a su URL") so the
proper noun is correctly cased in the translation file.
- Around line 61-62: The STR_MAC_ADDRESS translation is still in English; update
the value for the STR_MAC_ADDRESS key to the Spanish localization (e.g.,
"Dirección MAC:") ensuring you preserve the trailing colon and match the
punctuation/format of neighboring labels like STR_NETWORK_LEGEND.
There was a problem hiding this comment.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/translators.mdlib/I18n/translations/spanish.yaml
✅ Files skipped from review due to trivial changes (1)
- docs/translators.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-02-16T22:25:35.674Z
Learnt from: whyte-j
Repo: crosspoint-reader/crosspoint-reader PR: 733
File: lib/I18n/I18nKeys.h:271-272
Timestamp: 2026-02-16T22:25:35.674Z
Learning: In the crosspoint-reader i18n system (lib/I18n/), missing translation keys in non-English YAML files are automatically filled with English strings at build time by the gen_i18n.py script. All generated string arrays (STRINGS_EN, STRINGS_ES, etc.) have identical lengths, so runtime array indexing is safe without per-string fallback logic. The system prints "INFO: '{key}' missing in {lang_code}, using English fallback" during code generation when this occurs.
Applied to files:
lib/I18n/translations/spanish.yaml
🔇 Additional comments (8)
lib/I18n/translations/spanish.yaml (8)
6-15: LGTM!Good translations for status and navigation strings. The terminology is consistent and concise.
38-57: LGTM!Spanish punctuation is correct (¿...?, ¡...!), and the "Punto de Acceso" terminology is consistent throughout.
81-84: LGTM!Calibre instructions are well-translated and clear for Spanish users.
85-116: LGTM!Settings terminology is consistent and the "Sincronización" spelling is now correct.
122-148: LGTM!Authentication and cache-related strings are well-translated with appropriate abbreviations for UI space constraints.
162-186: LGTM!Orientation and alignment terminology is consistent, and button layout abbreviations are clear.
188-260: LGTM!Time intervals, update messages, and UI state strings are all correctly translated.
262-319: LGTM!OPDS, sync, and format strings are correctly translated with consistent abbreviations and proper Spanish punctuation.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@lib/I18n/translations/spanish.yaml`:
- Line 62: The translation key STR_MAC_ADDRESS currently has the English value
"MAC Address:"; replace its value with the Spanish translation (e.g., "Dirección
MAC:") keeping the same YAML key STR_MAC_ADDRESS and preserving the existing
quoting/formatting so other translations remain valid.
- Fix typos and accents (Librería, conexión, etc.) - Translate untranslated strings (BOOTING, SLEEPING, etc.) - Improve consistency and conciseness - Fix question mark placement (¿...?) - Standardize terminology (Punto de Acceso, Suspensión, etc.)
e5659ba to
dcf49c1
Compare
There was a problem hiding this comment.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/translators.mdlib/I18n/translations/spanish.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/translators.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-02-16T22:25:35.674Z
Learnt from: whyte-j
Repo: crosspoint-reader/crosspoint-reader PR: 733
File: lib/I18n/I18nKeys.h:271-272
Timestamp: 2026-02-16T22:25:35.674Z
Learning: In the crosspoint-reader i18n system (lib/I18n/), missing translation keys in non-English YAML files are automatically filled with English strings at build time by the gen_i18n.py script. All generated string arrays (STRINGS_EN, STRINGS_ES, etc.) have identical lengths, so runtime array indexing is safe without per-string fallback logic. The system prints "INFO: '{key}' missing in {lang_code}, using English fallback" during code generation when this occurs.
Applied to files:
lib/I18n/translations/spanish.yaml
⏰ 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 (2)
lib/I18n/translations/spanish.yaml (2)
6-61: LGTM for the updated UI strings in this block.The translations here look consistent and well-formed.
63-319: LGTM for the remaining translation updates.No additional concerns in these strings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@lib/I18n/translations/spanish.yaml`:
- Line 62: The translation for the STR_MAC_ADDRESS key is still in English;
update the value for STR_MAC_ADDRESS in spanish.yaml to the proper Spanish
phrase (e.g., "Dirección MAC:") while keeping the key name STR_MAC_ADDRESS
unchanged so the lookup remains intact and consistent with surrounding labels.
|
Can we get previous Spanish contributors @yeyeto2788 @Skrzakk to take a look? |
Seems reasonable all changes proposed on the PR and better wording, only doubt is the one for the Well done @pablohc 🦾 |
Thanks @yeyeto2788, maybe it's a personal thing but, even working in IT, whenever I've seen the term in Spanish I've associated it with Apple. In contrast, I feel that the English term avoids other associations. If you think it's better to leave it in Spanish like before, I'll change it without any problem. |
## Summary * **What is the goal of this PR?** * improve Spanish translations * **What changes are included?** - Fix typos and accents (Librería, conexión, etc.) - Translate untranslated strings (BOOTING, SLEEPING, etc.) - Improve consistency and conciseness - Fix question mark placement (¿...?) - Standardize terminology (Punto de Acceso, Suspensión, etc.) --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**< YES >**_
## Summary * **What is the goal of this PR?** * improve Spanish translations * **What changes are included?** - Fix typos and accents (Librería, conexión, etc.) - Translate untranslated strings (BOOTING, SLEEPING, etc.) - Improve consistency and conciseness - Fix question mark placement (¿...?) - Standardize terminology (Punto de Acceso, Suspensión, etc.) --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**< YES >**_
Summary
What is the goal of this PR?
improve Spanish translations
What changes are included?
AI Usage
While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.
Did you use AI tools to help write this code? < YES >