Skip to content
I18n and L10n related CakePHP code
Branch: master
Clone or download

Latest commit

Latest commit fc09cf1 Apr 28, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
src Fixed CS errors. Apr 11, 2020
tests Fixed CS errors. Apr 11, 2020
.editorconfig Merge CakeDC-3.x as Cake4 prep. Apr 2, 2020
.gitattributes Merge CakeDC-3.x as Cake4 prep. Apr 2, 2020
.gitignore Fix up README Apr 2, 2020
LICENSE.txt Update LICENSE.txt Jan 2, 2019 Update build and release badges Apr 11, 2020
composer.json Fixed CS errors. Apr 11, 2020
phpstan.neon PHPStan Level 1. Apr 2, 2020
phpunit.xml.dist upgrade to cakephp 4.0 Feb 15, 2020

CakePHP Localized plugin

Build Status Latest Stable Version Total Downloads Software License

This plugin contains various localized validation classes for specific countries.


The master branch has the following requirements:

  • CakePHP 4.0+.
  • PHP 7.2+.


You can install this plugin into your CakePHP application using composer.

The recommended way to install composer packages is:

composer require cakephp/localized

Load your plugin using

bin/cake plugin load Cake/Localized

or by manually adding $this->addPlugin('Cake/Localized') in your src/Application.php.

Model validation

Localized validation classes can be used for validating model fields.

namespace App\Model\Table;

use Cake\ORM\Table;
use Cake\Localized\Validation\FrValidation;
use Cake\Validation\Validator;

class PostsTable extends Table
    public function validationDefault(Validator $validator)
        $validator->setProvider('fr', FrValidation::class);
        $validator->add('phoneField', 'myCustomRuleNameForPhone', [
            'rule' => 'phone',
            'provider' => 'fr'

For further information on validation rules see the CakePHP documentation on validation

PO files

This plugin also houses translations for the client-facing translated strings in the core (the cake domain). to use these files link or copy them into their expected location: resources/locales/<locale>/cake.po

Contributing to Localized

If you find that your country is not part of the Localized plugin, please fork the project on Github. Once you have forked the project you can commit your validator class (and any test cases). As soon as you have pushed your changes back to Github you can send a pull request and your changes will be reviewed and merged in, or feedback will be given.

Validation methods

There are a few methods that are common to all classes, defined through the interface "ValidationInterface":

  • phone() to check a phone number
  • postal() to check a postal code
  • personId() to check a country specific person ID

Please try to fit your validation rules in that naming scheme. Apart from that you can also define further validation methods in your implementing class, of course.

Issues with Localized

If you have issues with Localized, you can report them at

You can’t perform that action at this time.