99testsStart a job

Test case library · Mobile platform

Test cases for Hindi and regional language support

This flow covers apps offered in Hindi and other Indian languages: the language picker, switching mid-session, how Indian scripts render, and how numbers, dates, input, search and voice behave. Most bugs only show up with real text: conjuncts that break apart, vowel signs clipped by fixed-height boxes, long Tamil or Malayalam labels that overflow buttons, and older phones that show empty boxes. Errors and notifications left in English undo the effort for users who chose their language.

36 test cases10 release-blocking (P1)9 need a real phoneUpdated 2026-10-29

From the reviews. Hindi storefront reviews were more critical than English ones: 49.8% negative against 32.2%, with 14.2% describing a malfunction against 12.0%.

India App Quality Report

In scope

  • Language picker and switching mid-session
  • Rendering of Devanagari and other Indian scripts
  • Text overflow, clipping and truncation
  • Numerals, dates, currency and mixed-script input
  • Search and voice input in regional languages
  • Urdu right-to-left layout, where supported

Out of scope

  • Full linguistic review of every string
  • SMS and email template wording

Before you start

  • A build with every supported language and an approved glossary of key terms
  • Phones with Hindi keyboards, including the phone maker's default keyboard and a transliteration keyboard
  • A budget phone on the oldest supported Android version, a Samsung or Xiaomi phone and an iPhone
  • A fluent reader for each language under test
Show
Add to a test plan

Happy path6

LANG-01

Choose a language from the picker on first launch

P1localization
  1. Install the app fresh and open it.
  2. Check how each language is named in the picker.
  3. Choose Hindi and go through login, the home screen and one key action.

Expected: Each language appears in its own script, such as हिन्दी, தமிழ் and বাংলা, so users can find theirs without reading English. After choosing Hindi, every screen in the flow is in Hindi apart from brand and product names.

LANG-02

Switch the language mid-session from the app's settings

P2localization
  1. Log in with the app in English and add two items to the cart.
  2. Open the app's settings and change the language to Tamil.
  3. Go back to the cart, then press Back through the earlier screens.

Expected: The app switches to Tamil without logging out or emptying the cart. Screens reached with Back also show Tamil, not a mix of languages.

LANG-03

The chosen language stays after closing the app and restarting the phone

P2localization
  1. Set the app language to Marathi.
  2. Swipe the app away and reopen it.
  3. Restart the phone and open the app again.

Expected: The app opens in Marathi both times, with no English splash or home screen shown first.

LANG-04

Search in Hindi, transliterated Hindi and English for the same item

P2functional
  1. Search for दूध using the Hindi keyboard.
  2. Search for doodh in Roman letters.
  3. Search for milk.

Expected: All three searches return the same main products, or the app suggests the matching term. The Hindi search does not show an empty results page when the English one has matches.

LANG-05

Voice input in Hindi through the app's mic and the keyboard's mic

P2functionalreal phone
  1. Tap the mic in the app's search and say दो किलो आलू.
  2. In an address or notes field, use the keyboard's mic and speak in Hindi.
  3. Repeat both in a noisy place, such as a street or kitchen.

Expected: The spoken words appear as editable Hindi text, and search results match the item. If speech is not understood, the app asks the user to try again in Hindi.

Why a real phone: Needs a real microphone, real speech and everyday background noise

LANG-06

Notifications arrive in the app language and display in full

P2localizationreal phone
  1. Set the app language to Hindi and keep the phone in English.
  2. Trigger an order update and a long offer notification.
  3. Read both on the lock screen and in the notification shade, collapsed and expanded.

Expected: Both notifications are in Hindi, the app's language, not the phone's. Vowel signs are not clipped and the expanded text is shown in full.

Why a real phone: Notification shade fonts and layouts come from the phone maker's Android skin

Validation & negative5

LANG-07

Error messages from the server appear in the chosen language

P2localization
  1. Set the app language to Hindi.
  2. Enter a wrong OTP, apply an expired coupon and enter an amount above the configured limit.
  3. Read each message.

Expected: Each message is in Hindi, including those that come from the server. None appears only in English or as an error code.

LANG-08

Type an amount and an OTP with Devanagari digits

P1negative
  1. Set the keyboard's Hindi layout to type Devanagari digits such as १२३.
  2. In the amount field of a payment, type ५००.
  3. On the OTP screen, type the OTP in Devanagari digits.

Expected: The app either converts the digits, showing ₹500 and accepting the OTP, or asks for 0–9 digits with a clear message. It never reads the amount as zero or a different value.

LANG-09

A name and address typed in Hindi are saved and shown back unchanged

