PluginProbe
Polylang / 0.6
Polylang v0.6
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
polylang / include / languages-form.php

languages-form.php in Polylang 0.6, at include/languages-form.php

257 lines 9.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // displays the Languages admin panel
3 ?>
4 <div class="wrap">
5 <?php screen_icon('options-general'); ?>
6 <h2 class="nav-tab-wrapper"><?php
7 // display tabs
8 foreach ($tabs as $key=>$name)
9 printf('<a href="options-general.php?page=mlang&tab=%s" class="nav-tab %s">%s</a>', $key, $key == $active_tab ? 'nav-tab-active' : '', $name);?>
10 </h2><?php
11
12 switch($active_tab) {
13
14 // Languages tab
15 case 'lang':
16
17 if (isset($_GET['error'])) {?>
18 <div id="message" class="error fade"><p><?php echo $errors[$_GET['error']]; ?></p></div><?php
19 }?>
20
21 <div id="col-container">
22 <div id="col-right">
23 <div class="col-wrap"><?php
24 // displays the language list in a table
25 $list_table->display(); ?>
26 </div><!-- col-wrap -->
27 </div><!-- col-right -->
28
29 <div id="col-left">
30 <div class="col-wrap">
31
32 <div class="form-wrap">
33 <h3><?php echo $action=='edit' ? _e('Edit language','polylang') : _e('Add new language','polylang'); ?></h3><?php
34
35 // displays the add (or edit) language form
36 // The term fields are used as follows :
37 // name -> language name (used only for display)
38 // slug -> language code (ideally 2-letters ISO 639-1 language code but I currently use it only as slug so it doesn't matter)
39 // description -> WordPress locale for the language. Here if something wrong is used, the .mo files will not be loaded...
40 // term_group -> order
41
42 // adds noheader=true in the action url to allow using wp_redirect when processing the form ?>
43 <form id="add-lang" method="post" action="admin.php?page=mlang&amp;noheader=true" class="validate">
44 <?php wp_nonce_field('add-lang', '_wpnonce_add-lang');
45
46 if ($action=='edit') {?>
47 <input type="hidden" name="action" value="update" />
48 <input type="hidden" name="lang_id" value="<?php echo esc_attr($edit_lang->term_id);?>" /><?php
49 }
50 else { ?>
51 <input type="hidden" name="action" value="add" /><?php
52 }?>
53
54 <div class="form-field">
55 <label for="lang_list"><?php _e('Choose a language', 'polylang');?></label>
56 <select name="lang_list" id="lang_list">
57 <option value=""></option>';<?php
58 include(PLL_INC.'/languages.php');
59 foreach ($languages as $key=>$lang) {
60 printf("<option value='%s-%s'>%s</option>\n", esc_attr($key), esc_attr($lang[0]), esc_html($lang[1]));
61 } ?>
62 </select>
63 <p><?php _e('You can choose a language in the list or directly edit it below.', 'polylang');?></p>
64 </div>
65
66 <div class="form-field form-required">
67 <label for="name"><?php _e('Full name', 'polylang');?></label>
68 <input name="name" id="name" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->name);?>" size="40" aria-required="true" />
69 <p><?php _e('The name is how it is displayed on your site (for example: English).', 'polylang');?></p>
70 </div>
71
72 <div class="form-field form-required">
73 <label for="description"><?php _e('Locale', 'polylang');?></label><?php
74 printf('<input name="description" id="description" type="text" value="%s" size="5" maxlength="5" aria-required="true" />',
75 $action=='edit' ? esc_attr($edit_lang->description) : '');?>
76 <p><?php _e('Wordpress Locale for the language (for example: en_US). You will need to install the .mo file for this language.', 'polylang');?></p>
77 </div>
78
79 <div class="form-field">
80 <label for="slug"><?php _e('Language code', 'polylang');?></label>
81 <input name="slug" id="slug" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->slug);?>" size="2" maxlength="2"/>
82 <p><?php _e('2-letters ISO 639-1 language code (for example: en)', 'polylang');?></p>
83 </div>
84
85 <div class="form-field">
86 <label for="term_group"><?php _e('Order', 'polylang');?></label>
87 <input name="term_group" id="term_group" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->term_group);?>" />
88 <p><?php _e('Position of the language in the language switcher', 'polylang');?></p>
89 </div>
90
91 <?php submit_button( $action == 'edit' ? __('Update') : __('Add new language', 'polylang'), 'button'); // since WP 3.1 ?>
92
93 </form>
94 </div><!-- form-wrap -->
95 </div><!-- col-wrap -->
96 </div><!-- col-left -->
97 </div><!-- col-container --><?php
98 break;
99
100 // menu tab
101 case 'menus': ?>
102
103 <div class="form-wrap">
104 <form id="nav-menus-lang" method="post" action="admin.php?page=mlang&tab=menus" class="validate">
105 <?php wp_nonce_field('nav-menus-lang', '_wpnonce_nav-menus-lang');?>
106 <input type="hidden" name="action" value="nav-menus" /><?php
107
108 foreach ( $locations as $location => $description ) {?>
109 <h3><?php echo esc_html($description); ?></h3>
110 <table class="form-table"><?php
111 foreach ($listlanguages as $language) {?>
112 <tr><?php printf('<th><label for="menu-lang-%1$s-%2$s">%3$s</label></th>', esc_attr($location), esc_attr($language->slug), esc_html($language->name));?>
113 <td><?php printf('<select name="menu-lang[%1$s][%2$s]" id="menu-lang-%1$s-%2$s">', esc_attr($location), esc_attr($language->slug));?>
114 <option value="0"></option><?php
115 foreach ($menus as $menu) {
116 printf(
117 "<option value='%d'%s>%s</option>\n",
118 esc_attr($menu->term_id),
119 isset($menu_lang[$location][$language->slug]) && $menu_lang[$location][$language->slug] == $menu->term_id ? ' selected="selected"' : '',
120 esc_html($menu->name)
121 );
122 } ?>
123 </select></td>
124 </tr><?php
125 }?>
126 <tr>
127 <th><?php _e('Language switcher', 'polylang') ?></th>
128 <td><?php
129 foreach ($menu_options as $key => $str)
130 printf('<label><input name="menu-lang[%1$s][%2$s]" type="checkbox" value="1" %3$s /> %4$s</label>',
131 esc_attr($location), esc_attr($key), $menu_lang[$location][$key] ? 'checked="checked"' :'', esc_html($str));?>
132 </td>
133 </tr>
134 </table><?php
135 }
136
137 submit_button(); // since WP 3.1 ?>
138
139 </form>
140 </div><!-- form-wrap --><?php
141 break;
142
143 // string translations tab
144 case 'strings':
145
146 $paged = isset($_GET['paged']) ? '&paged='.$_GET['paged'] : '';?>
147 <form id="string-translation" method="post" action="<?php echo esc_url(admin_url('admin.php?page=mlang&tab=strings'.$paged))?>" class="validate">
148 <?php wp_nonce_field('string-translation', '_wpnonce_string-translation');?>
149 <input type="hidden" name="action" value="string-translation" /><?php
150 $string_table->display();
151 submit_button(); // since WP 3.1 ?>
152 </form><?php
153 break;
154
155 // settings tab
156 case 'settings': ?>
157
158 <div class="form-wrap">
159 <form id="options-lang" method="post" action="admin.php?page=mlang&tab=settings" class="validate">
160 <?php wp_nonce_field('options-lang', '_wpnonce_options-lang');?>
161 <input type="hidden" name="action" value="options" />
162
163 <table class="form-table">
164
165 <tr>
166 <th><label for='default_lang'><?php _e('Default language', 'polylang');?></label></th>
167 <td>
168 <select name="default_lang" id="default_lang"><?php
169 foreach ($listlanguages as $language) {
170 printf(
171 "<option value='%s'%s>%s</option>\n",
172 esc_attr($language->slug),
173 $options['default_lang'] == $language->slug ? ' selected="selected"' : '',
174 esc_html($language->name)
175 );
176 } ?>
177 </select>
178 </td>
179 </tr><?php
180
181 // posts or terms without language set
182 if (!empty($posts) || !empty($terms) && $options['default_lang']) {
183
184 if (!empty($posts))
185 echo '<input type="hidden" name="posts" value="'.esc_attr($posts).'" />';
186 if (!empty($terms))
187 echo '<input type="hidden" name="terms" value="'.esc_attr($terms).'" />';?>
188
189 <tr>
190 <th></th>
191 <td>
192 <label style="color: red"><?php
193 printf(
194 '<input name="fill_languages" type="checkbox" value="1" /> %s',
195 __('There are posts, pages, categories or tags without language set. Do you want to set them all to default language ?', 'polylang')
196 );?>
197 </label>
198 </td>
199 </tr><?php
200 }?>
201
202 <tr>
203 <th><?php _e('Detect browser language', 'polylang');?></th>
204 <td>
205 <label><?php
206 printf(
207 '<input name="browser" type="checkbox" value="1" %s /> %s',
208 $options['browser'] ? 'checked="checked"' :'',
209 __('When the front page is visited, set the language according to the browser preference', 'polylang')
210 );?>
211 </label>
212 </td>
213 </tr>
214
215 <tr>
216 <th><?php _e('URL modifications', 'polylang') ?></th>
217 <td scope="row">
218 <label><?php
219 printf(
220 '<input name="rewrite" type="radio" value="0" %s /> %s %s',
221 $options['rewrite'] ? '' : 'checked="checked"',
222 __('Keep /language/ in pretty permalinks. Example:', 'polylang'),
223 '<code>'.esc_html(home_url('language/en/')).'</code>'
224 );?>
225 </label>
226 <label><?php
227 printf(
228 '<input name="rewrite" type="radio" value="1" %s /> %s %s',
229 $options['rewrite'] ? 'checked="checked"' : '',
230 __('Remove /language/ in pretty permalinks. Example:', 'polylang'),
231 '<code>'.esc_html(home_url('en/')).'</code>'
232 );?>
233 </label>
234 <label><?php
235 printf(
236 '<input name="hide_default" type="checkbox" value="1" %s /> %s',
237 $options['hide_default'] ? 'checked="checked"' :'',
238 __('Hide URL language information for default language', 'polylang')
239 );?>
240 </label>
241 </td>
242 </tr>
243
244 </table>
245
246 <?php submit_button(); // since WP 3.1 ?>
247
248 </form>
249 </div><!-- form-wrap --><?php
250 break;
251
252 default:
253 break;
254 }?>
255
256 </div><!-- wrap -->
257