aspose file tools*
The moose likes JSP and the fly likes Bilingual JSP application Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Java » JSP
Bookmark "Bilingual JSP application" Watch "Bilingual JSP application" New topic
Author

Bilingual JSP application

Sowmya Dhilip
Greenhorn

Joined: Dec 15, 2003
Posts: 15
Hi ,
I am developing a web application in jsp in weblogic 8.1. I am trying to make it bilingual i.e english - arabic.i had created a properties file for english and arabic keywords, located in the same location where my jsp file is , and i was tried to retreive the bundle using
String lang = request.getParameter("lang");
Locale locale = null;
if(lang.equals("Arabic"))
locale = new Locale("ar","AE");
else
locale = Locale.US;
ResourceBundle bundle = ResourceBundle.getBundle("Messages",locale);
and the jsp code is
<form action="Lang.do" method="post">
<td style="font-size:12pt;color:#000099;"><b>Select Language اختيار اللغة</b></td>
<td><br>
<select name="lang">
<option value="English" selected>English
<option value="Arabic">Arabic
</select>
</td>
<td><netui:imageButton src="resources/images/go.gif"></netui:imageButton></td>
</form>
also i have created 3 files for this
Messages.properties,Messages_en_US.properties,Messages_ar_AE.properties.
However everytime i make a selection from the list i get the error message
Can't find bundle for base name Messages.properties, locale ar_AE
I urgently need to make it bilingual. Please help, and correct me if i am using the wrong approach.
Regards,
Sowmya
[ December 15, 2003: Message edited by: Bear Bibeault ]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60071
    
  65

Welcome to the Ranch Sowmya DP!
You'll find this forum a great place to seek help on JSP pages, and there aren't many rules you'll have to worry about, but one is that proper names are required. Please take a look at the JavaRanch Naming Policy and change your display name to match it.
In particular, your display name must consist of a first name followed by a last name separated by a space character. The first name may be an initial or abbreviation, but the last name cannot.
Thanks!
bear
JSP Fourm Bartender


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Yash Sharma
Ranch Hand

Joined: Jan 30, 2003
Posts: 61
The error is due to the fact that expected resource file is unavailable. I am not too sure but try renaming the property files as Messages.properties,Messages_en.properties,Messages_ar.properties.
Also see this.
Sowmya Dhilip
Greenhorn

