Skip to content
Meta Business PartnerStep-by-step guide

How to set up multilingual messaging on the WhatsApp Business API

India speaks in many tongues, and a Hindi customer opening an English-only order update rarely reads it the same way as one written in their own language. On the WhatsApp Business API, "multilingual" doesn't mean one clever template that auto-translates — it means creating the same template in each language you serve, tagging every contact with a language preference, and choosing the right version at send time. This tutorial walks through exactly how to build that setup in InfiQ, from creating language-pair templates and locale codes to fallback logic and testing, so your notifications land in the language each customer actually reads. Every step reflects how the official WhatsApp Business API and Meta's template approval process really work in 2026.

One approved template per language, not auto-translation
Approach
By contact's stored locale code, with default fallback
Routing
Minutes per language in InfiQ (plus Meta review)
Setup time
Per delivered message by category — same across languages
Cost model
No-code in InfiQ; API optional for custom flows
Skill needed
Official Meta Business Partner in India
Partner status

What you'll do

Multilingual on the WhatsApp Business API works by creating one approved template per language (not auto-translation), storing a language preference on each contact, and selecting the matching template at send time with a fallback default. In InfiQ you group these as language variants of the same template name, set locale codes, and route by the contact's language field — testable on your own number before going live.

Step 1 — Plan your languages and set a default

Before touching a template, decide which languages you will actually maintain. Every language you add is a template you must write, get approved by Meta, and keep in sync whenever the message changes — so start with the two or three that cover most of your audience rather than fifteen you will never update. A retailer in Maharashtra might launch with English, Hindi and Marathi; a Tamil Nadu clinic might pick English and Tamil. Pick one language as your default fallback: this is what a contact receives when their preference is unknown or when a specific language variant hasn't been approved yet. English is the common default in India because it clears Meta review quickly and is broadly understood, but choose whatever fits your customer base best.

  • List languages by real audience share, not aspiration — each one is ongoing maintenance.
  • Nominate a single default/fallback language for contacts with no stored preference.
  • Confirm WhatsApp supports the locale code for each language (for example en, hi, mr, ta, te, bn, gu, kn, ml, pa).

Step 2 — Create one approved template per language

WhatsApp does not translate templates for you. For a single order-confirmation message you serve in three languages, you create three templates — and Meta reviews each one separately. In InfiQ you keep them tidy by giving every language variant the same template name (for example order_confirmation) and assigning each its own language/locale code, so they read as one logical template with multiple language versions rather than three unrelated messages. Keep the variable positions identical across every language: if {{1}} is the customer name in English, it must be the customer name in Hindi and Marathi too, because your send logic passes the same values into whichever version is chosen. Match the category to the message so cost and approval stay predictable — utility for order and account updates, marketing for promotions, authentication for OTPs — and use the same category for every language variant of the same message.

  • Reuse one template name across languages; differentiate by locale code (order_confirmation in en, hi, mr).
  • Keep {{1}}, {{2}} … mapped to the same meaning in every language so one payload fills all versions.
  • Set the same category (utility / marketing / authentication) on every language variant.
  • Have a native speaker proofread each translation before submitting — Meta will not fix wording, only approve or reject it.

Step 3 — Store a language preference on every contact

Multilingual routing only works if you know which language each person wants. Add a language field to your contacts in InfiQ and populate it from whatever signal you already have: the language a customer chose on your website or app, the state or region in their address, or an explicit reply to a first-message language prompt. The most reliable approach is to ask once — a welcome template that offers 'Reply 1 for English, 2 for हिंदी' — and save the answer so every future message honours it. Where you have no signal at all, the contact simply inherits your default language from Step 1. Storing the preference as a clean locale code (hi, not 'Hindi') makes the send-time lookup in the next step trivial.

Step 4 — Route each send to the right language variant

