Forums / Suggestions / Content translation features

Content translation features

Author Message

Bård Farstad

Thursday 24 July 2003 3:02:52 am

We need to add some new features to the translation system in eZ publish. There has been some similar discussion about this earlier.

1. Introduce main translation for the system. This will be the defined fallback translation.

2. Class level translation selection. This means that you can select which attributes are translateable with a checkbox. When you edit the object in a language other than main you will only get the fields you should translate in edit mode. The rest of the attributes will appear in read only, since you will not be able to store content for the specific translation.

3. Optional translation attributes. Same as 2, but you you can choose to translate an attribute on object level. E.g. you have an image which sometimes needs to be translated, but not always.

4. Intra datatype translations. E.g. you have an XML field where you have a section which is common for all translations, we need a way of referencing content from the main translation so you only need to translate the text.

Any input on functionality or how to implement this?

Atleast 1 and 2 will be part of 3.2 and the fundation for 3 and 4 will be made.

-bård

Documentation: http://ez.no/doc

Tony Wood

Thursday 24 July 2003 3:13:32 am

For translation is there any way of enhancing the default workflow. I am guessing that most translation jobs are handled by third parties, not by the developer, so a default specific translation workflow would be useful. This would include notifications to the third party translator that a page is ready for translation and send an email with the text or an email informing them that it needs to be done.
Also, i know this is a big ask, but could "translation memory" be introduced? This would auto-translate phrases that have already been translated. I know these do not always work due to context, but it would be a start.

tony

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

Bård Farstad

Thursday 24 July 2003 3:46:25 am

Tony, we will need to enhance the translation function in regards to workflows I agree on that. But it will only use the already existing translation features.

You mention developers, normally developers don't write the content do they? This is normally done by the end user, but it is often a different person that translates that's true.

We should also have a simple way to send content to another user. E.g. I write an article and send it to another user to get feedback and mabye for him to translate the content. This could be handled by the workflow system though.

As for translation memory, I really don't see how we can implement this in a web gui. Since this should be very dynamic. Any suggestions?

--bård

Documentation: http://ez.no/doc

Tony Wood

Thursday 24 July 2003 4:37:52 am

>>developers
True, users normally enter content, but for a new system, customers want the languages completed before they take delivery, hence the developer needs to organise this.

>>Translation memory
I've seen this refered to as "page memory". Although text is dynamic certain phrases re-appear, such as 'email' which the French no need as 'courier electronique' since Monday. A page memory system would see this and translate it before the page is rendered for the translator. If this just handles 5% of the words/phrases in a translation it would reduce translation costs quite a bit.

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

liu spider

Thursday 24 July 2003 5:34:25 am

>>Translation Memory
Tony's proposal is a good idea.

In addition, I think initial memory could be extracted from current using translation's ts.

All translation are based on English, so eng-GB must be a mid-bridge between any other two different languages.

http://liucougar.scim-im.org
SCIM Input Method Platform
http://scim.sf.net
SJSD Online Editor
http://sf.net/projects/sjsd

Bård Farstad

Thursday 24 July 2003 6:29:14 am

Ok, I see. Just come up with a "suggested translation" instead of a copy of original. I thought about a smarter gui where you clicked on a sentence and e.g. got a list of suggested translations. That's not simple to do on web ( of course you could use javascript and friends, but that's no good for eZ publish standard ).

Approaches for this:
1: Create a "smart" translation system, based on dictionary and gramatical rules. This one is very hard to get even partly decent.

2: Translate known strings with search and replace. This one is simple to implement, but it's a big job to update the translation file(s). How could we implement automatic/semi automatic updates of the translation memory?

3: Use 3rd party tool/webservice. Simple to implement and result will be good. But this will most likely need a commercial service from 3rd pary.

Suggestions?

--bård

Documentation: http://ez.no/doc

Tony Wood

Thursday 24 July 2003 6:37:20 am

This is tough stuff, i agree. I would use a third party tool that sat on the server and use an enhancement to the online editor to display the content.

Small steps first...

When a new translation page is created, it scans the database for previous phrases and then displays those as options. I think we need to use phrases and not words as words out of contexct are useless.
We would need to store a marker at the point of translation showing the original translated text and the translated text. So this might be a manual task for the translator. There might be some OSS projects that already do this that you could connect into.

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

Bård Farstad

Thursday 24 July 2003 6:46:49 am

I will do some research. This is something we should discuss as the summer camp. Mabye this is a good thing for 3.3, which is due just before x-mas.

-bård

Documentation: http://ez.no/doc

Selmah Maxim

Thursday 24 July 2003 10:17:33 am

1st of all I don`t if this look like stupid idea or not ... so ..

ezp speed with english its ok, but with another language is really slow, and I think this becoz of text searching and caching it, and as I know searching by text is really slower than by id.

What about if the translation is stored in DB by id, then call this id from templates, and in classes also. For this must be seaction for translation where appear id (fix), input boxs depending on how many language include this site.

This way we make translation issue faster by calling it by id (not by text which maybe 3 or more line), and make the translation writing easy for devloper and the end user !

Bård Farstad

Thursday 24 July 2003 10:34:42 am

Selmah, there is no speed difference if you fetch an object in a translated version. It is a bit overhead if you have a different display language because of the i18n translations, but this will be gone in future versions.

There must be something wrong with your setup if one translation is slower than another one.

--bård

Documentation: http://ez.no/doc

Selmah Maxim

Thursday 24 July 2003 10:43:09 am

maybe ... but don`t you think finding the right translation by searching lets say 3 line or more is slower than searching by id ?

The editing and managing the translation from admin site is better than editing files, also for backup, and taking this a point for 'packaging format' will be useful also !

liu spider

Thursday 24 July 2003 8:08:12 pm

Selmah:
I think your setup must have something misconfiged:

Using another language, you should enable translation cache. And you should see in the debug output that the translation cache are used after a initial request when eZ tries to build translation cache from ts file.

According to my experience, the initial request may take a much longer time, for processing the large ts file is really a "expensive" task. But after that, as long as the translation cache is generated correctly, no difference compared to English will be noticed.

http://liucougar.scim-im.org
SCIM Input Method Platform
http://scim.sf.net
SJSD Online Editor
http://sf.net/projects/sjsd

Selmah Maxim

Friday 25 July 2003 2:24:38 am

liu,
The translation cache is enabeld, this was just suggestion, tho the tanslation via DB faster by id !

anyway its not that slow with xml.

liu spider

Friday 25 July 2003 7:19:55 pm

But the translated strings are stored in some cached php files, and are not fetched from DB. So there is no need to search a string in DB.

And the ts originally is a xml file, but it parse and render is far slower then cached php files, doesn't it?

http://liucougar.scim-im.org
SCIM Input Method Platform
http://scim.sf.net
SJSD Online Editor
http://sf.net/projects/sjsd