PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 18.1
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v18.1
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / inc / language-utils.php

language-utils.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 18.1, at inc/language-utils.php

88 lines 2.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Internals
6 * @since 5.9.0
7 */
8
9 /**
10 * Group of language utility methods for use by WPSEO.
11 * All methods are static, this is just a sort of namespacing class wrapper.
12 */
13 class WPSEO_Language_Utils {
14
15 /**
16 * Returns the language part of a given locale, defaults to english when the $locale is empty.
17 *
18 * @param string|null $locale The locale to get the language of.
19 *
20 * @return string The language part of the locale.
21 */
22 public static function get_language( $locale = null ) {
23 $language = 'en';
24
25 if ( empty( $locale ) || ! is_string( $locale ) ) {
26 return $language;
27 }
28
29 $locale_parts = explode( '_', $locale );
30
31 if ( ! empty( $locale_parts[0] ) && ( strlen( $locale_parts[0] ) === 2 || strlen( $locale_parts[0] ) === 3 ) ) {
32 $language = $locale_parts[0];
33 }
34
35 return $language;
36 }
37
38 /**
39 * Returns the user locale for the language to be used in the admin.
40 *
41 * WordPress 4.7 introduced the ability for users to specify an Admin language
42 * different from the language used on the front end. This checks if the feature
43 * is available and returns the user's language, with a fallback to the site's language.
44 * Can be removed when support for WordPress 4.6 will be dropped, in favor
45 * of WordPress get_user_locale() that already fallbacks to the site's locale.
46 *
47 * @deprecated 15.6
48 * @codeCoverageIgnore
49 *
50 * @return string The locale.
51 */
52 public static function get_user_locale() {
53 _deprecated_function( __METHOD__, 'WPSEO 15.5', 'get_user_locale' );
54 return get_user_locale();
55 }
56
57 /**
58 * Returns the full name for the sites' language.
59 *
60 * @return string The language name.
61 */
62 public static function get_site_language_name() {
63 require_once ABSPATH . 'wp-admin/includes/translation-install.php';
64
65 $translations = wp_get_available_translations();
66 $locale = get_locale();
67 $language = isset( $translations[ $locale ] ) ? $translations[ $locale ]['native_name'] : 'English (US)';
68
69 return $language;
70 }
71
72 /**
73 * Returns the l10n array for the knowledge graph company info missing.
74 *
75 * @return array The l10n array.
76 */
77 public static function get_knowledge_graph_company_info_missing_l10n() {
78 return [
79 'URL' => esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/3r3' ) ),
80 /* translators: 1: expands to a link opening tag; 2: expands to a link closing tag */
81 'message' => esc_html__(
82 'A company name and logo need to be set for structured data to work properly. %1$sLearn more about the importance of structured data.%2$s',
83 'wordpress-seo'
84 ),
85 ];
86 }
87 }
88