PluginProbe
Translation with DeepL API / 1.0
Translation with DeepL API v1.0
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
wpdeepl / wpdeepl.php

wpdeepl.php in Translation with DeepL API 1.0, at wpdeepl.php

100 lines 3.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: DeepL for WordPress : translation plugin
4 * Description: Get DeepL translation magic right inside your WordPress editor (with a paid DeepL Pro account)
5 * Version: 1.0
6 * Plugin Slug: wpdeepl
7 * Author: Fluenx
8 * Author URI: https://www.fluenx.com/
9 * Requires at least: 4.0.0
10 * Tested up to: 5.0.3
11 * Text Domain: wpdeepl
12 * Domain Path: /languages
13 */
14
15 if( !function_exists( 'is_admin' ) || !is_admin() )
16 return;
17
18 defined( 'WPDEEPL_FLAVOR' ) or define( 'WPDEEPL_FLAVOR', 'free' );
19 defined( 'WPDEEPL_NAME' ) or define( 'WPDEEPL_NAME', plugin_basename( __FILE__ ) ); // plugin name as known by WP.
20 defined( 'WPDEEPL_SLUG' ) or define( 'WPDEEPL_SLUG', 'wpdeepl' );// plugin slug ( should match above meta: Text Domain ).
21 defined( 'WPDEEPL_DIR' ) or define( 'WPDEEPL_DIR', dirname( __FILE__ ) ); // our directory.
22 defined( 'WPDEEPL_PATH' ) or define( 'WPDEEPL_PATH', realpath( __DIR__ ) ); // our directory.
23 defined( 'WPDEEPL_URL' ) or define( 'WPDEEPL_URL', plugins_url( '', __FILE__ ) );
24 $plugin_data = get_file_data( __FILE__, array( 'Version' => 'Version' ), false );
25 defined( 'WPDEEPL_VERSION' ) or define( 'WPDEEPL_VERSION', $plugin_data['Version'] );
26
27 $wp_upload_dir = wp_upload_dir();
28 defined( 'WPDEEPL_FILES' ) or define( 'WPDEEPL_FILES', trailingslashit( $wp_upload_dir['basedir'] ) . 'wpdeepl' );
29 defined( 'WPDEEPL_FILES_URL' ) or define( 'WPDEEPL_FILES_URL', trailingslashit( $wp_upload_dir['baseurl'] ) . 'wpdeepl' );
30 if( !is_dir( WPDEEPL_FILES ) ) mkdir( WPDEEPL_FILES );
31
32 defined( 'DEEPL_API_URL' ) or define( 'DEEPL_API_URL', 'https://api.deepl.com/v2/' );
33
34 try {
35 if( is_admin() ) {
36 require_once( trailingslashit( WPDEEPL_PATH ) . 'deepl-configuration.class.php' );
37 require_once( trailingslashit( WPDEEPL_PATH ) . 'includes/deepl-functions.php' );
38 require_once( trailingslashit( WPDEEPL_PATH ) . 'includes/deepl-plugin-install.php' );
39
40 require_once( trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-admin-hooks.php' );
41 require_once( trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-metabox.php' );
42
43 require_once( trailingslashit( WPDEEPL_PATH ) . 'settings/abstract-wc-settings-api.php' );
44 require_once( trailingslashit( WPDEEPL_PATH ) . 'settings/wp-improved-settings.class.php' );
45 require_once( trailingslashit( WPDEEPL_PATH ) . 'settings/wp-improved-settings-wpdeepl.class.php' );
46
47 require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deepl-data.class.php' );
48 require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi.class.php' );
49 require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-translate.class.php' );
50 require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-usage.class.php' );
51 require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-functions.php' );
52 }
53 } catch ( Exception $e ) {
54 if( current_user_can( 'manage_options' ) ) {
55 print_r( $e );
56 die( __( 'Error loading WPDeepL','wpdeepl' ) );
57 }
58 }
59
60 //global $DeepLForWordPress; $DeepLForWordPress = new DeepLForWordPress();
61 function deepl_is_plugin_fully_configured() {
62 $WP_Error = new WP_Error();
63
64 if( count( $WP_Error->get_error_messages() ) ) {
65 return $WP_Error;
66 }
67 return true;
68 }
69
70 if( !function_exists( 'plouf' ) ) {
71 function plouf( $e, $txt = '' ) {
72 if( $txt != '' ) echo "<br />\n$txt";
73 echo '<pre>';
74 print_r( $e );
75 echo '</pre>';
76 }
77 }
78
79 add_action( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'wpdeepl_plugin_action_links' );
80 function wpdeepl_plugin_action_links( $links ) {
81 $links = array_merge(
82 array(
83 '<a href="' . esc_url( admin_url( '/options-general.php?page=deepl_settings' ) ) . '">' . __( 'Settings', 'wpdeepl' ) . '</a>'
84 ),
85 $links
86 );
87 return $links;
88 }
89
90 add_action( 'init', 'deepl_load_language' );
91 function deepl_load_language() {
92 if( !is_admin() ) {
93 return;
94 }
95
96 load_plugin_textdomain( 'wpdeepl', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
97 }
98
99
100