Looked into porting the module to Drupal 7. Found three bugs in the 6.x version while doing the port, so it was a great exercise. Especially that none of these bugs seem to exist in the issue queue. Changes include:
.info:
- core = 7.x in info file
- files[] list in info file
.js:
- JavaScript wrapped in $ compatibility code
- behavior changed to use attach function
- Drupal.encodeURIComponent() was removed and should not be used to encode values anyway (applies to D6 too)
- translation display was empty if no HTML content or not too long (applies to D6 too)
.module
- changed menu callback to use new "international" paths, get rid of locale_inc_callback use due to registry
- changed hook_perm() to hook_permission()
- locale() params changed (possibly applies to D6 too)
- updated drupal_add_js() and drupal_add_css() calls
- drupal_get_form() now returns an array, we need rendered forms in two places
- contexts were introduced: two changes required; not implemented actual context support but work with strings with empty contexts for now
- #value in #type => #markup was changed to #markup
- _locale_import_one_string_db() changed due to contexts
- fixed bug in l10n_client_import_package_form() on drupal_set_message() (applies to D6 too)
- l10n_client_settings_form_validate() needs to first drupal_function_exists('xmlrpc') to make it available
This makes all the display and submission process work. For a better working D7 module, we'd need to support contexts obviously, but we still need to figure out how to do that. Also, Drupal 7 comes with a built-in, but different cookie library, so we should migrate to that too.
The attached patch however makes all functionality working, so it should form the basis for the new DRUPAL-7--1 branch.
Comment | File | Size | Author |
---|---|---|---|
#1 | l10n_client-bugs-found-while-porting.patch | 2.39 KB | Gábor Hojtsy |
l10n_client-drupal-7.patch | 11.35 KB | Gábor Hojtsy | |
Comments
Comment #1
Gábor HojtsyCommitted the D7 patch and created a D7 branch with a development snapshot at http://drupal.org/node/519150 (Should appear once the packaging script runs).
Here is a backport of the D7 patch with only the bugfixes applicable to D6. Verified that the locale() change only happened in D7 with $context introduced, so no issue there in D6.
Comment #2
Gábor HojtsyCommitted the backport to the Drupal 6 branch.