Skip to content

Conversation

@zeedif
Copy link

@zeedif zeedif commented Jan 22, 2026

This PR introduces full Spanish language support to GameNative. It includes the translation resources, code registration, and build configuration updates.

Changes

  • Added app/src/main/res/values-es/strings.xml.
  • Registered es locale in LocaleHelper.kt.
  • Updated build.gradle.kts to include Spanish resource configuration.

Summary by cubic

Adds full Spanish localization to GameNative. Users can now select Español and see the app translated across login, library, settings, and dialogs.

  • New Features

    • Added values-es/strings.xml with Spanish translations.
    • Registered es locale in LocaleHelper.
    • Included "es" in resourceConfigurations in build.gradle.kts.
  • Bug Fixes

    • Refined technical terminology (e.g., Wrapper, CSMT, case-insensitive).
    • Improved context for Library layouts/filters and several UI strings (Custom Games, GOG, Emulation).
    • Standardized dialog titles and trust wording for consistency.

Written for commit cd3866f. Summary will update on new commits.

Summary by CodeRabbit

New Features

  • Spanish language support has been added to the app with comprehensive localization across the entire application. The user interface, settings, dialogs, platform integrations (Steam and GOG), library management, and all system features are now fully translated and available in Spanish. Users can now experience the complete app in their preferred language.

✏️ Tip: You can customize this high-level summary in your review settings.

- Add Spanish translations in `values-es/strings.xml`
- Register 'es' locale in `LocaleHelper.kt`
- Update `build.gradle.kts` to include the Spanish resource configuration
- Correct technical terminology (e.g., "Wrapper", "CSMT", "case-insensitive").
- Improve context accuracy for Library layouts and filters (e.g., "Source", "View").
- Standardize dialog titles to be affirmative and move questions to the message body.
- Fix specific UI strings for Custom Games, GOG, and Emulation settings for better natural flow.
- Consistency fixes for trust-related messages ("de confianza").
@coderabbitai
Copy link

coderabbitai bot commented Jan 22, 2026

📝 Walkthrough

Walkthrough

This PR adds Spanish localization support to the application by registering the "es" locale in the Gradle build configuration, appending a Spanish language entry to the SUPPORTED_LANGUAGES mapping in LocaleHelper, and introducing a comprehensive Spanish translation resource file containing UI strings across all app features and dialogs.

Changes

Cohort / File(s) Summary
Localization Configuration
app/build.gradle.kts, app/src/main/java/app/gamenative/utils/LocaleHelper.kt
Registered Spanish locale ("es") in Gradle resourceConfigurations and added "es" → "Español" mapping to SUPPORTED_LANGUAGES dictionary
Spanish Translation Resources
app/src/main/res/values-es/strings.xml
Added 973 lines of Spanish UI string translations covering login, home, settings, game installations, platform integrations (Steam, GOG), dialogs, configurations, and support-related messaging

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~8 minutes

Possibly related PRs

  • PR #302: Adds new language support by modifying resourceConfigurations in Gradle and SUPPORTED_LANGUAGES in LocaleHelper with a corresponding values-*/strings.xml resource file
  • PR #372: Implements the same localization pattern—adding a new locale to Gradle configuration, updating SUPPORTED_LANGUAGES, and providing locale-specific translation strings
  • PR #346: Adds a new locale by creating a values-XX/strings.xml file and updating the SUPPORTED_LANGUAGES mapping in LocaleHelper.kt

Poem

🐰 ¡Hola, amigos! Spanish strings now bloom,
From login screens to every room,
A rabbit hops through "es" with glee,
More languages mean more are free! 🌍✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(i18n): add Spanish localization support' directly and clearly describes the main change: introducing Spanish language support across the application.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
  • 📝 Generate docstrings

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.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 3 files

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

🤖 Fix all issues with AI agents
In `@app/src/main/res/values-es/strings.xml`:
- Around line 352-357: The CDATA content for string "box86_64_env_var_help__avx"
contains a trailing backslash before the closing tag which can break HTML
rendering; remove the stray "\" at the end of the third line inside the CDATA
block so the HTML fragment ends cleanly and verify the translated text still
uses proper HTML entities and line breaks.
🧹 Nitpick comments (1)
app/src/main/res/values-es/strings.xml (1)

