Skip Navigation

Resolved

Resolved in: 3.0.3

Overview of the issue

When you have set a bad locale in WPML > Languages for a language (or a custom language that you have added) then you can get a fatal error like this one when visiting the language:

Fatal error: Uncaught RuntimeException: Language of .../wp-content/languages/plugins/sitepress-ar3.mo cannot be recognized in ...\wp-content\plugins\wpml-string-translation\classes\translations-file-scan\translations-file\wpml-st-translations-file-locale.php on line 65
( ! ) RuntimeException: Language of .../wp-content/languages/plugins/sitepress-ar3.mo cannot be recognized in ...\wp-content\plugins\wpml-string-translation\classes\translations-file-scan\translations-file\wpml-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	WPML\ST\MO\Hooks\LoadTextDomain->overrideLoadTextDomain( )	...\class-wp-hook.php:286
15	0.4923	3978112	WPML_ST_Translations_File_Locale->get( )	...\LoadTextDomain.php:59

Workaround

We are working on fixing this error right now
It is recommended that you fix the locale in WPML > Languages > Edit languages
If you cannot access any admin page, you should temporary disable WPML String Translation – best way is by going by FTP to the /wp-content/plugins/ folder and renaming the folder to something else.

As a temporary patch, edit the file wpml-string-translation/classes/translations-file-scan/translations-file/wpml-st-translations-file-locale.php at line 65 and replace:

throw new RuntimeException( 'Language of ' . $this->filepath. ' cannot be recognized' );

By:

return '';