How to Send Notifications in Multiple Languages

Configure dynamic localized notification messages triggered automatically in your customers' native language preferences using translation tabs and matching fallback workflows.

5 min read·Updated May 30, 2026
How to Send Notifications in Multiple Languages

Delivering transactional messages and order updates in your customer's native language is one of the most effective ways to build trust and increase conversion rates. The Wawp plugin provides a concurrent, automated multi-language notification engine that translates WhatsApp Web, WhatsApp Meta API, and Email notifications based on user preferences.

ROI IMPACTBUSINESS IMPACT & ROI

Language Preference is Power: Over 72.4% of international consumers state they are far more likely to buy if transactional details are in their native language (Common Sense Advisory Research study). In fact, 56.2% state language is more important than price. Conversion & Loyalty Boost: Delivering localized order updates builds immediate buying confidence, lifting conversion rates by up to 40% and boosting post-purchase brand loyalty by 35% (Harvard Business Review findings).


Dashboard Translation Interface

When you enable the multilingual automation feature in the plugin settings, the notifications dashboard adds a language management bar containing translation tabs and configuration controls.

1. The Main Language vs. Translation Tabs

  • Main Language: Serves as the primary system locale for your store. It acts as the global template baseline and the default fallback language for all notifications.
  • Translation Tabs: Every language you activate appears as an individual tab on the dashboard. Click a tab to view, enable, and customize notification templates for that specific language.

2. Adding Translation Languages (Searchable Side Drawer)

To translate your notifications into a new language:

1
Trigger Drawer Click the Add Translation Language (or Add Language) button on the language tab bar. A side drawer panel opens on the right side of the screen.
2
Search Language Use the search bar in the drawer to search for your target language (e.g. Spanish, French, Arabic, Hindi, German, etc.).
3
Add Language Tab Click on the language to instantly add it to your translation tabs.

3. Managing Language Lifecycles

  • Set as Main Language: You can change your primary store language at any time. Click the Set as Main option next to any active translation tab to change the default language.
  • Deleting Translation Packages: To remove a language, click the Delete icon on its tab.

Deleting a language package permanently removes all translated notification message templates associated with that language. A confirmation dialog will prompt you to confirm before the deletion is processed.


Under-the-Hood Database Translation Schema

To keep database records clean and optimized, Wawp separates notification logic (triggers, delays, and filters) from localized message content templates:

  • Global Configuration Table (flows and flow_step_meta): Stores the core notification settings, including selected triggers, audience filters, billing country rules, product segmentations, and timing delays.
  • Localized Content Table (flow_translations): Stores the actual translated message content—such as whatsapp_message, whatsapp_media_url, email_subject, and email_body—separately for each configured language code (e.g. ar_EG, es_ES, fr_FR).

Simultaneous Updates: This database schema saves you time. Because triggers and filters are stored globally, modifying a delay time or adding a product restriction on a notification card updates it across all languages simultaneously. You do not need to repeat complex filter setups for each language.


How the Plugin Resolves Customer Languages

When a WooCommerce or WordPress trigger fires, Wawp resolves the recipient's language preference using a failure-proof, multi-tier resolution chain:

Dynamic Language Resolution Flow:

  • Trigger Event Fires: An order status shifts or a WordPress membership hook is executed.
  • For Registered Members: Wawp automatically retrieves their language settings from their saved user profile locale via get_user_locale( $user_id ).
  • For Guest Checkouts: The system resolves their locale dynamically from their checkout billing country or the active session locale.
  • Global Fallback Baseline: If no customer locale is found, the system defaults to your configured Main Language code, with a final fallback to the WordPress site locale (WPLANG / en_US).
  • Registered WordPress Users: Resolves the language code by checking the user's saved WordPress profile locale via get_user_locale( $user_id ).
  • Guest Checkout / Unregistered Visitors: Detects the visitor's location or the checkout language used during the session.
  • Global Fallback: If the visitor's language cannot be detected, the system falls back to your configured Main Language (main_language_code). If the main language setting is empty, the system falls back to the site's default installation locale (WPLANG or en_US).

The Failure-Proof Rule Matching Workflow

To ensure that customers always receive important notifications, Wawp uses a failure-proof matching workflow that prevents unsent messages:

1
Trigger Check An event trigger fires (e.g. Order Processing wc_status_processing).
2
Language Check The system detects the customer's resolved locale (e.g., es_ES for Spanish).
3
Localized Match Wawp checks if the Spanish (es_ES) tab has an active notification card configured for that trigger. If it finds a matching rule with valid message content, the message is scheduled and sent in Spanish.
4
Main Language Fallback If there is no notification rule configured under the Spanish tab, or if the rule is empty (solid red indicator) or disabled:
  • The engine automatically falls back to your configured Main Language tab (e.g., English en_US).
  • It searches for active notification cards configured for the trigger in the Main Language.
  • If found, it sends the notification using the Main Language template.

This matching workflow ensures that no recipient is left without a message. If a translation is missing for a specific trigger, the customer still receives the message in your primary language instead of experiencing a delivery failure.


Queue Processing for Delayed Notifications

When a notification is configured with a timing delay (e.g. a payment reminder sent 2 hours after checkout):

1
Resolve Preference The system resolves the recipient's language preference at the moment the trigger is fired (e.g. fr_FR for French).
2
Schedule Background Job It schedules a background cron job (wp_schedule_single_event) and stores the resolved language code (lang_code) directly in the job's parameters database table.
3
Fetch Parameters When the scheduled delay expires and the background task fires, the system fetches the saved language parameter.
4
Deliver Native Message The message is successfully delivered in the customer's native language, even if you have modified your default store settings in the meantime.
Share this article:

Did this page help you?
100% found this article helpful (0 likes)