scaffold-command icon indicating copy to clipboard operation
scaffold-command copied to clipboard

Add I18N support to scaffolded Gutenberg block

Open swissspidy opened this issue 7 years ago • 2 comments

While working on https://github.com/swissspidy/gutenberg-i18n-block I realized that even though the generated block uses wp.i18n, it can't be translated.

The I18N part of Gutenberg is pretty much in flux and not really documented. Nevertheless, I think we should enhance a scaffolded block so people don't have to worry about internationalisation — or at least point them into the right direction.

This includes:

  • Not using __() in the save callback as that doesn't work.
  • Using @wordpress/babel-plugin-makepot to create a POT file of all translatable strings.
  • Using wp_add_inline_script() and gutenberg_get_jed_locale_data() to load the translations.
  • Ideally: using pot-to-php or something similar to get a POT file that creates both the translatable strings from the JS, as well as from the PHP side of things.

swissspidy avatar Apr 15 '18 17:04 swissspidy

@swissspidy Are there issues that we should still take care of here before WP 5.0?

schlessera avatar Nov 15 '18 16:11 schlessera

For WP 5.0 compatibility https://make.wordpress.org/core/2018/11/09/new-javascript-i18n-support-in-wordpress/ is of relevance.

We could still use wp_get_jed_locale_data(), but wp_set_script_translations() is probably superior. There's a lack of documentation though.

I plan on updating https://github.com/swissspidy/gutenberg-i18n-block soon with newer examples. This could help with updating the scaffold command as well.

swissspidy avatar Nov 15 '18 17:11 swissspidy