Spec-Zone.ru › Yii 1.1

CLocale

Пакет system.i18n
Наследование класс CLocale » CComponent
С версии 1.0
Исходный код framework/i18n/CLocale.php
CLocale представляет данные, относящиеся к определённому языку и региону.

Данные включают в себя информацию о формате чисел и формате дат.

Общедоступные свойства

Свойство Тип Описание Определено в
aMName строка имя AM CLocale
currencyFormat строка формат валюты CLocale
dataPath строка каталог, содержащий данные языка и региона. CLocale
dateFormat строка формат даты CLocale
dateFormatter CDateFormatter форматер дат для этого языка и региона CLocale
dateTimeFormat строка формат даты и времени, т.е. порядок даты и времени. CLocale
decimalFormat строка формат десятичных чисел CLocale
id строка Идентификатор языка и региона (в канонической форме) CLocale
localeDisplayName строка Возвращает локализованное имя из файла данных i18n (один из файлов framework/i18n/data/). CLocale
monthNames массив Возвращает имена месяцев с указанной шириной. CLocale
numberFormatter CNumberFormatter форматер чисел для этого языка и региона CLocale
orientation строка направление символов, которое может быть 'ltr' (слева направо) или 'rtl' (справа налево) CLocale
pMName строка имя PM CLocale
percentFormat строка формат процентов CLocale
pluralRules массив выражения для множественного числа CLocale
scientificFormat строка научный формат CLocale
timeFormat строка формат времени CLocale
weekDayNames массив Возвращает имена дней недели с указанной шириной. CLocale

Общедоступные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Присоединяет поведение к этому компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли считать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает присоединённое поведение. CComponent
disableBehaviors() Отключает все присоединённые к этому компоненту поведения. CComponent
enableBehavior() Включает присоединённое поведение. CComponent
enableBehaviors() Включает все присоединённые к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. CComponent
getAMName() Возвращает значение AM. CLocale
getCanonicalID() Преобразует идентификатор локали в его каноническую форму. CLocale
getCurrencyFormat() Возвращает формат валюты. CLocale
getCurrencySymbol() Возвращает локализованный символ валюты. Null, если символ не существует. CLocale
getDateFormat() Возвращает формат даты. CLocale
getDateFormatter() Возвращает форматировщик дат для этой локали. CLocale
getDateTimeFormat() Возвращает формат даты и времени, т.е. порядок даты и времени. CLocale
getDecimalFormat() Возвращает формат десятичных чисел. CLocale
getEraName() Возвращает имя эры. CLocale
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
getId() Возвращает идентификатор локали (в канонической форме). CLocale
getInstance() Возвращает экземпляр указанной локали. CLocale
getLanguage() Возвращает локальное имя отображения языка. Null, если код языка не существует. CLocale
getLanguageID() Преобразует идентификатор локали в идентификатор языка. CLocale
getLocaleDisplayName() Получает локализованное имя из файла данных i18n (один из файлов framework/i18n/data/). CLocale
getLocaleIDs() Возвращает идентификаторы локали, которые фреймворк может распознать. CLocale
getMonthName() Возвращает имя месяца. CLocale
getMonthNames() Возвращает имена месяцев в указанной ширине. CLocale
getNumberFormatter() Возвращает форматировщик чисел для этой локали. CLocale
getNumberSymbol() Возвращает символ. CLocale
getOrientation() Возвращает ориентацию символов, которая может быть 'ltr' (слева направо) или 'rtl' (справа налево). CLocale
getPMName() Возвращает значение PM. CLocale
getPercentFormat() Возвращает формат процентов. CLocale
getPluralRules() Возвращает выражения для множественного числа. CLocale
getScientificFormat() Возвращает научный формат. CLocale
getScript() Возвращает локальное имя отображения сценария. Null, если код сценария не существует. CLocale
getScriptID() Преобразует идентификатор локали в идентификатор сценария. CLocale
getTerritory() Возвращает локальное имя отображения территории. Null, если код территории не существует. CLocale
getTerritoryID() Преобразует идентификатор локали в идентификатор территории. CLocale
getTimeFormat() Возвращает формат времени. CLocale
getWeekDayName() Возвращает имя дня недели. CLocale
getWeekDayNames() Возвращает имена дней недели в указанной ширине. CLocale
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединённые обработчики к событию с указанным именем. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
raiseEvent() Возбуждает событие. CComponent

