WordPress.org

Making WordPress.org

Ticket #340: 340.6.diff

File 340.6.diff, 3.5 KB (added by ocean90, 7 years ago)

Add filter for locales with 100% translated strings

  • trunk/wordpress.org/public_html/wp-content/plugins/wp-i18n-teams/css/i18n-teams.css

     
    2424.translators-info.show-major-behind-one tbody tr.major-behind-one,
    2525.translators-info.show-major-behind-many tbody tr.major-behind-many,
    2626.translators-info.show-no-releases tbody tr.no-releases,
    27 .translators-info.show-no-site tbody tr.no-site {
     27.translators-info.show-no-site tbody tr.no-site,
     28.translators-info.show-fully-translated tbody tr.fully-translated {
    2829        display: table-row;
    2930}
    3031
  • trunk/wordpress.org/public_html/wp-content/plugins/wp-i18n-teams/views/all-locales.php

     
    1616                        $string = sprintf( $string, sprintf( '<strong class="i18n-label %s">%s</strong>', $status, $locale_data['status_counts'][ $status ] ) );
    1717                        printf( '<a href="#" class="i18n-filter" data-filter="%s">%s</a> ', $status, $string );
    1818                }
     19
     20                if ( ! empty( $percentages['total'][100] ) ) {
     21                        $string = _n( '%1$s locale %2$s translated.', '%1$s locales %2$s translated.', $percentages['total'][100], 'wporg' );
     22                        $string = sprintf( $string, sprintf( '<strong class="i18n-label %s">%s</strong>', 'fully-translated', $percentages['total'][100] ), '100%' );
     23                        printf( '<a href="#" class="i18n-filter" data-filter="%s">%s</a> ', 'fully-translated', $string );
     24                }
    1925        ?>
    2026        </p>
    2127
     
    3238
    3339                <tbody>
    3440                        <?php foreach ( $locales as $locale ) : ?>
    35                                 <tr class="locale-version <?php echo esc_attr( $locale_data[ $locale->wp_locale ]['status'] ); ?>">
     41                                <?php
     42                                $classes = 'locale-version ' . $locale_data[ $locale->wp_locale ]['status'];
     43                                if ( isset( $percentages[ $locale->wp_locale ] ) && 100 == $percentages[ $locale->wp_locale ] ) {
     44                                        $classes .= ' fully-translated';
     45                                }
     46                                ?>
     47                                <tr class="<?php echo $classes; ?>">
    3648                                        <td class="no-right-border">
    3749                                                <?php if ( $locale_data[ $locale->wp_locale ]['rosetta_site_url'] ) : ?>
    3850                                                        <a href="<?php echo esc_url( $locale_data[ $locale->wp_locale ]['rosetta_site_url'] ); ?>">
  • trunk/wordpress.org/public_html/wp-content/plugins/wp-i18n-teams/wp-i18n-teams.php

     
    172172                                $counts[ $set->wp_locale ]['current'] += (int) $set->current_count;
    173173                        }
    174174                }
     175
     176                $percentages['total'] = array();
    175177                foreach ( $counts as $locale => $count ) {
    176                         $percentages[ $locale ] = ( $count['total'] > 0 ) ? floor( $count['current'] / $count['total'] * 100 ) : 0;
     178                        $percentage = ( $count['total'] > 0 ) ? floor( $count['current'] / $count['total'] * 100 ) : 0;
     179                        $percentages[ $locale ] = $percentage;
     180
     181                        if ( ! isset( $percentages['total'][ $percentage ] ) ) {
     182                                $percentages['total'][ $percentage ] = 0;
     183                        }
     184
     185                        $percentages['total'][ $percentage ]++;
    177186                }
    178187                set_transient( 'core_translation_data', $percentages, 900 );
    179188                return $percentages;