Summary
Liferay's localization is a great feature, but it has its own limitation in web content translation support. Authors need to create web content for different languages manually. With this app, we automate that process. We make calls to an external translation service and store the translated content in the same way Liferay does. At this moment we use https://azure.microsoft.com/en-us/pricing/details/cognitive-services/translator/, which is a free API: https://portal.azure.com/#home
Overview
This application offers the possibility to add automatic translations for Liferay's Web Content, it is completely integrated into the existing Web Content editor and the new translations added are integrated with Liferay's versioning and workflow services.
When the application is installed a new button "Automatic Translation" will appear.
When you click on the button "Automatic Translation" a new dialog will be displayed where you can select one or more languages. This dialog will show only the languages that are supported by both the azure translate API and the current Liferay configuration.
After selecting the desired languages and click on the "Continue" button, the new translation(s) should be listed as regular Liferay's translations:
This feature will work exactly the same in complex Web Content that uses Liferay's structures and templates, in this case only the fields with text content will be translated.
Original English document and translate document Spanish
Installation
The installation steps are as follows:
- Obtain the Content translator application from the Liferay Marketplace.
Deploy the application in your existing Liferay installation. If you haven't already installed Liferay, please download and install it from www.liferay.com.
The Content translator should be available while editing any Web Content.
Configuration
The only configuration needed for the application is to set a valid credential for the https://portal.azure.com/#home API, if you don't have an account yet please follow these instructions:
- Go to https://portal.azure.com/#home and follow the instructions provided:
Create the resource
Steps | Images |
---|---|
https://portal.azure.com/#home Click in the Plus icon "create a resource" | |
Search and select the translator resource | |
Click in the create button | ` |
Fill out the form Important values
Click in the Next Identity button | |
Click in the Next Tags button Click on the Next Review button | . |
Finally, create the resource Click in the create button | |
Click Go to Resource button | |
Click in the Keys and Endpoint option Copy the key |
Steps | Images |
---|---|
After obtaining the credentials configure them in the Control Panel: Under Control Panel, under Configuration, select "System Settings" | |
Go to the Other section and click on the other icon | |
|
Liferay Languages Configuration
Steps | Images |
---|---|
| |
|
Additional Considerations
There are some languages that may generate characters not supported by some databases using certain configuration, for example the default configuration that Liferay uses to connect to MySQL forces UTF-8 encoding that may lead to Exceptions when trying to add a translation in languages such as Japanese, in the case of MySQL this can be solved changing the connection string in the file portal-ext.properties like this:
Locate the JDBC connection string:
jdbc.default.url=jdbc\:mysql\://localhost/lportal?useUnicode\=true&characterEncoding\=UTF-8&useFastDateParsing\=false
Remove the characterEncoding\=UTF-8 parameter:
jdbc.default.url=jdbc\:mysql\://localhost/lportal?useUnicode\=true&useFastDateParsing\=false
The server needs to be restarted after the change.
Contact Us
We welcome feature/bug reports concerning the Content translator app. Discussion helps clarify the ways the app can be used and also helps define directions for future development. Please post your concerns at http://issues.rivetlogic.com/browse/LRA
Change Log
2.0.0
Liferay 7.2 version
1.1.0
Company credits.