overthinkings
of Ruben Daniels
March 9, 2007 at 7:14 pm
· Filed under Tech, Javeline
Realtime Language Switching
In a project we did for Vonage Canada the necessity arose to have multilingual support in Platform. I have always found that multilingual projects were a hassle. You have to be keenly aware of building a multilingual site from the start to get it sort-of clean. Moving from a single language webapp to a multilingual one poses in many cases so much of a problem that it’s cheaper to rebuild the application.
Because of the nature of Ajax applications I tried to find a solution where the application doesn’t need to refresh to switch languages. By making each component aware of which translatable elements it renders Platform is able to determine which elements should be translated. It can generate a translation XML file for you at any point in the development. So even if you finished the application a year ago. The XML file format looks like this:
<!-- For French -->
<group id="main">
<key id="0">Bonjour</key>
</group>
<!-- For English -->
<group id="main">
<key id="0">Hello</key>
</group>
Platform allows you to switch the language whilst the application is running. This makes it possible to retrieve a keyword file using Ajax and insert it into Platform to switch languages:
new HTTP().getXML("translations/french.xml",
function(data, status, extra){
if(status == __HTTP_SUCCESS__)
KeywordServer.setWordListXml(data);
else{
//handle error or timeout
}
});
Language editing
Translating words and sentences is a difficult process. Many times words or sentences won’t fit the interface. Platform supports an edit mode in which a translator can translate words in your running application. It works like a CMS. Platform will load your application and make all translatable items selectable. By clicking on a section it become editable.
Javeline offers a CMS application using this feature which is included in the enterprise license.
Pages: 1 2 3 4 5 6 7 8 9 10 11
Permalink
Hello Ruben !
I have already sent two emails to the Javeline team via the “info@javeline.nl” email
address, but unfortunately I got no response
So I am contacting You directly here via this blog entry; because I have fallen in love with Your layout engine almost immediately
! I am currently doing some research with regard to layout in the native contemporary browsers, and Your approach seems to be really unique ! I have played around with it a little bit and am so impressed right now that I want to leverage Your layout engine ! I know that I can use the packager to extract only parts out of all the Javeline SDK stuff; but I couldn’t make it extract the layout parts … in fact I couldn’t get it to work at all …
I am also very much excited about Javeline in its whole glory, but this particular blog comment shall address the issue of leveraging Your layout engine separately. Is there a technical way to do it ? And what about licensing then ? Or do You know of other layout engines for browsers which are as capable as Yours seems to be ?
I am looking forward to the comments to come !
Cheers
Kai
Ruben wrote @ October 4th, 2007 at 9:45 am
Hi Kai,
I just found your e-mail. It got lost in the spam box somehow. You will get a reply from me on that. It is possible to extract the layout engine using the packager. For what purpose would you like to use it? Please register to the internals mailinglist at http://developer.javeline.net/mailinglists.php and sent your answers there so the community can follow them as well.
Kind Regards,
Ruben
[…] this was the first time you read about Javeline PlatForm, this article is a good place to start learning more about this Web Application […]
Please ! Help Me…
Using for Framework Javeline… Help Me??
bharath wrote @ February 9th, 2008 at 3:25 pm
hi , my name is bharath
i have a doubt in ajax connectivity
how to connect an ajax application to database using jdbc…
can u plz clarify my doubt.. with sample example with coding.
thanx & regards.
Ruben wrote @ February 14th, 2008 at 8:32 am
Hi Bharath,
Ajax applications connect to a backend. Most popular nowadays is to use REST to connect to a backend. This backend can be written in PHP, Perl, ASP, JSP or any other language. It’s the responsibility of that language to connect to a database using jdbc.
In Javeline PlatForm you would do something like this:
<j:teleport>
<j:rpc id="comm" protocol="POST">
<j:method name="getUsers" url="http://example.com/users.php">
<j:variable name="group_id" />
</j:method>
</j:rpc>
</j:teleport>
<j:model id="myUsers" load="rpc:comm.getUsers(10)" />
<j:list model="myUsers">
<j:bindings>
<j:caption select="@username" />
<j:icon select="@icon" />
<j:traverse select="user" />
</j:bindings>
</j:list>
or if you want to use the javascript approach with Javeline PlatForm you’d do:
var http = new jpf.http();
var data = http.getXml(”http://example.com/users.php?group_id=10″, function(data, state, extra){
if(state == __HTTP_SUCCESS__){
alert(”My XML: ” + data.xml);
}else{
alert(”An error has occurred”);
}
});
Please note that these code examples are for v0.9.8 of Javeline PlatForm which will be released shortly.
Kind Regards,
Ruben
[…] early version of Javeline PlatForm and up untill that moment I had only positioned elements using anchoring. I did remember a nice feature that Visual Basic had, where I could align an element to one of the […]
[…] supports Anchoring, Alignment and position using a grid (similar to a table in […]
HTML-Tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>