I'm responsible for WPML and I'd like to make WPML and NextGen work together fully for multilingual sites.
NextGen includes the i18n function for translating strings. We can easily filter your localization filter and allow users to translate everything, but I feel that this solution would be most challenging for users.
What will happen is that site admins will need to sort through hundreds of tiny unrelated strings in order to find what to translate, as the current i18n function doesn't include any context.
What I'm suggesting is to include two additional optional arguments to the function, so that it will look like:
function i18n($in, $context, $name)
Then, when i18n is used in your code, we'll add the context and name of each translatable string.
For example, the context can be the ID of an image and the name would be the field. You'll have things like:
$picture->alttext = html_entity_decode( stripslashes(nggGallery::i18n($picture->alttext), 'picture'.$picture->id,'alttext') ); $picture->linktitle = htmlspecialchars( stripslashes(nggGallery::i18n($picture->description,'picture'.$picture->id,'description')) );
This way, admins will see translatable strings grouped together and with their full context.
We'll be more than happy to do this work on NextGen code, test and return it to you for review. We'll update the i18n function and everywhere it's used in your code. It's going to take just a few hours to code and test.
NextGen will remain 100% compatible with other translation plugins that your i18n function currently supports and offer easier translation management.
Would you be interested in this?