With variants created and preferences stored, sending becomes a lookup: read the contact's language field, pick the template variant whose locale code matches, and fall back to your default if that language isn't available. In InfiQ's no-code flows you branch on the language field so the same campaign or automation fires the correct version to each segment; for developers building on the API, you pass the matching language code in the template send call. The safeguard that saves you is the fallback rule — if a contact is tagged for a language you haven't yet had approved, the send should silently use the default rather than fail, so no one gets an empty or errored message. Because you kept variable positions identical in Step 2, the same values slot into whichever variant is chosen without any per-language mapping.

  • Look up the contact's stored locale code at send time.
  • Select the template variant matching that code; use the default when there's no match.
  • Pass the identical variable payload regardless of which language variant is sent.
  • Never let a missing translation block a send — always resolve to the default.

Step 5 — Test on your own number, then go live

Multilingual bugs hide in the details — a Hindi template that renders name and order number in the wrong order, a fallback that never triggers, an emoji that breaks a right-to-left rendering. Before any real customer sees it, set your own contact record to each language in turn and send yourself the message in every variant, checking that the correct template appears, the variables land in the right spots, and the fallback fires when you clear the language field. Send from a number that's already warmed up rather than a brand-new one pushing high volume on day one. Once live, watch delivery and read status and each template's quality rating per language: a variant that draws blocks or low read rates in one language can be revised and resubmitted without touching the others, which is the quiet advantage of keeping every language as its own approved template.

  • Impersonate each language on a test contact and confirm the right variant, variables and fallback.
  • Test from a warmed-up number, not a fresh one at high volume.
  • Monitor delivery, read status and per-language quality rating after launch.
  • Revise and resubmit a weak language variant independently — the others stay live.

Do this in InfiQ now

Talk to InfiQ

Want us to set this up with you?

Tell us where you’re stuck — we’ll walk you through it and get you live.

Step 1 of 2
WhatsApp

Protected by invisible spam checks · replies within 1 working day

Frequently asked questions

Does the WhatsApp Business API translate my messages automatically?+
No. WhatsApp does not translate template content. For each language you want to support you create a separate template with its own locale code and get it approved by Meta individually. 'Multilingual' means maintaining parallel approved versions and choosing the right one at send time — not machine translation of a single message.
Can I use the same template name for multiple languages?+
Yes, and you should. Giving every language version the same template name (for example order_confirmation) with different locale codes keeps them grouped as one logical template. In InfiQ your send logic references the name plus the target language code, which makes routing by a contact's preference clean and consistent.
How do I know which language a contact prefers?+
Store a language field on each contact and fill it from a website or app selection, region data, or a one-time reply to a language-choice prompt. When no preference exists, the contact receives your default fallback language. Keeping the value as a locale code like hi or ta makes send-time routing straightforward.
What happens if a contact's language variant isn't approved yet?+
Set a fallback so any contact tagged for a language you haven't yet had approved automatically receives your default-language template instead. This prevents failed or empty sends. When the new variant clears Meta review, routing picks it up on the next send with no other changes needed.
Do all language variants have to use the same template category?+
Use the same category for every variant of the same message — utility for updates, marketing for promotions, authentication for OTPs. WhatsApp bills per delivered message by category, so keeping variants aligned keeps both cost and approval behaviour predictable across languages.
Does adding more languages cost more to send?+
You pay per delivered message by category, regardless of language — a delivered Hindi utility message and a delivered English utility message cost the same for that category. The real cost of extra languages is the effort to write, approve and maintain each template, not a per-language surcharge. InfiQ shows transparent ₹ pricing, ex-GST.
Do I need a developer to set up multilingual messaging?+
For most businesses, no. InfiQ's no-code flows let you branch on a contact's language field and send the matching template variant without writing code. Developers who prefer the API can pass the language code directly in the template send call for fully custom automations.
How long does the whole setup take?+
The build in InfiQ takes minutes per language once your WhatsApp Business API account is active. The variable part is Meta's template review, which typically clears quickly but is required separately for each language variant, so plan your submissions a little ahead of a launch.