Index: /sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-block-plugin-checker.php
===================================================================
--- /sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-block-plugin-checker.php (revision 10101)
+++ /sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/cli/class-block-plugin-checker.php (revision 10102)
@@ -802,4 +802,19 @@
/**
+ * Check that the plugin uses `wp_set_script_translations`.
+ */
+ function check_for_translation_function() {
+ $functions = wp_list_pluck( $this->php_function_calls, 0 );
+ if ( ! in_array( 'wp_set_script_translations', $functions ) ) {
+ $this->record_result(
+ __FUNCTION__,
+ 'warning',
+ __( 'No translations are loaded for the scripts.', 'wporg-plugins' ),
+ $call
+ );
+ }
+ }
+
+ /**
* Does it make PHP function calls that shouldn't be in a block plugin?
*/
Index: /sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-block-validator.php
===================================================================
--- /sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-block-validator.php (revision 10101)
+++ /sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-block-validator.php (revision 10102)
@@ -318,4 +318,10 @@
case 'check_php_function_calls':
return __( 'Block plugins should contain minimal PHP with no UI outside the editor. JavaScript should be used instead of PHP where possible.', 'wporg-plugins' );
+ case 'check_for_translation_function':
+ return sprintf(
+ // translators: %s is the link to the internationalization docs.
+ __( 'Block plugins should use wp_set_script_translations
to load translations for each script file. Learn more about internationalization.', 'wporg-plugins' ),
+ 'https://developer.wordpress.org/block-editor/developers/internationalization/'
+ );
// This is a special case, since multiple values may be collapsed.
case 'check_block_json_is_valid':