Setup & Configuration
Can I connect the same Contentful space to multiple Smartling projects? / Can I connect multiple Contentful spaces to one Smartling project?
Only one Contentful environment can be connected to one Smartling project. One Contentful environment can contain multiple Spaces. If your environment has multiple Spaces, you can select which Space you want to request from by using the Contentful Space Filter in Smartling.
The Spaces that are visible depend on the permissions granted to the user account used to set up the connector. Smartling will only display the Spaces that the user has access to.
Technically, you can connect one Contentful environment to multiple Smartling projects, but generally, this is not recommended unless you limit the scope of each project to one particular Contentful space. If two Smartling projects are used for the same Contentful space, they must be used for translating into different target languages. Otherwise, the two projects will overwrite each other.
Target languages have been added in Contentful, but the languages are not listed in Smarting under Contentful Settings --> Language Configuration. Why is this?
This can happen if you decide to adjust the language configuration after the initial language mapping or when you try to remap languages after adding a new Contentful space. Please contact Smartling Support for assistance.
Content
I want to use a different source language besides en-US / Smartling is pulling in strings from the wrong source language. How can I set this up/fix this?
By default, when you create a new Contentful project, en-US will be set as the source language. If you wish to use a different source language, please contact your Smartling Solution Architect or Smartling Support for assistance.
Note:
Ensure that Contentful fields are not empty in your source language and that there is no fallback configuration. If you have empty fields in your source language, the connector may ingest content from the fallback language.
Requesting Translation
I see the error "Can't send for translation. No translatable content found...while asset was serialized". What does this mean?
This error can occur for one of the following reasons:
- Entry doesn’t have translatable fields. (Fields are not marked as localizable) Please ensure the fields with translatable text are marked as localizable in Contentful.
- Contentful content field parser settings are not mapped within the Smartling Contentful Connector Content Parsing settings.
- Mapped fields don’t actually contain text; they are links to other entries.
Translation Delivery
What triggers an asset's translations to be delivered back to Contentful?
- String was re-translated or a previous published translation was modified
- Asset is re-requested for translation and all translations for the asset are complete
- Visual context associated with a string was added
- Asset is modified in Contentful (e.g., updated a field, added a field, deleted a field, or any change to the content type)
- Asset’s translations were manually exported
I see previously translated entries are being updated by the connector and have the status "Changed" in Contentful, but the translations are the same. Why is this happening?
The connector monitors any changes to your Contentful content. This includes changes to translatable text and any changes to the Contentful entry itself, including non-translatable content, entry properties, or metadata. When changes are detected, but there are no changes to the translatable text, the connector automatically redelivers the translated asset, resulting in a “Changed” status in Contentful. This is done to ensure all changes made in Contentful, are synchronized with translations in Smartling. More technical details of this process are described below:
As mentioned above, the connector detects all changes, not only those related to translatable text. This is why you might see that an asset has been updated by the connector, but the translated text remains the same. The “detect changes” feature of the connector works as follows:
- After each successful upload, Smartling calculates a hashcode for the file content and saves it in the database. The JSON file that is uploaded to Smartling is used for the hashcode.
- A cron task (on Smartling’s side) or a Contentful webhook initiates the “detect changes” feature. It creates a new JSON file using the current Contentful entry content and calculates a new hashcode. It does not upload the file; it simply creates it and calculates the hashcode.
- If the new and old hashcodes differ, the connector will re-upload the entry.
- Regardless of the translation status, the connector sets the entry status to “In Progress.” If there are no new strings and all translations are already published, the connector will deliver what was just uploaded.
Does the Contentful connector support pre-publishing?
Yes. If you are interested in enabling pre-publishing please contact your Smartling Solution Architect or Smartling Support for assistance.
Translations are not being delivered back to Contentful, what could be the issue?
There are several reasons why this can happen. Please see some of the most common reasons below:
File/Asset is not fully translated: The connector is file-based, meaning translations are automatically delivered once all authorized strings for a file are complete for a target locale (e.g., French is fully published → French translations are delivered). If a job is completed, it doesn’t necessarily mean an asset is fully translated, as an asset’s content can be spread across multiple jobs in Smartling.
Rate Limit Exceeded: You may see a failure message in Smartling: “You have exceeded the rate limit of this Space by making too many API requests within a short timespan.” The connector uses the Contentful API to deliver translations. This rate limit is controlled by Contentful as part of your Contentful plan. Depending on your plan and what other integrations you have that use the Contentful API, you may reach this limit from time to time. When you see this error, we recommend trying a manual export to re-trigger translation delivery.
Strings with the Text “True” or “False” have been translated: You may have fields that contain the values “true” or “false” that end up being ingested for translation. If these strings are translated, it can cause an issue with translation delivery, as Contentful expects the published translated string values to also be exactly “true” or “false”. We recommend updating the translations and/or ideally identifying the source field in the Content Parsing settings and changing the fieldmapping to “Don’t Translate.” This way, going forward, these fields will not be ingested for translation.
Other Misc. Errors: As mentioned, there are several potential reasons why translations were not delivered. If a Contentful asset has the status “Failed,” you can view more information on the failure by clicking the “i” info button next to the name of the entry. From here, you can hover over the red “Failed” status to see the reason for the failure.