XPages: localisation questions and the dark side of XPages.
Julian Buss, April 2nd, 2009 20:26:26
Tags:  XPages 
In my current XPages projekt I want to deliver my application in english and german. So, I have the need for localisation.

In brief, localisation of a XPages app works like this:
  • You define which languages you want to support and in which language you do the development.
  • Designer saves all literals (texts that are somewhere on the XPages) to Java property files.
  • You create a copy of these files, one copy per language.
  • You edit the copies and translate the literals.
  • You import the copies back into your app.
  • Done.

Sounds good so far, doesn't it?

Now, think again:
1.        What is with literals used in script libraries?
2.        What is if you change the design of a XPage after the property files were created?
3.        How complicated is it for a translator to work with the property files?

Did you thought about that?
Well, here are the answers:

1.) What is with literals used in script libraries?


You have to add adequate properties to your file manually and use getProperty() in your scripts.

3.) How complicated is it for a translator to work with the property files?


I will answer 3.) before of 2.) because 2.) is more fun to talk about :-)
A property file looks like this:

---
#Sun Mar 29 20:41:39 CEST 2009
tabPanel4/xp\:table[1]/xp\:tr[4]/xp\:td[1]/text()=[en| HTML nach Text\: ]
tabPanel2/@label=[en| Seite\: Registrierung ]
tabPanel4/xp\:table[1]/xp\:tr[3]/xp\:td[1]/text()=[en| Text\: ]
tabPanel3/@label=[en| Seite\: Nach Registrierung ]
---

It is a simple text file, so you will work with a text editor.
It is not a table or so, you will have to move around in the text very often, which wastes time.
And if you give that file to a translator who is not a developer, you will have to explain a lot of things.

2.) What is if you change the design of a XPage after the property files were created?


Rethink the technique again: you finish your development. You create the property files. You translate them. Then, you change something in some XPage because there is a bug to fix or an enhancement to make.

Then the property file in your development language changes automatically by Designer to reflect your change.
The property file changes.
The property file changes.
The property file changes.

That means, your already translated property files in the other language have to change, too.
That means, your already translated property files in the other language have to change, too.
That means, your already translated property files in the other language have to change, too.

So, either you let Designer create the new versions of the other language property files for you. Then all your translation work is simply lost.
Or, you need a third party tool to compare old and new version of the orginal property file and copy the changed lines manually, line by line, into all of your translated property files.

Boy, can that be true?


As far as I talked to other devs: yes: this is the way it works today.

My opinion about that


Honestly? I always thought XPages are too good to be true and there have to be a dark, a bad side. And here it is. This technique is totally out of the question! It has the danger of data loss and is way too complicated to work with. Hey, I will simply have a multi-language application, I do not want to invent the Heisenberg Compensator.

That means I will have to come with a solution of my own. And I will. In fact, I already did a proof-of-concept which works fine. And it will use the same logic than we use in our Notes applications for years.

Yes, I will share it. No, not today :-)
About this site
I am a Lotus Notes developer, consultant and one of the founders of YouAtNotes, a german software vendor specialized in Lotus Notes software for CRM, Workflow and Web solutions.
I write about IBM Lotus software and other stuff which I come across. Have a nice time here!

Search
RSS-Feeds
rssfeed.pngContent Feed
rssfeed.pngComment Feed
Recent posts
Recent comments
Links to YouAtNotes
Links to YouAtNotes (in german)
Archive
Impressum / Datenschutz
(german)