161-162: Consider clarifying the exit strings.

Lines 161-162 have two exit-related strings with similar translations that might confuse users:

  • exit_game → "Salir" (Exit)
  • exit → "Salir del juego" (Exit the game)

The naming suggests exit_game should be "Exit game" and exit should be the generic "Exit", but the translations are swapped. Verify the intended usage context matches the English source strings.

Comment on lines +352 to +357
<string name="box86_64_env_var_help__avx"><![CDATA[
¡AVX y AVX2 implementados, junto con las extensiones BMI1, BMI2, ADX, FMA, F16C y RDANDR!<br /><br />
<b>0</b> : Deshabilitar extensión AVX<br />
<b>1</b> : Habilitar extensiones AVX, BMI1, F16C y VAES.<br />
<b>2</b> : Todo el punto 1 más habilitar AVX2, BMI2, FMA, ADX, VPCLMULQDQ y RDRAND.<br />\
]]></string>
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

Trailing backslash may cause rendering issues.

Line 356 has a trailing \ before the closing tag that may cause unexpected behavior when rendering the HTML content.

Suggested fix
-        <b>2</b> : Todo el punto 1 más habilitar AVX2, BMI2, FMA, ADX, VPCLMULQDQ y RDRAND.<br />\
+        <b>2</b> : Todo el punto 1 más habilitar AVX2, BMI2, FMA, ADX, VPCLMULQDQ y RDRAND.
📝 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
<string name="box86_64_env_var_help__avx"><![CDATA[
¡AVX y AVX2 implementados, junto con las extensiones BMI1, BMI2, ADX, FMA, F16C y RDANDR!<br /><br />
<b>0</b> : Deshabilitar extensión AVX<br />
<b>1</b> : Habilitar extensiones AVX, BMI1, F16C y VAES.<br />
<b>2</b> : Todo el punto 1 más habilitar AVX2, BMI2, FMA, ADX, VPCLMULQDQ y RDRAND.<br />\
]]></string>
<string name="box86_64_env_var_help__avx"><![CDATA[
¡AVX y AVX2 implementados, junto con las extensiones BMI1, BMI2, ADX, FMA, F16C y RDANDR!<br /><br />
<b>0</b> : Deshabilitar extensión AVX<br />
<b>1</b> : Habilitar extensiones AVX, BMI1, F16C y VAES.<br />
<b>2</b> : Todo el punto 1 más habilitar AVX2, BMI2, FMA, ADX, VPCLMULQDQ y RDRAND.<br />
]]></string>
🤖 Prompt for AI Agents
In `@app/src/main/res/values-es/strings.xml` around lines 352 - 357, The CDATA
content for string "box86_64_env_var_help__avx" contains a trailing backslash
before the closing tag which can break HTML rendering; remove the stray "\" at
the end of the third line inside the CDATA block so the HTML fragment ends
cleanly and verify the translated text still uses proper HTML entities and line
breaks.

@zeedif
Copy link
Author

zeedif commented Jan 22, 2026

Regarding the issues flagged by the bot and the nitpick about the exit strings:

I checked the original source file at app/src/main/res/values/strings.xml, and my translation currently mirrors the exact structure and naming convention found there.

1. Regarding the exit vs exit_game context:
The original English file defines them as follows, which is why I translated them that way:

<string name="exit_game">Exit</string>
<string name="exit">Exit Game</string>

2. Regarding the trailing backslash in box86_64_env_var_help__avx:
The original file also contains the trailing backslash inside the CDATA block:

<string name="box86_64_env_var_help__avx"><![CDATA[
    AVX and AVX2 implemented, along with BMI1, BMI2, ADX, FMA, F16C and RDANDR extension!<br /><br />
    <b>0</b> : Disable AVX extension<br />
    <b>1</b> : enable AVX, BMI1, F16C and VAES extension.<br />
    <b>2</b> : All 1 plus enable AVX2, BMI2, FMA, ADX,VPCLMULQDQ and RDRAND.<br />\
]]></string>

Could a maintainer please confirm how to proceed?
Should I fix these issues in the Spanish translation (deviating from the source), or should I keep them consistent with the current English source file?

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.

1 participant