Make WordPress Core

Ticket #19852: 19852-makepot.3.diff

File 19852-makepot.3.diff, 3.6 KB (added by ryan, 13 years ago)

Now with testing, but not much.

  • makepot.php

     
    1212
    1313        var $projects = array(
    1414                'generic',
     15                'wp-frontend',
     16                'wp-site-admin',
     17                'wp-network-admin',
     18                'wp-user-admin',
    1519                'wp-core',
    1620                'wp-ms',
    1721                'wp-tz',
     
    5761                        'comments' => "Copyright (C) {year} {package-name}\nThis file is distributed under the same license as the {package-name} package.",
    5862                ),
    5963                'generic' => array(),
     64                'wp-frontend' => array(
     65                        'description' => 'Translation of frontend strings in WordPress {version}',
     66                        'copyright-holder' => 'WordPress',
     67                        'package-name' => 'WordPress',
     68                        'package-version' => '{version}',
     69                ),
     70                'wp-site-admin' => array(
     71                        'description' => 'Translation of site admin strings in WordPress {version}',
     72                        'copyright-holder' => 'WordPress',
     73                        'package-name' => 'WordPress',
     74                        'package-version' => '{version}',
     75                ),
     76                'wp-network-admin' => array(
     77                        'description' => 'Translation of network admin strings in WordPress {version}',
     78                        'copyright-holder' => 'WordPress',
     79                        'package-name' => 'WordPress',
     80                        'package-version' => '{version}',
     81                ),
     82                'wp-user-admin' => array(
     83                        'description' => 'Translation of user admin strings in WordPress {version}',
     84                        'copyright-holder' => 'WordPress',
     85                        'package-name' => 'WordPress',
     86                        'package-version' => '{version}',
     87                ),
    6088                'wp-core' => array(
    6189                        'description' => 'Translation of WordPress {version}',
    6290                        'copyright-holder' => 'WordPress',
     
    185213        }
    186214
    187215        function wp_core($dir, $output) {
     216                if ( !file_exists( "$dir/wp-admin/user/about.php" ) ) {
     217                        // WP 3.3 or earlier.
     218                        return $this->wp_generic( $dir, array(
     219                                'project' => 'wp-core', 'output' => $output,
     220                        ) );
     221                } else {
     222                        // WP 3.4 and later
     223                        // @todo check returns
     224                        wp_frontend($dir, null);
     225                        wp_site_admin($dir, null);
     226                        wp_network_admin($dir, null);
     227                        wp_user_admin($dir, null);
     228                }
     229        }
     230
     231        function wp_frontend($dir, $output) {
    188232                return $this->wp_generic( $dir, array(
    189                         'project' => 'wp-core', 'output' => $output,
     233                        'project' => 'wp-frontend', 'output' => $output,
     234                        'includes' => array(), 'excludes' => array( 'wp-admin/.*', 'wp-content/themes/twentyten/.*', 'wp-content/themes/twentyeleven/.*' ),
     235                        'default_output' => 'wordpress.pot',
     236                        'extract_not_gettexted' => false,
    190237                ) );
    191238        }
    192239
     240        function wp_site_admin($dir, $output) {
     241                return $this->wp_generic( $dir, array(
     242                        'project' => 'wp-site-admin', 'output' => $output,
     243                        'includes' => array( 'wp-admin/.*' ), 'excludes' => array( 'wp-admin/includes/continents-cities\.php', 'wp-admin/network/.*', 'wp-admin/user/.*' ),
     244                        'default_output' => 'wordpress-site-admin.pot',
     245                        'extract_not_gettexted' => false,
     246                ) );
     247        }
     248
     249        function wp_network_admin($dir, $output) {
     250                return $this->wp_generic( $dir, array(
     251                        'project' => 'wp-network-admin', 'output' => $output,
     252                        'includes' => array( 'wp-admin/network/.*' ), 'excludes' => array(),
     253                        'default_output' => 'wordpress-network-admin.pot',
     254                        'extract_not_gettexted' => false,
     255                ) );
     256        }
     257
     258        function wp_user_admin($dir, $output) {
     259                return $this->wp_generic( $dir, array(
     260                        'project' => 'wp-user-admin', 'output' => $output,
     261                        'includes' => array( 'wp-admin/user/.*' ), 'excludes' => array(),
     262                        'default_output' => 'wordpress-user-admin.pot',
     263                        'extract_not_gettexted' => false,
     264                ) );
     265        }
     266
    193267        function wp_ms($dir, $output) {
     268                if ( file_exists( "$dir/wp-admin/user/about.php" ) ) return false;
    194269                if ( !is_file("$dir/wp-admin/ms-users.php") ) return false;
    195270                $core_pot = tempnam( sys_get_temp_dir(), 'wordpress.pot');
    196271                if ( false === $core_pot ) return false;