本文整理汇总了PHP中Ak::base_lang方法的典型用法代码示例。如果您正苦于以下问题:PHP Ak::base_lang方法的具体用法?PHP Ak::base_lang怎么用?PHP Ak::base_lang使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ak
的用法示例。
在下文中一共展示了Ak::base_lang方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: rss2_builder
function rss2_builder($items = array(), $channel_options = array(), $item_options = array())
{
$return = array();
$default_channel_options = array('title' => 'Please put your custom channel title in $channel_options[title]', 'description' => 'Please put your custom channel description in $channel_options[description]', 'link' => 'http://example.com/put/your/custom/link/here', 'language' => Ak::base_lang());
$channel_parameters = array('available_options' => array('title', 'description', 'link', 'language'));
Ak::parseOptions($channel_options, $default_channel_options, $channel_parameters);
$default_item_options = array('title' => 'name', 'description' => 'description', 'date' => 'created_at', 'author' => false, 'link' => true, 'guid' => false);
$item_parameters = array('available_options' => array('title', 'description', 'link', 'date', 'author', 'guid', 'content:encoded'));
Ak::parseOptions($item_options, $default_item_options, $item_parameters);
$return[] = $this->xml_instruct('xml', array('version' => '1.0'));
$return[] = $this->xml_rss_open(array('version' => "2.0", 'xmlns' => array('dc' => "http://purl.org/dc/elements/1.1/", 'atom' => "http://www.w3.org/2005/Atom", 'content' => 'http://purl.org/rss/1.0/modules/content/')));
$return[] = $this->xml_channel_open();
$return[] = $this->xml_title($channel_options['title']);
$return[] = $this->xml_description($channel_options['description']);
$return[] = $this->xml_link(htmlentities($channel_options['link']));
$return[] = $this->xml_language($channel_options['language']);
$items = Ak::toArray($items);
foreach ($items as $item) {
$return[] = $this->xml_item_open();
if (!empty($item_options['title'])) {
$title = $this->_getValue($item, $item_options['title']);
!empty($title) ? $return[] = $this->xml_title($title) : null;
}
if (!empty($item_options['link'])) {
$item_link = $this->_getValue($item, $item_options['link']);
!empty($item_link) ? $return[] = $this->xml_link($item_link) : null;
}
if (!empty($item_options['guid'])) {
$guid = $this->_getValue($item, $item_options['guid']);
!empty($guid) ? $return[] = $this->xml_guid($guid, strstr($guid, 'http://') ? array() : array('isPermaLink' => 'false')) : (!empty($item_link) ? $return[] = $this->xml_guid($item_link, strstr($item_link, 'http://') ? array() : array('isPermaLink' => 'false')) : null);
}
if (!empty($item_options['content:encoded'])) {
$encoded = $this->_getValue($item, $item_options['content:encoded']);
!empty($encoded) ? $return[] = $this->xml_content__encoded('<![CDATA[' . $encoded . ']]>') : null;
}
if (!empty($item_options['description'])) {
$description = $this->_getValue($item, $item_options['description']);
!empty($description) ? $return[] = $this->xml_description('<![CDATA[' . $description . ']]>') : null;
}
if (!empty($item_options['date'])) {
$created_at = $this->_getValue($item, $item_options['date']);
!empty($created_at) ? $return[] = $this->xml_dc__date($this->_generate_date($created_at)) : null;
}
if (!empty($item_options['author'])) {
$author = $this->_getValue($item, $item_options['author']);
!empty($author) ? $return[] = $this->xml_dc__author($author) : null;
}
$return[] = $this->xml_item_close();
}
$return[] = $this->xml_channel_close();
$return[] = $this->xml_rss_close();
return implode("\n", $return);
}
示例2: t
/**
* Translate strings to the current locale.
*
* When using Ak::t(), try to put entire sentences and strings
* in one Ak::t() call.
* This makes it easier for translators. HTML markup within
* translation strings
* is acceptable, if necessary. The suggested syntax for a
* link embedded
* within a translation string is:
*
* @access public
* @static
* @param string $string A string containing the English string to
* translate.
* @param array $args An associative array of replacements to make after
* translation. Incidences of any key in this array
* are replaced with the corresponding value.
* @return string The translated string.
*/
function t($string, $args = null, $controller = null)
{
static $framework_dictionary = array(), $lang, $_dev_shutdown = true;
if (AK_AUTOMATICALLY_UPDATE_LANGUAGE_FILES && !empty($string) && is_string($string)) {
require_once AK_LIB_DIR . DS . 'AkLocaleManager.php';
// This adds used strings to a stack for storing new entries on the locale file after shutdown
AkLocaleManager::getUsedLanguageEntries($string, $controller);
if ($_dev_shutdown) {
register_shutdown_function(array('AkLocaleManager', 'updateLocaleFiles'));
$_dev_shutdown = false;
}
}
if (!isset($lang)) {
if (!empty($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
} else {
$lang = Ak::lang();
}
if (is_file(AK_CONFIG_DIR . DS . 'locales' . DS . $lang . '.php')) {
require AK_CONFIG_DIR . DS . 'locales' . DS . $lang . '.php';
$framework_dictionary = array_merge($framework_dictionary, $dictionary);
}
if (!defined('AK_LOCALE')) {
define('AK_LOCALE', $lang);
}
if (!empty($locale) && is_array($locale)) {
Ak::locale(null, $lang, $locale);
}
}
if (!empty($string) && is_array($string)) {
if (!empty($string[$lang])) {
return $string[$lang];
}
$try_whith_lang = $args !== false && empty($string[$lang]) ? Ak::base_lang() : $lang;
if (empty($string[$try_whith_lang]) && $args !== false) {
foreach (Ak::langs() as $try_whith_lang) {
if (!empty($string[$try_whith_lang])) {
return $string[$try_whith_lang];
}
}
}
return @$string[$try_whith_lang];
}
if (isset($controller) && !isset($framework_dictionary[$controller . '_dictionary']) && is_file(AK_APP_DIR . DS . 'locales' . DS . $controller . DS . $lang . '.php')) {
require AK_APP_DIR . DS . 'locales' . DS . $controller . DS . $lang . '.php';
$framework_dictionary[$controller . '_dictionary'] = (array) $dictionary;
}
if (isset($controller) && isset($framework_dictionary[$controller . '_dictionary'][$string])) {
$string = $framework_dictionary[$controller . '_dictionary'][$string];
} else {
$string = isset($framework_dictionary[$string]) ? $framework_dictionary[$string] : $string;
}
if (isset($args) && is_array($args)) {
$string = @str_replace(array_keys($args), array_values($args), $string);
}
/**
* @todo Prepare for multiple locales by inspecting AK_DEFAULT_LOCALE
*/
return $string;
}
示例3: t
/**
* Translate strings to the current locale.
*
* When using Ak::t(), try to put entire sentences and strings
* in one Ak::t() call.
* This makes it easier for translators. HTML markup within
* translation strings
* is acceptable, if necessary. The suggested syntax for a
* link embedded
* within a translation string is:
*
* @access public
* @static
* @param string $string A string containing the English string to
* translate.
* @param array $args An associative array of replacements to make after
* translation. Incidences of any key in this array
* are replaced with the corresponding value.
* @return string The translated string.
*/
function t($string, $args = null, $controller = null)
{
static $framework_dictionary = array(),$required=false, $lang, $_dev_shutdown = true, $locale_manager_class = false, $_custom_dev_shutdown = false;
if(!$required) {
$required=true;
require_once(AK_LIB_DIR.DS.'AkLocaleManager.php');
}
if(AK_AUTOMATICALLY_UPDATE_LANGUAGE_FILES && ($locale_manager_class == false || $locale_manager_class == 'AkLocaleManager')) {
if(!$_custom_dev_shutdown && defined('AK_LOCALE_MANAGER') && class_exists(AK_LOCALE_MANAGER) && in_array('AkLocaleManager',class_parents(AK_LOCALE_MANAGER))) {
$locale_manager_class = AK_LOCALE_MANAGER;
$_custom_dev_shutdown=true;
register_shutdown_function(array($locale_manager_class,'updateLocaleFiles'));
} else {
$locale_manager_class = 'AkLocaleManager';
}
} else {
$locale_manager_class = 'AkLocaleManager';
}
if((AK_AUTOMATICALLY_UPDATE_LANGUAGE_FILES || (defined('AK_TEST_TRANSLATIONS') && AK_TEST_TRANSLATIONS)) && !empty($string) && is_string($string)){
// This adds used strings to a stack for storing new entries on the locale file after shutdown
call_user_func_array(array($locale_manager_class,'getUsedLanguageEntries'),array($string,$controller));
if($_dev_shutdown && (!defined('AK_TEST_TRANSLATIONS') || !AK_TEST_TRANSLATIONS)){
register_shutdown_function(array($locale_manager_class,'updateLocaleFiles'));
$_dev_shutdown = false;
}
}
if(!isset($lang)){
if(!empty($_SESSION['lang'])){
$lang = $_SESSION['lang'];
}else{
$lang = Ak::lang();
}
$dictionary=call_user_func_array(array($locale_manager_class,'getCoreDictionary'),array($lang));
$framework_dictionary = array_merge((array)$framework_dictionary,(array)$dictionary);
if(!defined('AK_LOCALE')){
define('AK_LOCALE', $lang);
}
if(!empty($locale) && is_array($locale)){
Ak::locale(null, $lang, $locale);
}
}
if(!empty($string) && is_array($string)){
if(!empty($string[$lang])){
return $string[$lang];
}
$try_whith_lang = $args !== false && empty($string[$lang]) ? Ak::base_lang() : $lang;
if(empty($string[$try_whith_lang]) && $args !== false){
foreach (Ak::langs() as $try_whith_lang){
if(!empty($string[$try_whith_lang])){
return $string[$try_whith_lang];
}
}
}
return @$string[$try_whith_lang];
}
if(isset($controller) && !isset($framework_dictionary[$controller.'_dictionary'])) { // && is_file(AK_APP_DIR.DS.'locales'.DS.$controller.DS.$lang.'.php')){
$framework_dictionary[$controller.'_dictionary'] = call_user_func_array(array($locale_manager_class,'getDictionary'),array($lang,$controller));
}
if(isset($controller) && isset($framework_dictionary[$controller.'_dictionary'][$string])){
$string = !empty($framework_dictionary[$controller.'_dictionary'][$string])?$framework_dictionary[$controller.'_dictionary'][$string]:$string;
}else {
$string = !empty($framework_dictionary[$string]) ? $framework_dictionary[$string] : $string;
}
if(isset($args) && is_array($args)){
$string = @str_replace(array_keys($args), array_values($args),$string);
}
/**
* @todo Prepare for multiple locales by inspecting AK_DEFAULT_LOCALE
*/
return $string;
//.........这里部分代码省略.........