Spec-Zone.ru › Yii 1.1
CLocale 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
Подробное описание свойств public string getAMName () имя AM
public string getCurrencyFormat () формат валюты
public static string $dataPath ; каталог, содержащий данные локали. Если это свойство не установлено, данные локали будут загружены из 'framework/i18n/data'.
public string getDateFormat (string $width='medium') формат даты
public CDateFormatter getDateFormatter () форматер даты для данного языка
public string getDateTimeFormat () формат даты и времени, т.е. порядок даты и времени.
public string getDecimalFormat () формат десятичных чисел
public string getId () Идентификатор языка (в канонической форме)
public string getLocaleDisplayName (string $id=NULL, string $category='languages') Получает локализованное имя из файла данных i18n (один из файлов framework/i18n/data/).
public array getMonthNames (string $width='wide', boolean $standAlone=false) Возвращает названия месяцев в указанной ширине.
public CNumberFormatter getNumberFormatter () форматер чисел для данного языка
public string getOrientation () направление символов, которое может быть 'ltr' (слева направо) или 'rtl' (справа налево)
public string getPMName () название PM
public string getPercentFormat () формат процентов
public array getPluralRules () выражения множественного числа
public string getScientificFormat () научный формат
public string getTimeFormat (string $width='medium') формат даты
public array getWeekDayNames (string $width='wide', boolean $standAlone=false) Возвращает названия дней недели в указанной ширине.
Подробное описание методов 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 .
public string getAMName () {return} string название AM
public static string getCanonicalID (string $id) $id string идентификатор языка, который нужно преобразовать {return} string идентификатор языка в канонической форме
Преобразует идентификатор языка в каноническую форму. В канонической форме идентификатор языка состоит только из нижних регистров и символов подчеркивания.
public string getCurrencyFormat () {return} string формат валюты
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 ; } public string getDateFormat (string $width='medium') $width string ширина формата даты. Может быть 'full', 'long', 'medium' или 'short'. {return} string формат даты
Исходный код: framework/i18n/CLocale.php#140 (
показать )
public function getDateFormatter () { if( $this -> _dateFormatter === null ) $this -> _dateFormatter =new CDateFormatter ( $this ); return $this -> _dateFormatter ; } public string getDateTimeFormat () {return} string формат даты и времени, т.е. порядок даты и времени.
public string getDecimalFormat () {return} string формат десятичных чисел
public string getEraName (integer $era, string $width='wide') $era integer эпоха (0,1) $width string ширина имени эпохи. Может быть 'wide', 'abbreviated' или 'narrow'. {return} string имя эпохи
public string getId () {return} string идентификатор языка (в канонической форме)
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 защищён, вы можете использовать только этот метод для получения экземпляра указанного языка.
public string getLanguage (string $id) $id string Идентификатор языка Юникода из IETF BCP 47. Например, код "en_US" представляет английский язык США, а "en_GB" — британский английский. {return} string локальное отображаемое имя языка. Null, если код языка не существует.
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 ; } Преобразует идентификатор локали в идентификатор языка. Идентификатор языка состоит только из первой группы букв перед символом подчеркивания или дефиса.
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/).
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 ; } 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 ]; } 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 ]; } Возвращает имена месяцев в указанной ширине.
Исходный код: framework/i18n/CLocale.php#130 (
показать )
public function getNumberFormatter () { if( $this -> _numberFormatter === null ) $this -> _numberFormatter =new CNumberFormatter ( $this ); return $this -> _numberFormatter ; } 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 ; } public string getOrientation () {return} string направление символов, которое может быть 'ltr' (слева направо) или 'rtl' (справа налево)
public string getPMName () {return} string имя PM
public string getPercentFormat () {return} string формат процента
public array getPluralRules () {return} array выражения множественных форм
public string getScientificFormat () {return} string научный формат
public string getScript (string $id) $id string Идентификатор скрипта Юникода из IETF BCP 47. Например, код "en_US" представляет английский язык США, а "en_GB" — британский английский. {return} string локальное отображаемое имя скрипта. Null, если код скрипта не существует.
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 ; } Преобразует идентификатор локали в идентификатор скрипта. Идентификатор скрипта состоит только из последних четырёх символов после символа подчёркивания или дефиса.
public string getTerritory (string $id) $id строка Идентификатор территории Unicode из IETF BCP 47. Например, код "en_US" представляет собой английский язык США, а "en_GB" — британский английский. {return} строка локальное отображаемое имя территории. Null, если код территории не существует.
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 ; } Преобразует идентификатор локали в идентификатор территории. Идентификатор территории состоит только из последних двух-трёх букв или цифр после символа подчёркивания или дефиса.
public string getTimeFormat (string $width='medium') $width строка ширина формата времени. Может быть 'full', 'long', 'medium' или 'short'. {return} строка формат даты
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 ]; } 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 ]; } Возвращает имена дней недели в указанной ширине.