Защищённые методы

Метод Описание Определено в
__construct() Конструктор. CLocale

Подробное описание свойств

aMName свойство только для чтения

public string getAMName()

имя AM

currencyFormat свойство только для чтения

public string getCurrencyFormat()

формат валюты

dataPath свойство (доступно начиная с версии v1.1.0)

public static string $dataPath;

каталог, содержащий данные локали. Если это свойство не установлено, данные локали будут загружены из 'framework/i18n/data'.

dateFormat свойство только для чтения

public string getDateFormat(string $width='medium')

формат даты

dateFormatter свойство только для чтения

public CDateFormatter getDateFormatter()

форматер даты для данного языка

dateTimeFormat свойство только для чтения

public string getDateTimeFormat()

формат даты и времени, т.е. порядок даты и времени.

decimalFormat свойство только для чтения

public string getDecimalFormat()

формат десятичных чисел

id свойство только для чтения

public string getId()

Идентификатор языка (в канонической форме)

localeDisplayName свойство только для чтения (доступно с версии v1.1.9)

public string getLocaleDisplayName(string $id=NULL, string $category='languages')

Получает локализованное имя из файла данных i18n (один из файлов framework/i18n/data/).

monthNames свойство только для чтения

public array getMonthNames(string $width='wide', boolean $standAlone=false)

Возвращает названия месяцев в указанной ширине.

numberFormatter свойство только для чтения

public CNumberFormatter getNumberFormatter()

форматер чисел для данного языка

orientation свойство только для чтения (доступно с версии v1.1.2)

public string getOrientation()

направление символов, которое может быть 'ltr' (слева направо) или 'rtl' (справа налево)

pMName свойство только для чтения

public string getPMName()

название PM

percentFormat свойство только для чтения

public string getPercentFormat()

формат процентов

pluralRules свойство только для чтения

public array getPluralRules()

выражения множественного числа

scientificFormat свойство только для чтения

public string getScientificFormat()

научный формат

timeFormat свойство только для чтения

public string getTimeFormat(string $width='medium')

формат даты

weekDayNames свойство только для чтения

public array getWeekDayNames(string $width='wide', boolean $standAlone=false)

Возвращает названия дней недели в указанной ширине.

Подробное описание методов

__construct() метод

protected void __construct(string $id)
$id string идентификатор языка (например, en_US)
Исходный код: framework/i18n/CLocale.php#97 (показать)
protected function __construct($id)
{
    
$this->_id=self::getCanonicalID($id);
    
$dataPath=self::$dataPath===null ? dirname(__FILE__).DIRECTORY_SEPARATOR.'data' : self::$dataPath;
    
$dataFile=$dataPath.DIRECTORY_SEPARATOR.$this->_id.'.php';
    if(
is_file($dataFile))
        
$this->_data=require($dataFile);
    else
        throw new 
CException(Yii::t('yii','Unrecognized locale "{locale}".',array('{locale}'=>$id)));
}

Конструктор. Поскольку конструктор защищён, для получения экземпляра указанного языка используйте getInstance.

getAMName() метод

public string getAMName()
{return} string название AM
Исходный код: framework/i18n/CLocale.php#267 (показать)
public function getAMName()
{
    return 
$this->_data['amName'];
}

getCanonicalID() метод

public static string getCanonicalID(string $id)
$id string идентификатор языка, который нужно преобразовать
{return} string идентификатор языка в канонической форме
Исходный код: framework/i18n/CLocale.php#114 (показать)
public static function getCanonicalID($id)
{
    return 
strtolower(str_replace('-','_',$id));
}

