PluginProbe
Translation with DeepL API / trunk
Translation with DeepL API vtrunk
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 +35 -13 2.4.3.12trunk View file →
@@ -1,9 +1,10 @@
1 1 <?php
2 -
3 -function deepl_translate( $source_lang = false, $target_lang = false, $strings = array(), $cache_prefix = '' ) {
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 4 $DeepLApiTranslate = new DeepLApiTranslate();
5 5 $DeepLApiTranslate->setCachePrefix( $cache_prefix );
6 + $DeepLApiTranslate->allowCache( $allow_cache );
6 7
7 8 if ( $source_lang ) {
8 9 $DeepLApiTranslate->setLangFrom( $source_lang );
9 10 }
@@ -9,8 +10,9 @@
9 10 }
10 11
11 12 //var_dump($target_lang); die('okzerzererrzer');
12 13 if ( !$DeepLApiTranslate->setLangTo( $target_lang ) ) {
14 + /* translators: target language asked */
13 15 return new WP_Error( sprintf( __( "Target language '%s' not valid", 'wpdeepl' ), $target_lang ) );
14 16 }
15 17
16 18 $DeepLApiTranslate->setTagHandling( 'html' );
@@ -19,9 +21,9 @@
19 21
20 22 $DeepLApiTranslate = apply_filters('deepl_translate_DeepLApiTranslate_before', $DeepLApiTranslate );
21 23
22 24 //echo "\n pour lang $target_lang , formality = " . DeepLConfiguration::getFormalityLevel( $target_lang) ;
23 -// plouf($DeepLApiTranslate); die('oazeaz+e48az4ea698k');
25 +// wpdeepl_debug_display($DeepLApiTranslate); die('oazeaz+e48az4ea698k');
24 26
25 27 $translations = $DeepLApiTranslate->getTranslations( $strings );
26 28
27 29 if ( is_wp_error( $translations ) ) {
@@ -43,14 +45,14 @@
43 45
44 46
45 47 function deepl_show_usage() {
46 48 ?>
47 - <h3><?php _e( 'Usage', 'wpdeepl' ); ?></h3>
49 + <h3><?php esc_html_e( 'Usage', 'wpdeepl' ); ?></h3>
48 50 <?php
49 51 $DeepLApiUsage = new DeepLApiUsage();
50 52 $usage = $DeepLApiUsage->request();
51 53
52 - //plouf($usage); plouf($DeepLApiUsage);
54 + //wpdeepl_debug_display($usage); wpdeepl_debug_display($DeepLApiUsage);
53 55
54 56 if ( $usage && is_array( $usage ) && array_key_exists( 'character_count', $usage ) && array_key_exists( 'character_limit', $usage )) :
55 57 $ratio = round( 100 * ( $usage['character_count'] / $usage['character_limit'] ), 3 );
56 58 $left_chars = $usage['character_limit'] - $usage['character_count'];
@@ -56,20 +58,40 @@
56 58 $left_chars = $usage['character_limit'] - $usage['character_count'];
57 59
58 60 ?>
59 61 <div class="progress-bar blue">
60 - <span style="width: <?php echo round( (100 - $ratio ), 0 ); ?>%"><b><?php printf( __( '%s characters remaining', 'wpdeepl' ), number_format( $left_chars )); ?></b></span>
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>
61 71 <div class="progress-text"><?php
62 - printf( __( '%s / %s characters translated', 'wpdeepl' ), number_format_i18n( $usage['character_count'] ), number_format_i18n( $usage['character_limit'] ) );
63 - echo " - " . ( $ratio ); ?> %</div>
64 - <small class="request_time"><?php printf( __( 'Request done in: %f milliseconds', 'wpdeepl' ), $DeepLApiUsage->getRequestTime( true )) ?></small>
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>
65 86 </div>
66 87 <?php
67 88 else :
68 - _e('No response from the server', 'wpdeepl');
69 - echo '<br />';
70 - printf(__('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' ),
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' ),
71 93 'https://www.deepl.com/pro-account/plan'
72 - );
94 + ));
73 95
74 96 endif;
75 97 }