In preparation for a stable release, we should do a review of all the modules using i18nstrings.
The idea is to ensure the basics are covered.
That is:
1. tt() is called with the update argument set to TRUE when items are created or updated.
This is generally done by registering submit handlers to forms where the original items are added or edited.
2. i18nstrings_remove_string() is called when items are deleted.
This is generally done by registering a submit handler to a delete confirm form.
3. tt() is called with only the first two arguments (update defaults to FALSE) when items are being prepared for viewing.
4. The 'refresh' op is implemented in hook_locale, providing mass processing of existing items.
Look in hook_locale for the 'refresh' op and how it's handled.
As a sample, I looked at i18nblock module. It appears that the delete functionality isn't there.
Let's create separate issues for each module missing one or more of these pieces, linking to the issues here.
Comments
Comment #1
catchI did visual inspection of all the i18n modules which call tt() and/or have an i18nstrings dependency - except views integration which is being discussed elsewhere.
i18nmenu looks fine.
#356535: i18ncontent tt/hook_locale() review - Found one minor issue - more code style than a bug (although untested)
#356520: i18nblocks implementation of i18nstrings/locale_refresh() - Couple of issues there, and a spin-off #356520: i18nblocks implementation of i18nstrings/locale_refresh()
#356538: i18nprofile i18nstrings/hook_locale() review. - looks like a couple of things missing, also some @todos to investigate if they're still valid.
#356542: i18n_taxonomy does not remove strings when terms or vocabularies are deleted - just needs delete adding I think.
Next step will be working up patches for some of these, and also some manual testing in case I missed something on the first pass.
Comment #2
jose reyero commentedSeems all these have been fixed.