P1localization
  1. In the profile, enter a sample name in Hindi, such as सीता देवी.
  2. Add a delivery address in Hindi with a six-digit PIN code.
  3. Save, reopen the app, and view the name and address on the order summary and invoice.

Expected: The text appears exactly as typed on every screen and in the invoice. No question marks, empty boxes or jumbled letters appear.

LANG-10

A field that needs English letters explains this in the chosen language

P2negative
  1. Set the app language to Hindi.
  2. In a document name field, such as name as on PAN, type in Hindi.
  3. Tap Continue.

Expected: A message in Hindi explains that this name must be typed in English letters, exactly as on the document. It does not show a generic Invalid input error.

LANG-11

Transaction status words and debit or credit labels are translated correctly

P1localization
  1. Set the app language to Hindi.
  2. Open a successful, a failed and a pending transaction, plus one debit and one credit.
  3. Compare each status word and label with the approved glossary.

Expected: Every status and label matches the glossary. A failed payment is never shown with a word meaning success or pending, and debit is never confused with credit.

Edge cases9

LANG-12

Hindi conjuncts and vowel signs render correctly

P1localization
  1. Set the app language to Hindi.
  2. Find words with conjuncts and vowel signs, such as क्षमा, श्रेणी, कृपया and पूर्ण.
  3. Check them in headings, buttons, lists and input fields.

Expected: Conjuncts show as joined letters, with no visible halant (्) or dotted circle. Vowel signs and the र mark in words like पूर्ण sit on the correct letters.

LANG-13

Vowel signs are not clipped or broken at the edges of text boxes

P2localization
  1. Set the app language to Hindi, then Bengali or Kannada.
  2. Look at single-line inputs, chips, tabs and buttons with words that have marks above or below.
  3. Find a title that is cut short with an ellipsis.

Expected: The tops and bottoms of letters are fully visible inside each box. Text cut with an ellipsis ends after a complete letter, with no broken conjunct or stray vowel sign.

LANG-14

Long Tamil and Malayalam labels in buttons and tabs

P1localization
  1. Set the app language to Malayalam.
  2. Check the main buttons, bottom tabs and dialogs, especially Pay, Confirm and Verify.
  3. Repeat in Tamil.

Expected: Labels wrap or shrink to fit, and key buttons such as Pay and Confirm show their full label. No text overlaps icons or runs off the screen.

LANG-15

Amounts use lakh and crore grouping in every language

P2localization
  1. View an amount of ₹1,00,000 or more in English, Hindi and Tamil.
  2. Set the phone's language and region to English (United States) and check again.
  3. Type a large amount into an amount field.

Expected: Amounts show Indian grouping such as ₹1,00,000 and ₹1,00,00,000 in every language and region setting. The typed amount is grouped the same way, with the ₹ symbol next to it.

LANG-16

Dates, times and plurals in Hindi

P2localization
  1. Set the app language to Hindi.
  2. Open order history, a statement and an upcoming booking.
  3. Check dates, times and phrases such as 1 घंटा पहले.

Expected: Dates are in day-month-year order with Hindi or numeric months, never month first, and times are in IST. Relative times read correctly for one and many, such as 1 घंटा पहले and 3 घंटे पहले.

LANG-17

Hinglish and mixed-script text is saved as typed

P2edge
  1. In delivery instructions or notes, type kal 5 baje aana, घंटी मत बजाना and an emoji.
  2. Save, then reopen the screen.
  3. Check how the text appears on the order or summary screen.

Expected: The text is shown exactly as typed, with Roman and Hindi words in the same order. The emoji and the number 5 are kept.

LANG-18

Search finds a word typed on two different Hindi keyboards

P3edge
  1. Search for a word with a dot below a letter, such as ज़रूरी, on one Hindi keyboard.
  2. Search for the same word on a different Hindi or transliteration keyboard.
  3. Compare the results.

Expected: Both searches return the same results, even though keyboards can encode the dotted letter differently.

LANG-19

The OTP SMS still fills in on its own when it arrives in Hindi

P2localizationreal phone
  1. Set the app language to Hindi and start an OTP login.
  2. Wait for the OTP SMS on a Jio, Airtel or Vi SIM.
  3. Watch the OTP field.

Expected: The OTP fills in on its own, as it does when the SMS is in English. If auto-fill fails, the screen explains in Hindi how to type it in.

Why a real phone: Needs real SMS delivery from the carrier to test auto-fill

LANG-20

Screens stay in the chosen language after an in-app web page

P2edge
  1. Set the app language to Hindi with the phone in English.
  2. Open an in-app web page, such as terms or help, then close it.
  3. Move through three other screens.

