Reputation: 299930
Before you start to read, here is a related question, however I am afraid it lacks details...
My situation is very simple, I am working on website which is translated in a number of languages. We have variants of the website customized to clients needs and they opt for the languages that best target their intended audience.
However, we have a problem with the translation process. The problem is not about versioning (we are programmers after all) or the database layout, I am really speaking about managing translation, the cost, and the mishaps.
I think we have identified 3 steps in the process so far.
1. Preparing the documents to be sent
Typically, you want this to be automatic. It's a pain to waste human resources on this recurrent task
2. Translating
It is not so easy to actually translate, there are various (and open) problems there: the lack of context for example since natural languages can be ambiguous and the use of synonyms does not help (especially since we are required to give English as a base language and we are a French team so we may not use idioms)
3. Integration / Feedback
Typical problem is a single word (used for a button) translated to a whole sentence, oups my layout gave way... we ask the translators not to increase the length by more than 25% but sometimes even this may break all hell and sometimes it really restrict them when there is space.
I would like to know how YOU handle this important step of internationalization. We have several brainstorming on this but nothing conclusive got out.
I'll give you our current process in an answer below, so that the question and the answer may be voted / commented independently.
Regards.
Upvotes: 3
Views: 322
Reputation: 1749
I have some experience on this as one of the product my company ships supports more than 20 languages. There are 2 aspect:
for handling translation on the shipped software, we use a phrase id in the code when a phrase is used. And at run-time, the s/w could look up the actual phrase string according to the language id and phrase id, and load it. There's always a default language(e.g. English) available when the look-up fails(e.g. Chinese phrase db file missing while trying to load Chinese phrases). If the translated phrase requires more room than the reserved space, we have a custom control that implement this effect: turn the font color to blue and wrap the text with ending an ellipsis, when the customer clicks the text, a tooltip window showing the full text pops.
for in-house phrase database management, we developed a web site portal, a developer may look up there to see whether a translation is available or not. if yes, he grabs the phrase id and go on with his project. if not, he applies for a new phrase id and goes back to his project with that id without be blocked by the actual translation. During the application, the developer could add contexts such as picture, doc file, simple text as so on. The site would send translation request to the translator and email the admin for notice of such requests. Everything is automatic.
The site also generates translation db files either regularly or on request to be included in the shipped s/w.
Upvotes: 2
Reputation: 299930
Here is our current process.
1. Documents
We send 2 documents:
+ An Excel spreadsheet, comprising 1 column for an 'id', 1 column for the English translation and then 1 column for each language. A 'NOT TRANSLATED' string is used when necessary and we reuse the strings we already have. A script is responsible for indexing the strings and creating this document (generates a .csv which we import).
+ A PowerPoint document comprising various screenshots of the application made with a 'fake' translation file which includes the 'id' of each string, it is used to give context to the translators and so they have a rough estimate of the space available.
The problem here lies within the PowerPoint document, each time there are changes a human intervention is needed to update the screenshots. Furthermore several screens may actually vary because of conditional or mutually exclusive elements (so we have to generate some variations of the screens).
2. Translation
Apart from the fact that it takes time, we do not have much visibility since the client is responsible for the wording (we only provide a default and they have to adapt it to their own vocabulary / branding) and thus the translation.
Apparently the PowerPoint document is used, but perhaps not as much as we could hope for. The translation teams seem to work as quickly as possible and referring to a document (with the time it takes to look up) not only breaks the flow but adds significant overhead.
3. Integration / Feedback
More often than not, the client is not so happy with the translations. Some may break the layout, other are poorly worded and clearly expose a lack of understanding of the context/situation/field (not that there is much we can do there, I for one do not speak Finnish...)
We have thought about our process, and two points have been raised:
Despite that, we have had several ideas:
As you can see, it really is an open question, and yes we really have got a lot of thought into this. To compound the problem, of course there is a budget (money / time) issue in which this task does not appear as a priority to our management since after all it does not work so badly at the moment...
I am looking forward to your comments.
Upvotes: 1