Getting started
Getting startedFAQs

FAQs

Here are some frequently asked questions about Gato AI Translations for Polylang.

Are existing posts automatically translated when adding a new language?

If I add a new language to the site, will the plugin automatically create and translate all previously published blog posts into that new language? Or do I need to manually trigger translations for existing content?

After adding a new language, new posts will be automatically translated. However, for existing posts, you'll need to trigger them manually.

When you do so, it'll be wise to temporarily disable the other languages, so you don't trigger those translations again.

In other words, keep only the new language enabled, trigger the translations, and when finished enable all languages again.

You can do so going to Settings > Plugin Configuration > Languages, and setting Translation provider per language option to None (Disable Translation).

Disabling translations for a language in the Settings
Disabling translations for a language in the Settings

How to translate manually only?

The plugin keeps wanting to automatically translate posts for me, when I just want to use the Polylang method for creating translations with the plus icon.

There are several ways to disable the automatic translations:

  1. Disable the automatic translations in general:
Disabling the automatic translations in general
Disabling the automatic translations in general
  1. Disable the automatic translations for some specific CPT:
Disabling the automatic translations for some specific CPT
Disabling the automatic translations for some specific CPT
  1. Disable automatically creating the translation entry for that CPT:
Disabling automatically creating the translation entry for some CPT
Disabling automatically creating the translation entry for some CPT

Then, you can manually create your post using the + icon, and it’ll be translated when doing “Gato Translate” via Bulk Actions on the origin post:

Manually translating a post via Bulk Actions
Manually translating a post via Bulk Actions

If a request for a language fails, how can I translate only that post?

My website has 14 languages, and I'm translating 14 languages. Sometimes the request for a language fails... Do I need to translate all posts again, including the 13 successful ones?

The plugin performs the translation for all successful requests. When translating 14 languages, where 13 requests are successful and 1 failed, you’ll have 13 successfully translated posts, and an error notification saying that it failed for 1 language.

If translation posts must have status draft to be translated (defined under Settings > General Configuration > Status to update), you can then publish those 13 posts, or mark them as pending.

When running the Gato Translate action again, those 13 posts will be skipped, and only that 1 missing post will be translated.


Alternatively, you can temporarily select the None (disable translation) option for each language, under Settings > Plugin Configuration > Languages, to avoid translating those languages again.

Does a staging site require a license?

My workflow involves testing everything on a staging.domain.com subdomain before deploying to the live site. If I activate a license on a staging site for testing, will it count against my license limit?

The staging site will require its own license key.

However please notice that you can activate/deactivate a license at any moment, and reuse it on another site.

Then, you can:

  • Activate your license key on your staging site, and do your tests
  • Once your tests are done, deactivate that license key, and activate it in your live site

If you needed to go back to staging, you could temporarily deactivate the license from the live site: no data will be lost, and nothing will get broken by deactivating the license (just new translations will not be triggered).

What do I do if my theme does not work well with translations?

Check in your theme's documentation if it is compatible with Polylang. If it is, then it must also be compatible with Gato AI Translations for Polylang.

If it is not, then contact your theme's support team, or Polylang's support team, to troubleshoot the issue.

Gato AI Translations for Polylang only translates the content, and stores it in the database. Once the post is translated, printing the website (in whichever language) is handled by your theme, in combination with Polylang.

If the translations are not working as expected, it'll then most likely be some compatibility issue between your theme and Polylang.

How many tokens does the plugin consume?

The plugin is designed to consume tokens as optimally as possible.

When translating Gutenberg/Elementor/Bricks posts, it doesn't send the entire HTML content but extracts only the translatable properties from each block/widget/element, eliminating unnecessary data.

Can I debug how many tokens the plugin consumes?

Yes, you can monitor the exact token usage by enabling INFO-level logging and running a translation. Check the "ai-requests" log entry to see the precise request sent to the API and its response.

Why is there no progress indicator when executing the translation?

The translation process spends approximately 99% of its time waiting for the API response. Hence there is no state to show: ONCE the plugin sends the single request to the API, it will only get a state when the response arrives.

The plugin could show a progress indicator by sending multiple requests, however this approach has been discarded, as it would be slower and likely consume more tokens.

Is there a best time to execute the translation?

Since the plugin cannot predict API response times, and longer posts require more processing time (e.g., ChatGPT may take around 5 minutes to translate an 8,000-character post), you can optimize your workflow by managing when translations are triggered.

Consider writing your blog posts first without automatic translations enabled. Then, use the Bulk Actions feature to trigger translations for all posts at once during periods when you won't be actively waiting, such as during lunch breaks or at the end of the day.