views:

133

answers:

5

We are developing a web application which is available in 3 languages.

There are these key-value pairs to translate everything. At this moment we use Excel (key, german, french, english) for this. But this does not work well ... if there is more than 1 person editing this file, you have no chance to automatically merge the different files.

Is there a good (and free) tool wich can handle this job?

thanks in advance!

--- additional information ---

(This is a STRUTS application) But the question is how to manage these kinds of information in general (or at least in an conveinient way, which also supports multiple users editing this single file ("mergeable" filetypes))

+1  A: 

If you can store this information in plain text then you will be able to use a version control system like subversion to help you with merging changes. Subversion is free.

The free guide (the "Red Book") to subversion gives a fairly good explanation of how this kind of merging works.

http://svnbook.red-bean.com/en/1.5/svn.basic.vsn-models.html#svn.basic.vsn-models.copy-merge

EDIT: Another thought - if you really want to stay using a spreadsheet - Google Docs supports simultaneous editing of a spreadsheet. You could import your existing spreadsheet and get your multi-user merging wishes for free with very little change to how you work.

Ed Guiness
A: 

Good Question. There are some "Best Practice" depending on what you actually code in (java, ms-windows c#).

I solved this (but I think there must be a better way) by using a SQL db instead of excel file, and a wrote a plug for VS (VB6,........,..., emacs) that was able to insert new keys into the db without going to round trip with version control. The keys are the developers name of what they think is a best guess for a label. (key => save, sv => "spara", no => "", en => "save").

This db can then be generated as a module, class, obj, txt, to appropriate code(platform) and can be accessed, depending on the ide, so in c#, bt,label = corelang.save;

Someone else can then do all the language stuff, and then we just update the db and rerun the generation to the platform resources.

Jonke
+3  A: 

Why not use gettext and manage separate .po files? See that blog entry.

Marcin Gil
This solution depends on Php and the question isn't Php tagged... however, yes its a good enough Solution for Php
Robert Gould
Was gradually reading the answers with more astonishment, until I saw this one. Sanity. Thank-you.
Ali A
Yes, quite helpful if you use php, but we got a JAVA (struts) application ...
mana
A: 

After years of seeing localization done, including localization at large companies like Sony. I can only say the "standard" is Excel :)

There are tons of good ideas around, and probably many better ways to do it, but in real-life excel seems to be the best/cost effective solution that doesn't require training or making complex new tools to get the job done.

Robert Gould
A: 

Found out, that Intellij Idea (at leas in version 7 and 8) has an editor for application resources. But it is not free at all. And it does not scale for bigger resource files with more than 1.000 keys.

Another good choice would be to use Google's spreadsheets ... for those who don't know it - it is like an "online Excell web-application". It can handle concurrent access from multiple users. Yay! But sadly, it comes from Google. This makes it impossible to be used in commercial projects.

So, still searching...

cheers, mana

mana