Change the app language
Change the language used by Business App interface labels on the current device. The available choices depend on the languages enabled for the current project, and changing the app language does not translate business, catalog, order, or customer content globally.
Before you start
- Sign in to the intended project and select Profile.
- Keep the app connected. It loads the available language names and the selected interface dictionary from the project service.
- Note the current language name before changing it. You need that name to roll back the change.
- Finish any time-sensitive order action first. The interface can show a loading state while its labels refresh.
Change the language
- In Profile, move to the language control near the bottom of the page. The control shows the current language name.
- Select the current language name to open the list.
- Select the intended language by its displayed name. The list closes after the selection.
- Wait for interface labels to refresh. The source-intended flow does not ask you to restart the app.
- Confirm both results:
- The language control shows the language you selected.
- A familiar interface label, such as Profile, appears in the expected language when a translation is available.
The selection is intended to remain on this device after you close and reopen the app. Reopen the app only to verify persistence; a restart is not part of the normal change procedure.
Verify the result
| Visible result | What it establishes | Next action |
|---|---|---|
| The control shows the selected language and interface labels change | The app applied the selected language to the current interface state | Continue working and verify important labels before acting. |
| The control changes but some labels remain in the previous language or in English | The selected dictionary can be partial, unavailable, or mixed with embedded fallback text | Do not assume the entire app or project content was translated. Refresh the page state once, then report the exact label if it remains untranslated. |
| The list closes but the control or labels do not change | The local save or dictionary refresh was not confirmed | Reopen Profile, verify the current language name, and retry once when connected. |
| The selected language remains after reopening the app | The app restored the local selection on this device | No further action is required. |
| A different language returns after reopening | Local persistence or the project language state was not confirmed | Select the intended language again when connected, or return to the previous language and escalate with the visible result. |
Return to the previous language
- Return to Profile.
- Open the language control.
- Select the previous language name you noted before the change.
- Wait for the control and familiar interface labels to return to that language.
- Close and reopen the app only if you need to verify that the rollback persists on this device.
If the language control is unavailable, do not clear app storage or reinstall the app as a workaround. Restore connectivity and reopen Profile. Escalate if the previous language still cannot be selected.
Recover safely
| What you observe | What it means | Safe next action |
|---|---|---|
| No language control appears | The language list can still be loading, failed to load, or contain one or fewer available choices | Restore connectivity, leave and reopen Profile, and check again. |
| A language expected for another project is missing | The current project's enabled language list is different | Verify the intended project. Ask its administrator which interface languages are enabled. |
| A language name appears without the expected flag or ordering | Display names and available codes come from project configuration, while visual country mappings are app-provided | Choose by the displayed language name, not by list order or flag alone. |
| Labels are mixed after the change | Not every interface key or returned content value is guaranteed to have a translation | Use visible context carefully, then report the exact untranslated label and selected language. |
| The previous language cannot be restored | The list or dictionary request is unavailable, or the local selection did not update | Stop before changing storage or reinstalling. Record the selected language, visible labels, project, platform, and connection state for support. |
Availability and limits
- The menu shows enabled languages returned for the current project. It is hidden while that list is loading and when no more than one language is available.
- Language names are supplied by the project language list. Do not rely on a fixed menu order, flag, or universal set of choices.
- Changing the language updates Business App interface translation state and the language used for later app requests. It is not a promise that every label, server message, business name, product name, customer entry, or order value is translated.
- The same source path is used on iOS and Android, but current source evidence does not prove identical rendering, right-to-left layout, persistence, or error behavior on every installed build.
- Source and API evidence describe intended behavior at the documented versions. They do not establish the deployed app/API version or a project-wide locale change.
Related articles
- Review and update your profile
- Understand technical access levels and business scope
- Recognize loading, connection, and error states
:::note Visual status Visual guidance is deferred pending this exact reopen trigger: authorized synthetic capture program with exact Profile current-language, picker-loading, one-language-hidden, enabled-language-list, selection, dictionary-loading, translated, partial-fallback, returned-error, caught-error, persistence-after-relaunch, rollback, missing-flag, iOS, Android, left-to-right, and right-to-left states; accepted isolated build and API deployment relation, synthetic project configuration, L2 local-write and rollback receipt, exact asset allowlist, redaction, and independent visual QA :::