Skip to main content
Automations

Automate routine actions by providing a set of custom rules.

Ilya Krukowski avatar
Written by Ilya Krukowski
Updated over a week ago

This feature is available from the Start plan and above.

Automations let you set up tasks to run automatically when translations are updated for a selected language. This can happen through the user interface, API, or integrations. For example, you can create a rule to generate machine translations in French whenever the English translations are updated.


Getting started

To get started with automations, open your Lokalise project and click More > Automations:

Then click Create automation rules to add a new automation:


Quotas

  • The number of available automations depends on your subscription plan. Automations are counted across all team projects, and each language pair is counted as a separate automation.

  • The number of characters you can translate using machine translation (MT) is limited. This limit is shown in the top right corner of the automations page. The MT character limit resets on the first day of each month.

  • The number of AI words is also limited. Please read more about this quota in the corresponding document and refer to the recommended practices below to learn about AI words optimizations.

If you exceed the automation limits, automations will be disabled and will no longer run. Machine translations and AI translations also won't be run once the quotas are depleted.

Subscription plan

Available automations

MT character limits

Free

0

0

Legacy

10

10,000

Trial

150

10,000

Start

25

250,000

Essential

50

500,000

Pro

100

1,000,000

Enterprise

Custom (start at 150)

Custom (starting at 1,500,000)

Please contact our support to learn more.


Creating automations

Please be aware that currently automations only work with the main branch of your project (if you have project branching enabled).

Automation options

After clicking Create, you'll see the following screen:

Let's discuss the available options:

  • Monitored language — select a language to monitor. When this language changes within the current project (see trigger conditions below), certain actions will be applied to the automated languages.

  • Automated languages — choose one or more project languages to apply automations to. You can also select All project languages from the Automated languages dropdown. In this case, all newly added languages will also be automated, and the number of available automations will be re-calculated.

  • Minimal change required — possible values range from 0% to 100%. This setting defines the minimal monitored language change required to trigger the automation.

  • Allow cascade triggering — when enabled, the current automation can be triggered by other automations.
    For example, if you have a rule to monitor English and apply TM to Russian translations, and another rule to monitor Russian and use MT for French, enabling cascade triggering for the second rule will run the action whenever Russian translations are modified by the first rule:


  • Actions — provide an action sequence to apply to the target languages. The next action in the sequence will only be attempted if the previous one fails or is not applicable. To remove an action, click the small "cancel" icon next to it. By default, automations are applied only to empty translation values, but this can be adjusted (see Common action options below).

When you are ready, click Save changes, Save and apply (to run your automations), or Add another rule to create another automation.

Available actions

The following automation actions are available:

  • Insert monitored language translation — copy the translation value from the monitored language to the automated languages.
    For example, if you set English as the monitored language and German as an automated language, entering "Welcome" for the English translation will also copy "Welcome" to the German translation for the same key.

  • Apply translation memory — try to use translation memory to perform translation. You will also need to provide a value for the translation memory threshold. If a translation memory entry with the desired threshold cannot be found, this action will be skipped.

  • Use machine translation — use MT to perform translation. You'll need to choose a translation provider: Google Translate or DeepL. MT values inserted by automations won't be saved into the translation memory.

  • Pseudolocalize — apply pseudolocalization to the automated languages. You can also increase translation length by entering a percentage number.

  • Change translation status — modify translation status for the automated languages (see the common action options below).

  • Clear translation — remove translation value by setting it to Empty. This action will always be executed, even if the target translation is not empty.

  • Use Lokalise AI (beta) — use Lokalise AI to perform translation. This action consumes your AI words quota just like AI tasks do. This action has its own specifics so please refer to the Tips and recommended practices section to learn more.

Common action options

The following options are common for all actions:

  • Force this action — forcefully apply the chosen action even if the target language translation is not empty. By default, automations are applied only to empty translation values; if the value is not empty, it will be skipped. The only exception is the Clear translation action, which always fires.

  • Clear statuses — unassign all statuses from the translation value before applying the new ones.

  • Mark as Unverified — when enabled, the translation value will be marked as unverified.

  • Mark as Reviewed — mark the translation value as reviewed. This option is not applicable if your project has the reviewing feature disabled (you can enable it in the general project settings).

  • Set custom statuses — this setting is available only if your project has custom translation statuses enabled. You can choose which custom status will be assigned to a translation once the action has been applied.

Global automation options

  • Auto-toggle Unverified — if you update the base language translation, Lokalise will automatically mark translations for all other languages as unverified. This action is performed before applying automations. This option was previously found in project settings but is now under Automations.


Automation mechanics

Actions logic

If you specify multiple actions for the same automation (e.g., Apply translation memory and Use machine translation), only one action will be performed:

  • The automation will first try to apply TM to the chosen languages.

  • If this fails (e.g., no suitable entries in the TM), it will then try to perform translation using the chosen MT provider.

  • If the first action succeeds, the second one will be ignored.

By default, automations are applied only to empty values. To override this behavior, enable the Force this action option.

Action triggers

