Posts and pages
The text you write in the editor is
content: each post or page
becomes one document of the project. The plugin sends the post, you translate
and publish the document in the dashboard, and the plugin shows the published
translation at the post's address under each language, such as
/es/about-us/. No second post is created.
Switch it on
Three things have to be in place:
- The project has the Content dimension on, in its general settings.
- The API key has the
writescope, andtranslateif the plugin will start translations. - Translate content is ticked in easyi18n → Settings → What to translate. It is off by default.
Each post the plugin sends counts as a document of the project. A plan can cap the number of documents, and deleting a document does not give its place back, so check which post types are sent before you tick the box.
Which posts are sent
The plugin sends posts, pages and synced patterns that are published and have no password. A draft, a private post and a password-protected post never leave the site.
A custom post type is sent when a theme or plugin declares it translatable in
a wpml-config.xml file and the type has a public URL. A developer can change
the list with the easyi18n_content_post_types filter.
Posts published before you ticked the box are sent too, a batch on each pass.
Import
Saving a post in the editor does not contact easyi18n. It puts the post in a queue, and the next pass sends it:
- the post content, exactly as WordPress stores it, as one HTML document;
- the title;
- the excerpt, when you wrote one by hand;
- the SEO title and meta description, when you wrote them in SEOPress.
The document appears in the project's document list with the title of the post. Saving a post again without changing it is answered as unchanged and uses no allowance.
Keep editing in WordPress. The plugin sends the post again on every save, so a change made to the source text in the easyi18n editor is overwritten by the next save in WordPress.
Translate
There are two ways to start the translation of a document.
From the dashboard. Open the document and translate it as described in Runs and review. This is the only way while Translate automatically is off.
From the plugin. Tick Translate automatically under Translate content. On each pass the plugin asks easyi18n to translate the documents whose post was imported or changed since the last request. A run spends the workspace's AI credits, which is why this is a second box and is off by default.
The plugin never confirms a cost warning. If a run is stopped by the project's cost warning, the document waits: start that run from the dashboard, or raise the threshold there. The plugin asks again for a stopped document once a day.
Review and publish
A translated document reaches the site only after it is published. Review each language in the dashboard and publish from the Content publish panel. Publishing covers every document of the project in one action.
The plugin has no publish button and no setting that publishes. With Translate automatically on, posts are translated without you, and they still wait for a person to publish them.
What the publish panel does with a language that is not complete decides what the site shows for it. Under Source fallback or Skip, the site has no translation for that language and shows the post in its source language.
On the site
Every 15 minutes a pass asks the project which documents were published or changed, downloads each language that moved and stores it in the site's database. Pages are served from that copy, so a visitor's request never waits for easyi18n.
Under a language URL the plugin replaces, for the post being shown:
- the body, rendered by WordPress like the original, blocks included;
- the title, in the page heading, in lists of posts and in the browser tab;
- the hand-written excerpt;
- the address, which uses a slug made from the translated title. See Translated slugs.
A synced pattern is translated wherever a page embeds it.
Search follows what the page shows: under /es/, a search looks in the
translated title and body of the posts that have one.
When a post has no published translation in a language, its address under that language still works and shows the source text. The plugin then keeps search engines from treating that page as a translation. See Pages without a translation.
A formatting tag that blocks a page
An empty formatting tag in a post, such as a bold that wraps only a space, cannot be reproduced in another language. easyi18n then cannot complete that block, the language is published with the source text, and the dashboard shows nothing left to translate.
The plugin looks for these tags in the posts it sends. Tools → Site Health lists the affected posts under "Some posts carry a formatting tag that blocks their translation", each with a link to edit it. Remove the empty tag in the WordPress editor and save. Fixing it in the easyi18n editor does not last, because the next save in WordPress sends the tag again.
Unpublish, delete and switch off
- A post you delete loses its stored translations on the site. Its document stays in the project, and its place in the plan's allowance is not returned. Delete the document in the dashboard if you no longer want it.
- Translate content switched off stops the import and makes every post show its source text under the language URLs. The stored translations stay, and come back when you switch it on again.
- A site restored from a backup or moved to another host can lose the record of which document belongs to which post. Rebuild the content map before the next import, or posts can be imported a second time.