Child pages
  • Content Translator Liferay 7.2

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 next to Liferay's "Add Translation"


Image Modified


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.

Image Modified

After selecting the desired languages and click on the "Continue" button, the new translation(s) should be listed as regular Liferay's translations:

Image Modified

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 

Image ModifiedImage Modified


Installation

The installation steps are as follows:

  1. Obtain the Content translator application from the Liferay Marketplace.
  2. Deploy the application in your existing Liferay installation. If you haven't already installed Liferay, please download and install it from www.liferay.com.

  3. 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:


Create the resource 

StepsImages

https://portal.azure.com/#home

Click in the Plus icon "create a resource"

Image Modified

Search and select the translator resource

Image Modified

Click in the create button 

Image Modified`

Fill out the form

Important values 

  • Region = Global
  • Pricing tier = Free F0


Click in the Next Identity button 

Image Removed

Image Added



Click in the Next Tags button 

Click on the Next Review button 

Image Removed

Image Added.            

Image Removed

Image Added

Finally, create the resource

Click in the create button 

Image Removed

Image Added

Click Go to Resource button 

Image Modified

Click in the Keys and Endpoint option 

Copy the key

Image Modified

StepsImages

After obtaining the credentials configure them in the Control Panel:

Under Control Panel, under Configuration, select "System Settings"

Image Added

Go to the Other section and click on the other icon 

Image Added

  1. Select the "Automatic Translator Configuration"
  2. Provide the API key, and then click Save


Image Added




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.

Code repository

The latest source code is located at the following location:

https://github.com/rivetlogic/liferay-content-translator


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.