PluginProbe
Translate and Go multilingual – Automatic AI translation – wpLingua / 1.1.0
Translate and Go multilingual – Automatic AI translation – wpLingua v1.1.0
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 / admin / option-page.php

option-page.php in Translate and Go multilingual – Automatic AI translation – wpLingua 1.1.0, at inc/admin/option-page.php

178 lines 4.3 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 * Add wpLingua admin menu when API Key is not registered
11 *
12 * @return void
13 */
14 function wplng_create_menu_register() {
15
16 add_menu_page(
17 __( 'wplingua: Register', 'wplingua' ),
18 __( 'wpLingua', 'wplingua' ),
19 'administrator',
20 'wplingua-settings',
21 'wplng_option_page_register',
22 'dashicons-translation',
23 31
24 );
25 }
26
27
28 /**
29 * Add wpLingua admin menu when key is registered
30 *
31 * @return void
32 */
33 function wplng_create_menu() {
34
35 add_menu_page(
36 __( 'wplingua: Settings', 'wplingua' ),
37 __( 'wpLingua', 'wplingua' ),
38 'administrator',
39 'wplingua-settings',
40 '',
41 'dashicons-translation',
42 31
43 );
44
45 add_submenu_page(
46 'wplingua-settings',
47 __( 'wplingua: Settings', 'wplingua' ),
48 __( 'General settings', 'wplingua' ),
49 'administrator',
50 'wplingua-settings',
51 'wplng_option_page_settings'
52 );
53
54 add_submenu_page(
55 'wplingua-settings',
56 __( 'wplingua: Switcher', 'wplingua' ),
57 __( 'Switcher', 'wplingua' ),
58 'administrator',
59 'wplingua-switcher',
60 'wplng_option_page_switcher'
61 );
62
63 add_submenu_page(
64 'wplingua-settings',
65 __( 'wplingua: Dictionary', 'wplingua' ),
66 __( 'Dictionary', 'wplingua' ),
67 'administrator',
68 'wplingua-dictionary',
69 'wplng_option_page_dictionary'
70 );
71
72 add_submenu_page(
73 'wplingua-settings',
74 __( 'wplingua: Exclusion', 'wplingua' ),
75 __( 'Exclusion', 'wplingua' ),
76 'administrator',
77 'wplingua-exclusions',
78 'wplng_option_page_exclusions'
79 );
80
81 add_submenu_page(
82 'wplingua-settings',
83 __( 'wplingua: Translations', 'wplingua' ),
84 __( 'All translations', 'wplingua' ),
85 'administrator',
86 'edit.php?post_type=wplng_translation',
87 false
88 );
89 }
90
91
92 /**
93 * Register wpLingua settings
94 *
95 * @return void
96 */
97 function wplng_register_settings() {
98
99 // Option page : Settings and register
100 register_setting( 'wplng_settings', 'wplng_website_language' );
101 register_setting( 'wplng_settings', 'wplng_website_flag' );
102 register_setting( 'wplng_settings', 'wplng_target_languages' );
103 register_setting( 'wplng_settings', 'wplng_translate_search' );
104 register_setting( 'wplng_settings', 'wplng_translate_woocommerce' );
105 register_setting( 'wplng_settings', 'wplng_api_key' );
106 register_setting( 'wplng_settings', 'wplng_request_free_key' );
107
108 // Option page : Exclusions
109 register_setting( 'wplng_exclusions', 'wplng_excluded_selectors' );
110 register_setting( 'wplng_exclusions', 'wplng_excluded_url' );
111
112 // Option page : Switcher
113 register_setting( 'wplng_switcher', 'wplng_insert' );
114 register_setting( 'wplng_switcher', 'wplng_theme' );
115 register_setting( 'wplng_switcher', 'wplng_style' );
116 register_setting( 'wplng_switcher', 'wplng_name_format' );
117 register_setting( 'wplng_switcher', 'wplng_flags_style' );
118 register_setting( 'wplng_switcher', 'wplng_custom_css' );
119
120 // Option page : Dictionary
121 register_setting( 'wplng_dictionary', 'wplng_dictionary_entries' );
122 }
123
124
125 /**
126 * Add 'Settings' link on wpLingua in the plugin list
127 *
128 * @param array $settings
129 * @return array
130 */
131 function wplng_settings_link( $settings ) {
132
133 $url = add_query_arg(
134 'page',
135 'wplingua-settings',
136 get_admin_url() . 'admin.php'
137 );
138
139 $link = '<a href="' . esc_url( $url ) . '">';
140 $link .= esc_html__( 'Settings', 'wplingua' );
141 $link .= '</a>';
142
143 $settings[] = $link;
144
145 return $settings;
146 }
147
148
149 /**
150 * Display a notice if the plugin is activate but not configured
151 *
152 * @return string
153 */
154 function wplng_admin_notice_no_key_set() {
155
156 $url = add_query_arg(
157 'page',
158 'wplingua-settings',
159 get_admin_url() . 'admin.php'
160 );
161
162 $html = '<div class="notice notice-info is-dismissible">';
163 $html .= '<p style="font-weight: 600;">';
164 $html .= '<span class="dashicons dashicons-translation"></span> ';
165 $html .= esc_html__( 'wpLingua - Translation solution for multilingual website', 'wplingua' );
166 $html .= '</p>';
167 $html .= '<p>';
168 $html .= esc_html__( 'wpLingua is installed, but not yet configured. You are just a few clicks away from making your site multilingual!', 'wplingua' );
169 $html .= '<br> ';
170 $html .= '<a href="' . esc_url( $url ) . '">';
171 $html .= esc_html__( 'Go to the configuration page', 'wplingua' );
172 $html .= '</a>';
173 $html .= '</p>';
174 $html .= '</div>';
175
176 echo $html;
177 }
178