scaffold-command
scaffold-command copied to clipboard
Add I18N support to scaffolded Gutenberg block
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 thesavecallback as that doesn't work. - Using
@wordpress/babel-plugin-makepotto create a POT file of all translatable strings. - Using
wp_add_inline_script()andgutenberg_get_jed_locale_data()to load the translations. - Ideally: using
pot-to-phpor 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 Are there issues that we should still take care of here before WP 5.0?
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.