On this page
Class I18n
I18n handles translation of Text and time format strings.
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/I18n/I18n.php
Constants summary
- integer- 0
- integer- 1
- integer- 2
- integer- 6
- integer- 3
- integer- 4
- integer- 5
Properties summary
- 
    $_categoriesprotectedTranslation categoriesarray
- 
    $_domainsprotectedTranslation strings for a specific domain read from the .mo or .po filesarray
- 
    $_escapeprotectedEscape stringstring
- 
    $_langprotectedCurrent language used for translationsstring
- 
    $_noLocaleprotectedbooleanSet to true when I18N::_bindTextDomain() is called for the first time. If a translation file is found it is set to false again 
- 
    $categorypublicCurrent category of translationstring
- 
    
    Default domain of translationstring
- 
    $domainpublicCurrent domain of translationstring
- 
    Instance of the L10n class for localization$l10npublic
Method Summary
- 
    __construct() publicConstructor, use I18n::getInstance() to get the i18n translation object.
- 
    _bindTextDomain() protectedBinds the given domain to a file in the specified directory.
- 
    _parseLiteralValue() protectedAuxiliary function to parse a symbol from a locale definition file
- 
    _pluralGuess() protectedAttempts to find the plural form of a string.
- 
    _translateTime() protectedReturns a Time format definition from corresponding domain
- Clears the domains internal data array. Useful for testing i18n.
- Get the loaded domains cache.
- Return a static instance of the I18n class
- Puts the parameters in raw translated strings
- Parses a locale definition file following the POSIX standard
- Loads the binary .mo file and returns array of translations
- Loads the text .po file and returns array of translations
- 
     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
stringDomain 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
stringparsed 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
integerplural match
Link
http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.htmlhttps://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
mixedtranslated 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.
getInstance()source public static
getInstance( )Return a static instance of the I18n class
Returns
I18ninsertArgs()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
stringTranslated 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
mixedArray 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
mixedArray of translations on success or false on failure
Link
https://www.gnu.org/software/gettext/manual/html_node/MO-Files.htmlloadPo()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
mixedArray 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 $pluraloptional null
- Plural string (if any)
- 
     string $domainoptional null
- 
     Domain The domain of the translation. Domains are often used by plugin translations. If null, the default domain will be used. 
- 
     string $categoryoptional self::LC_MESSAGES
- Category The integer value of the category to use.
- 
     integer $countoptional null
- Count Count is used with $plural to choose the correct plural form.
- 
     string $languageoptional null
- 
     Language to translate string to. If null it checks for language in session followed by Config.language configuration variable. 
- 
     string $contextoptional null
- Context The context of the translation, e.g a verb or a noun.
Returns
stringtranslated string.
Throws
CakeExceptionWhen '' 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()$_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© 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