PHP Class lithium\g11n\Message

1. Marking messages as translatable. $t() and $tn() (implemented in aliases()) are recognized as message marking and picked up by the extraction parser. 2. Extracting marked messages. Messages can be extracted through the g11n command which in turn utilizes the Catalog class with the built-in Code adapter or other custom adapters which are concerned with extracting translatable content. 3. Creating a message template from extracted messages. Templates are created by the g11n command using the Catalog class with an adapter for a format you prefer. 4. Translating messages. The actual translation of messages by translators happens outside using external applications. 5. Storing translated messages. Translations are most often stored by the external applications itself. 6. Retrieving the translation for a message. See description for Message::translate().
See also: lithium\g11n\Catalog
See also: lithium\console\command\G11n
See also: lithium\g11n\catalog\adapter\Code
Inheritance: extends lithium\core\StaticObject
Datei anzeigen Open project: unionofrad/lithium Class Usage Examples

Protected Properties

Property Type Description
$_cachedPages array Holds cached message pages generated and used by lithium\g11n\Message::_translated().

Public Methods

Method Description
aliases ( ) : array Returns an array containing named closures which are aliases for translate().
cache ( array $cache = null ) : array Returns or sets the page cache used for mapping message ids to translations.
translate ( string $id, array $options = [] ) : string Translates a message according to the current or provided locale and into its correct plural form.

Protected Methods

Method Description
_translated ( string $id, integer $count, string $locale, array $options = [] ) : string Retrieves translations through the Catalog class by using $id as the lookup key and taking the current or - if specified - the provided locale as well as the scope into account. Hereupon the correct plural form is determined by passing the value of the 'count' option to a closure.

Method Details

_translated() protected static method

Retrieves translations through the Catalog class by using $id as the lookup key and taking the current or - if specified - the provided locale as well as the scope into account. Hereupon the correct plural form is determined by passing the value of the 'count' option to a closure.
See also: lithium\g11n\Catalog
protected static _translated ( string $id, integer $count, string $locale, array $options = [] ) : string
$id string The lookup key.
$count integer Used to determine the correct plural form.
$locale string The target locale.
$options array Passed through to `Catalog::read()`. Valid options are: - `'scope'`: The scope of the message. - `'context'`: The disambiguating context.
return string The translation or `null` if none could be found or the plural form could not be determined.

aliases() public static method

They can be embedded as content filters in the template layer using a filter for Media::_handle() or be used in other places where needed. Usage: $t('bike'); $tn('bike', 'bikes', 3); Using in a method: public function index() { extract(Message::aliases()); $notice = $t('look'); }
See also: lithium\net\http\Media::_handle()
public static aliases ( ) : array
return array Named aliases (`'t'` and `'tn'`) for translation functions.

cache() public static method

Returns or sets the page cache used for mapping message ids to translations.
public static cache ( array $cache = null ) : array
$cache array A multidimensional array to use when pre-populating the cache. The structure of the array is `scope/locale/id`. If `false`, the cache is cleared.
return array Returns an array of cached pages, formatted per the description for `$cache`.

translate() public static method

Usage: Message::translate('Mind the gap.'); Message::translate('house', array('count' => 23)); String::insert()-style placeholders may be used within the message and replacements provided directly within the options argument. Example: Message::translate('I can see {:count} bike.'); Message::translate('This painting is {:color}.', array( 'color' => Message::translate('silver'), ));
See also: lithium\util\String::insert()
public static translate ( string $id, array $options = [] ) : string
$id string The id to use when looking up the translation.
$options array Valid options are: - `'count'`: Used to determine the correct plural form. You can either pass a signed or unsigned integer, the behavior when passing other types is yet undefined. The count is made absolute before being passed to the pluralization function. This has the effect that that with i.e. an English pluralization function passing `-1` results in a singular translation. - `'locale'`: The target locale, defaults to current locale. - `'scope'`: The scope of the message. - `'context'`: The disambiguating context (optional). - `'default'`: Is used as a fall back if `_translated()` returns without a result. - `'noop'`: If `true` no whatsoever lookup takes place.
return string The translation or the value of the `'default'` option if none could be found.

Property Details

$_cachedPages protected_oe static_oe property

Holds cached message pages generated and used by lithium\g11n\Message::_translated().
See also: lithium\g11n\Message::_translated()
protected static array $_cachedPages
return array