Java Forum / Tools / December 2005
I18n / translation tools
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 MagazinesGet 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 ...
|
|
|