| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- function wpcf7_l10n() {
- static $l10n = array();
- if ( ! empty( $l10n ) ) {
- return $l10n;
- }
- if ( ! is_admin() ) {
- return $l10n;
- }
- require_once( ABSPATH . 'wp-admin/includes/translation-install.php' );
- $api = translations_api( 'plugins', array(
- 'slug' => 'contact-form-7',
- 'version' => WPCF7_VERSION,
- ) );
- if ( is_wp_error( $api )
- or empty( $api['translations'] ) ) {
- return $l10n;
- }
- foreach ( (array) $api['translations'] as $translation ) {
- if ( ! empty( $translation['language'] )
- and ! empty( $translation['english_name'] ) ) {
- $l10n[$translation['language']] = $translation['english_name'];
- }
- }
- return $l10n;
- }
- function wpcf7_is_valid_locale( $locale ) {
- $pattern = '/^[a-z]{2,3}(?:_[a-zA-Z_]{2,})?$/';
- return (bool) preg_match( $pattern, $locale );
- }
- function wpcf7_is_rtl( $locale = '' ) {
- static $rtl_locales = array(
- 'ar' => 'Arabic',
- 'ary' => 'Moroccan Arabic',
- 'azb' => 'South Azerbaijani',
- 'fa_IR' => 'Persian',
- 'haz' => 'Hazaragi',
- 'he_IL' => 'Hebrew',
- 'ps' => 'Pashto',
- 'ug_CN' => 'Uighur',
- );
- if ( empty( $locale )
- and function_exists( 'is_rtl' ) ) {
- return is_rtl();
- }
- if ( empty( $locale ) ) {
- $locale = get_locale();
- }
- return isset( $rtl_locales[$locale] );
- }
- function wpcf7_load_textdomain( $locale = null ) {
- global $l10n;
- $domain = 'contact-form-7';
- if ( ( is_admin() ? get_user_locale() : get_locale() ) === $locale ) {
- $locale = null;
- }
- if ( empty( $locale ) ) {
- if ( is_textdomain_loaded( $domain ) ) {
- return true;
- } else {
- return load_plugin_textdomain( $domain, false, $domain . '/languages' );
- }
- } else {
- $mo_orig = $l10n[$domain];
- unload_textdomain( $domain );
- $mofile = $domain . '-' . $locale . '.mo';
- $path = WP_PLUGIN_DIR . '/' . $domain . '/languages';
- if ( $loaded = load_textdomain( $domain, $path . '/'. $mofile ) ) {
- return $loaded;
- } else {
- $mofile = WP_LANG_DIR . '/plugins/' . $mofile;
- return load_textdomain( $domain, $mofile );
- }
- $l10n[$domain] = $mo_orig;
- }
- return false;
- }
|