PluginProbe
Polylang / 2.0.12
Polylang v2.0.12
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.0.12, at settings/view-tab-lang.php

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