本文整理汇总了PHP中i18n::getInstance方法的典型用法代码示例。如果您正苦于以下问题:PHP i18n::getInstance方法的具体用法?PHP i18n::getInstance怎么用?PHP i18n::getInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类i18n
的用法示例。
在下文中一共展示了i18n::getInstance方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testTranslationCaching
function testTranslationCaching()
{
Configure::write('Config.language', 'cache_test_po');
$i18n =& i18n::getInstance();
// reset internally stored entries
I18n::clear();
Cache::clear(false, '_cake_core_');
$lang = Configure::read('Config.language');
#$i18n->l10n->locale;
Cache::config('_cake_core_', Cache::config('default'));
// make some calls to translate using different domains
$this->assertEqual(I18n::translate('dom1.foo', false, 'dom1'), 'Dom 1 Foo');
$this->assertEqual(I18n::translate('dom1.bar', false, 'dom1'), 'Dom 1 Bar');
$this->assertEqual($i18n->__domains['dom1']['cache_test_po']['LC_MESSAGES']['dom1.foo'], 'Dom 1 Foo');
// reset internally stored entries
I18n::clear();
// now only dom1 should be in cache
$cachedDom1 = Cache::read('dom1_' . $lang, '_cake_core_');
$this->assertEqual($cachedDom1['LC_MESSAGES']['dom1.foo'], 'Dom 1 Foo');
$this->assertEqual($cachedDom1['LC_MESSAGES']['dom1.bar'], 'Dom 1 Bar');
// dom2 not in cache
$this->assertFalse(Cache::read('dom2_' . $lang, '_cake_core_'));
// translate a item of dom2 (adds dom2 to cache)
$this->assertEqual(I18n::translate('dom2.foo', false, 'dom2'), 'Dom 2 Foo');
// verify dom2 was cached through manual read from cache
$cachedDom2 = Cache::read('dom2_' . $lang, '_cake_core_');
$this->assertEqual($cachedDom2['LC_MESSAGES']['dom2.foo'], 'Dom 2 Foo');
$this->assertEqual($cachedDom2['LC_MESSAGES']['dom2.bar'], 'Dom 2 Bar');
// modify cache entry manually to verify that dom1 entries now will be read from cache
$cachedDom1['LC_MESSAGES']['dom1.foo'] = 'FOO';
Cache::write('dom1_' . $lang, $cachedDom1, '_cake_core_');
$this->assertEqual(I18n::translate('dom1.foo', false, 'dom1'), 'FOO');
}
示例2: dirname
<?php
require_once dirname(__FILE__) . '/inc/lib.inc';
require_once dirname(__FILE__) . '/inc/meta.inc';
require_once dirname(__FILE__) . '/inc/i18n.inc';
require_once dirname(__FILE__) . '/inc/config.inc';
require_once dirname(__FILE__) . '/inc/Mustache.php';
$i18n = i18n::getInstance();
$config = Config::getInstance();
$do = $_GET['do'];
if (!$do) {
$do = $_POST['do'];
}
if (!$do) {
$do = 'home';
}
$lang = $_GET['lg'];
if (!$lang) {
$lang = $_POST['lg'];
}
if (!$lang) {
$lang = 'pt';
}
global $default_collection, $default_collection_id;
$query = $_GET['q'];
$tag = preg_replace('/\\\\"/', '"', $_POST['t']);
$limit = intval($_GET['limit']);
if (!$limit) {
$limit = 10;
}
$offset = intval($_GET['offset']);
示例3: parseUserSettings
protected function parseUserSettings(array $args)
{
if (!empty($args)) {
foreach ($args as $param => $value) {
if ($param === 'lang') {
$langs = $this->registry->get('languages:langs', array('en' => 'English'), 'docbook');
/*
echo '<br />';
var_export($value);
var_export($langs);
*/
if (array_key_exists($value, $langs)) {
i18n::getInstance()->setLanguage($value);
$true_language = i18n::getInstance()->getLanguage();
//var_export($true_language);
if (!isset($_SESSION['lang']) || $_SESSION['lang'] !== $true_language) {
$_SESSION['lang'] = $true_language;
}
}
}
}
}
//var_export($args);
//exit('yo');
}