Liferay translation not working with selection break

1.8k views Asked by At

Hi I'm using liferay version 6.1.2 ce GA3.

I noticed that when i create my own structures and they are containing selection breaks the content within is not translatable.

Every content in a selection break can be marked as "localizable" but even if I do that when I try to add a translation the pop-up is empty with just the title of the web-content.

To me this problem occurs since I upgraded from 6.1.1 CE GA2 but I noticed that even with a new clean installation it's the same.

Hope somebody can help me here.

added Ticket on Issuetracker enter link description here

1

There are 1 answers

1
asifaftab87 On

Internationalization(i18n) in liferay 6.1 Complete working program

My project name is AUIproj.

In Language.properties which labels or the data we want to translate then we have to write inside this file. Suppose in my AUIproj I just want to change the name of my labels and my title only so we have to follow these steps: Step 1: First create a folder inside docroot/WEB-INF/src by the name of content, inside content folder, create a file Language.properties.

Step 2: copy this content to Language.properties

javax.portlet.title=AUI Portlet
product-name=Product Name
product-serial=Product Serial

Step 3: right click on project then build language lots of supported language files will create inside your content folder automatically and all files contain the same contents that present in your Language.properties files.

Step 4: Now we have to just write that specific labels name on that specific file and change the contents on that place. Use google translator and paste them suppose for hindi I just wrote in hindi file like

javax.portlet.title=भाषा
product-name=उत्पाद नाम
product-serial=उत्पाद धारावाहिक

The name of hindi Language file is Language_hi_IN.properties.

In init.jsp I declared lots of taglib, lots of java classes by import statements.

init.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %>
<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>
<%@ taglib uri="http://liferay.com/tld/security" prefix="liferay-security" %>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.util.Collections" %>
<%@ page import="com.liferay.portal.kernel.util.HtmlUtil" %>
<%@ page import="com.liferay.portal.kernel.util.ParamUtil" %>
<%@ page import="com.liferay.portal.kernel.util.CalendarFactoryUtil" %>
<%@ page import="com.liferay.portal.kernel.dao.search.ResultRow" %>
<%@ page import="com.liferay.portal.kernel.dao.search.SearchEntry" %>
<%@ page import="com.liferay.portal.kernel.exception.SystemException" %>
<%@ page import="com.liferay.portal.kernel.util.WebKeys" %>
<%@ page import="com.liferay.portal.security.permission.ActionKeys" %>
<%@ page import="com.liferay.portal.kernel.util.ListUtil" %>
<%@ page import="com.liferay.portal.service.permission.PortalPermissionUtil" %>
<%@ page import="com.liferay.portal.service.permission.PortletPermissionUtil" %>
<%@ page import="javax.portlet.PortletURL" %>
<liferay-theme:defineObjects />

In view.jsp just imported init.jsp view.jsp

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ include file="init.jsp" %>
<portlet:defineObjects />

This is the <b>AUI Portlet</b> portlet in View mode.

<portlet:actionURL name="addProduct" var="addProductURL" />
   <aui:form action="<%= addProductURL.toString() %>" method="post">
       <aui:fieldset>
           <aui:input name="productName" />
           <aui:input name="productSerial" />
           <aui:button-row>
               <aui:button type="submit" />
           </aui:button-row>
       </aui:fieldset>
   </aui:form>

build.xml

<?xml version="1.0"?>
<!DOCTYPE project>

<project name="AUIproj-portlet" basedir="." default="deploy">
   <import file="../build-common-portlet.xml" />
   <target name="build-lang">
   <antcall target="build-lang-cmd">
   <param name="lang.dir" value="docroot/WEB-INF/src/content" />
   <param name="lang.file" value="Language" />
   </antcall>
   </target>
</project>

Paste this line just in portlet.xml just after tag

<resource-bundle>content.Language</resource-bundle>

Finally at first time build language and if you change any data on properties files then build language else no need to build language again and again. But some time it is showing some warnings like in future …...properties file will modified so to again build language and this time the contents of hindi properties file will not change. Finally go to control panel of liferay -> Test test -> my account -> miscellaneous-> display settings -> Language select hindi and you can see the the title and our labels will change into Hindi language. If you face any problem then please share with me Thanks and regards asif aftab