Преобразует идентификатор языка в каноническую форму. В канонической форме идентификатор языка состоит только из нижних регистров и символов подчеркивания.

getCurrencyFormat() метод

public string getCurrencyFormat()
{return} string формат валюты
Исходный код: framework/i18n/CLocale.php#176 (показать)
public function getCurrencyFormat()
{
    return 
$this->_data['currencyFormat'];
}

getCurrencySymbol() метод

public string getCurrencySymbol(string $currency)
$currency string код ISO 4217 из 3 букв. Например, код "USD" представляет собой доллар США, а "EUR" — евро.
{return} string локальный символ валюты. Null, если символ не существует.
Исходный код: framework/i18n/CLocale.php#151 (показать)
public function getCurrencySymbol($currency)
{
    return isset(
$this->_data['currencySymbols'][$currency]) ? $this->_data['currencySymbols'][$currency] : null;
}

getDateFormat() метод

public string getDateFormat(string $width='medium')
$width string ширина формата даты. Может быть 'full', 'long', 'medium' или 'short'.
{return} string формат даты
Исходный код: framework/i18n/CLocale.php#284 (показать)
public function getDateFormat($width='medium')
{
    return 
$this->_data['dateFormats'][$width];
}

getDateFormatter() метод

public CDateFormatter getDateFormatter()
{return} CDateFormatter форматер даты для данного языка
Исходный код: framework/i18n/CLocale.php#140 (показать)
public function getDateFormatter()
{
    if(
$this->_dateFormatter===null)
        
$this->_dateFormatter=new CDateFormatter($this);
    return 
$this->_dateFormatter;
}

getDateTimeFormat() метод

public string getDateTimeFormat()
{return} string формат даты и времени, т.е. порядок даты и времени.
Исходный код: framework/i18n/CLocale.php#301 (показать)
public function getDateTimeFormat()
{
    return 
$this->_data['dateTimeFormat'];
}

getDecimalFormat() метод

public string getDecimalFormat()
{return} string формат десятичных чисел
Исходный код: framework/i18n/CLocale.php#168 (показать)
public function getDecimalFormat()
{
    return 
$this->_data['decimalFormat'];
}

getEraName() метод

public string getEraName(integer $era, string $width='wide')
$era integer эпоха (0,1)
$width string ширина имени эпохи. Может быть 'wide', 'abbreviated' или 'narrow'.
{return} string имя эпохи
Исходный код: framework/i18n/CLocale.php#259 (показать)
public function getEraName($era,$width='wide')
{
    return 
$this->_data['eraNames'][$width][$era];
}

getId() метод

public string getId()
{return} string идентификатор языка (в канонической форме)
Исходный код: framework/i18n/CLocale.php#122 (показать)
public function getId()
{
    return 
$this->_id;
}

getInstance() метод

public static CLocale getInstance(string $id)
$id string идентификатор языка (например, en_US)
{return} CLocale экземпляр языка
Исходный код: framework/i18n/CLocale.php#58 (показать)
public static function getInstance($id)
{
    static 
$locales=array();
    if(isset(
$locales[$id]))
        return 
$locales[$id];
    else
        return 
$locales[$id]=new CLocale($id);
}

Возвращает экземпляр указанного языка. Поскольку конструктор CLocale защищён, вы можете использовать только этот метод для получения экземпляра указанного языка.

getLanguage() метод (доступно с версии v1.1.9)

public string getLanguage(string $id)
$id string Идентификатор языка Юникода из IETF BCP 47. Например, код "en_US" представляет английский язык США, а "en_GB" — британский английский.
{return} string локальное отображаемое имя языка. Null, если код языка не существует.
Исходный код: framework/i18n/CLocale.php#447 (показать)
public function getLanguage($id)
{
    
$id = $this->getLanguageID($id);
    return 
$this->getLocaleDisplayName($id, 'languages');
}

getLanguageID() метод (доступен начиная с v1.1.9)

