cedaro / grunt-wp-i18n

Internationalize WordPress themes and plugins with Grunt.
MIT License
160 stars 25 forks source link

Plugin's meta data #37

Open marcochiesi opened 10 years ago

marcochiesi commented 10 years ago

Is there a way to control which plugin meta data are included in the .pot file? In example I would like only plugin's description (and maybe name) to be translatable, while plugin's author and URI's not.

GaryJones commented 10 years ago

This looks to be down to makepot.php, not something specific in grunt-wp-i18n. I personally don't think this option should be something that is added here, but @bradyvercher may disagree.

My suggestion would to add a grunt-contrib-replace task that can find and remove bits from the .pot file after it has been generated.

marcochiesi commented 10 years ago

I went for an alternate solution, using the processPot callback:

        processPot: function( pot ) {
            var translation, excluded_meta = [ 'Plugin Name of the plugin/theme', 'Plugin URI of the plugin/theme', 'Author of the plugin/theme', 'Author URI of the plugin/theme' ];
            for ( translation in pot.translations[''] ) {
                if ( typeof pot.translations[''][translation].comments.extracted != 'undefined' ) {
                    if ( excluded_meta.indexOf( pot.translations[''][translation].comments.extracted ) >= 0 ) {
                        delete pot.translations[''][translation];
                        console.log( 'Excluded meta: ' + pot.translations[''][translation].comments.extracted );
                    }
                }
            }
            return pot;
        },

Perhaps it could be added to the documentation as example.

GaryJones commented 10 years ago

Adding it as a Wiki page would be a good start, then do a PR with for the README with this as an advanced example.

marcochiesi commented 10 years ago

I see that currently there are no wiki pages for this project and the docs are in separate files linked from the README. Should I add this at the end of makepot.md?

GaryJones commented 10 years ago

Yes, that seems like the best place :-)

bradyvercher commented 10 years ago

I agree with Gary that an option isn't needed for this, but that's exactly what the processPot callback is for, so I'm glad you found that useful!

Adding an advanced usage section at the bottom of makepot.md should be fine for now, but I'd be all for starting up the wiki with usage examples if someone wanted to take that on.

bradyvercher commented 10 years ago

Thanks for the PR, @marcochiesi!

shivapoudel commented 9 years ago

:hand: Hey @marcochiesi great work

bradyvercher commented 9 years ago

This seems to be a pretty popular option, so I'm reopening for discussion on ways to make it easier to implement.