Skip to content

fix: improve Spanish translations#1054

Merged
daveallie merged 2 commits intocrosspoint-reader:masterfrom
pablohc:fix/spanish-translation
Feb 21, 2026
Merged

fix: improve Spanish translations#1054
daveallie merged 2 commits intocrosspoint-reader:masterfrom
pablohc:fix/spanish-translation

Conversation

@pablohc
Copy link
Contributor

@pablohc pablohc commented Feb 20, 2026

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 >

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 20, 2026

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Rewrites Spanish locale strings extensively in lib/I18n/translations/spanish.yaml (many UI labels, prompts, statuses, and messages) and appends translator Pablohc to the Spanish translators list in docs/translators.md. No public API or code logic changes.

Changes

Cohort / File(s) Summary
Translation Updates
lib/I18n/translations/spanish.yaml
Comprehensive replacement and rephrasing of Spanish UI strings: status labels, network/hotspot prompts, Calibre-related texts, synchronization messages, UI labels (fonts, layout, themes), progress/status lines, punctuation/diacritics, and many shortened strings for UI constraints. No functional code changes.
Translator Attribution
docs/translators.md
Appended new Spanish translator entry Pablohc after Skrzakk.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • osteotek
  • znelson
🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: improve Spanish translations' directly and accurately summarizes the main change: improvements to Spanish translation strings in the codebase.
Description check ✅ Passed The description is directly related to the changeset, detailing specific improvements made to Spanish translations including typos, accents, untranslated strings, and terminology standardization.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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

Copy link
Contributor

@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)
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

📥 Commits

Reviewing files that changed from the base of the PR and between 9c55c15 and e8e8935.

📒 Files selected for processing (2)
  • docs/translators.md
  • 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
⏰ 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.

Copy link
Contributor

@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

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e8e8935 and 4267c01.

📒 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.

Comment on lines +61 to 63
STR_NETWORK_LEGEND: "* (Cifrado) | + (Guardado)"
STR_MAC_ADDRESS: "MAC Address:"
STR_CHECKING_WIFI: "Verificando Wi-Fi..."
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

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.

@pablohc pablohc force-pushed the fix/spanish-translation branch 2 times, most recently from 5671203 to e5659ba Compare February 20, 2026 22:45
Copy link
Contributor

@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.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4267c01 and 5671203.

📒 Files selected for processing (2)
  • docs/translators.md
  • lib/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.

Copy link
Contributor

@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.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5671203 and e5659ba.

📒 Files selected for processing (2)
  • docs/translators.md
  • lib/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.)
Copy link
Contributor

@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.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e5659ba and 7cf7815.

📒 Files selected for processing (2)
  • docs/translators.md
  • lib/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.

@znelson
Copy link
Contributor

znelson commented Feb 21, 2026

Can we get previous Spanish contributors @yeyeto2788 @Skrzakk to take a look?

@yeyeto2788
Copy link
Contributor

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 MAC Address, didn't understand the rollback.

Well done @pablohc 🦾

@daveallie daveallie merged commit e32d41a into crosspoint-reader:master Feb 21, 2026
6 checks passed
@pablohc
Copy link
Contributor Author

pablohc commented Feb 21, 2026

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 MAC Address, didn't understand the rollback.

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.

lukestein pushed a commit to lukestein/crosspoint-reader that referenced this pull request Feb 21, 2026
## 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 >**_
daveallie pushed a commit that referenced this pull request Feb 22, 2026
## 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 >**_
@pablohc pablohc deleted the fix/spanish-translation branch February 27, 2026 15:04
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.

5 participants