PluginProbe
Translation with DeepL API / 1.2.5.1
Translation with DeepL API v1.2.5.1
trunk 0.1.20180323 1.0 1.2.5.1 1.5.2.5 1.7.5 2.4.3.12 2.4.3.9 2.4.5
← All changes | client/deeplapi-functions.php +53 -97 trunk1.2.5.1 View file →
@@ -1,97 +1,53 @@
1 -<?php
2 -if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3 -function deepl_translate( $source_lang = false, $target_lang = false, $strings = array(), $cache_prefix = '', $allow_cache = true ) {
4 - $DeepLApiTranslate = new DeepLApiTranslate();
5 - $DeepLApiTranslate->setCachePrefix( $cache_prefix );
6 - $DeepLApiTranslate->allowCache( $allow_cache );
7 -
8 - if ( $source_lang ) {
9 - $DeepLApiTranslate->setLangFrom( $source_lang );
10 - }
11 -
12 - //var_dump($target_lang); die('okzerzererrzer');
13 - if ( !$DeepLApiTranslate->setLangTo( $target_lang ) ) {
14 - /* translators: target language asked */
15 - return new WP_Error( sprintf( __( "Target language '%s' not valid", 'wpdeepl' ), $target_lang ) );
16 - }
17 -
18 - $DeepLApiTranslate->setTagHandling( 'html' );
19 -
20 - $DeepLApiTranslate->setFormality( DeepLConfiguration::getFormalityLevel( $target_lang) );
21 -
22 - $DeepLApiTranslate = apply_filters('deepl_translate_DeepLApiTranslate_before', $DeepLApiTranslate );
23 -
24 - //echo "\n pour lang $target_lang , formality = " . DeepLConfiguration::getFormalityLevel( $target_lang) ;
25 -// wpdeepl_debug_display($DeepLApiTranslate); die('oazeaz+e48az4ea698k');
26 -
27 - $translations = $DeepLApiTranslate->getTranslations( $strings );
28 -
29 - if ( is_wp_error( $translations ) ) {
30 - return array(
31 - 'success' => false,
32 - 'errors' => $translations
33 - );
34 - }
35 - $request = array(
36 - 'cached' => $DeepLApiTranslate->wasItCached(),
37 - 'time' => $DeepLApiTranslate->getTimeElapsed(),
38 - 'cache_file_request' => $DeepLApiTranslate->getCacheFile( 'request' ),
39 - 'cache_file_response' => $DeepLApiTranslate->getCacheFile( 'response' ),
40 - );
41 - $success = true;
42 - $return = compact( 'success', 'request', 'translations' );
43 - return apply_filters( 'deepl_translate', $return, $source_lang, $target_lang, $strings, $cache_prefix );
44 -}
45 -
46 -
47 -function deepl_show_usage() {
48 - ?>
49 - <h3><?php esc_html_e( 'Usage', 'wpdeepl' ); ?></h3>
50 - <?php
51 - $DeepLApiUsage = new DeepLApiUsage();
52 - $usage = $DeepLApiUsage->request();
53 -
54 - //wpdeepl_debug_display($usage); wpdeepl_debug_display($DeepLApiUsage);
55 -
56 - if ( $usage && is_array( $usage ) && array_key_exists( 'character_count', $usage ) && array_key_exists( 'character_limit', $usage )) :
57 - $ratio = round( 100 * ( $usage['character_count'] / $usage['character_limit'] ), 3 );
58 - $left_chars = $usage['character_limit'] - $usage['character_count'];
59 -
60 - ?>
61 - <div class="progress-bar blue">
62 - <span style="width: <?php echo esc_attr( round( (100 - absint( $ratio ) ), 0 ) ); ?>%"><b><?php
63 - echo esc_html(
64 - sprintf(
65 - /* translators: characters remaining */
66 - __( '%s characters remaining', 'wpdeepl' ),
67 - // L'argument est déjà sécurisé par esc_html(), on le laisse tel quel.
68 - number_format( $left_chars )
69 - )
70 - ); ?></b></span>
71 - <div class="progress-text"><?php
72 - echo esc_html(
73 - sprintf(
74 - /* translators: characters translated / limit */
75 - __( '%1$s / %2$s characters translated', 'wpdeepl' ),
76 - esc_html( number_format_i18n( $usage['character_count'] ) ),
77 - esc_html( number_format_i18n( $usage['character_limit'] ) )
78 - ));
79 - echo " - " . esc_html( $ratio ); ?> %</div>
80 - <small class="request_time"><?php
81 - echo esc_html( sprintf(
82 - /* translators: time for the request */
83 - __( 'Request done in: %f milliseconds', 'wpdeepl' ),
84 - esc_html( $DeepLApiUsage->getRequestTime( true ) )
85 - )); ?></small>
86 - </div>
87 - <?php
88 - else :
89 - esc_html_e('No response from the server', 'wpdeepl');
90 - ?><br /><?php
91 - /* translators: link to the DeepL website */
92 - echo wp_kses_post( sprintf(__('Did you select the right server ? If yes, check your plan on <a href="%s">DeepL Pro website</a>. "DeepL API" should be included in it.', 'wpdeepl' ),
93 - 'https://www.deepl.com/pro-account/plan'
94 - ));
95 -
96 - endif;
97 -}
1 +<?php
2 +
3 +function deepl_translate( $source_lang = false, $target_lang, $strings = array(), $cache_prefix = '' ) {
4 + $DeepLApiTranslate = new DeepLApiTranslate();
5 + $DeepLApiTranslate->setCachePrefix( $cache_prefix );
6 +
7 + if( $source_lang ) {
8 + $DeepLApiTranslate->setLangFrom( $source_lang );
9 + }
10 +
11 + if( !$DeepLApiTranslate->setLangTo( $target_lang ) ) {
12 + return new WP_Error( '002', sprintf( __( "Target language '%s' not valid", 'wpdeepl' ), $target_lang ) );
13 + }
14 +
15 + $DeepLApiTranslate->setTagHandling( 'xml' );
16 +
17 + $translations = $DeepLApiTranslate->getTranslations( $strings );
18 + $request = array(
19 + 'cached' => $DeepLApiTranslate->wasItCached(),
20 + 'time' => $DeepLApiTranslate->getTimeElapsed(),
21 + 'cache_file_request' => $DeepLApiTranslate->getCacheFile( 'request' ),
22 + 'cache_file_response' => $DeepLApiTranslate->getCacheFile( 'response' ),
23 + );
24 +
25 + $return = compact( 'request', 'translations' );
26 + return apply_filters( 'deepl_translate', $return, $source_lang, $target_lang, $strings, $cache_prefix );
27 +}
28 +
29 +
30 +function deepl_show_usage() {
31 + ?>
32 + <h3><?php _e( 'Usage', 'wpdeepl' ); ?></h3>
33 + <?php
34 + $DeepLApiUsage = new DeepLApiUsage();
35 + $usage = $DeepLApiUsage->request();
36 +
37 + //plouf($usage); plouf($DeepLApiUsage);
38 +
39 + if( $usage && is_array( $usage ) && array_key_exists( 'character_count', $usage ) && array_key_exists( 'character_limit', $usage )) :
40 + $ratio = round( 100 * ( $usage['character_count'] / $usage['character_limit'] ), 3 );
41 + $left_chars = $usage['character_limit'] - $usage['character_count'];
42 +
43 + ?>
44 + <div class="progress-bar blue">
45 + <span style="width: <?php echo round( (100 - $ratio ), 0 ); ?>%"><b><?php printf( __( '%s characters remaining', 'wpdeepl' ), number_format( $left_chars )); ?></b></span>
46 + <div class="progress-text"><?php
47 + printf( __( '%s / %s characters translated', 'wpdeepl' ), number_format_i18n( $usage['character_count'] ), number_format_i18n( $usage['character_limit'] ) );
48 + echo " - " . $ratio; ?> %</div>
49 + <small class="request_time"><?php printf( __( 'Request done in: %f milliseconds', 'wpdeepl' ), $DeepLApiUsage->getRequestTime( true )) ?></small>
50 + </div>
51 + <?php
52 + endif;
53 +}