PluginProbe
Polylang / trunk
Polylang vtrunk
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 / src / settings / view-tab-lang.php

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

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