Class I18n

I18n handles translation of Text and time format strings.

Package: Cake\I18n
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/I18n/I18n.php

Constants summary

Properties summary

  • $_categories protected
    array
    Translation categories
  • $_domains protected
    array
    Translation strings for a specific domain read from the .mo or .po files
  • $_escape protected
    string
    Escape string
  • $_lang protected
    string
    Current language used for translations
  • $_noLocale protected
    boolean

    Set to true when I18N::_bindTextDomain() is called for the first time. If a translation file is found it is set to false again

  • $category public
    string
    Current category of translation
  • $defaultDomain public static
    string
    Default domain of translation
  • $domain public
    string
    Current domain of translation
  • $l10n public
    Instance of the L10n class for localization

Method Summary

  • __construct() public
    Constructor, use I18n::getInstance() to get the i18n translation object.
  • _bindTextDomain() protected
    Binds the given domain to a file in the specified directory.
  • Auxiliary function to parse a symbol from a locale definition file
  • _pluralGuess() protected
    Attempts to find the plural form of a string.
  • _translateTime() protected
    Returns a Time format definition from corresponding domain
  • clear() public static
    Clears the domains internal data array. Useful for testing i18n.
  • domains() public static
    Get the loaded domains cache.
  • getInstance() public static
    Return a static instance of the I18n class
  • insertArgs() public static
    Puts the parameters in raw translated strings
  • loadLocaleDefinition() public static
    Parses a locale definition file following the POSIX standard
  • loadMo() public static
    Loads the binary .mo file and returns array of translations
  • loadPo() public static
    Loads the text .po file and returns array of translations
  • translate() public static

    Used by the translation functions in basics.php Returns a translated string based on current language and translation files stored in locale folder

Method Detail

__construct()source public

__construct( )

Constructor, use I18n::getInstance() to get the i18n translation object.

_bindTextDomain()source protected

_bindTextDomain( string $domain )

Binds the given domain to a file in the specified directory.

Parameters

string $domain
Domain to bind

Returns

string
Domain binded

_parseLiteralValue()source protected

_parseLiteralValue( string $string )

Auxiliary function to parse a symbol from a locale definition file

Parameters

string $string
Symbol to be parsed

Returns

string
parsed symbol

_pluralGuess()source protected

_pluralGuess( string $header , integer $n )

Attempts to find the plural form of a string.

Parameters

string $header
Type
integer $n
Number

Returns

integer
plural match

Link

http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html
https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals#List_of_Plural_Rules

_translateTime()source protected

_translateTime( string $format , string $domain )

Returns a Time format definition from corresponding domain

Parameters

string $format
Format to be translated
string $domain
Domain where format is stored

Returns

mixed
translated format string if only value or array of translated strings for corresponding format.

clear()source public static

clear( )

Clears the domains internal data array. Useful for testing i18n.

domains()source public static

domains( )

Get the loaded domains cache.

Returns

array

getInstance()source public static

getInstance( )

Return a static instance of the I18n class

Returns

I18n

insertArgs()source public static

insertArgs( string $translated , array $args )

Puts the parameters in raw translated strings

Parameters

string $translated
The raw translated string
array $args
The arguments to put in the translation

Returns

string
Translated string with arguments

loadLocaleDefinition()source public static

loadLocaleDefinition( string $filename )

Parses a locale definition file following the POSIX standard

Parameters

string $filename
Locale definition filename

Returns

mixed
Array of definitions on success or false on failure

loadMo()source public static

loadMo( string $filename )

Loads the binary .mo file and returns array of translations

Parameters

string $filename
Binary .mo file to load

Returns

mixed
Array of translations on success or false on failure

Link

https://www.gnu.org/software/gettext/manual/html_node/MO-Files.html

loadPo()source public static

loadPo( string $filename )

Loads the text .po file and returns array of translations

Parameters

string $filename
Text .po file to load

Returns

mixed
Array of translations on success or false on failure

translate()source public static

translate( string $singular , string $plural null , string $domain null , string $category self::LC_MESSAGES , integer $count null , string $language null , string $context null )

Used by the translation functions in basics.php Returns a translated string based on current language and translation files stored in locale folder

Parameters

string $singular
String to translate
string $plural optional null
Plural string (if any)
string $domain optional null

Domain The domain of the translation. Domains are often used by plugin translations. If null, the default domain will be used.

string $category optional self::LC_MESSAGES
Category The integer value of the category to use.
integer $count optional null
Count Count is used with $plural to choose the correct plural form.
string $language optional null

Language to translate string to. If null it checks for language in session followed by Config.language configuration variable.

string $context optional null
Context The context of the translation, e.g a verb or a noun.

Returns

string
translated string.

Throws

CakeException
When '' is provided as a domain.

Properties detail

$_categoriessource

protected array

Translation categories

array(
    'LC_ALL', 'LC_COLLATE', 'LC_CTYPE', 'LC_MONETARY', 'LC_NUMERIC', 'LC_TIME', 'LC_MESSAGES'
)

$_domainssource

protected array

Translation strings for a specific domain read from the .mo or .po files

array()

$_escapesource

protected string

Escape string

null

$_langsource

protected string

Current language used for translations

null

$_noLocalesource

protected boolean

Set to true when I18N::_bindTextDomain() is called for the first time. If a translation file is found it is set to false again

false

$categorysource

public string

Current category of translation

'LC_MESSAGES'

$defaultDomainsource

public static string

Default domain of translation

'default'

$domainsource

public string

Current domain of translation

null

$l10nsource

public L10n

Instance of the L10n class for localization

null

© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-I18n.html