public string getLanguageID(string $id)
$id string Идентификатор локали, который требуется преобразовать
{return} string Идентификатор языка
Исходный код: framework/i18n/CLocale.php#330 (показать)
public function getLanguageID($id)
{
    
// normalize id
    
$id = $this->getCanonicalID($id);
    
// remove sub tags
    
if(($underscorePosition=strpos($id, '_'))!== false)
    {
        
$id = substr($id, 0, $underscorePosition);
    }
    return 
$id;
}

Преобразует идентификатор локали в идентификатор языка. Идентификатор языка состоит только из первой группы букв перед символом подчеркивания или дефиса.

getLocaleDisplayName() метод (доступен начиная с v1.1.9)

public string getLocaleDisplayName(string $id=NULL, string $category='languages')
$id string Ключ массива из массива, названного $category.
$category string Категория данных. Может быть 'languages', 'scripts' или 'territories'.
{return} string Локализованное имя для указанного идентификатора. Null, если данные не существуют.
Исходный код: framework/i18n/CLocale.php#418 (показать)
public function getLocaleDisplayName($id=null, $category='languages')
{
    
$id = $this->getCanonicalID($id);
    if ((
$category == 'languages') && (isset($this->_data[$category][$id])))
    {
        return 
$this->_data[$category][$id];
    }
    elseif ((
$category == 'scripts') && ($val=$this->getScriptID($id)) && (isset($this->_data[$category][$val])))
    {
        return 
$this->_data[$category][$val];
    }
    elseif ((
$category == 'territories') && ($val=$this->getTerritoryID($id)) && (isset($this->_data[$category][$val])))
    {
        return 
$this->_data[$category][$val];
    }
    elseif (isset(
$this->_data[$category][$id]))
    {
        return 
$this->_data[$category][$id];
    }
    else {
        return 
null;
    }
}

Получает локализованное имя из файла данных i18n (один из файлов framework/i18n/data/).

getLocaleIDs() метод

public static array getLocaleIDs()
{return} array Идентификаторы локалей, которые может распознать фреймворк
Исходный код: framework/i18n/CLocale.php#70 (показать)
public static function getLocaleIDs()
{
    static 
$locales;
    if(
$locales===null)
    {
        
$locales=array();
        
$dataPath=self::$dataPath===null ? dirname(__FILE__).DIRECTORY_SEPARATOR.'data' : self::$dataPath;
        
$folder=@opendir($dataPath);
        while((
$file=@readdir($folder))!==false)
        {
            
$fullPath=$dataPath.DIRECTORY_SEPARATOR.$file;
            if(
substr($file,-4)==='.php' && is_file($fullPath))
                
$locales[]=substr($file,0,-4);
        }
        
closedir($folder);
        
sort($locales);
    }
    return 
$locales;
}

getMonthName() метод

public string getMonthName(integer $month, string $width='wide', boolean $standAlone=false)
$month integer месяц (1-12)
$width string ширина имени месяца. Может быть 'wide', 'abbreviated' или 'narrow'.
$standAlone boolean является ли имя месяца в формате stand-alone
{return} string имя месяца
Исходный код: framework/i18n/CLocale.php#203 (показать)
public function getMonthName($month,$width='wide',$standAlone=false)
{
    if(
$standAlone)
        return isset(
$this->_data['monthNamesSA'][$width][$month]) ? $this->_data['monthNamesSA'][$width][$month] : $this->_data['monthNames'][$width][$month];
    else
        return isset(
$this->_data['monthNames'][$width][$month]) ? $this->_data['monthNames'][$width][$month] : $this->_data['monthNamesSA'][$width][$month];
}

getMonthNames() метод

