\Cake\I18nMessagesFileLoader

A generic translations package factory that will load translations files based on the file extension and the package name.

This class is a callable, so it can be used as a package loader argument.

Summary

Methods
Properties
Constants
__construct()
__invoke()
translationsFolders()
No public properties found
No constants found
No protected methods found
$_name
$_locale
$_extension
N/A
No private methods found
No private properties found
N/A

Properties

$_name

$_name : string

The package (domain) name.

Type

string

$_locale

$_locale : string

The locale to load for the given package.

Type

string

$_extension

$_extension : string

The extension name.

Type

string

Methods

__construct()

__construct(string  $name, string  $locale, string  $extension = 'po') 

Creates a translation file loader. The file to be loaded corresponds to the following rules:

  • The locale is a folder under the Locale directory, a fallback will be used if the folder is not found.
  • The $name corresponds to the file name to load
  • If there is a loaded plugin with the underscored version of $name, the translation file will be loaded from such plugin.

Examples:

Load and parse src/Locale/fr/validation.po

$loader = new MessagesFileLoader('validation', 'fr_FR', 'po');
$package = $loader();

Load and parse src/Locale/fr_FR/validation.mo

$loader = new MessagesFileLoader('validation', 'fr_FR', 'mo');
$package = $loader();

Load the plugins/MyPlugin/src/Locale/fr/my_plugin.po file:

$loader = new MessagesFileLoader('my_plugin', 'fr_FR', 'mo');
$package = $loader();

Parameters

string $name

The name (domain) of the translations package.

string $locale

The locale to load, this will be mapped to a folder in the system.

string $extension

The file extension to use. This will also be mapped to a messages parser class.

__invoke()

__invoke() : \Aura\Intl\Package|false

Loads the translation file and parses it. Returns an instance of a translations package containing the messages loaded from the file.

Throws

\RuntimeException

if no file parser class could be found for the specified file extension.

Returns

\Aura\Intl\Package|false

translationsFolders()

translationsFolders() : array

Returns the folders where the file should be looked for according to the locale and package name.

Returns

array —

The list of folders where the translation file should be looked for