Multilingual issues for the last 3 weeks before Drupal 8 feature freeze

Events happening in the community are now at Drupal community events on www.drupal.org.
gábor hojtsy's picture

We are in the final stretch nearing feature freeze for Drupal 8 coming on December 1st. What does that mean? Well, although not everybody agrees on the specifics, generally it means new things will not be possible to get in, but smoothening out what is already included and applying existing APIs and features to systems not yet covered should be the focus then. At the multilingual intiaitive, we'd love to do extensive user testing of all the new and changed things as well as make our APIs more consistent and better documented after December 1st.

However, for three weeks, the wild ride of feature additions is still on and we still have some key features to add before the time runs out. So I'd like to call your attention to just these few issues that need immediate help and feedback.

Make node properties translatable

We do have an entity translation module in core now making all core entities translatable with the same process (eg. nodes and taxonomy terms will not use different modules to translate *and* once/if menu items become entities, you get menu item translation right away!). However, built in properties of these entities are not translatable. That is a big blow, if you consider you cannot translate a node title, a menu item label or a taxonomy term name. So it is pretty critical we remedy this situation. While we do have a full translatable property implementation of the test entity, we do think its critical to have translatable node properties implemented by the feature freeze. We'll follow up with other objects after feature freeze to apply the same data structuring.

Making the translation system easier to understand is of high importance to us, therefore a single screen overview settings screen is proposed that would let you review all your entity translation settings and modify them as needed.

CoreDevelopment-1.jpg
Drupal core in the making - photo by @Schnitzel

Supporting data and APIs for configuration translatability

While Drupal core already supports translated configuration, there is no way to actually create those translations. We were not successful in persuading people to move to a more unified data driven model, so configuration forms, structure, validation and handling will use custom code above the base configuration storage system that is common in Drupal 8. However, the Drupal 8 configuration system is a generic nested key-value store with arbitrary structures even possibly using plugins. For the translatability of configuration, we need to figure out the translatable pieces of any of these structures, so we need descriptions of this data. Therefore we are proposing to add metadata to the configuration system that could be used to explore the data structure and read out translatable pieces. A contributed module will be able to use this data to provide even just some rudimentary configuration translation interface (given that is not possible in Drupal 8 core at all).

Also on the configuration data handling front, we need more granular access to configuration in different languages. The current Drupal 8 status is if you don't have locale module enabled, you always get the configuration in the original language of submission, otherwises you always get the localized configuration in your page's interface language. That is very simplistic and will not even work for core's contact module. Therefore we need to add ways for module developers to access configuration appropriate for their situation. We could limit this to explicitly passing language only but the proposed solution is more general and would support use cases like domain module.

Complete automated translation downloads

We are nearing the finish line for the integration of localization update module in core. With the proper identification of projects and languages behind us, the two final pieces are actually downloading and importing the .po files for your projects and providing an overview of the update status for translations as well as letting you act on that.

We believe these pieces can help us round out the Drupal 8 multilingual system to one that would be a huge step forwards from Drupal 7, providing a huge set of improvements for users and developers alike. However, these will only happen with your help. This is a well focused set of issues for the remaining three weeks, but they are not tiny ones. All helping hands, reviewers and testers needed.

Internationalization

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: