PluginProbe
Polylang / 0.3.1
Polylang v0.3.1
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 / languages-form.php

languages-form.php in Polylang 0.3.1, at languages-form.php

192 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // displays the Languages admin panel
2
3 // I don't use the custom taxonomy form provide by Wordpress because I want to modify the labels below the fields...
4 // It seems that there is currently (3.2.1) no filter to do this
5
6 // The term fields are used as follows :
7 // name -> language name (used only for display)
8 // slug -> language code (ideally 2-letters ISO 639-1 language code but I currently use it only as slug so it doesn't matter)
9 // description -> WordPress Locale for the language. Here if something wrong is used, the .mo files will not be loaded...
10
11 ?>
12 <div class="wrap">
13 <?php screen_icon('options-general'); ?>
14 <h2><?php _e('Languages','polylang') ?></h2>
15
16 <div id="col-container">
17 <div id="col-right">
18 <div class="col-wrap">
19
20 <?php $list_table->display(); // displays the language list in a table ?>
21
22 </div> <!-- col-wrap -->
23 </div> <!-- col-right -->
24
25 <div id="col-left">
26 <div class="col-wrap">
27
28 <div class="form-wrap">
29 <h3><?php echo $action=='edit' ? _e('Edit language','polylang') : _e('Add new language','polylang'); ?></h3>
30
31 <?php // displays the add (or edit) language form
32
33 // adds noheader=true in the action url to allow using wp_redirect when processing the form ?>
34 <form id="add-lang" method="post" action="admin.php?page=mlang&amp;noheader=true" class="validate">
35 <?php wp_nonce_field('add-lang', '_wpnonce_add-lang');
36
37 if ($action=='edit') {?>
38 <input type="hidden" name="action" value="update" />
39 <input type="hidden" name="lang" value="<?php echo esc_attr($edit_lang->term_id);?>" /><?php
40 }
41 else { ?>
42 <input type="hidden" name="action" value="add" /><?php
43 }?>
44
45 <div class="form-field form-required">
46 <label for="name"><?php _e('Full name', 'polylang');?></label>
47 <input name="name" id="name" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->name);?>" size="40" aria-required="true" />
48 <p><?php _e('The name is how it is displayed on your site (for example: English).', 'polylang');?></p>
49 </div>
50
51 <div class="form-field form-required">
52 <label for="description"><?php _e('Locale', 'polylang');?></label>
53 <input name="description" id="description" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->description);?>" size="40" aria-required="true" />
54 <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>
55 </div>
56
57 <div class="form-field">
58 <label for="slug"><?php _e('Language code', 'polylang');?></label>
59 <input name="slug" id="slug" type="text" value="<?php if ($action=='edit') echo esc_attr($edit_lang->slug);?>" size="40" />
60 <p><?php _e('2-letters ISO 639-1 language code (for example: en)', 'polylang');?></p>
61 </div>
62
63 <?php if ($action=='edit')
64 submit_button(__('Update'), 'button'); // since WP 3.1
65 else
66 submit_button(__('Add new language', 'polylang'), 'button'); // since WP 3.1?>
67
68 </form>
69 </div> <!-- form-wrap -->
70 </div> <!-- col-wrap -->
71 </div> <!-- col-left -->
72 </div> <!-- col-container --> <?php
73
74 // displays the nav menus languages form
75 if (current_theme_supports( 'menus' )) { ?>
76
77 <div class="form-wrap">
78 <h3 id="menus"><?php _e('Menus','polylang');?></h3>
79
80 <form id="nav-menus-lang" method="post" action="admin.php?page=mlang" class="validate">
81 <?php wp_nonce_field('nav-menus-lang', '_wpnonce_nav-menus-lang');?>
82 <input type="hidden" name="action" value="nav-menus" />
83
84 <table class="wp-list-table widefat fixed tags" cellspacing="0" style="width: auto">
85 <thead><tr>
86 <th><?php _e('Theme location','Polylang') ?></th><?php
87 foreach ($listlanguages as $language) {
88 echo '<th>' . esc_attr($language->name) . '</th>';
89 } ?>
90 </tr></thead>
91
92 <tbody>
93 <?php foreach ( $locations as $location => $description ) { ?>
94 <tr><td><?php echo esc_attr($description); ?></td><?php
95 foreach ($listlanguages as $language) { ?>
96 <td><?php
97 printf(
98 '<select name="menu-lang[%s][%s]" id="menu-lang-%s-%s">',
99 esc_attr($location),
100 esc_attr($language->slug),
101 esc_attr($location),
102 esc_attr($language->slug)
103 );?>
104 <option value="0"></option><?php
105 foreach ( $menus as $menu ) {
106 printf(
107 "<option value='%s'%s>%s</option>\n",
108 esc_attr($menu->term_id),
109 $menu_lang[$location][$language->slug] == $menu->term_id ? ' selected="selected"' : '',
110 esc_attr($menu->name)
111 );
112 } ?>
113 </select></td><?php
114 }?>
115 </tr><?php
116 }?>
117 </tbody>
118
119 </table>
120
121 <?php submit_button(); // since WP 3.1 ?>
122
123 </form>
124 </div> <!-- form-wrap --> <?php
125
126 } // if (current_theme_supports( 'menus' ))
127
128 // displays the Polylang options form
129 //FIXME one inline CSS ?>
130 <div class="form-wrap">
131 <h3><?php _e('Options','polylang');?></h3>
132
133 <form id="options-lang" method="post" action="admin.php?page=mlang" class="validate">
134 <?php wp_nonce_field('options-lang', '_wpnonce_options-lang');?>
135 <input type="hidden" name="action" value="options" />
136
137 <table class="form-table">
138
139 <tr>
140 <th style="width: 300px;"><label><?php
141 printf(
142 '<input name="rewrite" type="radio" value="0" %s /> %s',
143 $options['rewrite'] ? '' : 'checked="checked"',
144 __('Keep /language/ in pretty permalinks', 'polylang')
145 );?>
146 </label></th>
147 <td><code><?php echo home_url('language/en/'); ?></code></td>
148 </tr>
149
150 <tr>
151 <th><label><?php
152 printf(
153 '<input name="rewrite" type="radio" value="1" %s /> %s',
154 $options['rewrite'] ? 'checked="checked"' : '',
155 __('Remove /language/ in pretty permalinks', 'polylang')
156 );?>
157 </label></th>
158 <td><code><?php echo home_url('en/'); ?></code></td>
159 </tr>
160
161 <tr>
162 <th><?php _e('The front page default language is : ', 'polylang');?></th>
163 <td><label><?php
164 printf(
165 '<input name="browser" type="checkbox" value="1" %s /> %s',
166 $options['browser'] ? 'checked="checked"' :'',
167 __('set by the browser preference', 'polylang')
168 );?>
169 </label>
170 <label><?php _e('otherwise: ', 'polylang');?><select name="default_lang" id="default_lang">
171 <?php $listlanguages = $this->get_languages_list();
172 foreach ($listlanguages as $language) {
173 printf(
174 "<option value='%s'%s>%s</option>\n",
175 esc_attr($language->slug),
176 $options['default_lang'] == $language->slug ? ' selected="selected"' : '',
177 esc_attr($language->name)
178 );
179 } ?>
180 </select></label>
181 </td>
182 </tr>
183
184 </table>
185
186 <?php submit_button(); // since WP 3.1 ?>
187
188 </form>
189 </div> <!-- form-wrap -->
190
191 </div> <!-- wrap -->
192