I was very enthusiastic but also anxious when I was assigned this feature. Supporting multiple languages with React Native comes with many challenges on many levels.
Healthentia is a mobile app that supports many studies. In each study, the participants may be from many different countries. Thus, we need to have dynamic language options.
Also, another difficulty I faced was that for example the Questionnaires or some other information may have not been translated yet to all the supported languages, meaning we need a fallback option for every case.
This, made the algorithmic side of things very tricky and intriguing.
React Native is based on the NPM ecosystem. In other words, it offers many open-source solutions for almost everything that you want to achieve. Picking the right tool for something so important as handling the localization is a very critical decision, and it came after hours and hours of searching and testing. This process helps me gain experience as a software engineer in handling issues with high responsibility levels.
We needed to enable this functionality and make it easily accessible and immediately effective in any change. This procedure led to many corner cases of things that just “didn’t work.” Solving such issues made me understand quite better how things work in React Native.
All in all, I think that this feature is one of the most important that I have been assigned up to now and sure it contributed to my personal and professional development.