The Internationalization extension (Intl) is a wrapper for the ICU library, a set of C/C++ and Java libraries that provide Unicode and Globalization support for software applications. It enables PHP programmers to perform UCA-conformant collation and date/time/number/currency formatting in their scripts.
The Intl extension is required in Moodle 3.4 onwards.
To enable this extension add the following line to your php.ini file usually found in /php:
And then set the intl.default_locale and intl.error_level directives in your php.ini file.
intl.default_locale = en_utf8
intl.error_level = E_WARNING
The intl.error_level directive is optional.
In a WAMP installation it may be required to add the php path to the system PATH so that the module4 could uploaded properly (see http://forum.wampserver.com/read.php?2,80704,82499 for a couple of other approaches).
Problems in Windows 11 VirtualBox virtual machines
If you had the msvcp110.dll missing file error, you added that file and then you got the intl missing error which can not be solved by doing the above instructions, you need to go to http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 and install the vcredist_x64.exe and vcredist_x86.exe, as described in https://stackoverflow.com/a/18876880
Other operating systems
Use system package manager or specify compilation flag.
- Debian 5.0 (& Ubuntu) use: apt-get install php-intl.
- CentOS 8.0 (& Red Hat) use: dnf install php-intl. CentOS 7.0 (& RedHat) use: yum install php-intl. The package name may be slightly different depending on the repository used for PHP packages, e.g. php74-intl.
- INTL Introduction
- PHP Internationalization Functions
- Table of locales lists the locales that you can use.