PluginProbe
Bogo / 2.4
Bogo v2.4
3.9.3 trunk 1.0 1.1 2.0 2.0.1 2.1 2.1.1 2.1.2 2.1.3 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.6 2.6.1 2.7 2.8 2.8.1 2.9 3.0 3.0.1 All 52 releases
← All changes | includes/functions.php +11 -61 2.52.4 View file →
@@ -1,12 +1,11 @@
1 1 <?php
2 2
3 3 function bogo_languages() {
4 4 static $languages = array();
5 - static $textdomain_loaded = false;
6 5
7 - if ( $languages && $textdomain_loaded ) {
8 - return apply_filters( 'bogo_languages', $languages );
6 + if ( ! empty( $languages ) ) {
7 + return $languages;
9 8 }
10 9
11 10 $languages = array(
12 11 'af' => __( 'Afrikaans', 'bogo' ),
@@ -27,10 +26,8 @@
27 26 'cs_CZ' => __( 'Czech', 'bogo' ),
28 27 'cy' => __( 'Welsh', 'bogo' ),
29 28 'da_DK' => __( 'Danish', 'bogo' ),
30 29 'de_DE' => __( 'German', 'bogo' ),
31 - 'de_DE_formal' => __( 'German (Formal)', 'bogo' ),
32 - 'de_CH' => __( 'German (Switzerland)', 'bogo' ),
33 30 'dv' => __( 'Dhivehi', 'bogo' ),
34 31 'el' => __( 'Greek', 'bogo' ),
35 32 'en_US' => __( 'English (United States)', 'bogo' ),
36 33 'en_AU' => __( 'English (Australia)', 'bogo' ),
@@ -38,10 +35,9 @@
38 35 'en_GB' => __( 'English (UK)', 'bogo' ),
39 36 'eo' => __( 'Esperanto', 'bogo' ),
40 37 'es_ES' => __( 'Spanish (Spain)', 'bogo' ),
41 38 'es_CL' => __( 'Spanish (Chile)', 'bogo' ),
42 - 'es_CO' => __( 'Spanish (Colombia)', 'bogo' ),
43 - 'es_MX' => __( 'Spanish (Mexico)', 'bogo' ),
39 + 'es_MX' => __( 'Mexican Spanish', 'bogo' ),
44 40 'es_PE' => __( 'Spanish (Peru)', 'bogo' ),
45 41 'es_VE' => __( 'Spanish (Venezuela)', 'bogo' ),
46 42 'et' => __( 'Estonian', 'bogo' ),
47 43 'eu' => __( 'Basque', 'bogo' ),
@@ -53,9 +49,8 @@
53 49 'ga' => __( 'Irish', 'bogo' ),
54 50 'gd' => __( 'Scottish Gaelic', 'bogo' ),
55 51 'gl_ES' => __( 'Galician', 'bogo' ),
56 52 'gu' => __( 'Gujarati', 'bogo' ),
57 - 'haz' => __( 'Hazaragi', 'bogo' ),
58 53 'he_IL' => __( 'Hebrew', 'bogo' ),
59 54 'hi_IN' => __( 'Hindi', 'bogo' ),
60 55 'hr' => __( 'Croatian', 'bogo' ),
61 56 'ht' => __( 'Haitian', 'bogo' ),
@@ -86,14 +81,11 @@
86 81 'nb_NO' => __( 'Norwegian (Bokmål)', 'bogo' ),
87 82 'ne_NP' => __( 'Nepali', 'bogo' ),
88 83 'ni_ID' => __( 'Nias', 'bogo' ),
89 84 'nl_NL' => __( 'Dutch', 'bogo' ),
90 - 'nn_NO' => __( 'Norwegian (Nynorsk)', 'bogo' ),
91 - 'oci' => __( 'Occitan', 'bogo' ),
92 85 'os' => __( 'Ossetic', 'bogo' ),
93 86 'pa_IN' => __( 'Punjabi', 'bogo' ),
94 87 'pl_PL' => __( 'Polish', 'bogo' ),
95 - 'ps' => __( 'Pashto', 'bogo' ),
96 88 'pt_BR' => __( 'Portuguese (Brazil)', 'bogo' ),
97 89 'pt_PT' => __( 'Portuguese (Portugal)', 'bogo' ),
98 90 'ro_RO' => __( 'Romanian', 'bogo' ),
99 91 'ru_RU' => __( 'Russian', 'bogo' ),
@@ -122,15 +114,13 @@
122 114 'zh_CN' => __( 'Chinese (China)', 'bogo' ),
123 115 'zh_TW' => __( 'Chinese (Taiwan)', 'bogo' )
124 116 );
125 117
126 - if ( is_textdomain_loaded( 'bogo' ) ) {
127 - $textdomain_loaded = true;
128 - }
118 + asort( $languages, SORT_STRING );
129 119
130 - asort( $languages, SORT_STRING );
120 + $languages = apply_filters( 'bogo_languages', $languages );
131 121
132 - return apply_filters( 'bogo_languages', $languages );
122 + return $languages;
133 123 }
134 124
135 125 function bogo_get_language( $locale ) {
136 126 $languages = bogo_languages();
@@ -140,30 +130,8 @@
140 130
141 131 return null;
142 132 }
143 133
144 -function bogo_get_language_native_name( $locale ) {
145 - if ( 'en_US' == $locale ) {
146 - return 'English (United States)';
147 - }
148 -
149 - if ( ! function_exists( 'wp_get_available_translations' ) ) {
150 - require_once ABSPATH . 'wp-admin/includes/translation-install.php';
151 - }
152 -
153 - static $available_translations = array();
154 -
155 - if ( empty( $available_translations ) ) {
156 - $available_translations = wp_get_available_translations();
157 - }
158 -
159 - if ( isset( $available_translations[$locale]['native_name'] ) ) {
160 - return $available_translations[$locale]['native_name'];
161 - }
162 -
163 - return false;
164 -}
165 -
166 134 function bogo_get_default_locale() {
167 135 if ( defined( 'WPLANG' ) ) {
168 136 $locale = WPLANG;
169 137 }
@@ -397,19 +365,17 @@
397 365 $url .= $_SERVER['HTTP_HOST'];
398 366 $url .= $_SERVER['REQUEST_URI'];
399 367 }
400 368
401 - if ( $frag = strstr( $url, '#' ) ) {
369 + if ( $frag = strstr( $url, '#' ) )
402 370 $url = substr( $url, 0, - strlen( $frag ) );
403 - }
404 371
405 372 if ( $query = @parse_url( $url, PHP_URL_QUERY ) ) {
406 373 parse_str( $query, $query_vars );
407 374
408 375 foreach ( array_keys( $query_vars ) as $qv ) {
409 - if ( ! get_query_var( $qv ) ) {
376 + if ( ! get_query_var( $qv ) )
410 377 $url = remove_query_arg( $qv, $url );
411 - }
412 378 }
413 379 }
414 380 }
415 381
@@ -414,11 +380,10 @@
414 380 }
415 381
416 382 $default_locale = bogo_get_default_locale();
417 383
418 - if ( ! $lang ) {
384 + if ( ! $lang )
419 385 $lang = $default_locale;
420 - }
421 386
422 387 $home = set_url_scheme( get_option( 'home' ) );
423 388 $home = trailingslashit( $home );
424 389
@@ -424,11 +389,10 @@
424 389
425 390 $url = remove_query_arg( 'lang', $url );
426 391
427 392 if ( ! $args['using_permalinks'] ) {
428 - if ( $lang != $default_locale ) {
393 + if ( $lang != $default_locale )
429 394 $url = add_query_arg( array( 'lang' => bogo_lang_slug( $lang ) ), $url );
430 - }
431 395
432 396 return $url;
433 397 }
434 398
@@ -433,19 +397,13 @@
433 397 }
434 398
435 399 $available_languages = array_map( 'bogo_lang_slug', bogo_available_locales() );
436 400
437 - $tail_slashed = ( '/' == substr( $url, -1 ) );
438 -
439 401 $url = preg_replace(
440 402 '#^' . preg_quote( $home ) . '((' . implode( '|', $available_languages ) . ')/)?#',
441 403 $home . ( $lang == $default_locale ? '' : bogo_lang_slug( $lang ) . '/' ),
442 404 trailingslashit( $url ) );
443 405
444 - if ( ! $tail_slashed ) {
445 - $url = untrailingslashit( $url );
446 - }
447 -
448 406 return $url;
449 407 }
450 408
451 409 function bogo_get_lang_from_url( $url = '' ) {
@@ -498,13 +456,5 @@
498 456
499 457 update_option( 'bogo', $option );
500 458 }
501 459
502 -function bogo_plugin_url( $path = '' ) {
503 - $url = plugins_url( $path, BOGO_PLUGIN );
504 -
505 - if ( is_ssl() && 'http:' == substr( $url, 0, 5 ) ) {
506 - $url = 'https:' . substr( $url, 5 );
507 - }
508 -
509 - return $url;
510 -}
460 +?>