Automations are triggered after certain operations are performed:

  • Find and replace — never triggers

  • API v1 — never triggers

    • Update a translation — always triggers

    • Upload a file, create a key, update a key — triggers only if the use_automations parameter is set to true (the default value is false)

  • Graphical interface (Lokalise web interface):

  • Bulk actions:

    • Copy keys, clear translations, restore history, pseudolocalize — never triggers

    • Fill with key name, fill with text, source to target, apply TM — triggers only if the corresponding checkbox is enabled

  • Language settings (change plural forms) — never triggers

  • File import via Git integrations — triggers only if the corresponding checkbox is enabled

  • Content integrations (Contentful, WordPress, Zendesk Guide, Intercom Articles etc) — always triggers

  • Design integrations (Figma, Adobe XD, Sketch etc) — always triggers

  • Link keys, merge keys — never triggers

  • Translation image set — never triggers

  • Translation editor, in-context editor — always triggers

  • Branch merging — never triggers

  • Machine translation orders — never triggers

  • Gengo orders — always triggers

Language permissions and statuses

  • If a contributor makes changes to a monitored language, the automation will trigger even if the contributor has no permissions for the target language.
    For example, if an automation monitors English and uses an MT provider to populate French translations, and Ann (a contributor with read/write access to English but no access to French) modifies English translations, the automation will trigger and the MT provider will populate French translations.

  • If the contributing within tasks only option is enabled in the project settings, automations will still propagate to the locked languages.

  • Only unlocked translations trigger automations. If a translation is locked due to inclusion in an order or a task, it will not trigger an automation.


Running automations on demand

Please keep in mind that automations won't update non-empty target translations. To apply automation even if the target is not empty, tick the Force this action setting for the action.

To run your automations on demand without making changes to the translations, just click Save and apply:

Using automations during key creation

By default, automations won't run during the key creation process. To enable automations, tick the Automations checkbox in the key editor:

Using automations during file import

By default, automations won't run during the file import process. To enable them, tick the Enable automations checkbox:

Please note that this feature cannot be used with the Pre-translate with 100% TM matches option. If you need to pre-translate the uploaded texts and apply some automation logic, create a special automation action Apply translation memory > with threshold 100%, and tick only the Enable automations setting.


Lokalise AI: Tips and recommended practices

Make sure to use proper locale and region

When choosing the automated language for the Use Lokalise AI action, ensure that the chosen locale also includes the correct region code. This can affect the resulting translation.

For example, if you use the "Portuguese" language (pt language code), the AI might translate the text into Brazilian Portuguese. If it's important to use the Portugal locale, make sure to choose Portuguese (Portugal, pt_PT).


Providing additional context for the Lokalise AI

When the automation applies the Use Lokalise AI action, it will try to read translation context from:


Be mindful about your AI words quota

The Use Lokalise AI action consumes the AI words quota just like AI translations do. If the quota is depleted, the AI automations will be disabled.

The AI words quota can be found on the Team settings page or on the Automations page under the top menu:

You'll be notified when you're running out of AI words and when the quota is fully exhausted:

  • A banner will be displayed in the Lokalise app.

  • An email will be sent to you. You can opt-out from these emails in your personal profile settings, under the Notifications tab.


Using fallback action

To make your automation workflow more robust, we recommend adding Use machine translation action as a fallback:

This ensures that if the AI fails to perform the translation, machine translation (MT) will be used instead. Specifically, by adding this fallback action, you can still get your translations even if you exhaust the AI words quota.


Optimizing the usage of AI words

Set thresholds

To avoid re-running Lokalise AI on every minor edit of the monitored language, trigger AI automations only when there’s a significant change in the source language. Adjust the Minimal change required setting to achieve this (we recommend setting this value to 10% or above).

Take advantage of the translation memory

If your translation memory (TM) is populated, it might make sense to first apply TM with a certain threshold. If that action fails (the entry cannot be found), use Lokalise AI:

With this approach, if a 100% match is found within the TM, you won't consume any Lokalise AI words.

Replace modified values on file uploads

If you plan to enable automations during the file upload process, tick the Replace modified values option.

This way, Lokalise will update only translations and descriptions that differ from the uploaded ones.

Check the quotas before sending content via automated flows

If you're using Lokalise API to automate your workflows, check team quotas before sending more content to the project. Specifically, check the quota_usage and quota_allowed fields for the Team object.

Here's an example for Node SDK:

// Get your team
const teams = await lokaliseApi.teams().list();
const team = teams.items[0];

// Get the maximum quota allowed
const max_quota = team.quota_allowed.ai_words // => 4000

// Get the current quota usage
const current_quota = team.quota_usage.ai_words // => 1234

// Compare quotas and perform actions accordingly...

This way, you can avoid fully exhausting the AI words quota or stop sending any data when the quota is depleted.


Take advantage of custom translation statuses

Before choosing custom statuses, you'll need to enable and create them in the project settings as explained in the corresponding article.

In certain cases, you might need to quickly find translations that were automatically translated by the AI, MT, or fetched from the translation memory. This can be easily done by using custom translation statuses.

When creating your automation, tick the Set custom statuses setting and click on the white circle to choose a status to assign. In the example below, we assign a blue custom status ("AI translated") when the Use Lokalise AI action has been applied to a key:

You can now go to the project editor and filter your keys by this custom status to find only the strings translated by the AI:

You can create even more complex workflows. For example, you can create automation with the following actions:

  1. Try — Apply translation memory
    With threshold — 100%
    Set custom statuses — choose a custom status (e.g., "Translation memory")

  2. Try — Use Lokalise AI
    Set custom statuses — choose a custom status (e.g., "AI translated")

  3. Try — Use machine translation
    Set custom statuses — choose a custom status (e.g., "MT translated")

Here's a sample setup:

By using this approach, you can easily track translations populated from various sources and manage them as necessary.

Did this answer your question?