当前位置: 首页>>代码示例>>PHP>>正文


PHP bind_textdomain_codeset函数代码示例

本文整理汇总了PHP中bind_textdomain_codeset函数的典型用法代码示例。如果您正苦于以下问题:PHP bind_textdomain_codeset函数的具体用法?PHP bind_textdomain_codeset怎么用?PHP bind_textdomain_codeset使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了bind_textdomain_codeset函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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 <karlheinz.toni@gmail.com>
 * @author Boleslaw Tekielski <bolek@gvault13.pl>
 * @author Elan Ruusamäe <glen@delfi.ee>
 * @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: iniTranslation

 /**
  * Init Translation system using gettext
  *
  * @param object $locale instance of Zend_Locale
  *
  * @return void
  */
 public function iniTranslation($locale, array $availableDomains = array())
 {
     if (!$locale instanceof Zend_Locale) {
         $locale = new Zend_Locale($locale);
     }
     $localeDirPath = $this->getConfig('localeDirPath');
     // init available gettext domains
     foreach ($availableDomains as $domain) {
         bindtextdomain($domain, $localeDirPath);
         bind_textdomain_codeset($domain, 'UTF-8');
     }
     // set first domain has default domain
     $defaultDomain = array_shift($availableDomains);
     textdomain($defaultDomain);
     $localeWithEncoding = $locale . '.utf8';
     // mandatory for gettext
     if (putenv('LANGUAGE') != $locale->getLanguage()) {
         throw new BaseZF_Service_GetText_Exception(sprintf('Could not set the ENV variable LANGUAGE = %s', $locale));
     }
     if (setlocale(LC_MESSAGES, $localeWithEncoding) !== $localeWithEncoding) {
         throw new BaseZF_Service_GetText_Exception(sprintf('Unable to set locale "%s" to value "%s", please check installed locales on system', 'LC_MESSAGES', $localeWithEncoding));
     }
     if (setlocale(LC_TIME, $localeWithEncoding) !== $localeWithEncoding) {
         throw new BaseZF_Service_GetText_Exception(sprintf('Unable to set locale "%s" to value "%s", please check installed locales on system', 'LC_TIME', $localeWithEncoding));
     }
     return $this;
 }
开发者ID:hthetiot,项目名称:basezf,代码行数:34,代码来源:GetText.php

示例3: 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

示例4: translate

