Skip to content

Comprehensive Localization Update#757

Open
sancho11 wants to merge 3 commits intoinventree:masterfrom
sancho11:feature/spanish-translation
Open

Comprehensive Localization Update#757
sancho11 wants to merge 3 commits intoinventree:masterfrom
sancho11:feature/spanish-translation

Conversation

@sancho11
Copy link
Contributor

Summary

This PR introduces full localization support across the application, with a specific focus on achieving 100% coverage for Spanish. It addresses previous gaps where certain UI cases were not covered by translation files and updates all supported languages using AI-assisted translation.

Key Changes

  • Expanded Translation Coverage: Identified and implemented missing translation keys for edge cases that were previously hardcoded or missing from the localization system.
  • AI-Powered Translation: Utilized Gemini 3.0 Flash to generate translations for all expanded entries.
    Global Update: Applied these coverage improvements to all supported languages, ensuring feature parity across the board.

Validation & Quality Verification

Emulator Testing:

All changes were verified in a controlled emulator environment to ensure application stability and correct rendering.

Bug Fixes (RTL/Display):

Addressed and resolved display issues affecting Arabic and other languages, ensuring they are now correctly rendered by the application.

Spanish (Native Verification):

The Spanish translations have been manually reviewed by a native speaker. The results are excellent with zero complaints, ensuring a high-quality experience for Spanish-speaking users.

Other Languages:

  • Popular Languages: Expected to have high-quality results similar to Spanish.
  • Less Common Languages: Expected to have regular/acceptable quality.

Cost Efficiency:

The entire translation process for all languages was completed with a total cost of approximately $0.30.

Motivation

This update is critical for deploying the application to non-English speaking environments. While the primary immediate need was for full Spanish support, this approach safeguards the codebase for wider international adoption.

@SchrodingersGat
Copy link
Member

@sancho11 our translations are community contributed via crowdin - this approach would be a major deviation from that.

Have you checked out our crowdin page?

@sancho11
Copy link
Contributor Author

Yes, I checked Crowdin. I actually started filling in lines there, but realized that reaching 100% coverage manually would take a significant amount of time.

I absolutely love the idea of community contributions, but for non-English speakers, an app with partial translations is often unusable. My goal here is to provide an immediate baseline so the tool is useful for everyone today, rather than waiting for organic contributions to fill the gaps.

Could we find a middle ground? We could use this PR as the new baseline and keep Crowdin for further improvements.

Crucially, I did not overwrite any existing translations. I only filled in the missing gaps using AI, so we retained the high-quality human work while solving the "missing text" issue for new users.

@SchrodingersGat
Copy link
Member

I'm not against using machine translations as a starting point, but you would have to remove all of the other additions / scaffolding that you have added here. If you want to submit a bulk update just to the translation files we can look at that, or there may be a way to generate those and upload via crowdin (which would be my preference)

@sancho11
Copy link
Contributor Author

sancho11 commented Feb 1, 2026

Thanks for the feedback, @SchrodingersGat.

That sounds like a fair compromise. I understand the importance of keeping the repository clean of external tooling.

I will proceed with cleaning up this PR to remove the scripts and scaffolding, leaving strictly the updated translation files (.arb) and the necessary locale registration. I'll get this done shortly and update the branch.

@sancho11
Copy link
Contributor Author

sancho11 commented Feb 1, 2026

Regarding your preference for Crowdin:

I am fully open to that approach as I understand it maintains the single source of truth. However, I don't have the permissions or experience to perform a bulk import/upload to your Crowdin project myself.

To facilitate this, would it work if I proceed with cleaning up this PR (leaving only the generated .arb translation files)? That way, you would have the raw data available in this branch to upload to Crowdin yourself if you prefer that over a direct merge.

Please let me know if you need the data in a different format or if there is another way I can assist with the Crowdin transfer.

@sancho11 sancho11 force-pushed the feature/spanish-translation branch from 1b97570 to bf2d6db Compare February 1, 2026 20:22
@sancho11 sancho11 force-pushed the feature/spanish-translation branch from c039c13 to facac1a Compare February 2, 2026 05:09
@SchrodingersGat
Copy link
Member

To facilitate this, would it work if I proceed with cleaning up this PR (leaving only the generated .arb translation files)?

That would be fine, please remove all other changes - if you have other bug fixes / improvements I would prefer to see those on a separate PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments