DEV Community

Yashvant Singh
Yashvant Singh

Posted on

GSoC Week 2 — Languages, UX & 40 Failing Tests

This week was a rollercoaster from fine-tuning user experience to modernizing an entire codebase for localization. Here’s what went down:

Smoother Profile Updates – Better UX, Better You

Started off with some subtle yet powerful changes to the update profile feature:

  • Improved UX
  • Faster suggestions
  • Cleaner and more intuitive interface

It’s always amazing how a few thoughtful tweaks can enhance the overall user journey.

Hello, World – In Multiple Languages!

Next up: Multi-language support
We initially had two .arb files – Hindi & English. I added a language toggle in the sidebar and... it worked! Well, kind of. 😅

Turns out it only translated user static strings.

One conversation with Hardik later, I realized what I actually needed to do — modernize the entire codebase for true localization.

Modernizing the Codebase – Line by Line

And so began the mission:

Went file by file, line by line, transforming static text into translatable resources

Every page I touched started speaking a new language — it was oddly satisfying

Image description
Image description

Faced multiple hiccups — including spending 45 minutes debugging a missing comma in an .arb file (yes, just a comma 🫠)

Eventually, the transformation was complete:

From static strings to notifications, from error messages to button labels everything now speaks your chosen language!

40 Tests Failed… and I’m Weirdly Happy About It

Just out of curiosity, I ran flutter test — now my new hobby.

Boom 💥 — 40 test cases failed!

Why? Because even the test files needed localization updates.
So, that’s what I’m tackling next. Let’s just say, this week kept me very awake 😄

A Quick Shoutout to Crowdin

As I was exploring translations, I checked out Crowdin, a localization management platform already set up by Aboo.

Crowdin is a super helpful tool that simplifies collaboration between developers and translators. It keeps all translations organized, syncs with the codebase, and makes the whole process scalable.

Key Takeaways

Localization isn't just about translating text — it's about restructuring your codebase to support diverse experiences

Always double-check your .arb commas. Always.

Test failures aren’t always a bad thing — they show you how far you've come

Week 2 isn't over yet, and I’m already looking forward to what's next!

If you've worked on localization or used Crowdin in your projects — I’d love to hear your thoughts or tips. 👇

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.