I would like to start a discussion on translation philosophy: What's the reason for the node centric translation in drupal? Why not translate node attributes instead?

With node centric translation a new node will be created, and linked to the original node via the tnid.

With attribute centric translation, only some attributes of a node will be copied (but still be contained in this node).

The disadvantages of node centric translation are:

  • You have to take care for relationships yourself in most cases (images, see #329825: i18n/image: How to translate a picture? ;) i18nsync_fields_node_image not working, keywords(?), cck-fields and so on.
  • Book-Outlines also must be kept manually (you indeed create a new book with new pages, all linked to the original book(pages). If you reorganize the book outline, you'll have to redo this for each translation language :(
  • to translate e.g. image nodes you have to copy the image :(

The advantages of attribute centric translation are:

  • Native linking from original value to translated value (there is no new node, so also no new node id)
  • keeps relations intact and in sync, as with keywords, book outlines and so on
  • you can define, which attributes can be "translated" and which not, e.g. don't translate image in image node, but translate title and body text.
  • references to nodes will show translations as soon as they are available. With book outlines, for example, it will show a mixture of translation and original language unless all book pages have been translated.
  • easy to explain ;)
CommentFileSizeAuthor
#8 mytheme.tar_.gz961 bytespepe roni

Comments

pkej’s picture

Advantages of node centric translation:

Versioning
Customization a picture is probably okay as an illustration in Norwegian, but in China you might get a bullet to the neck with the same picture... Not being that extreme, there are subtle differences between an article written in Norwegian and one written in USEnglish. A picture in Norway might show a couple of nipples, in the US version you'd loose your job with the same picture.

As for translating pictures, I'm with #329825 on this, I'd like to have the original photo in an image node available in the translation, with the option to change it for the language I'm translating to.

pepe roni’s picture

But, be honest, to change a picture in a translation, is not the default case. I don't want to demonize the node centric approach. In the described cases you can use the node translation instead of attribute translation. But you can also create a new node type, where the image can be "translated".

pepe roni’s picture

Advantages of node centric translation:

Versioning

As you still have nodes with the attribute centric translation, this is true in that case, too

pkej’s picture

Yeah, but it seems that for example Image Assist and Image Browser use image nodes, IMCE imnho is crap compared to those. (GUI, and sorry if I step on someones toes.).

But I agree with your #2, it is seldom you need to change the photo itself, but the caption of the photo will be different for different languages.

As for your comment #3, you're right, I kind of short circuited there ;)

mishoboss’s picture

How can I make this "attribute translation"?
I just can't find a real multilingual gallery solution. It's a waste of time and hardware resourcess and it's not logical to the custommers to reupload each image for each language.

pepe roni’s picture

As this is a feature request, you obviously can't!

But you can use cck, filefield, imagefield, book and views to create your own multilingual gallery. But, to explain how this can be done, can not be the target of this issue.

mishoboss’s picture

Then please, open a new Topic and explain there how could this be done. Thanks a lot.

pepe roni’s picture

StatusFileSize
new961 bytes

I have added a tutorial at http://drupal.org/node/449730. In the attachment you will find the example theme I have used in the tutorial.

gábor hojtsy’s picture

Status: Active » Closed (works as designed)

This was solved in Drupal 7 with the introduction of translatable fields. You can use the Entity translation contributed module to expose a user interface for them. This is planned to be expanded in Drupal 8 for even more object types. Drupal 6 is not getting new features, so closing.