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
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 next to Liferay's "Add Translation"
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
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.
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
Click in the Plus icon "create a resource"
Search and select the translator resource
Click in the create button
Fill out the form
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
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|
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:
Remove the characterEncoding\=UTF-8 parameter:
The server needs to be restarted after the change.
The latest source code is located at the following location:
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
Liferay 7.2 version