Set user’s language
OneSignal automatically sets thelanguage property from the device’s language when a user is first created using the web or mobile SDKs.
You can also manually set or update the user’s language using the ISO 639-1 2-letter language code with:
- The SDK’s
setLanguagemethod. - The
languagefield in the Create user or Update user APIs. - The
languagecolumn in the CSV Importer.
See Supported languages for a list of valid language codes.
Send messages in different languages
Use tabs below to view localization options by messaging channel.- Push Notifications
- Email
- In-app messages
- SMS
Dashboard sending
From Messages > Push > New Message or Templates, click Add Languages. Choose from:Option 1: Checkboxes
Select languages you support. Any language not selected will fall back to Any/English.
Using checkboxes to select the languages.
Option 2: Import language content
Use the provided template to format the message in each language.
Modal to copy and paste data from a spreadsheet.

Modal with example data.

Content preview.
Option 3: Dynamic Content
Use Dynamic Content which involves creating and uploading a CSV file with the languages you support.Troubleshooting
- English required: Include a row for
enas default. - Use correct headers:
language_code,title,subtitle,message - Comma-separated values: Ensure proper CSV formatting.
- Unsupported language: If not listed in the UI or template, it’s not supported. Use the next best option and contact
support@onesignal.com.
The dashboard editor uses a standard HTML field. Special characters like
% may cause display issues in RTL languages. Add RLM marks after such characters to fix formatting problems.API sending
Thecontents and headings fields support multiple languages:Supported languages
Language code maps to thelanguage user property in the ISO 639-1 code 2-letter format. We support the following language codes.
If the language code is not included in the pop-up and CSV template, then this language is not supported. We recommend using the next best language and sending us a product request to
support@onesignal.com| Language | Language Code |
|---|---|
| English | en |
| Arabic | ar |
| Azerbaijani | az |
| Bosnian | bs |
| Catalan | ca |
| Chinese (Simplified) | zh-Hans |
| Chinese (Traditional) | zh-Hant |
| Croatian | hr |
| Czech | cs |
| Danish | da |
| Dutch | nl |
| Estonian | et |
| Finnish | fi |
| French | fr |
| Georgian | ka |
| Bulgarian | bg |
| German | de |
| Greek | el |
| Hindi | hi |
| Hebrew | he |
| Hungarian | hu |
| Indonesian | id |
| Italian | it |
| Japanese | ja |
| Korean | ko |
| Latvian | lv |
| Lithuanian | lt |
| Malay | ms |
| Norwegian | nb |
| Persian | fa |
| Polish | pl |
| Portuguese | pt |
| Punjabi | pa |
| Romanian | ro |
| Russian | ru |
| Serbian | sr |
| Slovak | sk |
| Spanish | es |
| Swedish | sv |
| Thai | th |
| Turkish | tr |
| Ukrainian | uk |
| Vietnamese | vi |