function translate($lang, $test = 0)
{
    global $LOCALE_PATH;
    putenv("LANGUAGE={$lang}");
    bindtextdomain("zarafa", "{$LOCALE_PATH}");
    if (STORE_SUPPORTS_UNICODE == false) {
        bind_textdomain_codeset('zarafa', "windows-1252");
    } else {
        bind_textdomain_codeset('zarafa', "utf-8");
    }
    textdomain('zarafa');
    setlocale(LC_ALL, $lang);
    $trans_array["Sent Items"] = _("Sent Items");
    $trans_array["Outbox"] = _("Outbox");
    $trans_array["Deleted Items"] = _("Deleted Items");
    $trans_array["Inbox"] = _("Inbox");
    $trans_array["Calendar"] = _("Calendar");
    $trans_array["Contacts"] = _("Contacts");
    $trans_array["Drafts"] = _("Drafts");
    $trans_array["Journal"] = _("Journal");
    $trans_array["Notes"] = _("Notes");
    $trans_array["Tasks"] = _("Tasks");
    $trans_array["Junk E-mail"] = _("Junk E-mail");
    return $trans_array;
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:25,代码来源:exec.zarafa7.foldersnames.php

示例5: setDomain

 /** Set domain name.
  *
  * @param string  $dir Directory path, where to find domain. In this directory current locale named subdirectory will be searched.
  * @param string  $domain Domain name - filename without MO extension.
  * @param string  $codeset Domain file codeset.
  *
  * @return $this
  */
 public final function setDomain($dir, $domain, $codeset = 'UTF-8')
 {
     bindtextdomain($domain, $dir);
     bind_textdomain_codeset($domain, $codeset);
     $this->domains[] = $domain;
     return $this;
 }
开发者ID:sharkodlak,项目名称:php-gettext,代码行数:15,代码来源:BasicTranslator.php

示例6: setOptions

 public function setOptions($options)
 {
     if (!is_array($options)) {
         throw new \Exception('Invalid options');
     }
     if (!isset($options['locale'])) {
         throw new \Exception('Parameter "locale" is required');
     }
     if (strpos($options['locale'], '..') !== false) {
         throw new \Exception('Locale has dangerous characters');
     }
     if (!isset($options['domains'])) {
         throw new \Exception('domains must be specified and it must be an array.');
     }
     if (isset($options['compileAlways']) && $options['compileAlways'] === true) {
         $compiler = new Compiler();
         $compiler->compileLocale(['locale' => $options['locale'], 'domains' => $options['domains'], 'localeDir' => $options['localeDir'], 'localeCacheDir' => $options['localeCacheDir']]);
     }
     $codeset = 'UTF-8';
     putenv('LANG=' . $options['locale'] . '.' . $codeset);
     putenv('LANGUAGE=' . $options['locale'] . '.' . $codeset);
     setlocale(LC_ALL, $options['locale'] . '.' . $codeset);
     foreach ($options['domains'] as $domain) {
         bindtextdomain($domain, $options['localeCacheDir']);
         bind_textdomain_codeset($domain, $codeset);
     }
     $this->domains = $options['domains'];
     $this->defaultDomain = reset($options['domains']);
     textdomain($this->defaultDomain);
 }
开发者ID:rub3nlh,项目名称:webird,代码行数:30,代码来源:Gettext.php

示例7: __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

示例8: bindTextDomain

 /**
  * {@inheritdoc}
  */
 public function bindTextDomain($textDomain, $codeSet = null)
 {
     $this->bendTextDomains[$textDomain] = array();
     $textDomainDir = bindtextdomain($textDomain, $this->directory);
     $translationFileDir = $textDomainDir . DIRECTORY_SEPARATOR . StringUtils::beforeFirst(setlocale(LC_MESSAGES, '0'), '.') . DIRECTORY_SEPARATOR . 'LC_MESSAGES';
     $moFilePath = $translationFileDir . DIRECTORY_SEPARATOR . $textDomain . '.mo';
     $poFilePath = $translationFileDir . DIRECTORY_SEPARATOR . $textDomain . '.po';
     if (file_exists($moFilePath) === true) {
         $this->bendTextDomains[$textDomain]['file_path'] = $moFilePath;
         $this->bendTextDomains[$textDomain]['type'] = 'mo';
     } elseif (file_exists($poFilePath) === true && $this->poParserInterface instanceof PoParserInterface === true) {
         $this->bendTextDomains[$textDomain]['file_path'] = $poFilePath;
         $this->bendTextDomains[$textDomain]['type'] = 'po';
         $this->bendTextDomains[$textDomain]['plural_expr'] = false;
         $this->bendTextDomains[$textDomain]['entries'] = $this->poParserInterface->extract($poFilePath);
         $this->bendTextDomains[$textDomain]['plural_expr'] = '$' . $this->defaultPluralRule . ';';
         // Default plural rule
         $this->bendTextDomains[$textDomain]['plurals'] = 2;
         if (isset($this->bendTextDomains[$textDomain]['entries']['']) === true) {
             foreach ($this->bendTextDomains[$textDomain]['entries']['']['msgstr'] as $meta) {
                 if (preg_match('/Plural-Forms:\\s+nplurals=(\\d+);\\s+(plural=[^;]+)/', $meta, $matches) === 0) {
                     continue;
                 }
                 $this->bendTextDomains[$textDomain]['plurals'] = (int) $matches[1];
                 $this->bendTextDomains[$textDomain]['plural_expr'] = '$' . $matches[2] . ';';
             }
         }
     } else {
         return;
     }
     $textDomainCodeSet = $codeSet !== null ? $codeSet : $this->defaultCodeSet;
     if (bind_textdomain_codeset($textDomain, $textDomainCodeSet) === $textDomainCodeSet) {
         $this->bendTextDomains[$textDomain]['code_set'] = $textDomainCodeSet;
     }
 }
开发者ID:timesplinter,项目名称:tsfw-i18n,代码行数:38,代码来源:GetTextTranslator.php

示例9: init_gettext

 /**
  * Initialise our use of Gettext
  */
 function init_gettext($domain, $location)
 {
     bindtextdomain($domain, $location);
     $codeset = bind_textdomain_codeset($domain, "UTF-8");
     textdomain($domain);
     dbg_error_log("I18N", "Bound domain =%s= to location =%s= using character set =%s=", $domain, $location, $codeset);
 }
开发者ID:DavidGarciaCat,项目名称:eyeos,代码行数:10,代码来源:Translation.php

示例10: defineLanguage

 public function defineLanguage()
 {
     setlocale(LC_MESSAGES, $this->locales[$this->language]);
     bindtextdomain($this->route['view'], 'language');
     textdomain($this->route['view']);
     bind_textdomain_codeset($this->route['view'], 'UTF-8');
 }
开发者ID:semaster,项目名称:2FAuth-Steganography,代码行数:7,代码来源:router.class.php

示例11: 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

示例12: 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

示例13: bindTextDomainCodeset

 /**
  * Specify the character encoding in which the messages
  * from the DOMAIN message catalog will be returned.
  *
  * @param  string $domain
  * @param  string $codeset
  * @return string
  */
 public function bindTextDomainCodeset($domain, $codeset)
 {
     if ($this->driver->hasLocaleAndFunction('bind_textdomain_codeset')) {
         return bind_textdomain_codeset($domain, $codeset);
     }
     return $this->driver->bindTextDomainCodeset($domain, $codeset);
 }
开发者ID:pauluse,项目名称:laravel-gettext,代码行数:15,代码来源:Gettext.php

示例14: registerTextDomains

 protected function registerTextDomains()
 {
     foreach (func_get_args() as $domain) {
         bindtextdomain($domain, __DIR__ . '/../Resources/translations');
         bind_textdomain_codeset($domain, 'UTF-8');
     }
 }
开发者ID:Evpok,项目名称:LEjeu,代码行数:7,代码来源:ViewSettings.php

示例15: 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


注:本文中的bind_textdomain_codeset函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。