Joined: Dec 15, 2003
Posts: 15
Hi Yash,
Thanks for the suggestion, i relocated the files to WEB-INF/classes and it picked up the keys from there, but it does not display the fonts in arabic.
if i open the properties file in notepad, it displays the key values in arabic, but not when i open it in weblogic workshop.
the approach i am using is as follows.
<%
String lang = request.getParameter("lang");
System.out.println(lang);
if(lang==null)
{
session.setAttribute("currPage","Login");

%>
<html>
<head>
<title>
Dubai Municipality - Login
</title>
</head>
<body background="/DubaiM/resources/images/bg_logo1.gif" bgproperties="fixed" style="font-family:times new roman;">
<jsp:include page="Header.jsp" />
<br><br><br><br>
<center>
<table bgcolor=#CAE1FF cellspacing=1 width=320 style="border-style ouble;border-width:2px;border-color:#000099;" bordercolor=darkblue border="1">
<netui:form action="login" tagId="login" >
<tr>
<th colspan="3" align=center><font size = +1 style="color:#000099;">FileNet System</font></th>
<tr>
<tr>
<td><font style="color:#000099;">
<b>User Name</b>
</font></td><td>
<netui:textBox tagId="user_name" dataSource="{actionForm.user_name}"></netui:textBox>
</td>
<td rowspan="3" align="center">
<netui:image src="/DubaiM/resources/images/key.gif" align="center"></netui:image>
</td>
</tr>
<tr>
<td><font style="color:#000099;">
<b>Password</b>
</font></td>
<td>
<netui:textBox tagId="password" dataSource="{actionForm.password}" password="true"></netui:textBox>
</td>
</tr>
<tr>
<td align=center colspan=2>
<netui:button type="submit" value="Login" action="login" tagId="login" style="background-color:#cae1ff;font-size:13pt;color:#000099;"></netui:button>
  
<netui:button type="reset" value="Clear" action="login" tagId="reset" style="background-color:#cae1ff;font-size:13pt;color:#000099;"></netui:button>
</td>
</tr>
</netui:form>
</table></center>
<br>
<center><b><font size="+4" color="#000099" style="color:#000099;">Dubai Municipality</font></b>
<br>

<table width="300">
<tr>
<form action="Login.jsp" method="post">
<td style="font-size:12pt;color:#000099;"><b>Select Language  اختيار اللغة</b></td>
<td><br>
<select name="lang">
<option value="English" selected>English
<option value="Arabic">Arabic
</select>
</td>
<td><netui:imageButton src="resources/images/go.gif"></netui:imageButton></td>
</form>
</tr>
</table></center>
<br>
<jsp:include page="Footer.jsp" />
</body>
</html>
<%
}
else
{
session.setAttribute("currPage","Login");
Locale locale = null;
if(lang.equals("Arabic"))
//locale = Locale.getDefault();
locale = new Locale("ar","AE");
else
locale = Locale.US;
session.putValue("mylocale",locale);
ResourceBundle bundle = ResourceBundle.getBundle("Messages",locale);

%>
<html>
<head>
<title>
Dubai Municipality - Login
</title>
</head>
<body background="/DubaiM/resources/images/bg_logo1.gif" bgproperties="fixed" style="font-family:times new roman;" >
<jsp:include page="Header.jsp" />
<br><br><br><br>
<center>
<table bgcolor=#CAE1FF cellspacing=1 width=320 style="border-style ouble;border-width:2px;border-color:#000099;" bordercolor=darkblue border="1">
<netui:form action="login" tagId="login">
<tr>
<th colspan="3" align=center><font size = +1 style="color:#000099;">FileNet System</font></th>
<tr>
<tr>
<td><font style="color:#000099;">
<b><%= bundle.getString("username")%></b>
</font></td>
<td>
<netui:textBox tagId="user_name" dataSource="{actionForm.user_name}"></netui:textBox>
</td>
<td rowspan="3" align="center">
<netui:image src="/DubaiM/resources/images/key.gif" align="center"></netui:image>
</td>
</tr>
<tr>
<td><font style="color:#000099;">
<b><%= bundle.getString("password")%></b>
</font></td>
<td>
<netui:textBox tagId="password" dataSource="{actionForm.password}" password="true"></netui:textBox>
</td>
</tr>
<tr>
<td align=center colspan=2>
<netui:button type="submit" value="Login" action="login" tagId="login" style="background-color:#cae1ff;font-size:13pt;color:#000099;"></netui:button>
  
<netui:button type="reset" value='<%= bundle.getString("Clear")%>' action="login" tagId="reset" style="background-color:#cae1ff;font-size:13pt;color:#000099;"></netui:button>
</td>
</tr>
</netui:form>
</table></center>
<br>
<center><b><font size="+4" color="#000099" style="color:#000099;">Dubai Municipality</font></b>
<br>

<table width="300">
<tr>
<td style="font-size:12pt;color:#000099;"><b>Select Language  اختيار اللغة</b></td>
<td><br>
<form action="Login.jsp" method="post">
<select name="lang">
<option value="English">English
<option value="Arabic" selected>Arabic
</select>
</form>
</td>
<td><netui:imageButton src="resources/images/go.gif"></netui:imageButton></td>
</tr>
</table></center>
<br>
<jsp:include page="Footer.jsp" />
</body>
</html>
<%
}
%>
in arabic all text is from right to left, how can i change the alignment in one place rather than doing it for individual controls.
regards,
sowmya
Yash Sharma
Ranch Hand

Joined: Jan 30, 2003
Posts: 61
That's because the unicode text in the properties file must be in "/u" format. Use the native2ascii tool that comes with JDK (jskdir/bin). Run this tool and it would generate the requisite file for you.

Also have a look at this
web page.
Sowmya Dhilip
Greenhorn

Joined: Dec 15, 2003
Posts: 15
Hi
I tried the native2ascii cmd but i am still getting the same thing like this ,
�����… ���„�…���������… for user name
�ƒ�„�…�� ���„���� for password
what do i do.
Regards
Sowmya Dhilip
Greenhorn

Joined: Dec 15, 2003
Posts: 15
GEE thanks a ton,
it worked, my application is now bilingual
regards,
sowmya
 
jQuery in Action, 2nd edition
 
subject: Bilingual JSP application
 
Similar Threads
Question related to displaying I18N messages
urgent !!!!how to access contents of list in jsp
NullPointerException: Module 'null' not found
Internationalization login thru to...
Read Arabic text in Servlet