Making WordPress.org


Ignore:
Timestamp:
10/07/2017 01:23:36 PM (9 years ago)
Author:
ocean90
Message:

Translate, Consistency: Support filtering by parent projects and group results by translation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/templates/consistency.php

    r3117 r6006  
    1111
    1212
    13 <form action="" method="get" class="consistency-form">
    14         <p>
    15                 <input type="text" name="search" required value="<?php echo gp_esc_attr_with_entities( $search ); ?>" class="consistency-form-search" placeholder="Enter original to search for&hellip;">
    16                 <?php
    17                 $options     = [];
    18                 $options[''] = 'Select a locale';
    19                 $options     = array_merge( $options, $sets );
    20                 echo gp_select( 'set', $options, $set, [ 'class' => 'consistency-form-locale', 'required' => 'required' ] );
    21                 ?>
    22                 <button type="submit" class="consistency-form-submit">Search</button>
     13<form action="/consistency" method="get" class="consistency-form">
     14        <p class="consistency-fields">
     15                <span class="consistency-field">
     16                        <label for="original">Original</label>
     17                        <input id="original" type="text" name="search" required value="<?php echo gp_esc_attr_with_entities( $search ); ?>" class="consistency-form-search" placeholder="Enter original to search for&hellip;">
     18                </span>
     19
     20                <span class="consistency-field">
     21                        <label for="set">Locale</label>
     22                        <?php
     23                        $locale_options = [
     24                                '' => 'Select a locale',
     25                        ];
     26                        $locale_options = array_merge( $locale_options, $sets );
     27                        echo gp_select(
     28                                'set',
     29                                $locale_options,
     30                                $set,
     31                                [
     32                                        'class'    => 'consistency-form-locale',
     33                                        'required' => 'required',
     34                                ]
     35                        );
     36                        ?>
     37                </span>
     38
     39                <span class="consistency-field">
     40                        <label for="project">Project</label>
     41                        <?php
     42                        $project_options = [
     43                                '' => 'All Projects',
     44                        ];
     45                        $project_options = $project_options + $projects;
     46                        echo gp_select(
     47                                'project',
     48                                $project_options,
     49                                $project,
     50                                [
     51                                        'class' => 'consistency-form-project',
     52                                ]
     53                        );
     54                        ?>
     55                </span>
    2356        </p>
    2457
    25         <p class="consistency-form-filters">
     58        <p>
    2659                <label>
    2760                        <input type="checkbox" name="search_case_sensitive" value="1"<?php checked( $search_case_sensitive ); ?>>
     
    3063        </p>
    3164
     65        <p>
     66                <button type="submit" class="consistency-form-submit">Analyze</button>
     67        </p>
    3268</form>
    3369
     
    3874} elseif ( $performed_search && $results ) {
    3975        $translations_unique_count = count( $translations_unique );
    40         if ( 1 === $translations_unique_count ) {
     76        $has_different_translations = $translations_unique_count > 1;
     77        if ( ! $has_different_translations ) {
    4178                echo '<p class="notice">All originals have the same translations</p>';
    4279        } else {
    43                 echo '<div class="notice wporg-notice-warning"><p>There are ' . $translations_unique_count . ' different translations. <a id="toggle-translations-unique" href="#show">View</a></p>';
     80                echo '<div id="translations-overview" class="notice wporg-notice-warning"><p>There are ' . $translations_unique_count . ' different translations. <a id="toggle-translations-unique" href="#show">View</a></p>';
    4481                echo '<ul class="translations-unique hidden">';
    4582                foreach ( $translations_unique as $translation ) {
    4683                        printf(
    47                                 '<li data-id="%s">%s</li>',
    48                                 md5( $translation ),
    49                                 str_replace( ' ', '<span class="space"> </span>', esc_translation( $translation ) )
     84                                '<li>%s <a href="#%s">&darr;</a></li>',
     85                                str_replace( ' ', '<span class="space"> </span>', esc_translation( $translation ) ),
     86                                esc_attr( sanitize_title( 't-' . $translation ) )
    5087                        );
    5188                }
     
    6299                <tbody>
    63100                        <?php
     101                        $previous_translation = '';
     102
    64103                        foreach ( $results as $result ) {
    65104                                $project_name = $result->project_name;
     
    76115                                                ' <span class="context">%s</span>',
    77116                                                esc_translation( $result->original_context )
     117                                        );
     118                                }
     119
     120                                if ( $has_different_translations && $previous_translation !== $result->translation ) {
     121                                        $previous_translation = $result->translation;
     122                                        printf(
     123                                                '<tr id="%s" class="new-translation"><td colspan="2"><strong>%s</strong> <a href="#translations-overview">&uarr;</a></td></tr>',
     124                                                esc_attr( sanitize_title( 't-' . $result->translation ) ),
     125                                                esc_translation( $result->translation )
    78126                                        );
    79127                                }
Note: See TracChangeset for help on using the changeset viewer.