PHP Class I18n

This file is part of AgenDAV. AgenDAV is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. AgenDAV is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with AgenDAV. If not, see .
Inheritance: extends CI_Model
Show file Open project: baserproject/basercms Class Usage Examples

Public Properties

Property Type Description
$category string Current category of translation
$defaultDomain string Default domain of translation
$domain string Current domain of translation
$l10n L10n Instance of the L10n class for localization

Protected Properties

Property Type Description
$_categories array Translation categories
$_domains array Translation strings for a specific domain read from the .mo or .po files
$_escape string Escape string
$_lang string Current language used for translations
$_noLocale boolean If a translation file is found it is set to false again

Public Methods

Method Description
__construct ( ) Constructor, use I18n::getInstance() to get the i18n translation object.
clear ( ) : void Clears the domains internal data array. Useful for testing i18n.
domains ( ) : array Get the loaded domains cache.
getInstance ( ) : I18n Return a static instance of the I18n class
insertArgs ( string $translated, array $args ) : string Puts the parameters in raw translated strings
loadLocaleDefinition ( string $filename ) : mixed Parses a locale definition file following the POSIX standard
loadMo ( string $filename ) : mixed Loads the binary .mo file and returns array of translations
loadPo ( string $filename ) : mixed Loads the text .po file and returns array of translations
translate ( string $singular, string $plural = null, string $domain = null, string $category = self::LC_MESSAGES, integer $count = null, string $language = null, string $context = null ) : string Used by the translation functions in basics.php Returns a translated string based on current language and translation files stored in locale folder

Protected Methods

Method Description
_bindTextDomain ( string $domain ) : string Binds the given domain to a file in the specified directory.
_parseLiteralValue ( string $string ) : string Auxiliary function to parse a symbol from a locale definition file
_pluralGuess ( string $header, integer $n ) : integer Attempts to find the plural form of a string.
_translateTime ( string $format, string $domain ) : mixed Returns a Time format definition from corresponding domain

Method Details

__construct() public method

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

_bindTextDomain() protected method

Binds the given domain to a file in the specified directory.
protected _bindTextDomain ( string $domain ) : string
$domain string Domain to bind
return string Domain binded

_parseLiteralValue() protected method

Auxiliary function to parse a symbol from a locale definition file
protected _parseLiteralValue ( string $string ) : string
$string string Symbol to be parsed
return string parsed symbol

_pluralGuess() protected method

Attempts to find the plural form of a string.
protected _pluralGuess ( string $header, integer $n ) : integer
$header string Type
$n integer Number
return integer plural match

_translateTime() protected method

Returns a Time format definition from corresponding domain
protected _translateTime ( string $format, string $domain ) : mixed
$format string Format to be translated
$domain string Domain where format is stored
return mixed translated format string if only value or array of translated strings for corresponding format.

clear() public static method

Clears the domains internal data array. Useful for testing i18n.
public static clear ( ) : void
return void

domains() public static method

Get the loaded domains cache.
public static domains ( ) : array
return array

getInstance() public static method

Return a static instance of the I18n class
public static getInstance ( ) : I18n
return I18n

insertArgs() public static method

Puts the parameters in raw translated strings
public static insertArgs ( string $translated, array $args ) : string
$translated string The raw translated string
$args array The arguments to put in the translation
return string Translated string with arguments

loadLocaleDefinition() public static method

Parses a locale definition file following the POSIX standard
public static loadLocaleDefinition ( string $filename ) : mixed
$filename string Locale definition filename
return mixed Array of definitions on success or false on failure

loadMo() public static method

Loads the binary .mo file and returns array of translations
public static loadMo ( string $filename ) : mixed
$filename string Binary .mo file to load
return mixed Array of translations on success or false on failure

loadPo() public static method

Loads the text .po file and returns array of translations
public static loadPo ( string $filename ) : mixed
$filename string Text .po file to load
return mixed Array of translations on success or false on failure

translate() public static method

Used by the translation functions in basics.php Returns a translated string based on current language and translation files stored in locale folder
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 ) : string
$singular string String to translate
$plural string Plural string (if any)
$domain string Domain The domain of the translation. Domains are often used by plugin translations. If null, the default domain will be used.
$category string Category The integer value of the category to use.
$count integer Count Count is used with $plural to choose the correct plural form.
$language string Language to translate string to. If null it checks for language in session followed by Config.language configuration variable.
$context string Context The context of the translation, e.g a verb or a noun.
return string translated string.

Property Details

$_categories protected property

Translation categories
protected array $_categories
return array

$_domains protected property

Translation strings for a specific domain read from the .mo or .po files
protected array $_domains
return array

$_escape protected property

Escape string
protected string $_escape
return string

$_lang protected property

Current language used for translations
protected string $_lang
return string

$_noLocale protected property

If a translation file is found it is set to false again
protected bool $_noLocale
return boolean

$category public property

Current category of translation
public string $category
return string

$defaultDomain public static property

Default domain of translation
public static string $defaultDomain
return string

$domain public property

Current domain of translation
public string $domain
return string

$l10n public property

Instance of the L10n class for localization
public L10n $l10n
return L10n