Make WordPress Core


Ignore:
Timestamp:
10/11/2022 08:46:00 AM (2 years ago)
Author:
audrasjb
Message:

I18N: Use wp.i18n._n() for plural forms in wp_print_admin_notice_templates().

This changeset adds better support for plural forms in update admin notices generated on the Themes and Plugins screens. This fixes issues when translating into languages that have more than one plural form, or more complicated rules for singular form usage.

Props ideag, SergeyBiryukov, daledupreez, audrasjb.
Fixes #37287.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/update.php

    r53690 r54469  
    886886            <p>
    887887                <# if ( data.successes ) { #>
    888                     <# if ( 1 === data.successes ) { #>
    889                         <# if ( 'plugin' === data.type ) { #>
    890                             <?php
    891                             /* translators: %s: Number of plugins. */
    892                             printf( __( '%s plugin successfully updated.' ), '{{ data.successes }}' );
    893                             ?>
    894                         <# } else { #>
    895                             <?php
    896                             /* translators: %s: Number of themes. */
    897                             printf( __( '%s theme successfully updated.' ), '{{ data.successes }}' );
    898                             ?>
    899                         <# } #>
     888                    <# if ( 'plugin' === data.type ) { #>
     889                        {{ wp.i18n.sprintf( wp.i18n._n( '%s plugin successfully updated.', '%s plugins successfully updated.', data.successes ), data.successes ) }}
    900890                    <# } else { #>
    901                         <# if ( 'plugin' === data.type ) { #>
    902                             <?php
    903                             /* translators: %s: Number of plugins. */
    904                             printf( __( '%s plugins successfully updated.' ), '{{ data.successes }}' );
    905                             ?>
    906                         <# } else { #>
    907                             <?php
    908                             /* translators: %s: Number of themes. */
    909                             printf( __( '%s themes successfully updated.' ), '{{ data.successes }}' );
    910                             ?>
    911                         <# } #>
     891                        {{ wp.i18n.sprintf( wp.i18n._n( '%s theme successfully updated.', '%s themes successfully updated.', data.successes ), data.successes ) }}
    912892                    <# } #>
    913893                <# } #>
    914894                <# if ( data.errors ) { #>
    915895                    <button class="button-link bulk-action-errors-collapsed" aria-expanded="false">
    916                         <# if ( 1 === data.errors ) { #>
    917                             <?php
    918                             /* translators: %s: Number of failed updates. */
    919                             printf( __( '%s update failed.' ), '{{ data.errors }}' );
    920                             ?>
    921                         <# } else { #>
    922                             <?php
    923                             /* translators: %s: Number of failed updates. */
    924                             printf( __( '%s updates failed.' ), '{{ data.errors }}' );
    925                             ?>
    926                         <# } #>
     896                        {{ wp.i18n.sprintf( wp.i18n._n( '%s update failed.', '%s updates failed.' , data.errors ), data.errors ) }}
    927897                        <span class="screen-reader-text"><?php _e( 'Show more details' ); ?></span>
    928898                        <span class="toggle-indicator" aria-hidden="true"></span>
Note: See TracChangeset for help on using the changeset viewer.