PluginProbe
Polylang / 2.3
Polylang v2.3
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 / settings / view-tab-lang.php

view-tab-lang.php in Polylang 2.3, at settings/view-tab-lang.php

187 lines 6.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * displays the languages tab in Polylang settings
5 */
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // don't access directly
9 };
10 ?>
11 <div id="col-container">
12 <div id="col-right">
13 <div class="col-wrap">
14 <?php
15 // Displays the language list in a table
16 $list_table->display();
17 ?>
18 <div class="metabox-holder">
19 <?php
20 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
21 do_meta_boxes( 'settings_page_mlang', 'normal', array() );
22 ?>
23 </div>
24 </div><!-- col-wrap -->
25 </div><!-- col-right -->
26
27 <div id="col-left">
28 <div class="col-wrap">
29
30 <div class="form-wrap">
31 <h3><?php echo ! empty( $edit_lang ) ? esc_html__( 'Edit language', 'polylang' ) : esc_html__( 'Add new language', 'polylang' ); ?></h3>
32 <?php
33 // Displays the add ( or edit ) language form
34 // Adds noheader=true in the action url to allow using wp_redirect when processing the form
35 ?>
36 <form id="add-lang" method="post" action="admin.php?page=mlang&amp;noheader=true" class="validate">
37 <?php
38 wp_nonce_field( 'add-lang', '_wpnonce_add-lang' );
39
40 if ( ! empty( $edit_lang ) ) {
41 ?>
42 <input type="hidden" name="pll_action" value="update" />
43 <input type="hidden" name="lang_id" value="<?php echo esc_attr( $edit_lang->term_id ); ?>" />
44 <?php
45 } else {
46 ?>
47 <input type="hidden" name="pll_action" value="add" />
48 <?php
49 }
50 ?>
51 <div class="form-field">
52 <label for="lang_list"><?php esc_html_e( 'Choose a language', 'polylang' ); ?></label>
53 <select name="lang_list" id="lang_list">
54 <option value=""></option>
55 <?php
56 foreach ( $this->get_predefined_languages() as $lg ) {
57 printf(
58 '<option value="%1$s:%2$s:%3$s:%4$s">%5$s - %2$s</option>' . "\n",
59 esc_attr( $lg['code'] ),
60 esc_attr( $lg['locale'] ),
61 'rtl' == $lg['dir'] ? '1' : '0',
62 esc_attr( $lg['flag'] ),
63 esc_html( $lg['name'] )
64 );
65 }
66 ?>
67 </select>
68 <p><?php esc_html_e( 'You can choose a language in the list or directly edit it below.', 'polylang' ); ?></p>
69 </div>
70
71 <div class="form-field form-required">
72 <label for="lang_name"><?php esc_html_e( 'Full name', 'polylang' ); ?></label>
73 <?php
74 printf(
75 '<input name="name" id="lang_name" type="text" value="%s" size="40" aria-required="true" />',
76 ! empty( $edit_lang ) ? esc_attr( $edit_lang->name ) : ''
77 );
78 ?>
79 <p><?php esc_html_e( 'The name is how it is displayed on your site (for example: English).', 'polylang' ); ?></p>
80 </div>
81
82 <div class="form-field form-required">
83 <label for="lang_locale"><?php esc_html_e( 'Locale', 'polylang' ); ?></label>
84 <?php
85 printf(
86 '<input name="locale" id="lang_locale" type="text" value="%s" size="40" aria-required="true" />',
87 ! empty( $edit_lang ) ? esc_attr( $edit_lang->locale ) : ''
88 );
89 ?>
90 <p><?php esc_html_e( 'WordPress Locale for the language (for example: en_US). You will need to install the .mo file for this language.', 'polylang' ); ?></p>
91 </div>
92
93 <div class="form-field">
94 <label for="lang_slug"><?php esc_html_e( 'Language code', 'polylang' ); ?></label>
95 <?php
96 printf(
97 '<input name="slug" id="lang_slug" type="text" value="%s" size="40"/>',
98 ! empty( $edit_lang ) ? esc_attr( $edit_lang->slug ) : ''
99 );
100 ?>
101 <p><?php esc_html_e( 'Language code - preferably 2-letters ISO 639-1 (for example: en)', 'polylang' ); ?></p>
102 </div>
103
104 <div class="form-field"><fieldset>
105 <legend><?php esc_html_e( 'Text direction', 'polylang' ); ?></legend>
106 <?php
107 printf(
108 '<label><input name="rtl" type="radio" value="0" %s /> %s</label>',
109 ! empty( $edit_lang ) && $edit_lang->is_rtl ? '' : 'checked="checked"',
110 esc_html__( 'left to right', 'polylang' )
111 );
112 printf(
113 '<label><input name="rtl" type="radio" value="1" %s /> %s</label>',
114 ! empty( $edit_lang ) && $edit_lang->is_rtl ? 'checked="checked"' : '',
115 esc_html__( 'right to left', 'polylang' )
116 );
117 ?>
118 <p><?php esc_html_e( 'Choose the text direction for the language', 'polylang' ); ?></p>
119 </fieldset></div>
120
121 <div class="form-field">
122 <label for="flag_list"><?php esc_html_e( 'Flag', 'polylang' ); ?></label>
123 <select name="flag" id="flag_list">
124 <option value=""></option>
125 <?php
126 include PLL_SETTINGS_INC . '/flags.php';
127 foreach ( $flags as $code => $label ) {
128 printf(
129 '<option value="%1$s"%2$s>%3$s</option>' . "\n",
130 esc_attr( $code ),
131 isset( $edit_lang->flag_code ) && $edit_lang->flag_code == $code ? ' selected="selected"' : '',
132 esc_html( $label )
133 );
134 }
135 ?>
136 </select>
137 <p><?php esc_html_e( 'Choose a flag for the language.', 'polylang' ); ?></p>
138 </div>
139
140 <div class="form-field">
141 <label for="lang_order"><?php esc_html_e( 'Order', 'polylang' ); ?></label>
142 <?php
143 printf(
144 '<input name="term_group" id="lang_order" type="text" value="%d" />',
145 ! empty( $edit_lang ) ? esc_attr( $edit_lang->term_group ) : ''
146 );
147 ?>
148 <p><?php esc_html_e( 'Position of the language in the language switcher', 'polylang' ); ?></p>
149 </div>
150 <?php
151 if ( ! empty( $edit_lang ) ) {
152 /**
153 * Fires after the Edit Language form fields are displayed.
154 *
155 * @since 1.7.10
156 *
157 * @param object $lang language being edited.
158 */
159 do_action( 'pll_language_edit_form_fields', $edit_lang );
160 } else {
161 /**
162 * Fires after the Add Language form fields are displayed.
163 *
164 * @since 1.7.10
165 */
166 do_action( 'pll_language_add_form_fields' );
167 }
168
169 submit_button( ! empty( $edit_lang ) ? __( 'Update' ) : __( 'Add new language', 'polylang' ) ); // since WP 3.1
170 ?>
171 </form>
172 </div><!-- form-wrap -->
173 </div><!-- col-wrap -->
174 </div><!-- col-left -->
175 </div><!-- col-container -->
176
177 <script type="text/javascript">
178 //<![CDATA[
179 jQuery( document ).ready( function( $ ) {
180 // close postboxes that should be closed
181 $( '.if-js-closed' ).removeClass( 'if-js-closed' ).addClass( 'closed' );
182 // postboxes setup
183 postboxes.add_postbox_toggles( 'settings_page_mlang' );
184 } );
185 //]]>
186 </script>
187