Internationalization Drupal 7 upgrade

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

Overview

Update: Beta1 release is out:
Development is back on Drupal git repository
See the module's issue tracker:
https://drupal.org/project/issues/search/i18n?issue_tags=d7upgrade
https://drupal.org/project/issues/i18n?text=&status=Open&priorities=All&...

Further updates will be posted to the project page or to the issue tracker.

Yes, we are upgrading Internationalization module for Drupal 7. This is a work in progress now.
No, nothing to download and try yet, see [Development]

Though there are new APIs plenty of possibilities in D7, there hasn't been too much progress with the specific features i18n provides. So the basic plan is:

  • Simplify and upgrade most features as they are. We'll be using D7 advantages but using the same basic approach: Object translation (like creating a different node for each language)
  • Split the module in several reusable and independent API modules so they can be used either with other i18n modules or with Content Translation modules, http://drupal.org/project/translation
  • Avoid overlapping with the aforementioned Content Translation module. Specially do not get into translatable fields as they will be handled by this other module.

There are some D7 features that open up new possibilities. Specially, to study:

  • How we can use DDT (Dynamic Data Translation). Options for integrating with i18nstrings.
  • Can we extend the node translation concept to Entities?

Upgrade guidelines

  • We should continue breaking down the package in small submodules, better if they can be enabled independently for specific features: i18nstrings, i18nvariables, etc..
  • The query rewriting (language selection) options would be better in a separate submodule that takes advantage of the new DBTNG and query tags
  • Other higher level features, like 'multilingual polls' should be taken out of this module. We are mostly interested on providing low level functionality for other modules to work with, not in specific hight level implementations like these multilingual polls can be. Any takers for this new module?
  • We need to provide a good and consistent API for other modules to have user defined translatable strings which is IMHO the single biggest missing feature in D7 for multilingual sites. This means making i18nstrings into a good API module
  • We don't want to provide an UI to translate each kind of object. We'll provide a single way to translate all strings, so people needing specific UI will be able to use any other module that suits their specific site workflow.
  • We want to get rid of ugly hacks as much as possible. This includes blocks and menus, but also integration with other modules like Views or CCK (now D7 fields). So either we get it clean or we just drop it.

Upgrade plan

On a first stage we need to have the basic API modules, ideally independent so they don't need each other and you can use them for other approaches like translatable fields, which are being developed somewhere else.

  • i18n_variable (all the variable stuff) [Done]
  • i18n_string (strings, texgroups, etc) [Done]
  • i18n_select (content selection by query altering) [Done]

Then on a second stage, we'll see about which other modules need to be upgraded which ones are to be dropped. To be upgraded:

  • i18n_taxonomy[Done]
  • i18n_menu [Done]
  • i18n_blocks [Done]
  • i18n_sync, synchronize node fields. Much easier with the new Field API. Reworked hooks.

New modules:

  • i18n_field, Replaces the old i18ncck module to translate new Drupal 7 fields labels, defaults, etc.
  • variable, Will provide meta information about variables so we can easily select the ones to be translated. This is a new dependency for i18n_variable.
  • i18n_translation, API for translation sets, used for taxonomy, menus, path
  • i18n_path, Path translation, when there's no other option to translate current page
  • i18n_redirect, Redirect to translation in current language if available. Some SEO for multilingual sites.

Note: Most modules have been renamed to use the i18n_* namespace properly.

Development

  • The development will be moving to Github for now, see http://github.com/josereyero/i18n
  • The module maintainer will be creating alpha releases as soon as any of the submodules is already working
  • We'll be creating tasks for each submodule so someone can take over a whole module and work faster.

Open tasks

See the module's issue tracker, https://drupal.org/project/issues/search/i18n?issue_tags=d7upgrade

Use the tag d7upgrade for upgrade issues.