Expected: All screens after the web page stay in Hindi. No screen switches back to the phone's language.

Interruptions & network4

LANG-21

Return from a UPI app while the app is in Hindi

P2interruptionreal phone
  1. Set the app language to Hindi with the phone in English.
  2. Start a payment that hands over to a UPI app.
  3. Complete or cancel the payment there and return.

Expected: The result screen and every later screen are in Hindi. The app does not switch to the phone's language or restart on return.

Why a real phone: Needs a real UPI app handover and return on a physical phone

LANG-22

Switch the language while offline

P2interruption
  1. With the app in English, turn on airplane mode.
  2. Change the app language to Hindi and browse several screens.
  3. Turn airplane mode off and refresh.

Expected: The app switches using text already on the phone, or says the language needs internet and stays in English. No screen shows blank labels or raw text keys such as label_pay_now.

LANG-23

Change the phone language while a half-filled form is in the background

P2interruptionreal phone
  1. On a budget phone, fill half of a form in the app, such as an address.
  2. Press Home and change the phone's language in system Settings.
  3. Return to the app from recent apps.

Expected: The app does not crash and the typed details are still there. The app follows the new phone language or keeps its own setting, as designed.

Why a real phone: Budget phones often kill the app in the background while the system language changes

LANG-24

First launch in Bengali on a slow connection

P3performance
  1. Throttle the network to slow 3G.
  2. Install the app fresh and choose Bengali.
  3. Open the home screen and three other screens.

Expected: Screens do not show English first and switch to Bengali after a delay. Loading messages are in Bengali too.

Device & OS5

LANG-25

Indian scripts on an older budget Android phone

P1compatibilityreal phone
  1. Use a budget phone on the oldest Android version the app supports.
  2. Set the app to Hindi, then to Odia or another supported script.
  3. Browse the main screens and read headings, buttons and lists.

Expected: All text shows as readable letters, with no empty boxes or question marks. Conjuncts join the same way as on a newer phone.

Why a real phone: Older phones and phone makers' system fonts lack or change some Indic glyphs

LANG-26

A custom system font or theme is set on the phone

P3compatibilityreal phone
  1. On a Samsung or Xiaomi phone, change the font style in display or theme settings.
  2. Open the app in Hindi and then in English.
  3. Look at headings, buttons and amounts.

Expected: Text in both languages stays readable, with no empty boxes, overlapping lines or clipped vowel signs. Layouts still fit on screen.

Why a real phone: Font style and theme settings are phone maker features not found on emulators

LANG-27

Type in Hindi with the phone maker's default keyboard

P2compatibilityreal phone
  1. On a Samsung, Xiaomi or Vivo phone, use its default keyboard with the Hindi layout.
  2. Type in search, name and notes fields, switching between Hindi and English mid-field.
  3. Tap the phone number and OTP fields.

Expected: Each text field accepts the characters, and nothing typed is lost or reordered when layouts switch. Phone number and OTP fields open the number keypad, not the Hindi layout.

Why a real phone: Phone makers' default keyboards and their Hindi layouts differ by brand

LANG-28

Set the app language from the phone's settings on Android 13+ and iPhone

P2compatibility
  1. On Android 13 or later, open Settings, Apps, the app, Language, and choose Hindi.
  2. On an iPhone, open Settings, the app, Language, and choose Hindi.
  3. Open the app on each phone and check its own language setting.

Expected: The app opens in Hindi on both phones, and its own language setting shows Hindi. Changing the language inside the app does not leave the two settings out of step.

LANG-29

App name, shortcuts and widget labels in Hindi on the home screen

P3compatibilityreal phone
  1. Set the phone language to Hindi.
  2. On Xiaomi, Vivo or Samsung phones, check the app name, long-press shortcuts and widget.
  3. Tap each shortcut.

Expected: Labels are readable and, if cut short, end after a complete letter. Each shortcut opens the right screen in Hindi.

Why a real phone: Home screen label truncation differs across phone makers' launchers

Security & privacy3

LANG-30

Changing the phone language does not skip the app lock

P1security
  1. Turn on the app's PIN or fingerprint lock.
  2. Send the app to the background and wait past its lock timeout.
  3. Change the phone's language in system Settings, then return to the app.

Expected: The app lock screen appears before any account data. The screen behind it is not visible while the app reloads in the new language.

LANG-31

Fraud warnings and consent text appear in the chosen language

P2security
  1. Set the app language to Tamil.
  2. Open screens with warnings such as Never share your OTP or UPI PIN.
  3. Open consent and permission explanation screens.