public array getMonthNames(string $width='wide', boolean $standAlone=false)
$width string ширина имени месяца. Может быть 'wide', 'abbreviated' или 'narrow'.
$standAlone boolean должны ли имена месяцев возвращаться в формате stand-alone
{return} array имена месяцев, индексированные значениями месяца (1-12)
Исходный код: framework/i18n/CLocale.php#217 (показать)
public function getMonthNames($width='wide',$standAlone=false)
{
    if(
$standAlone)
        return isset(
$this->_data['monthNamesSA'][$width]) ? $this->_data['monthNamesSA'][$width] : $this->_data['monthNames'][$width];
    else
        return isset(
$this->_data['monthNames'][$width]) ? $this->_data['monthNames'][$width] : $this->_data['monthNamesSA'][$width];
}

Возвращает имена месяцев в указанной ширине.

getNumberFormatter() метод

public CNumberFormatter getNumberFormatter()
{return} CNumberFormatter форматтер чисел для этой локали
Исходный код: framework/i18n/CLocale.php#130 (показать)
public function getNumberFormatter()
{
    if(
$this->_numberFormatter===null)
        
$this->_numberFormatter=new CNumberFormatter($this);
    return 
$this->_numberFormatter;
}

getNumberSymbol() метод

public string getNumberSymbol(string $name)
$name string имя символа
{return} string символ
Исходный код: framework/i18n/CLocale.php#160 (показать)
public function getNumberSymbol($name)
{
    return isset(
$this->_data['numberSymbols'][$name]) ? $this->_data['numberSymbols'][$name] : null;
}

getOrientation() метод (доступен начиная с v1.1.2)

public string getOrientation()
{return} string направление символов, которое может быть 'ltr' (слева направо) или 'rtl' (справа налево)
Исходный код: framework/i18n/CLocale.php#310 (показать)
public function getOrientation()
{
    return isset(
$this->_data['orientation']) ? $this->_data['orientation'] : 'ltr';
}

getPMName() метод

public string getPMName()
{return} string имя PM
Исходный код: framework/i18n/CLocale.php#275 (показать)
public function getPMName()
{
    return 
$this->_data['pmName'];
}

getPercentFormat() метод

public string getPercentFormat()
{return} string формат процента
Исходный код: framework/i18n/CLocale.php#184 (показать)
public function getPercentFormat()
{
    return 
$this->_data['percentFormat'];
}

getPluralRules() метод

public array getPluralRules()
{return} array выражения множественных форм
Исходный код: framework/i18n/CLocale.php#318 (показать)
public function getPluralRules()
{
    return isset(
$this->_data['pluralRules']) ? $this->_data['pluralRules'] : array(0=>'true');
}

getScientificFormat() метод

public string getScientificFormat()
{return} string научный формат
Исходный код: framework/i18n/CLocale.php#192 (показать)
public function getScientificFormat()
{
    return 
$this->_data['scientificFormat'];
}

getScript() метод (доступен начиная с v1.1.9)

public string getScript(string $id)
$id string Идентификатор скрипта Юникода из IETF BCP 47. Например, код "en_US" представляет английский язык США, а "en_GB" — британский английский.
{return} string локальное отображаемое имя скрипта. Null, если код скрипта не существует.
Исходный код: framework/i18n/CLocale.php#458 (показать)
public function getScript($id)
{
    return 
$this->getLocaleDisplayName($id, 'scripts');
}

getScriptID() метод (доступен начиная с v1.1.9)

public string getScriptID(string $id)
$id string идентификатор локали, который требуется преобразовать
{return} string идентификатор скрипта
Исходный код: framework/i18n/CLocale.php#349 (показать)
public function getScriptID($id)
{
    
// normalize id
    
$id = $this->getCanonicalID($id);
    
// find sub tags
    
if(($underscorePosition=strpos($id, '_'))!==false)
    {
        
$subTag = explode('_', $id);
        
// script sub tags can be distinguished from territory sub tags by length
        
if (strlen($subTag[1])===4)
        {
            
$id = $subTag[1];
        }
        else
        {
            
$id = null;
        }
    }
    else
    {
        
$id = null;
    }
    return 
$id;
}

Преобразует идентификатор локали в идентификатор скрипта. Идентификатор скрипта состоит только из последних четырёх символов после символа подчёркивания или дефиса.

