silverstripe-framework/core/model/fieldtypes/DBLocale.php

44 lines
910 B
PHP
Raw Normal View History

<?php
/**
* Locale database field, mainly used in {@link Translatable} extension.
*
* @todo Allowing showing locale values in different languages through Nice()
*
* @package sapphire
* @subpackage i18n
*/
class DBLocale extends Varchar {
function __construct($name, $size = 16) {
parent::__construct($name, $size);
}
/**
* See {@link getShortName()}.
*
* @return String
*/
function Nice() {
return $this->getShortName();
}
function RFC1766() {
return i18n::convert_rfc1766($this->value);
}
/**
* Resolves the locale to a common english-language
* name through {@link i18n::get_common_locales()}.
*
* @return String
*/
function getShortName() {
$common_names = i18n::get_common_locales();
return (isset($common_names[$this->value])) ? $common_names[$this->value] : false;
}
function getLongName() {
return i18n::get_locale_name($this->value);
}
}
?>