Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Tools / December 2005

Tip: Looking for answers? Try searching our database.

I18n / translation tools

Thread view: 
Igor Planinc - 14 Dec 2005 13:37 GMT
Does anyone here use some translation tools?

Here's my situation: I have an internationalized application. Meaning: I have a
message bundle for each lang_country_variant I need. Like

Messages.properties
Messages_en.properties
Messages_de.properties
Messages_fr.properties

etc.

I use it through ResourceBundle.getBundle(...).

The problem is that the application is growing daily: developers add new
features which have to be i18ned/translated before production builds.

So ... I need a tool (for developers and translators alike) to simplify and
speed-up a translation process. The tool would idealy support simultaneous work
(by developers adding new keys while translators translate the existing ones
etc.), robust merging (of the input from developers and translators) and -
especially - "linking" the keys with context (e.g. comments or even screenshots
provided by a developer to give contextual help to a translator). In an ideal
case such tool would also have a web interface so that translators could easily
access and translate from anywhere in the world (read: web).

I have already tried, evaluated:

1. Babelfish ( http://www.solyp.com/2975.html )
Doesn't support team work, merging, doesn't provide any kind of context support.

2. I18NEdit ( http://www.cantamen.de/i18nedit.php?lang=en )
Comment enabled (comments are kept in separate files, though), has a rudimentary
team support and merging, but has quite an awkward GUI: doesn't even support
removing or editing the keys!).

3. RBManager ( http://www-306.ibm.com/software/globalization/icu/rbmanager.jsp )
Comments kept in same (properties file), Merging supported. But... very immature
(0.7), GUI has trivial faults.

4. Open Language Tools TranslationEditor (
https://open-language-tools.dev.java.net/ ) including XLIFF filters.
A general tool with very nice feature list (far beyond Java .properties), but
totaly unintuitive: once you convert .properties from your bundle into .xlz
files, you have to wave a magic wand or something because I can't figure it out.
It says that "the file does not specify the target language". Hullo!?! I just
used XLIFF filter to create an .xlz. What else must I do to utilize it? Now that
I think of it, if even fairly level-headed developer (i.e. yours truly) can't
use it without RTFM, how will the translators be able to cope with it when they
already have problems with paradigms like directory structure and files (read:
open & save is the best they can do)?

None of the applications listed above has a web interface nor any contextual
help beyond comments. Are there any other tools - even very expensive commercial
ones - that support what I need? I'd be grateful for any information.

Thanks.
Harald Elsen - 14 Dec 2005 18:26 GMT
There are a lot of commercial Translation Tools for the localization of
software strings.

Some of them are "pure" Software Localization Tools (for example
Passolo, http://www.passolo.com).

Others are so called Translation Memory Systems (=>
http://en.wikipedia.org/wiki/Translation_memory)

If you are working with a Translation/Localization Service Provider
(TSP) or with a translator, you can ask them to tell you more about the
benefits of TM systems regarding consistency, faster turnaround time and
cost savings. They/he/she should have the knowledge about this kind of
tools.

If you do not work with a TSP yet and you would like to learn more about
TM systems, please let me know. I can send you some information material .

You can also have a look at
http://www.localisation.ie/exchange/loctools.htm to get a first overview.

Kind regards,
Harald

> Does anyone here use some translation tools?
>
[quoted text clipped - 58 lines]
>
> Thanks.
Igor Planinc - 14 Dec 2005 19:15 GMT
> There are a lot of commercial Translation Tools for the localization of
> software strings.
[quoted text clipped - 19 lines]
> Kind regards,
> Harald

Thanks Harald, but...

Being a developer myself, right now all I want is to be able to add a key with a
value (a string, a text, whatever) in one language and then have the values in
all the other languages magically appear, for all I care. In other words, I'd
like to leave the rest to translators (and management in my firm providing those
translators, handling all the bureaucracy they seem to enjoy so much). I just
need those strings translated. How it's done is not important, as long as it's
done fast.

The way I see it, it should be done like this:

1. A programmer adds a key with a value (or several such pairs) into some
resource bundle being stored in some database (whether it's an SQL or some other
kind is not very important right now).
2. A system detects that action and notifies (via email preferably) some
bureaucrat (a.k.a. manager) that he/she should contact some translation firm so
that those strings would get translated to all the needed languages.
3. He/she hires those translators.
4. They log on and do the translating (of those values) through a web interface.
5. Someone else (also hired by aforementioned <khm> personel) does the proofreading.
6. A programmer is notified when the required translation is done so that he/she
can build the next version of the application.

Oh, just one more thing: appart from the steps with a programmer present all the
rest should be designed for dummies.
Roedy Green - 14 Dec 2005 22:56 GMT
>The problem is that the application is growing daily: developers add new
>features which have to be i18ned/translated before production builds.

I wrote a proprietary one years ago in C++. It was primarily concerned
with constructing grammatical sentences about students, translating
pronouns and adjectives for gender in various languages. We had
translators in various foreign countries who would  work offline then
send their work back for merging.

If you can't find what you need, perhaps I could write one custom to
your specs.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Igor Planinc - 15 Dec 2005 08:41 GMT
>>The problem is that the application is growing daily: developers add new
>>features which have to be i18ned/translated before production builds.
[quoted text clipped - 7 lines]
> If you can't find what you need, perhaps I could write one custom to
> your specs.

That would be great. I'd have to talk to my employers, though. Strange as it may
seem, we had some bad experience with outsourcing. Anyway ... how much would it
cost us (a rough estimate would do)?

BTW: you could take it one step further and make it a service (commercial of
course). All the data would be hosted on your servers, so you'd also need a web
interface for programmers/developers, who would upload (post, put, whatever)
resource bundles, specify languages they need translating into, and collect them
when they're done. The main thing for you then would be providing translators.
Amazon style.
Roedy Green - 15 Dec 2005 09:40 GMT
>That would be great. I'd have to talk to my employers, though. Strange as it may
>seem, we had some bad experience with outsourcing. Anyway ... how much would it
>cost us (a rough estimate would do)?

Depending on how fancy you get, it would be in the range $500 to $2000
US. You would get non-exclusive rights to the fully commented source,
so you could tweak it on your own without coming back to me.

I ask 50% to start and 50% on completion to your satisfaction.

I like to hammer out a very detailed spec including performance
guarantees. I like to be clear on what the program will NOT do as well
as what it will so there are no surprises for anyone.

Usually I do most of the work of designing the app and writing the
spec given the general requirements, and the customer oks that is what
they wanted before giving the go-ahead.

I'm the guy who wrote the essay How to Write Unmaintainable Code. See
http://mindprod.com/unmain.html  I wrote this because I am such a
stickler for maintainable code, and I found this was the least painful
way to feed programmers the teachings of how to write maintainable
code.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Igor Planinc - 19 Dec 2005 11:21 GMT
>>That would be great. I'd have to talk to my employers, though. Strange as it may
>>seem, we had some bad experience with outsourcing. Anyway ... how much would it
[quoted text clipped - 19 lines]
> way to feed programmers the teachings of how to write maintainable
> code.

Looks like they're not interested. They keep saying that it's under
consideration but I have to pull every word out of them. Kind of a Japanese way
of saying "no". Sorry.
Roedy Green - 14 Dec 2005 23:04 GMT
>I have already tried, evaluated:

I have added your comments, slightly toned down to
http://mindprod.com/jgloss/internationalisation.html
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Igor Planinc - 15 Dec 2005 08:18 GMT
>>I have already tried, evaluated:
>
> I have added your comments, slightly toned down to
> http://mindprod.com/jgloss/internationalisation.html

Those were written in a hurry and only state what I don't like about those
applications or would like to have added or fixed. Consequently, those comments
aren't very objective nor neutral. I wrote them from a standpoint of a need of
an enterprise application - which those application are not (for personal use,
however, they are quite good). So, with that objectivity in mind, I suggest you
remove them (my comments, that is) from your otherwise excellent glossary. Well,
you could keep the links. Speaking of which, you could also add this list (maybe
just as a link from your site): http://www.i18nguy.com/TranslationTools.html .
Kudos to i18nguy.
Roedy Green - 15 Dec 2005 09:42 GMT
>hat is) from your otherwise excellent glossary. Well,
>you could keep the links. Speaking of which, you could also add this list (maybe
>just as a link from your site): http://www.i18nguy.com/TranslationTools.html .
>Kudos to i18nguy.

done.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Roedy Green - 14 Dec 2005 23:11 GMT
>None of the applications listed above has a web interface nor any contextual
>help beyond comments.

A web interface will greatly slow down a professional
transcriptionist/translator. You if you do have a web interface it
should just cache, with the operator doing most work locally.

Features you might look for:

1. scan of source code to get the keys so programmers don't manually
have to keep transcribing.

2. a way of reviewing strings by who translated, when translated, if
translated, if proofread in isolation, if proofread in context.

3. allowing comments by programmers in source code to be collected and
automatically given to the translators and vice versa -- translators
comments get inserted back into the code to request clarification etc.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Igor Planinc - 15 Dec 2005 08:31 GMT
>>None of the applications listed above has a web interface nor any contextual
>>help beyond comments.
>
>  
> A web interface will greatly slow down a professional
> transcriptionist/translator.

I don't see how. Translator clicks on a link (sent to him by email perhaps),
sees that a particular string needs translating, maybe takes a look at
contextual information (also available online), translates it and hits submit.
That's it. The way things stand now, translator must first install Babelfish or
I18NEdit or ... (all java apps, so he/she must also install a JVM), translate
the string, save the work and send it back via email. This is, needless to say,
too much for an average translator.

> You if you do have a web interface it
> should just cache, with the operator doing most work locally.
[quoted text clipped - 10 lines]
> automatically given to the translators and vice versa -- translators
> comments get inserted back into the code to request clarification etc.

Yes, that would be a complete solution. One should figure out a way of "linking"
 code to resource bundles (strings to be translated as well as contextual
information for translators, proofreaders and programmers) without too much of
an overhead.
Roedy Green - 15 Dec 2005 09:45 GMT
>I don't see how. Translator clicks on a link (sent to him by email perhaps),
>sees that a particular string needs translating, maybe takes a look at
>contextual information (also available online), translates it and hits submit.
>That's it.

If the server is half way around the world, there may be 5 seconds or
so till the ack comes back. You don't want to hold the translator up
waiting for a round trip message before they can resume keying. That
is the way browser based data entry typically works.  If you use
Applet or JAWS based data entry, then you can use threads to do the
socket i/o in the background.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Roedy Green - 15 Dec 2005 09:50 GMT
>Yes, that would be a complete solution. One should figure out a way of "linking"
>  code to resource bundles (strings to be translated as well as contextual
>information for translators, proofreaders and programmers) without too much of
>an overhead.

you want a central display where you can see the status of all the
bundles, who's working on them, how complete they are etc.

Another feature I thought might be useful is inserting a given
language back into the source code as comments so that programmers who
know that language become proofreaders too.  You could also generate
unilingual executables if you wanted with the strings hard coded.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Roedy Green - 16 Dec 2005 16:14 GMT
On Wed, 14 Dec 2005 23:11:19 GMT, Roedy Green
<my_email_is_posted_on_my_website@munged.invalid> wrote, quoted or
indirectly quoted someone who said :

>eatures you might look for:
>
[quoted text clipped - 7 lines]
>automatically given to the translators and vice versa -- translators
>comments get inserted back into the code to request clarification etc.

I have written a short overview of a suggested student project to
write an Internationaliser.  See
http://mindprod.com/projects/internationaliser.html
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.