Class I18n
I18n handles translation of Text and time format strings.
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/I18n/I18n.php
Properties summary
-
$_categories
protectedarray
Translation categories -
$_domains
protectedarray
Translation strings for a specific domain read from the .mo or .po files -
$_escape
protected -
$_lang
protectedstring
Current language used for translations -
$_noLocale
protectedboolean
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
publicstring
Current category of translation -
$defaultDomain
public staticstring
Default domain of translation -
$domain
publicstring
Current domain of translation -
$l10n
publicInstance 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. -
_parseLiteralValue() protected
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 -
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() public ¶
__construct( )
Constructor, use I18n::getInstance() to get the i18n translation object.
_bindTextDomain() protected ¶
_bindTextDomain( string $domain )
Binds the given domain to a file in the specified directory.
Parameters
- string $domain
- Domain to bind
Returns
Domain binded
_parseLiteralValue() protected ¶
_parseLiteralValue( string $string )
Auxiliary function to parse a symbol from a locale definition file
Parameters
- string $string
- Symbol to be parsed
Returns
parsed symbol
_pluralGuess() protected ¶
_pluralGuess( string $header , integer $n )
Attempts to find the plural form of a string.
Parameters
- string $header
- Type
- integer $n
- Number
Returns
plural match
_translateTime() 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
translated format string if only value or array of translated strings for corresponding format.
loadLocaleDefinition() public static ¶
loadLocaleDefinition( string $filename )
Parses a locale definition file following the POSIX standard
Parameters
- string $filename
- Locale definition filename
Returns
Array of definitions on success or false on failure
loadMo() public static ¶
loadMo( string $filename )
Loads the binary .mo file and returns array of translations
Parameters
- string $filename
- Binary .mo file to load
Returns
Array of translations on success or false on failure
loadPo() public static ¶
loadPo( string $filename )
Loads the text .po file and returns array of translations
Parameters
- string $filename
- Text .po file to load
Returns
Array of translations on success or false on failure
translate() public static ¶
translate( string $singular , string $plural = null , string $domain = null , string $category = 6 , integer $count = null , string $language = 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
- string $category optional 6
- 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.
Returns
translated string.
Properties detail
$_categories ¶
Translation categories
array( 'LC_ALL', 'LC_COLLATE', 'LC_CTYPE', 'LC_MONETARY', 'LC_NUMERIC', 'LC_TIME', 'LC_MESSAGES' )
$_domains ¶
Translation strings for a specific domain read from the .mo or .po files
array()
$_noLocale ¶
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