- Статус
- Решено
- Решено в
- 3.0.3
Обзор проблемы
Если Вы задали некорректную локаль в WPML > Языки для языка (или пользовательского языка, который Вы добавили), то при переходе на этот язык Вы можете получить фатальную ошибку, подобную этой:
Fatal error: Uncaught RuntimeException: Language of .../wp-content/languages/plugins/sitepress-ar3.mo cannot be recognized in ...wp-contentpluginswpml-string-translationclassestranslations-file-scantranslations-filewpml-st-translations-file-locale.php on line 65
( ! ) RuntimeException: Language of .../wp-content/languages/plugins/sitepress-ar3.mo cannot be recognized in ...wp-contentpluginswpml-string-translationclassestranslations-file-scantranslations-filewpml-st-translations-file-locale.php on line 65
Call Stack
# Time Memory Function Location
1 0.4015 410016 {main}( ) ...index.php:0
2 0.4017 410296 require( '...wp-blog-header.php' ) ...index.php:17
3 0.4017 410840 require_once( ...wp-load.php' ) ...wp-blog-header.php:13
4 0.4019 411368 require_once( '...wp-config.php' ) ...wp-load.php:37
5 0.4019 416200 require_once( '...wp-settings.php' ) ...wp-config.php:97
6 0.4676 3677216 do_action( ) ...wp-settings.php:394
7 0.4676 3677592 WP_Hook->do_action( ) ...plugin.php:465
8 0.4676 3677592 WP_Hook->apply_filters( ) ...class-wp-hook.php:310
9 0.4923 3975520 SitePress->plugin_localization( ) ...class-wp-hook.php:286
10 0.4923 3975584 load_plugin_textdomain( ) ...sitepress.class.php:3350
11 0.4923 3975728 load_textdomain( ) ...l10n.php:791
12 0.4923 3975728 apply_filters( ) ...l10n.php:621
13 0.4923 3976128 WP_Hook->apply_filters( ) ...plugin.php:208
14 0.4923 3977632 WPMLSTMOHooksLoadTextDomain->overrideLoadTextDomain( ) ...class-wp-hook.php:286
15 0.4923 3978112 WPML_ST_Translations_File_Locale->get( ) ...LoadTextDomain.php:59
Обходное решение
В настоящее время мы работаем над исправлением этой ошибки
Рекомендуется исправить локаль в разделе WPML > Языки > Редактировать языки
Если у Вас нет доступа к страницам админ-панели, временно отключите WPML Перевод строк — лучше всего зайти по FTP в папку /wp-content/plugins/ и переименовать папку плагина во что-нибудь другое.
В качестве временного решения отредактируйте файл wpml-string-translation/classes/translations-file-scan/translations-file/wpml-st-translations-file-locale.php в строке 65 и замените:
throw new RuntimeException( 'Language of ' . $this->filepath. ' cannot be recognized' );
на:
return '';