getTerritory() метод (доступен с версии v1.1.9)

public string getTerritory(string $id)
$id строка Идентификатор территории Unicode из IETF BCP 47. Например, код "en_US" представляет собой английский язык США, а "en_GB" — британский английский.
{return} строка локальное отображаемое имя территории. Null, если код территории не существует.
Исходный код: framework/i18n/CLocale.php#468 (показать)
public function getTerritory($id)
{
    return 
$this->getLocaleDisplayName($id, 'territories');
}

getTerritoryID() метод (доступен с версии v1.1.9)

public string getTerritoryID(string $id)
$id строка идентификатор локали, подлежащий преобразованию
{return} строка идентификатор территории
Исходный код: framework/i18n/CLocale.php#381 (показать)
public function getTerritoryID($id)
{
    
// normalize id
    
$id = $this->getCanonicalID($id);
    
// find sub tags
    
if (($underscorePosition=strpos($id, '_'))!== false)
    {
        
$subTag = explode('_', $id);
        
// territory sub tags can be distinguished from script sub tags by length
        
if (isset($subTag[2]) && strlen($subTag[2])<4)
        {
            
$id = $subTag[2];
        }
        elseif (
strlen($subTag[1])<4)
        {
            
$id = $subTag[1];
        }
        else
        {
            
$id = null;
        }
    }
    else
    {
        
$id = null;
    }
    return 
$id;
}

Преобразует идентификатор локали в идентификатор территории. Идентификатор территории состоит только из последних двух-трёх букв или цифр после символа подчёркивания или дефиса.

getTimeFormat() метод

public string getTimeFormat(string $width='medium')
$width строка ширина формата времени. Может быть 'full', 'long', 'medium' или 'short'.
{return} строка формат даты
Исходный код: framework/i18n/CLocale.php#293 (показать)
public function getTimeFormat($width='medium')
{
    return 
$this->_data['timeFormats'][$width];
}

getWeekDayName() метод

public string getWeekDayName(integer $day, string $width='wide', boolean $standAlone=false)
$day целое число день недели (0-7, 0 и 7 означают воскресенье)
$width строка ширина имени дня недели. Может быть 'wide', 'abbreviated' или 'narrow'.
$standAlone логическое значение является ли имя дня недели в формате stand-alone
{return} строка имя дня недели
Исходный код: framework/i18n/CLocale.php#231 (показать)
public function getWeekDayName($day,$width='wide',$standAlone=false)
{
    
$day=$day%7;
    if(
$standAlone)
        return isset(
$this->_data['weekDayNamesSA'][$width][$day]) ? $this->_data['weekDayNamesSA'][$width][$day] : $this->_data['weekDayNames'][$width][$day];
    else
        return isset(
$this->_data['weekDayNames'][$width][$day]) ? $this->_data['weekDayNames'][$width][$day] : $this->_data['weekDayNamesSA'][$width][$day];
}

getWeekDayNames() метод

public array getWeekDayNames(string $width='wide', boolean $standAlone=false)
$width строка ширина имени дня недели. Может быть 'wide', 'abbreviated' или 'narrow'.
$standAlone логическое значение является ли имя дня недели в формате stand-alone
{return} массив имена дней недели, индексированные значениями дней недели (0-6, 0 означает воскресенье, 1 понедельник и т.д.)
Исходный код: framework/i18n/CLocale.php#246 (показать)
public function getWeekDayNames($width='wide',$standAlone=false)
{
    if(
$standAlone)
        return isset(
$this->_data['weekDayNamesSA'][$width]) ? $this->_data['weekDayNamesSA'][$width] : $this->_data['weekDayNames'][$width];
    else
        return isset(
$this->_data['weekDayNames'][$width]) ? $this->_data['weekDayNames'][$width] : $this->_data['weekDayNamesSA'][$width];
}

Возвращает имена дней недели в указанной ширине.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CLocale

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API