PluginProbe
Translate and Go multilingual – Automatic AI translation – wpLingua / 2.12.2
Translate and Go multilingual – Automatic AI translation – wpLingua v2.12.2
2.16.7 2.16.6 2.16.5 2.16.4 2.16.3 2.16.2 2.16.1 2.16.0 2.15.2 2.15.1 2.15.0 2.14.3 2.14.2 2.14.1 2.14.0 2.13.1 2.13.0 2.12.3 2.12.2 2.12.1 trunk 1.0.3 1.0.4 1.0.5 1.1.0 All 112 releases
wplingua / inc / assets.php

assets.php in Translate and Go multilingual – Automatic AI translation – wpLingua 2.12.2, at inc/assets.php

152 lines 3.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 // If this file is called directly, abort.
4 if ( ! defined( 'WPINC' ) ) {
5 die;
6 }
7
8
9 /**
10 * Register asset for wpLingua in front (CSS, JS)
11 *
12 * @return void
13 */
14 function wplng_register_assets() {
15
16 if ( is_admin() || ! wplng_url_is_translatable() ) {
17 return;
18 }
19
20 /**
21 * Enqueue wpLingua JS script
22 */
23
24 wp_enqueue_script(
25 'wplingua-script',
26 plugins_url() . '/wplingua/assets/js/front.js',
27 array(),
28 WPLNG_PLUGIN_VERSION
29 );
30
31 wp_add_inline_script(
32 'wplingua-script',
33 'window.wplngCookiePath=' . wp_json_encode( COOKIEPATH ) . ';',
34 'before'
35 );
36
37 // The load-in-progress script relies on jQuery and is injected in translated pages.
38 if ( current_user_can( 'edit_posts' )
39 && get_option( 'wplng_load_in_progress', false )
40 ) {
41 wp_enqueue_script( 'jquery' );
42 }
43
44 /**
45 * Enqueue wpLingua CSS style
46 */
47
48 wp_enqueue_style(
49 'wplingua',
50 plugins_url() . '/wplingua/assets/css/front.css',
51 array(),
52 WPLNG_PLUGIN_VERSION
53 );
54
55 /**
56 * Add scripts and CSS for translation editor
57 */
58
59 if ( ! empty( $_GET['wplng-mode'] )
60 && (
61 'editor' === $_GET['wplng-mode']
62 || 'list' === $_GET['wplng-mode']
63 )
64 && current_user_can( 'edit_posts' )
65 ) {
66
67 wp_enqueue_style( 'dashicons' );
68 wp_enqueue_script( 'jquery' );
69
70 wp_enqueue_script(
71 'wplingua-translation',
72 plugins_url() . '/wplingua/assets/js/admin/edit-translation.js',
73 array( 'jquery' ),
74 WPLNG_PLUGIN_VERSION
75 );
76
77 wp_localize_script(
78 'wplingua-translation',
79 'wplngI18nTranslation',
80 array(
81 'ajaxUrl' => admin_url( 'admin-ajax.php' ),
82 'currentLanguage' => wplng_get_language_current_id(),
83 'message' => array(
84 'exitPage' => esc_html__(
85 'You are about to leave the page without saving your changes. They will be lost if you continue. Would you like to leave the page anyway?',
86 'wplingua'
87 ),
88 'exitEditorModal' => esc_html__(
89 'You are about to exit without saving your changes. They will be lost if you continue. Would you like to leave anyway?',
90 'wplingua'
91 ),
92 'buttonSave' => esc_html__( 'Save', 'wplingua' ),
93 'buttonSaveInProgress' => esc_html__( 'Save in progress...', 'wplingua' ),
94 ),
95 )
96 );
97
98 }
99 }
100
101
102 /**
103 * Add custom inline styles for wpLingua.
104 *
105 * This function retrieves custom CSS from the database (stored in the 'wplng_custom_css' option),
106 * sanitizes it, and outputs it directly into the <head> section of the page.
107 *
108 * @return void
109 */
110 function wplng_add_custom_inline_styles() {
111
112 if ( ! empty( $_GET['wplng-mode'] )
113 && 'list' === $_GET['wplng-mode']
114 ) {
115 return;
116 }
117
118 $custom_css = get_option( 'wplng_custom_css' );
119
120 if ( ! empty( $custom_css ) && is_string( $custom_css ) ) {
121 $custom_css = wp_strip_all_tags( $custom_css );
122 echo '<style id="wplingua-inline-styles">' . $custom_css . '</style>';
123 }
124 }
125
126
127 /**
128 * Print the on page scrip
129 *
130 * @return void
131 */
132 function wplng_on_page_script() {
133
134 if ( ! empty( $_GET['wplng-load'] ) ) {
135 return;
136 }
137
138 $script = file_get_contents( WPLNG_PLUGIN_DIR . '/assets/js/on-page.js' );
139
140 if ( empty( $script ) ) {
141 return;
142 }
143
144 $script = str_replace(
145 array( '[admin-ajax-php]', '[wplng-cookie-path]', '//# sourceMappingURL=on-page.js.map' ),
146 array( admin_url( 'admin-ajax.php' ), COOKIEPATH, '' ),
147 $script
148 );
149
150 echo '<script id="wplingua-js-on-page">' . rtrim( $script ) . '</script>';
151 }
152