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
-
$_categories
protectedTranslation categoriesarray
-
$_domains
protectedTranslation strings for a specific domain read from the .mo or .po filesarray
-
$_escape
protectedEscape stringstring
-
$_lang
protectedCurrent language used for translationsstring
-
$_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
publicCurrent category of translationstring
- Default domain of translation
string
-
$domain
publicCurrent domain of translationstring
-
$l10n
public
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
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
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
$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
stringtranslated 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()
$_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