Skip to main content
Use Language and Region to change the language the app shows and the country the device is set to. Use Proxy location only when servers must see traffic from another country. Choose a language, a region, or both. Your app opens in that language from its first screen, on Android, iOS and web:
  • Android and iOS: the device language is set before the first step, and your app is opened in it.
  • Web: the browser opens in that language. Your site sees it in the Accept-Language header and in navigator.language.
Your test steps can stay in English. Autosana tells the testing AI the run’s language, so a step such as “Tap Sign in” finds Anmelden on a German screen. Text that a step tells it to type is typed exactly as written, not translated. Runs are cached per language. A German run never replays a run recorded in English.

Language and Region

The run dialog and the automation editor have two pickers:
  • Language: the language your app shows. Default (English) keeps English.
  • Region: the country the device is set to: dates, money, time zone and location. Default uses the language’s usual country, such as Germany for German and the United States for English.
Any language works with any country. For example, English with Region set to Mexico runs in English with Mexican dates, money, time zone and location (en-MX). The line under the pickers shows the code the device uses.

Default

If you leave both pickers on Default, the run uses US English (en-US). Every device and browser starts in US English, and Autosana leaves it that way. After a run that changed the language, the next run starts in US English again. On a physical iPhone, and on an iOS simulator on your own machine, only your app opens in the language. The phone’s own setting does not change.

Time zone and location

When the run has a country, such as de-DE, it also looks like it is in that country. Choosing a language or a region in the dashboard always sets one:
  • Location: the GPS position moves to that country, on web, Android and iOS. Web runs get the location permission automatically.
  • Time zone: the country’s main time zone, on web and Android emulators. iOS runs keep US Pacific time, and physical Android devices keep their own.
Most countries use their capital. Countries with several time zones use one city: A language without a country, such as de, changes neither. A test step that changes the location overrides it for the rest of the run. Default runs keep the device’s own location and US Pacific time. A language does not change the IP address. For that, use Proxy location. When a run has both, the time zone and location follow the language, and only the IP address follows the proxy.

Supported languages

Use a language and region code, such as: The Language and Region pickers list every supported language and country, and any language works with any country, such as en-MX. A language without a region, such as de, is also accepted. The app shows German either way. With a region, dates, numbers and currency follow that country. Without one, iOS keeps the device’s region, while Android and web use the language’s usual formats. Lowercase and _ work too: de_de becomes de-DE. An unsupported code is refused before the run starts. The error starts with Unknown locale and lists the valid codes. It works on every platform and device: web, Android and iOS, emulators, simulators, physical devices and devices on your own machine.

Choose a language

In the dashboard

  • Run dialog: choose Language and Region under Run options.
  • Automations: in the automation editor, choose Language and Region above the browser or device picker. Every run the automation starts uses them.
Reruns and automatic retries keep the language of the original run. The run page shows the run’s language.

With the CLI

autosana builds upload --locale de-DE gives the uploaded build a language. See Build uploads.

With the GitHub Action

Add locale to the Autosana GitHub Action step. Every run the upload starts uses it, including the tests the step selects.

With the API

Send locale in the request body of these calls:

With MCP

These MCP tools take a locale argument:
  • flows_run
  • suites_run
  • labels_run
  • folders_run
  • automations_create
  • automations_update
On automations_update, an empty string removes the saved language.

Build uploads

An upload can carry a language. It applies to every run the upload starts:
  • CI/CD automations. The upload’s language replaces the automation’s own language. If the upload has none, the automation uses its own.
  • Later PR test runs against that build.

When the language can’t be set

If the device refuses the language, the run fails before the first step with an error that starts with Could not set the device language.

Change the language during a test

To switch languages partway through a flow, write it as a step, such as “Set the device locale to de_DE”. See Flows.