本文整理汇总了PHP中textdomain函数的典型用法代码示例。如果您正苦于以下问题:PHP textdomain函数的具体用法?PHP textdomain怎么用?PHP textdomain使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了textdomain函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: smarty_function_locale
/**
* ------------------------------------------------------------------------- *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
* ------------------------------------------------------------------------- *
*
* @package smarty-gettext
* @link https://github.com/smarty-gettext/smarty-gettext/
* @author Karlheinz Toni <[email protected]>
* @author Boleslaw Tekielski <[email protected]>
* @author Elan Ruusamäe <[email protected]>
* @copyright 2012 Karlheinz Toni
* @copyright 2015 Boleslaw Tekielski
* @copyright 2015 Elan Ruusamäe
*/
function smarty_function_locale($params, &$smarty)
{
static $stack;
// init stack as array
if ($stack === null) {
$stack = array();
}
$path = null;
$template_dirs = method_exists($smarty, 'getTemplateDir') ? $smarty->getTemplateDir() : $smarty->template_dir;
$path_param = isset($params['path']) ? $params['path'] : '';
$domain = isset($params['domain']) ? $params['domain'] : 'messages';
$stack_operation = isset($params['stack']) ? $params['stack'] : 'push';
foreach ((array) $template_dirs as $template_dir) {
$path = $template_dir . $path_param;
if (is_dir($path)) {
break;
}
}
if (!$path && $stack_operation != 'pop') {
trigger_error("Directory for locales not found (path='{$path_param}')", E_USER_ERROR);
}
if ($stack_operation == 'push') {
$stack[] = array($domain, $path);
} elseif ($stack_operation == 'pop') {
if (count($stack) > 1) {
array_pop($stack);
}
list($domain, $path) = end($stack);
} else {
trigger_error("Unknown stack operation '{$stack_operation}'", E_USER_ERROR);
}
bind_textdomain_codeset($domain, 'UTF-8');
bindtextdomain($domain, $path);
textdomain($domain);
}
开发者ID:smarty-gettext,项目名称:smarty-gettext,代码行数:61,代码来源:function.locale.php
示例2: set_language
function set_language()
{
global $amp_conf, $db;
$nt = notifications::create($db);
if (extension_loaded('gettext')) {
$nt->delete('core', 'GETTEXT');
if (php_sapi_name() !== 'cli') {
if (empty($_COOKIE['lang']) || !preg_match('/^[\\w\\._@-]+$/', $_COOKIE['lang'], $matches)) {
$lang = $amp_conf['UIDEFAULTLANG'] ? $amp_conf['UIDEFAULTLANG'] : 'en_US';
if (empty($_COOKIE['lang'])) {
setcookie("lang", $lang);
}
} else {
preg_match('/^([\\w\\._@-]+)$/', $_COOKIE['lang'], $matches);
$lang = !empty($matches[1]) ? $matches[1] : 'en_US';
}
$_COOKIE['lang'] = $lang;
} else {
$lang = $amp_conf['UIDEFAULTLANG'] ? $amp_conf['UIDEFAULTLANG'] : 'en_US';
}
putenv('LC_ALL=' . $lang);
putenv('LANG=' . $lang);
putenv('LANGUAGE=' . $lang);
setlocale(LC_ALL, $lang);
bindtextdomain('amp', $amp_conf['AMPWEBROOT'] . '/admin/i18n');
bind_textdomain_codeset('amp', 'utf8');
textdomain('amp');
return $lang;
}
$nt->add_warning('core', 'GETTEXT', _("Gettext is not installed"), _("Please install gettext so that the PBX can properly translate itself"), 'https://www.gnu.org/software/gettext/');
return 'en_US';
}
开发者ID:umjinsun12,项目名称:dngshin,代码行数:32,代码来源:view.functions.php
示例3: before
function before($route)
{
$lang_mapping = array('fr' => 'fr_FR');
if (!isset($_SESSION['locale'])) {
$locale = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
$_SESSION['locale'] = strtolower(substr(chop($locale[0]), 0, 2));
}
$lang = $_SESSION['locale'];
// Convert simple language code into full language code
if (array_key_exists($lang, $lang_mapping)) {
$lang = $lang_mapping[$lang];
}
$lang = "{$lang}.utf8";
$textdomain = "localization";
putenv("LANGUAGE={$lang}");
putenv("LANG={$lang}");
putenv("LC_ALL={$lang}");
putenv("LC_MESSAGES={$lang}");
setlocale(LC_ALL, $lang);
setlocale(LC_CTYPE, $lang);
$locales_dir = dirname(__FILE__) . '/i18n';
bindtextdomain($textdomain, $locales_dir);
bind_textdomain_codeset($textdomain, 'UTF-8');
textdomain($textdomain);
set('locale', $lang);
}
开发者ID:sheelarajeshkumar,项目名称:torclient_ynh,代码行数:26,代码来源:config.php
示例4: setDomain
/**
*
* {@inheritDoc}
*
* @see \Thunderhawk\API\Component\Translator\TranslatorInterface::setDomainName()
*/
public function setDomain($domain)
{
if (in_array($domain, $this->_domains)) {
$this->_activeDomain = $domain;
textdomain($this->_activeDomain);
}
}
开发者ID:skullab,项目名称:area51,代码行数:13,代码来源:Translator.php
示例5: set
/**
* Sets i18n locale language
*
* sets the language for i18n php gettext module
* (gettext has to be enabled in the php.ini)
*
*/
function set()
{
if (extension_loaded('gettext')) {
// try and find the default locale
$default_lang = preg_replace('/-/', '_', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
$locale = 'en_US';
$locale_dir = "./locale";
$directories = getdirectories($locale_dir, "");
foreach ($directories as $directory) {
$buf = substr($directory, strlen($locale_dir) + 1, strlen($directory) - strlen($locale_dir));
if (preg_match("/" . $buf . "/i", $default_lang)) {
$locale = $buf;
break;
}
}
// set locale
$language = isset($_COOKIE['ari_lang']) ? $_COOKIE['ari_lang'] : $locale;
putenv("LANG={$language}");
putenv("LANGUAGE={$language}");
setlocale(LC_MESSAGES, $language);
bindtextdomain('ari', './locale');
bind_textdomain_codeset('ari', 'UTF-8');
textdomain('ari');
} else {
function _($str)
{
return $str;
}
}
}
开发者ID:hardikk,项目名称:HNH,代码行数:37,代码来源:lang.php
示例6: textDomain
/**
* Set the default domain.
*
* @param string|null $domain
* @return string
*/
public function textDomain($domain = null)
{
if ($this->driver->hasLocaleAndFunction('textdomain')) {
return textdomain($domain);
}
return $this->driver->textDomain($domain);
}
开发者ID:pauluse,项目名称:laravel-gettext,代码行数:13,代码来源:Gettext.php
示例7: init
function init($language, $baseDir)
{
if (!is_file($baseDir . 'language/' . $language . '/LC_MESSAGES/pommo.mo')) {
Pommo::kill('Unknown Language (' . $language . ')');
}
// if LC_MESSAGES is not available.. make it (helpful for win32)
if (!defined('LC_MESSAGES')) {
define('LC_MESSAGES', 6);
}
// load gettext emulation layer if PHP is not compiled w/ gettext support
if (!function_exists('gettext')) {
require_once $baseDir . 'lib/gettext/gettext.php';
require_once $baseDir . 'lib/gettext/gettext.inc';
}
// set the locale
if (!Pommo_Helper_L10n::_setLocale(LC_MESSAGES, $language, $baseDir)) {
// *** SYSTEM LOCALE COULD NOT BE USED, USE EMULTATION ****
require_once $baseDir . 'lib/gettext/gettext.php';
require_once $baseDir . 'lib/gettext/gettext.inc';
if (!Pommo_Helper_L10n::_setLocaleEmu(LC_MESSAGES, $language, $baseDir)) {
Pommo::kill('Error setting up language translation!');
}
} else {
// *** SYSTEM LOCALE WAS USED ***
if (!defined('_poMMo_gettext')) {
// set gettext environment
$domain = 'pommo';
bindtextdomain($domain, $baseDir . 'language');
textdomain($domain);
if (function_exists('bind_textdomain_codeset')) {
bind_textdomain_codeset($domain, 'UTF-8');
}
}
}
}
开发者ID:systemfirez,项目名称:poMMo,代码行数:35,代码来源:Pommo_Helper_L10n.php
示例8: __construct
function __construct()
{
$CI =& get_instance();
$CI->load->library('form_validation');
$CI->load->library('session');
$CI->form_validation->set_rules('lang_select', 'lang_select', 'exact_length[2]');
$this->lang_default = 'en';
if ($CI->input->post('lang_select')) {
if ($CI->form_validation->run() == TRUE) {
$this->lang = $CI->input->post('lang_select');
} else {
$this->lang = $this->lang_default;
}
$CI->session->set_userdata(array('lang' => $this->lang, 'lang_txt' => $this->lang_allowed[$this->lang]));
} else {
if (!$CI->session->userdata('lang')) {
$this->lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if (array_key_exists($this->lang, $this->lang_allowed)) {
$CI->session->set_userdata(array('lang' => $this->lang, 'lang_txt' => $this->lang_allowed[$this->lang]));
} else {
$CI->session->set_userdata(array('lang' => $this->lang_default, 'lang_txt' => $this->lang_allowed[$this->lang_default]));
}
}
}
$del = array($CI->session->userdata('lang') => $CI->session->userdata('lang_txt'));
$CI->session->set_userdata('lang_allowed', array_diff($this->lang_allowed, $del));
setlocale(LC_ALL, $CI->session->userdata('lang') . '_' . strtoupper($CI->session->userdata('lang')) . '.UTF-8');
setlocale(LC_NUMERIC, $CI->session->userdata('lang') . '_' . strtoupper($CI->session->userdata('lang')) . '.UTF-8');
bindtextdomain(strtolower($this->domain), APPPATH . '/language/locales/');
textdomain(strtolower($this->domain));
}
开发者ID:zamaliphe,项目名称:tonbak,代码行数:31,代码来源:Locale.php
示例9: setlocale_twoletter
public static function setlocale_twoletter($locale)
{
putenv("LANG={$locale}");
setlocale(LC_MESSAGES, $locale);
bindtextdomain(self::DOMAIN, self::LOCALEDIR);
textdomain(self::DOMAIN);
}
开发者ID:gremilkar,项目名称:netaidkit,代码行数:7,代码来源:I18n.php
示例10: package
static function package($name, $path = null)
{
if ($path !== null) {
bindtextdomain($name, $GLOBALS['_lang']->path . $path);
}
textdomain($name);
}
开发者ID:page7,项目名称:amazon.jp.price.log,代码行数:7,代码来源:language.class.php
示例11: alternc_changepass_optpage_register_block
function alternc_changepass_optpage_register_block()
{
global $optpage_blocks;
textdomain("alternc-changepass");
$optpage_blocks[] = array('name' => _("Change Password"), 'url' => '../plugins/alternc_changepass/change.php', 'desc' => _("Change the password of your email account."), 'js' => false);
textdomain("squirrelmail");
}
开发者ID:GuillaumeFromage,项目名称:AlternC,代码行数:7,代码来源:setup.php
示例12: __construct
/**
* Build a new reporter html render
*/
protected function __construct()
{
putenv('LC_ALL=' . self::$lang);
setlocale(LC_ALL, self::$lang);
bindtextdomain($this->domain, self::$i18nPath);
textdomain($this->domain);
}
开发者ID:franckysolo,项目名称:unitest,代码行数:10,代码来源:Reporter.php
示例13: __construct
public function __construct($lang = 'en_EN', $domain = 'default')
{
/* ./locale/en_EN/LC_MESSAGES/default.po */
$fnMO = dirname(__FILE__) . '/locale/' . $lang . '/LC_MESSAGES/' . $domain . '.mo';
if (!file_exists($fnMO)) {
$fnPO = substr($fnMO, 0, -2) . 'po';
if (file_exists($fnPO) && is_readable($fnPO)) {
$this->_moConverter($fnPO);
}
}
@putenv('LC_ALL=' . $lang);
@setlocale(LC_ALL, $lang);
if (function_exists('bindtextdomain')) {
bindtextdomain($domain, dirname(__FILE__) . '/locale');
}
if (function_exists('bind_textdomain_codeset')) {
bind_textdomain_codeset($domain, 'UTF-8');
}
if (function_exists('textdomain')) {
textdomain($domain);
}
$this->_defaultFunction = false;
$this->_cache = array();
if (function_exists('gettext')) {
$this->_defaultFunction = true;
} else {
$_tmp = $this->_moRead($fnMO, $lang);
if (is_array($_tmp)) {
$this->_cache = $_tmp[$lang];
}
unset($_tmp);
}
}
开发者ID:rasismeiro,项目名称:I18N,代码行数:33,代码来源:I18N.php
示例14: setUp
protected function setUp()
{
// override bootstrap settings
bindtextdomain("default", E7_PATH . "/tests/i18n");
textdomain("default");
bind_textdomain_codeset("default", 'UTF-8');
}
开发者ID:no-chris,项目名称:connector,代码行数:7,代码来源:I18nTest.php
示例15: initiate
/**
* TuiyoLocalize::initiate()
* Initiates a language domain
* @param mixed $domain
* @param mixed $locale
* @param mixed $encoding
* @return
*/
public function initiate($domain, $locale, $encoding)
{
//Initialize gettText
$locale = !empty($locale) ? $locale : TUIYO_DEFAULT_LOCALE;
$domain = !empty($domain) ? $domain : 'system';
$encoding = !empty($encoding) ? $encoding : TUIYO_DEFAULT_ENCODING;
putenv("LANG={$locale}");
if (!extension_loaded('gettext')) {
TuiyoLoader::import("gettext.gettext", "elibrary", "inc");
T_setlocale(LC_ALL, $locale);
T_bindtextdomain($domain, TUIYO_LOCALE);
T_bind_textdomain_codeset($domain, $encoding);
T_textdomain($domain);
//return TRUE;
}
setlocale(LC_ALL, $locale);
bindtextdomain($domain, TUIYO_LOCALE);
bind_textdomain_codeset($domain, $encoding);
textdomain($domain);
$path = "components/com_tuiyo/locale/" . $locale;
//Load the parameters for the site!
if (!class_exists('JSite')) {
$path = "../components/com_tuiyo/locale/" . $locale;
}
$GLOBALS['mainframe']->addMetaTag("locale", $locale);
$GLOBALS['mainframe']->addCustomHeadTag('<link href="' . $path . '/LC_MESSAGES/system.client.json" lang="' . $locale . '" rel="gettext" />');
}
开发者ID:night-coder,项目名称:ignite,代码行数:35,代码来源:localize.php
示例16: locale
function locale($params, &$smarty)
{
global $stack;
$path = isset($params['path']) ? str_replace(array("'", '"'), '', $params['path']) : null;
$domain = isset($params['domain']) ? str_replace(array("'", '"'), '', $params['domain']) : 'messages';
$stack_operation = isset($params['stack']) ? str_replace(array("'", '"'), '', strtolower($params['stack'])) : 'push';
if ($path == null && $stack_operation != 'pop') {
trigger_error("static (file {$smarty->_current_file}): missing 'path' parameter.", E_USER_ERROR);
}
if ($stack_operation == 'push') {
$stack[] = array($domain, $path);
} else {
if ($stack_operation == 'pop') {
if (count($stack) > 1) {
array_pop($stack);
}
$definition = end($stack);
$domain = $definition[0];
$path = $definition[1];
}
}
bind_textdomain_codeset($domain, 'UTF-8');
bindtextdomain($domain, $path);
textdomain($domain);
}
开发者ID:rudraks,项目名称:smarty,代码行数:25,代码来源:mebb_i18n_smarty_function_locale.php
示例17: PluginVotex
function PluginVotex()
{
// static
static $CONF = array();
$this->CONF =& $CONF;
if (empty($this->CONF)) {
$this->CONF['RECENT_PAGE'] = 'RecentVotes';
$this->CONF['RECENT_LOG'] = CACHE_DIR . 'recentvotes.dat';
$this->CONF['RECENT_LIMIT'] = 100;
$this->CONF['COOKIE_EXPIRED'] = 60 * 60 * 24 * 3;
$this->CONF['BARCHART_LIB_FILE'] = LIB_DIR . 'barchart.cls.php';
$this->CONF['BARCHART_COLOR_BAR'] = ' #0000cc';
$this->CONF['BARCHART_COLOR_BG'] = 'transparent';
$this->CONF['BARCHART_COLOR_BORDER'] = 'transparent';
}
static $default_options = array();
$this->default_options =& $default_options;
if (empty($this->default_options)) {
$this->default_options['readonly'] = FALSE;
$this->default_options['addchoice'] = FALSE;
$this->default_options['barchart'] = FALSE;
}
// init
$this->options = $this->default_options;
if (function_exists('textdomain')) {
textdomain('vote');
// use i18n msgs of vote.inc.php
}
}
开发者ID:orangeal2o3,项目名称:pukiwiki-plugin,代码行数:29,代码来源:votex.inc.php
示例18: initLocalize
function initLocalize($argLanguage = null)
{
$language = 'en_US';
// 適用言語判定
if (null === $argLanguage && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
// 指定がなければHTTP_ACCEPT_LANGUAGEから判定する
$argLanguage = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
if (false !== strpos($argLanguage, "ja") || false !== strpos(strtolower($argLanguage), "jp")) {
// 強制日本語
$argLanguage = 'ja_JP';
}
if (false !== strpos($argLanguage, "zh") || false !== strpos(strtolower($argLanguage), "cn") || false !== strpos(strtolower($argLanguage), "tw")) {
// 強制中国語(簡体)
$argLanguage = 'zh_CN';
}
if (false !== strpos($argLanguage, "ja_JP") || false !== strpos($argLanguage, "zh_CN")) {
// 言語を決定
$language = $argLanguage . ".UTF-8";
}
debug("lng=" . $language);
// 言語処理
putenv("LANG={$language}");
setlocale(LC_ALL, $language);
$domain = "messages";
bindtextdomain($domain, dirname(__FILE__));
textdomain($domain);
return $language;
}
开发者ID:s-nakazawa,项目名称:UNICORN,代码行数:29,代码来源:locale.php
示例19: localization_setup
function localization_setup()
{
global $lang, $domain, $encoding, $available_locales, $preferred_lang;
// Choose a default language based on the client's HTTP headers.
// TODO: Replace HTTP::negotiateLanguage with something less buggy.
// (See http://www.dracos.co.uk/web/php/HTTP/ for details.)
$supported = $available_locales;
$preferred_lang = HTTP::negotiateLanguage($supported, $lang);
if ($preferred_lang) {
$lang = $preferred_lang;
}
// Override the default if the user has an explicit cookie or query string.
$force_lang = get_requested_lang();
if ($force_lang) {
$lang = $force_lang;
}
if ($available_locales[$lang]) {
// Set the locale.
$locale = $available_locales[$lang][0];
setlocale(LC_ALL, $locale);
// Find the locale directory.
$path_parts = pathinfo(__FILE__);
$this_dir = $path_parts["dirname"];
bindtextdomain($domain, "{$this_dir}/../locale");
// Set up gettext message localization.
textdomain($domain);
bind_textdomain_codeset($domain, $encoding);
}
// Tell clients to cache different languages separately.
header("Vary: Accept-Language");
}
开发者ID:ruthmagnus,项目名称:audacity,代码行数:31,代码来源:lang.inc.php
示例20: restore_textdomain
/**
* Restore the text domain active before the last call to
* set_textdomain().
*/
private function restore_textdomain()
{
$old_td = array_pop($this->_td_stack);
if ($old_td) {
textdomain($old_td);
}
}
开发者ID:rolwi,项目名称:koala,代码行数:11,代码来源:AbstractExtension.class.php
注:本文中的textdomain函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论