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 ;)
Comments
Comment #1
pkej commentedAdvantages 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.
Comment #2
pepe roni commentedBut, 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".
Comment #3
pepe roni commentedAs you still have nodes with the attribute centric translation, this is true in that case, too
Comment #4
pkej commentedYeah, 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 ;)
Comment #5
mishoboss commentedHow 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.
Comment #6
pepe roni commentedAs 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.
Comment #7
mishoboss commentedThen please, open a new Topic and explain there how could this be done. Thanks a lot.
Comment #8
pepe roni commentedI 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.
Comment #9
gábor hojtsyThis 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.