The content translation problem
One of the great goals of the Drupal 8 Multilingual Initiative (D8MI for short) is to have one unified system for content translation. The basic problem is that with Drupal 7, you have two ways to translate content: copy nodes for different language versions (with the built-in Content translation module) or save different languages under one entity (with the built-in multilingual fields capability). Although the later does not have a user interface in core, the API is there, so well respecting contributed modules need to support both. The reality is that many modules support neither, because node copies are combersome and field language support is painful.
This is both a user and a developer problem. Users need to decide their translation methods up front, and both methods have their advantages and limitations. Node copies allow for best workflow because they have authors, publication status, permissions, core search support, etc. all a given. Field language on the other hand works better with relations (when signing up for nodes, putting nodes into a common menu, etc.) as well as sharing values between translations (product images, non-translated attributes, etc.). The grand plan for Drupal 8 is to figure out a way for a system that marries the advantages of all as possible and have one better configurable system instead of two independent systems. This should make it easier for users and developers alike to work with multilingual entities.
This is an extremely simple idea, yet the implementation is lagging behind enourmously.
Plans to solve this problem
The following figure illustrates major steps we need to do to get to the desired results:

To be able to unify the two systems, we need every bit of a node/entity be able to vary by language (except the identifier of the entity of course), so you can have titles for different languages, authors, publication status, creation time, etc. for different languages. These have direct implications on the Drupal permission system, menu item visibility, repeatability of widgets for properties, etc. This is the biggest part of the work, since it requires all properties that are currently stored on the entity base tables to be varied by language, essentially bringing their storage much closer to how fields are stored. While we have been discussing the ins and outs of this for years, we have not made progress in implementing it, however, it is a very key area and would need subject experts to chime in to make the whole plan possible.
- An epic discussion was taking place at http://drupal.org/node/1498634 to decide on the implementation path
- An approach was proposed to convert the test entity first: http://drupal.org/node/1658712 (needs more help)
- This is just the beginnig of the beginning. A huge set of issues will spawn from this to convert other entity types, make EFQ support this property variance, make places querying properties directly use the new approaches, etc.
For all the side effects in the permissions, search, etc. systems, I started with implementations but more help is needed for the complex cases. I don't want to make this complex for you, but if it is forced on Drupal 8 without proper consideration and wide feedback it will be a pain to use, so why not work with the proposals now?
- Runtime support for language is already added in node_access: http://drupal.org/node/1658814
- Runtime language is also already added in _node_revision_access: http://drupal.org/node/1667614
- There is a large need for eyes on the making node access records language aware: http://drupal.org/node/1658846
- Search module should have had field language support already in Drupal 7, but its not a simple question, starter patch at http://drupal.org/node/1669876 but needs lots of work.
Of course if all properties are made to be stored much more like fields, the developer nightmares associated with field data access and modification come to haunt us even for properties, right? Well, we have solution proposals for that too, but they are mostly in the works and need eyes as well.
- We got general entity getter/setters in core so you can request properties in different languages already: http://drupal.org/node/1277776 (this is used by the runtime node_access() language support patch above in anticipation of property language support landing later)
- There is a lot more to do to make property/field access simple. Fago is leading an unofficial initiative to improve the developer experience tremendously by introducing a common property API that would give us lots of "syntactic sugar" to make refering to and working with fields/properties much easier. This needs more hands and reviewers too and is not close to complete yet: http://drupal.org/node/1346214
- We obviously need to start using the API as properties become translatable, like making node title queried as translatable (http://drupal.org/node/1616962) and making term names accessed in a multilingual context (http://drupal.org/node/1616972); these are again just the tip of the iceberg, just two properties of just two basic entities, yet lots of work went into trying to make them work
Having all properties translatable and the API unified and simplified and related core features aware of languages under entities is still not enough. We need to migrate the existing node copy translation data to the new system. We are not there yet to work on this one, but if we are able to introduce full property translation in Drupal 8, this is no question part of the requirements. It would also let us finally drop the node copy based translation UI and API from core.
Finally, we need a user interface to translate entities to different languages. Currently entity forms focus on editing the original version of the entity and contributed modules are required to generate translation forms. Making the entity form language-aware is a much saner way to approach the problem since that integrates better with contributed modules as well, be it pathauto or some other entity add-on that works with the entity form.
- An essential step for making entity translation possible is to introduce entity form controllers: http://drupal.org/node/1499596 - this is getting close to be done hopefully but needs love nonetheless
What will fail from this plan?
Let's face it, we are 4.5 months (that is just 20 weeks if I'm counting right) away from feature freeze, and most of the above are heavy-duty features. Its not in the realm of cleanup if we need to remove a module or introduce major storage and API changes for properties. So it is hard to say at this point that this plan will fully succeed. Especially that you dear readers are not in the issue queues helping us make it happen.
Another way this could fail obviously is we do make the changes happen but we cripple the storage and/or APIs in ways that will make it harder, not easier to work with Drupal. Again, you can ensure that this does not happen by directly being involved with the issues. We want to do what is best but we also have some requirements to fulfill which evidently will make Drupal more complex at places. It will do more, but will not stay as easy as it was.
Just 4.5 months is an extremely limited timeframe to make all this happen, and we really need everybody interested in making multilingual content support simpler and more unified to step up your game and get involved. Although Drupal 8 is far from being released, the deadlines set up don't really allow us to plan for putting in any features beyond the end of November, that is the cutoff. If you planned to help out next year, there will be code cleanup tasks, but no new features involved as per the announced Drupal 8 timeline, so it will just be late to work on most exciting new stuff.
If you want to get involved now, the above issues should provide plenty of opportunities. If you need any personal guidance, I can connect you with the right people to help you get on board either through my personal contact form or on any Drupal 8 Multilingual Initiative meeting (next coming up on the 18th of July). We are also organizing a mega-sprint (most likely the last for Drupal 8 Multilingual efforts this year) around Drupalcon Munich, 3 days before and 3 days after the main session days. See http://groups.drupal.org/node/238003 for more information. But waiting until then to get involved is wasting 5 weeks (out of 20 left), just keep that in mind.
Do you want to be involved shaping how Drupal 8 is going to support multilingual sites or just be a user of what was served for you, for all its good and bad? There is no better time to choose.
Comments
I honestly doubt we ever had
Submitted by Sina (not verified) on
I honestly doubt we ever had a working multilingual system in Drupal if we didn't have you Gábor, :)
Seeing you and the other folks efforts to push multilingual support even further inspires me to spend more time calendar systems.
If i spend as much as time and effort as you guys do i can certainly push multi calendar system support to Drupal 9
Keep up the good work
many persistent people
Submitted by Gábor Hojtsy on
Thankfully there are many other persistent people on the initiative and before that for years, I'm just one of them. Keep rockin'
Internet is a tool developed
Submitted by lisagreen (not verified) on
Internet is a tool developed to help learn cooking academy and pizza games through online gaming. They are especially oriented to make children eat all those cuisines which they hate to even look at otherwise and for thoses children who like magic games can surfing internet,too!
even further inspires me to
Submitted by arooj799 (not verified) on
even further inspires me to spend more time calendar systems.
If i spend as much as time and effort as you guys do i can certainly push multi calendar system support to Drupal 9
Keep up the good work
scholarships for computer science
I wanted to thank you for
Submitted by more visit (not verified) on
I wanted to thank you for this great read!! I definitely enjoyed every little bit of it. I have you bookmarked to check out new stuff on your post.
about this
more visit
This would make it more
Submitted by Toolman11 (not verified) on
This would make it more easier for the developers alike to work with multilingual entities.
Regards,
Measuring Tools For Sale
Want to make your children
Submitted by lisagreen (not verified) on
Want to make your children more beautiful? Just search for thegirls dress up games,you will find millions and millions of model copies to choose from as many parents or girls would have posted the same to help you out.Even winx club games can help you ,too,those girls wear different clothes letting your child learn.
Every one of us is busy
Submitted by lisagreen (not verified) on
Every one of us is busy fighting for a better life than they having, and more and more youngsters would prefer to play car games example to relax because they are not time restricted and you can play them easily using short breaks between your working hours.
I value the blog.
Submitted by more visit (not verified) on
I admire the valuable information you offer in your content articles. I will bookmark your weblog. I am quite certain i will learn lots of new stuff right here than anybody else!
I value the blog.
Submitted by about this (not verified) on
Your post will be rather good and I'm sure some will find it interesting because it's about a topic that's as widely discussed as others. Some may even find it useful.Thanks so much for your post.
Any Sprints coming up?
Submitted by Trevor Twining (not verified) on
We experienced a lot of these D7 pain points on a recent project I completed. I'd like to arrange some time to help with this, but not quite sure where to start. Are there any sprints planned in the next little while?
yes!
Submitted by Gábor Hojtsy on
Copying from the last paragraph of the post for your convenience:
If its really custom
Submitted by arooj799 (not verified) on
If its really custom validation you want, you can put a custom validation method on the panel containing the editors:
Work order management
petsarticledirectory.info
Submitted by Quentin (not verified) on
I agree with your Blog and I will be back to check it more in the future so please keep up your act.petsarticledirectory.info
4.5 Months
Submitted by Dan Date (not verified) on
Yes, 4.5 months is a very limited timeframe to make all this happen. I hope you can pull it off.
I am glad to found such
Submitted by Rohit (not verified) on
I am glad to found such useful post. I really increased my knowledge after read your post which will be beneficial for me
awesome
Submitted by mikakhan (not verified) on
yes thats a grate idea i will try this . i will reply you after try keep working good job thanks"
Dog Life Jacket Sarong
I am glad to found such
Submitted by arooj799 (not verified) on
I am glad to found such useful post. I really increased my knowledge after read your
scholarships for computer science majors
One of the immense goals of
Submitted by Toolman11 (not verified) on
One of the immense goals of the Drupal 8 Multilingual proposal (D8MI for short) is to have one combined system for content conversion.
Regards,
Buy DeWalt Power Tools
great site. useful for us ,
Submitted by joss (not verified) on
great site. useful for us , please keep it and read again http://allrightrayban.com
as well as the head from
Submitted by JACKET (not verified) on
as well as the head from multiple aspects, such as supervision for the first time in meishan, since the building of the city.http://www.louboutinukstockists.co.uk/
The new file serious meeting
Submitted by JACKET (not verified) on
The new file serious meeting discipline (business activities). Must not be late, leave early, absent without the approval of the leave or arrange someone to attend. Because,http://mbtshoesuksale.ucoz.co.uk/
graduating in the subject is
Submitted by maggie (not verified) on
graduating in the subject is very much required in the competitive world. we need to be well educated and should have a good knowledge . you have made everything more clear with the chart that has been given.educational computer games
MBT Shoes sale
Submitted by MBT Shoes (not verified) on
Red Bottom Heels
nike air max
Submitted by nike air max (not verified) on
Incredible points. Solid arguments. Keep up the good spirit. nike air max http://annuaire.inra.fr/air.html
Excellent post.I want to
Submitted by austin dj (not verified) on
Excellent post.I want to thank you for this informative read, I really appreciate sharing this great post. Keep up your work. san antonio dj
Hmm it looks like your site
Submitted by sterlingjohn76 (not verified) on
Hmm it looks like your site ate my first comment (it was super long) so I guess I'll just sum it up what I had written and say, I'm thoroughly enjoying your blog. I too am an aspiring blog blogger but I'm still new to the whole thing. Do you have any points for novice blog writers? I'd genuinely appreciate it.
cell phone spy
cell phone spy software
I am a great fan of drupal
Submitted by Anonymous (not verified) on
I am a great fan of drupal!
http://www.venkotech.com
I would like to thank you for
Submitted by ymous (not verified) on
I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. In fact your creative writing abilities has inspired me to start my own BlogEngine blog now. Really the blogging is spreading its wings rapidly. Your write up is a fine example of it. centro commerciale rivalta
Add new comment