exceptions
5 years ago
options
4 years ago
sitemaps
4 years ago
class-addon-manager.php
4 years ago
class-my-yoast-api-request.php
5 years ago
class-post-type.php
5 years ago
class-rewrite.php
4 years ago
class-upgrade-history.php
5 years ago
class-upgrade.php
4 years ago
class-wpseo-admin-bar-menu.php
4 years ago
class-wpseo-content-images.php
4 years ago
class-wpseo-custom-fields.php
6 years ago
class-wpseo-custom-taxonomies.php
6 years ago
class-wpseo-features.php
5 years ago
class-wpseo-image-utils.php
4 years ago
class-wpseo-installation.php
5 years ago
class-wpseo-meta.php
4 years ago
class-wpseo-primary-term.php
6 years ago
class-wpseo-rank.php
5 years ago
class-wpseo-replace-vars.php
4 years ago
class-wpseo-replacement-variable.php
5 years ago
class-wpseo-shortlinker.php
4 years ago
class-wpseo-statistics.php
5 years ago
class-wpseo-utils.php
4 years ago
date-helper.php
5 years ago
index.php
10 years ago
interface-wpseo-wordpress-ajax-integration.php
7 years ago
interface-wpseo-wordpress-integration.php
7 years ago
language-utils.php
5 years ago
wpseo-functions-deprecated.php
5 years ago
wpseo-functions.php
4 years ago
wpseo-non-ajax-functions.php
5 years ago
language-utils.php
88 lines
| 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 |