Please note that this Connector is a paid product. For pricing information, please reach out to your Smartling Customer Success Manager.
Installing Sitecore Connector Module
- Create a new database, and at the SQL Server, execute the script Sitecore_Data.sql (can be found in the %website root%/sitecore modules/Shell/Smartling.Connector folder).
Don’t forget to update first line of the script (USE [%your database name%]).
- Add new connection string to /Website/App_Config/ConnectionStrings.config, name should be SitecoreLocalization, here’s the example:
XML<add name="SitecoreLocalization" connectionString="user id=sa;password=Password12345;Data Source=.\SQLEXPRESS;Database=SitecoreLocalization_Data"/>
- Go to the Sitecore Desktop, open Installation Wizard, and upload and then install the Smartling.Connector.ver.[version].zip package.
- Find and edit the configuration file. Your access should allow you to save the file.
- For Sitecore 8.1 and above - App_Config\Sitecore.config
- For Sitecore 8.0 and below - Web.config
- Locate the </log4net> tag and insert the following snippet above the tag.
log4net xml snippet<appender name="SmartlingLogFileAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">
<file value="$(dataFolder)/logs/SitecoreLocalization.log.{date}.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" />
</layout>
<encoding value="utf-8" />
</appender>
<logger name="Smartling.Connector.Diagnostics.SmartlingLogger" additivity="false">
<level value="DEBUG" />
<appender-ref ref="SmartlingLogFileAppender" />
</logger>
As a result, you should have something that looks like this:
Configuring Sitecore Connector Module
Modify the following settings to configure Sitecore for use with Smartling.
Profiles
Under the main settings item, Profiles contains one or more profiles that you can use for different content tree nodes, controlled by the Source Path setting. The source path defines the content for translation, the target languages the content will be translated into, and the Smartling projects the content will be translated in.
Profiles for the connector follow a hierarchy. The more specific the content and target languages are, the higher up the list the profile should be. The more general content, that should be translated into the broader range of target languages, should be listed last.
Each profile should also contain one or more locales (target languages), that you can add using insert options.
Target Path should be left empty if you use "field-level" translations (i.e., when the source and translations are stored in the same Sitecore item). If the Target Path has a value, the connector uses "item-level" approach instead. The connector uses the Target Path for evaluating the target path of translated Sitecore items. The connector replaces "Source Path" with the "Target Path" in the Sitecore item path.
Example Setup:
- Source Path =
sitecore/content
- Locale =
es
- Target Path =
sitecore/content/micro-sites/es
User requests an item with the path /sitecore/content/Company/About Us
. During translation delivery for es
locale, the connector will evaluate the item target path as: /sitecore/content/micro-sites/es/Company/About Us
.
The connector replaced sitecore/content
substring with sitecore/content/micro-sites/es
.
Smartling Locale field allows you to override the Sitecore languages code when sent to Smartling.
Retrieval Type
You can also specify how Smartling retrieves and displays the content.
In the Retrieval Type box, type one of the following options:
Option | Description |
published | Only translations in the Completed step will be retrieved. |
pseudo | Pseudo translations, which are the original strings with extra characters added to increase the length by 30 percent (default), will be retrieved. Pseudo translation emulates the increase in length that can occur when strings are translated, allowing you to test the expanded text before translation is completed. |
pending | Translations in Completed and other workflow steps (e.g., Editing, Review) will be retrieved. |
Callback Domain
In the Callback Domain field, ensure that you specify a valid URL. It must be accessible from the Internet, for example:
Translatable Fields
Translatable Fields contains commons field types.
If you will translate Dictionary then you should add the memo field type to this list.
Target Workflow States
The connector can be configured to use Sitecore Workflow. Namely, it can push an item to a particular Sitecore workflow state when translations are applied. In order to do this, you should configure which target workflow state should be used. (Do this for each workflow). The connector will choose an appropriate workflow state according to the workflow configured in a target item.
If the target item doesn't use any workflow, then the connector will not update the workflow state.
Target Languages
Use Target Languages to specify the languages to which you want to translate your content.
Configure Translations on Field Level
Consult this article to see how the Sitecore connector handles field values when new translations are applied from Smartling.
Auto-Authorize
Check the Auto Authorize Content box to automatically Authorize your content into the default workflow for each language in the Smartling Dashboard, rather than sending it to your Awaiting Authorization queue.
Test Connection
Browse to module settings (/sitecore/system/Modules/Smartling Connector) and verify your connection by clicking Test Connection.
Installing Sitecore Remote Connector
Go to Sitecore Desktop, and install Smartling.Connector.Remote.ver.[version].zip package.
Configuring Sitecore Remote Connector
- Open Sitecore Content Editor and browse to /sitecore/system/Modules/Smartling Connector/Context. It contains the following settings:
- Server Url: The remote module uses this URL for requesting HTML and resources such as CSS\JS\Img. In general, it should contain the domain of your site. Please don’t use localhost as the Server Url. If you test the connector on a local environment, then register the name in a hosts file and use it in the browser.
- Impersonated User: User account that used for getting HTML. If you didn’t provide an user account, then Sitecore uses anonymous access.
-
Enabled: You can enable/disable context for translation.
- Browse to each of your settings profiles (items under /sitecore/system/Modules/Smartling Connector/Profiles).
- Click Connect, and the remote module will use the API v2 Key + User Identifier for connecting to the Smartling context Service.
Installing Extended Support for the General Link Field
This package allows you to translate the Description property of General Link. By default, the connector doesn't send it for translation.
- Go to the Sitecore desktop.
- Install the Smartling.Connector.LinkFieldTranslator.ver.[version].zip package.
Configuring Translation of General Link
In general, the LinkFieldTranslator package doesn’t require additional configuration. However, don't forget to add the General Link field type to the list of Translatable Fields.
Important Information for for Azure PaaS Installations of Sitecore
If your Azure App Services use IP Restrictions then Visual Context may not work properly in Smartling. You will need to open access and add the IPs to the App Service itself.
In a shared Azure Web Hosting (Non-ASE) the App Service IPs can change, the list of all IPs that need to be added can be found in App Service Properties (pictured)
These can be added under App Service Networking->Access Restrictions or via PowerShell script.
Uninstalling Sitecore Connector Module
Remove the following sections from Web.config if you have Sitecore 8.0 and below, or App_Config/Sitecore.config for Sitecore 8.1 and above
XML
<appender name="SmartlingLogFileAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">
<file value="$(dataFolder)/logs/SitecoreLocalization.log.{date}.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" />
</layout>
</appender>
<logger name="Smartling.Connector.Diagnostics.SmartlingLogger" additivity="false">
<level value="DEBUG" />
<appender-ref ref="SmartlingLogFileAppender" />
</logger>
- Remove SitecoreLocalization _connection string from /Website/AppConfig/ConnectionStrings.config.
- Remove the module configuration file: /Website/App_Config/Include/SitecoreLocalization.config.
- Remove the /Website/sitecore modules/Shell/SitecoreLocalization folder.
- Remove items (and subitems) at the following locations:
Primary Database
XML
\sitecore\system\Modules\Smartling Connector
\sitecore\system\Settings\Validation Rules\Field Rules\System\SitecoreLocalization Api Key
\sitecore\system\Settings\Validation Rules\Field Rules\System\SitecoreLocalization Api Url
\sitecore\system\Settings\Validation Rules\Field Rules\System\SitecoreLocalization Project Id
\sitecore\templates\User Defined\SitecoreLocalization
Core Database
XML
\sitecore\content\Applications\Translation Status
\sitecore\content\Applications\Content Editor\Ribbons\Chunks\Translate\Translate
\sitecore\content\Applications\Content Editor\Ribbons\Chunks\Translate\Translate\Run Agents
\sitecore\content\Applications\Content Editor\Ribbons\Contextual Ribbons\SitecoreLocalization Settings
\sitecore\content\Documents and settings\All users\Start menu\Left\Smartling Translate.item
\sitecore\content\Documents and settings\All users\Start menu\Left\Smartling Status