Making WordPress.org

Changeset 13161


Ignore:
Timestamp:
01/31/2024 03:30:40 PM (22 months ago)
Author:
amieiro
Message:

Add PHP files to language packs

See https://github.com/WordPress/wordpress.org/pull/191

Location:
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-export.php

    r12194 r13161  
    102102
    103103            $files = array_merge( $files, $jed_files );
     104
     105            // Create PHP file.
     106            $php_file = "{$wp_locale}.l10n.php";
     107            if ( $context ) {
     108                $php_file = "$context-{$php_file}";
     109            }
     110            $php_file = "{$dest}/{$php_file}";
     111
     112            $result = $this->build_php_file( $gp_project, $gp_locale, $translation_set, $po_entries, $php_file );
     113            if ( $result ) {
     114                $files[] = $php_file;
     115            }
    104116
    105117            // Create PO file.
     
    257269        return true;
    258270    }
     271
     272    /**
     273     * Builds a PHP file for translations.
     274     *
     275     * @param GP_Project          $gp_project The GlotPress project.
     276     * @param GP_Locale           $gp_locale  The GlotPress locale.
     277     * @param GP_Translation_Set  $set        The translation set.
     278     * @param Translation_Entry[] $entries    The translation entries.
     279     * @param string              $dest       Destination file name.
     280     * @return boolean True on success, false on failure.
     281     */
     282    private function build_php_file( $gp_project, $gp_locale, $set, $entries, $dest ) {
     283        $format  = gp_array_get( GP::$formats, 'php' );
     284        $content = $format->print_exported_file( $gp_project, $gp_locale, $set, $entries );
     285        return false !== file_put_contents( $dest, $content );
     286    }
    259287}
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-customizations/inc/cli/class-language-pack.php

    r12827 r13161  
    509509
    510510        return $match[1];
     511    }
     512
     513    /**
     514     * Builds a PHP file for translations.
     515     *
     516     * @param GP_Project          $gp_project The GlotPress project.
     517     * @param GP_Locale           $gp_locale  The GlotPress locale.
     518     * @param GP_Translation_Set  $set        The translation set.
     519     * @param Translation_Entry[] $entries    The translation entries.
     520     * @param string              $dest       Destination file name.
     521     * @return bool True on success, false on error.
     522     */
     523    private function build_php_file( $gp_project, $gp_locale, $set, $entries, $dest ) {
     524        $format  = gp_array_get( GP::$formats, 'php' );
     525        $content = $format->print_exported_file( $gp_project, $gp_locale, $set, $entries );
     526        return false !== file_put_contents( $dest, $content );
    511527    }
    512528
     
    653669            $po_file        = "{$export_directory}/{$filename}.po";
    654670            $mo_file        = "{$export_directory}/{$filename}.mo";
     671            $php_file       = "{$export_directory}/{$filename}.l10n.php";
    655672            $zip_file       = "{$export_directory}/{$filename}.zip";
    656673            $build_zip_file = "{$build_directory}/{$wp_locale}.zip";
     
    667684
    668685            // Create JED json files for each JS file.
    669             $json_files = $this->build_json_files( $data->gp_project, $gp_locale, $set, $mapping, $json_file_base );
     686            $additional_files = $this->build_json_files( $data->gp_project, $gp_locale, $set, $mapping, $json_file_base );
     687
     688            // Create PHP file.
     689            $php_file_written = $this->build_php_file( $data->gp_project, $gp_locale, $set, $po_entries, $php_file );
     690            if ( $php_file_written ) {
     691                $additional_files[] = $php_file;
     692            }
    670693
    671694            // Create PO file.
     
    704727                escapeshellarg( $po_file ),
    705728                escapeshellarg( $mo_file ),
    706                 implode( ' ', array_map( 'escapeshellarg', $json_files ) )
     729                implode( ' ', array_map( 'escapeshellarg', $additional_files ) )
    707730            ) );
    708731
Note: See TracChangeset for help on using the changeset viewer.