Let’s localise: Unifying text strings together

August 06, 2024 / Alex Linton

There is a major upgrade comin’ to Session. It’s not a flashy change, but it’s an important one—text string unification.

Your privacy should be protected no matter which device you choose to use, so Session is made available on iOS, Android, and Desktop. However, maintaining a cross-platform messaging app means subtle differences between different platforms can emerge over time.

While Android might say ‘Are you sure you want to continue? ’iOS might have ‘Do you want to continue?’ — these are strings. At the moment, Session’s strings are all tangled up. Unfortunately the physicists, harp players, and kittens were too busy to help, so the Session Team had the hard work of untangling the strings.

Soon, Session will use one unified set of text strings on all platforms — but Session needs your help to get this mission across the line

This change offers major improvements in the form of a more consistent user experience, streamlined localisation, and a simplified process for building and implementing new features to take Session to the next level. 

Consistent User Experience

A unified set of cross-platform text strings will mean all the text in Session is consistent—whether you’re chatting to a colleague on Desktop, or texting your cousin ‘Happy Birthday 🥳’ on Android.  Regardless of the device you use, everyone will encounter the same language and instructions, making the experience of using the app more seamless across platforms. This is a subtle but significant upgrade that makes using Session more predictable and intuitive.

Streamlined Localisation

As well as creating a more consistent and intuitive user experience, unified strings will also streamline localisation, allowing all the different in-app languages to be managed from a single list of strings. This makes localisation efforts faster, more efficient, and more accurate—ensuring translations are consistent across all platforms. 

People rely on Session from Moscow to Mumbai, so it’s essential that our localisation is effective.

Simplified Development Process

A single source of truth for in-app text will also simplify future development processes, eliminating the need to manage multiple sets of strings for different platforms. This reduces one of the cross-platform complexities of building Session, text strings will always change as new features are added or enhanced—now they can be made once instead of thrice. 

Tying it all together

Session uses a combination of professional translators and community-powered localisations to bring Session to as many people as possible. As a decentralised project, Session believes in the power of people! Over the last few years, the community has done a tremendous job of localising Session using Crowdin.

With the new strings list, strings will need to be translated again to keep Session localisations high-quality and accurate. The team has released the strings list well before it is implemented in Session—so that localisations can be vetted and improved before they’re put into production.

To get this started, the team is getting professional translators to re-localise for language groups that use Session heavily; and the team has used machine translations to provide a starting point for other languages. However, people are better translators than machines—so let’s rally behind this localisation effort to help make Session stronger than ever.

Note: Because our starting point is a machine translation, CrowdIn will display 100% completion for all languages. Many of the strings will still require review and translation, regardless of whether it is indicated that the translation is complete. 

How to help

Localisation will once again be taking place using Crowdin, a community-driven translation platform. 

Find the new strings list here. 

Signing up for Crowdin is free, and you can translate as many or as few strings as you want. Don’t worry, you don't have to localise the entire app for your language(s)! Every single word contributes to the cause.

If you need any more support relating to Crowdin or localisations you can view a more detailed guide here, or join this temporary Community on Session using this Community URL:

http://116.203.51.179/translate?public_key=39016f991400c35a46e11e06cb2a64d6d8ab6652e484a556b14f7cf57ed7e73a. 

Thank you to all of you—you are what makes Session possible. 💚

Join the movement to keep the internet private!

Chat with like-minded individuals in the Session Community.

Friends don’t let friends use compromised messengers.

Sign up to the mailing list and start taking action!