Connecting Cultures through Technology: Ather’s Multi-Language Update
At Ather, we’ve always strived to redefine what intelligent, user-friendly, and sustainable technology can mean for Indian mobility. This made us think about how we can personalise the user experience further, and add a local feel to our connect features.
With this as our True North, we have launched multi-language support for our vehicle software, a feature that caters to India’s diverse linguistic landscape.
Why does multi-language support matter?
India is a land of numerous languages and dialects, where communication preferences vary across regions. While English is the most common language on smart devices, native languages create a stronger sense of connection and accessibility. This addition ensures seamless user interaction for all, regardless of their preferred language, empowering users to engage with their vehicles like never before.
To achieve vernacular feature on Ather vehicles, dashboard software required creating an adaptable HMI (Human-Machine Interface) application efficiently handling the complexities of Indian script, and ensuring seamless performance.
This article covers how we have developed multi-language support in dashboard software efficiently.
We will divide this problem statement into two parts:
1. Pre-Development Phase
2. Development Phase
Pre-Development Phase:
User-Centric Research: We conducted comprehensive user research to uncover language preferences and identify critical scenarios where localisation would significantly enhance the user experience.
Adapting Technology: We ensured accurate rendering of various Indian language scripts, managing diverse character sets, and building efficient solutions for real-time text processing within the software.
Comprehensive Testing: We performed real-world testing across various regions and environments to ensure the translations felt natural, culturally relevant, and contextually accurate.
Development Phase:
Here was the real challenge!!
Developing multi-language support is a tough challenge for developers who have to modify existing app functionalities too. If coding guidelines (e.g., string.xml) aren’t followed early on, expect a real test of patience!
Some Challenges we faced along the way:
UI Adjustments for Multi-Language Support: One of the main challenges in supporting multiple languages is ensuring the UI adapts to text expansion. Longer words or phrases in some languages can disrupt layout, buttons, and text boxes. We had to make sure UI components dynamically adjust to varying text lengths without affecting the overall design.
Translation keeping culture in mind: Simply translating text wasn’t enough. We had to localise the entire experience — embracing cultural uniqueness, colloquial expressions, and even technical jargon specific to certain regions. It was critical that the user interface felt natural and intuitive for each language group, rather than just a literal translation of the original content.
Font Scaling and Language Variability: Different languages occupy varying amounts of space for the same text. For instance, Hindi and Kannada are more vertically dense, while English and Tamil spread wider. A uniform font size led to misalignment — some scripts appeared too small, while others overflowed UI elements.
Lottie Animation Challenges Across Languages: Using Lottie for interactive elements was tricky due to language support. Many animations had embedded text, requiring smooth re-rendering during language changes.
The Journey of Localisation: Our Technical Approach
To overcome the tech and design challenges to implement vernacular, we relied on a combination of Android’s native localisation tools and custom solutions to manage the various languages and scripts.
Architecture and tech stack: To easily render all changes on the screen without requiring any app restart, We leveraged Android’s robust localisation support through defining Locale objects, resources management such as layouts, assets and strings.xml files to store language-specific strings. We chose a multi-language supporting font-family to maintain unification.
Font scaling : To solve this, a language specific font scaling mechanism was introduced, adjusting text size based on the language’s natural proportions while maintaining UI balance.
Custom Animations : Existing lottie animations, text length and script variations made it harder to achieve a full user friendly experience due to which we had to create custom components to render lottie animations smoothly.
class LottieAnimation @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
): LottieAnimationView(context, attrs, defStyleAttr) {
init {
context.obtainStyledAttributes(attrs, R.styleable.LottieAnimation).apply {
getString(R.styleable.LottieAnimation_lottie_assetName)?.apply {
if(isAssestAvailable(this)){
setAnimation("${lottiePath()}$this")
}
else{
setAnimation("${lottiePath()()}$this")
}
}
recycle()
}
}
}
Data handling: Efficiently managing language data within the dashboard software was key to ensuring optimal performance. We used lightweight storage solutions to load only the necessary language data based on the user’s preference, minimising memory usage without sacrificing functionality.
Additionally since the vehicle receives data from multiple sources including CAN, cloud and other external systems, we had to carefully determine which information should be translated and which should remain unchanged to ensure clarity and consistency.
Testing & Iteration
We combined internal testing to tackle regional dialect challenges with user feedback to refine linguistic, cultural and UI aspects, ensuring a consistent and inclusive multi-language experience.
A Moment of Reflection
Bringing this feature to life wasn’t just about adding translation, it was about understanding cultural nuances, context, and the emotions our users associate with their native languages. Our HMI (Human-Machine Interface) will soon start supporting Hindi, Kannada, Marathi, Gujarati, Tamil, Telugu, Malayalam, and Bengali with the ability to switch languages effortlessly via Settings.
Launching multi-language support for the Ather dashboard goes beyond translation; it’s about inclusivity and addressing technical and design challenges while valuing user feedback.
Special thanks to…
Vedant Sharma (Product Design at Ather) who designed vernacular feature to meet various cultural linguistic nuances.
Adarsh ML (Product Engineer at Ather) and Manish Pritmani (Application Developer at Ather) who worked on proof of concept to check feasibility of feature and mitigate potential risks at an early stage of development.
Anuj Saxena (Application Developer at Ather) who developed this feature end-to-end for production, along with SQA team and other team members for their relentless effort, dedication, feedback, validation and testing.
We all together created a culturally authentic, user-centric experience that’s uniquely tailored to meet the diverse linguistic needs of India.