Expected: Warnings and consent text are fully in Tamil, with nothing important left only in English. A fluent reader confirms the meaning matches the English text.

LANG-32

Payment confirmation shows the amount and payee unchanged in each language

P1security
  1. Set the app language to Hindi and start a payment of ₹1,250.50 to a test payee.
  2. Read the confirmation screen and the receipt.
  3. Repeat in Bengali and Telugu.

Expected: The amount, payee name and masked account number match what was entered, with digits and decimals unchanged. Nothing on the screen is cut off or reordered by the translation.

Accessibility & language4

LANG-33

Urdu screens mirror from right to left

P2localization
  1. If the app offers Urdu, set the app language to Urdu.
  2. Check the home screen, forms, lists, back arrows and progress steps.
  3. Use swipe gestures and the back gesture.

Expected: Layouts run right to left, with text right-aligned and back arrows and progress steps mirrored. Icons such as a clock or a tick are not flipped.

LANG-34

Numbers, IDs and English words keep their order inside Urdu text

P1localization
  1. With the app in Urdu, view an amount, a phone number and a masked account such as XX1234.
  2. View an order ID that mixes letters and digits, and a sentence containing an English word.
  3. Type an address that mixes Urdu and English, then save it.

Expected: Numbers, IDs and English words read left to right in the correct order inside the right-to-left text. The saved address shows in the same order as typed.

LANG-35

Screen readers read Hindi screens in Hindi

P2accessibility
  1. Install a Hindi voice and turn on TalkBack, or VoiceOver on iPhone.
  2. Set the app language to Hindi.
  3. Move through login and the home screen.

Expected: Labels, buttons and images are read in Hindi, not as English labels or letter by letter. No control is announced only as Button.

LANG-36

Largest font and display size in Malayalam on a small screen

P2accessibility
  1. On a small-screen phone, set font size and display size to the largest.
  2. Set the app language to Malayalam.
  3. Go through login, a product or service page and checkout.

Expected: Every screen scrolls to show all content, and no button is hidden, cut off or overlapping. Key actions such as Pay can always be reached.

In the field

Where hindi and regional language support breaks on real phones

  • A custom brand font has no Indic letters, so older budget phones show empty boxes or mix two fonts within one line.
  • Fixed-height buttons, chips and inputs cut off the vowel signs above and below Devanagari, Bengali and Kannada letters.
  • Tamil and Malayalam labels run much longer than English, so Pay and Confirm buttons overflow or push actions off small screens.
  • The Hindi keyboard types Devanagari digits into amount and OTP fields, which the app rejects without a message or misreads.
  • Server errors, notifications and fraud warnings stay in English even after the user chose Hindi.
  • Opening an in-app web page or returning from a UPI app resets the app to the phone's language mid-flow.

Run these 36 cases on real phones

They fit the Standard package: 10 × 45-minute sessions on 4 phones or browsers of your choice, up to ~50 cases, ₹18,999 + GST ($249), verified report in 3 business days. The 10 P1 cases alone fit Starter (₹9,999 + GST).

Download the CSV, pick the package at checkout and upload the file with your build. Testers run them on their own phones, on Jio, Airtel and Vi.

Questions

About testing hindi and regional language support

How do I test Hindi text rendering in a mobile app?

Use real Hindi words with conjuncts and vowel signs above and below the letters, such as क्षमा, श्रेणी, कृपया and पूर्ण, and check them in buttons, inputs and lists. Look for visible halant marks, dotted circles, clipped tops or bottoms, and conjuncts broken by an ellipsis. Repeat on an older budget Android phone and on a phone with a custom system font, where rendering most often differs.

How should an app handle Devanagari digits typed into number fields?

Many Hindi keyboards can type Devanagari digits such as १२३ instead of 0–9. Amount, OTP and phone fields should open the number keypad, and if native digits still arrive, either convert them to the same value or ask for 0–9 with a clear message. Test this on payment and OTP screens, where a misread digit can change an amount or block login.

How do I test right-to-left layout for Urdu?

Switch the app to Urdu and check that layouts, text alignment, back arrows and progress steps are mirrored, while icons such as a clock stay unflipped. Then check mixed content: amounts, phone numbers, order IDs and English words must keep left-to-right order inside the right-to-left text. Type and save an address mixing Urdu and English to confirm it is stored and shown as typed.

Related flows

Test these next

Your AI wrote the test cases. Run them on real phones.

99tests runs your cases, AI-generated ones included, on the phones, laptops and browsers your users own. Every finding is verified, serious bugs come with a screen recording, and each case comes back pass, fail, blocked or not run.