本文整理汇总了PHP中Zend\Translator\Translator::setLocale方法的典型用法代码示例。如果您正苦于以下问题:PHP Translator::setLocale方法的具体用法?PHP Translator::setLocale怎么用?PHP Translator::setLocale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Translator\Translator
的用法示例。
在下文中一共展示了Translator::setLocale方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
/**
* Setup test
*
* @return void
*/
public function setUp()
{
// Backup server array
$this->_server = $_SERVER;
// Clean host env
unset($_SERVER['HTTP_HOST'], $_SERVER['HTTPS'], $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT']);
// Set translator
$translator = new Translator\Translator('arrayAdapter', array('foo' => 'en_foo', 'bar' => 'en_bar'), 'en');
$translator->addTranslation(array('foo' => 'de_foo', 'bar' => 'de_bar'), 'de');
$translator->setLocale('en');
\Zend\Registry::set('Zend_Translate', $translator);
}
示例2: testOptGroupTranslationsShouldWorkAfterPopulatingElement
/**
* @group ZF-5568
*/
public function testOptGroupTranslationsShouldWorkAfterPopulatingElement()
{
$translations = array('ThisIsTheLabel' => 'Optgroup label', 'ThisShouldNotShow' => 'Foo Value', 'ThisShouldNeverShow' => 'Bar Value');
$translate = new Translator('ArrayAdapter', $translations, 'en');
$translate->setLocale('en');
$options = array('ThisIsTheLabel' => array('foovalue' => 'ThisShouldNotShow', 'barvalue' => 'ThisShouldNeverShow'));
$this->element->setTranslator($translate)->addMultiOptions($options);
$this->element->setValue('barValue');
$html = $this->element->render($this->getView());
$this->assertContains($translations['ThisIsTheLabel'], $html, $html);
}
示例3: testErrorMessagesFromProcessAjaxAreLocalizedWhenTranslateAdapterPresent
public function testErrorMessagesFromProcessAjaxAreLocalizedWhenTranslateAdapterPresent()
{
$translations = (include __DIR__ . '/TestAsset/locale/array.php');
$translate = new Translator('ArrayAdapter', $translations, 'en');
$translate->setLocale('en');
$this->form->addElements(array('foo' => array('type' => 'text', 'options' => array('required' => true, 'validators' => array('NotEmpty'))), 'bar' => array('type' => 'text', 'options' => array('required' => true, 'validators' => array('Digits')))))->setTranslator($translate);
$data = array('foo' => '');
$return = $this->form->processAjax($data);
$messages = Json::decode($return, Json::TYPE_ARRAY);
$this->assertTrue(is_array($messages));
$this->assertTrue(isset($messages['foo']));
$this->assertFalse(isset($messages['bar']));
foreach ($messages['foo'] as $key => $message) {
if (array_key_exists($key, $translations)) {
$this->assertEquals($translations[$key], $message);
} else {
$this->fail('Translation for ' . $key . ' does not exist?');
}
}
}
示例4: testRetrievingLabelRetrievesLabelWithTranslationAndPrefixAndSuffix
public function testRetrievingLabelRetrievesLabelWithTranslationAndPrefixAndSuffix()
{
$translate = new Translator('ArrayAdapter', array('My Label' => 'Translation'), 'en');
$translate->setLocale('en');
$element = new Element('foo');
$element->setView($this->getView())
->setLabel('My Label')
->setTranslator($translate);
$this->decorator->setElement($element)
->setOptions(array(
'optionalPrefix' => '> ',
'optionalSuffix' => ':',
'requiredPrefix' => '! ',
'requiredSuffix' => '*:',
));
$label = $this->decorator->getLabel();
$this->assertEquals('> Translation:', $label);
$element->setRequired(true);
$label = $this->decorator->getLabel();
$this->assertEquals('! Translation*:', $label);
}
示例5: testGettingPluralsUsingOwnRule
/**
* Tests getting plurals from lowered locale
*/
public function testGettingPluralsUsingOwnRule()
{
$lang = new Translator\Translator(Translator\Translator::AN_ARRAY, array('singular' => array('plural_0 (en)', 'plural_1 (en)', 'plural_2 (en)', 'plural_3 (en)'), 'plural' => ''), 'en');
$lang->addTranslation(array('msg1' => 'Message 1 (ru)'), 'en_US');
$lang->setLocale('en_US');
Translator\Plural::setPlural(array($this, 'customPlural'), 'en_US');
$this->assertEquals('plural_1 (en)', $lang->translate(array('singular', 'plural', 1)));
$this->assertEquals('plural_1 (en)', $lang->plural('singular', 'plural', 1));
$this->assertEquals('plural_1 (en)', $lang->translate(array('singular', 'plural', 0)));
$this->assertEquals('plural_1 (en)', $lang->plural('singular', 'plural', 0));
}
示例6: testTranslatedMessagesCanContainVariableSubstitution
/** ZF-2568 */
public function testTranslatedMessagesCanContainVariableSubstitution()
{
$localeFile = __DIR__ . '/TestAsset/locale/array.php';
$translations = (include $localeFile);
$translations['notDigits'] .= ' "%value%"';
$translator = new Translator('ArrayAdapter', $translations, 'en');
$translator->setLocale('en');
$this->element->setAllowEmpty(false)->setTranslator($translator)->addValidator('digits');
$this->element->isValid('abc');
$messages = $this->element->getMessages();
$found = false;
foreach ($messages as $key => $message) {
if ($key == 'notDigits') {
$found = true;
break;
}
}
$this->assertTrue($found, 'String Empty message not found: ' . var_export($messages, 1));
$this->assertContains(' "abc"', $message);
$this->assertContains('Translating the notDigits string', $message);
}
示例7: testTranslationWithPercent
/**
* ZF-6724
*/
public function testTranslationWithPercent()
{
$trans = new Translator\Translator('arrayAdapter', array('one' => 'eins', "two %1\$s" => "zwei %1\$s", "three %1\$s %2\$s" => "drei %1\$s %2\$s", 'vier%ig' => 'four%'), 'de');
$trans->setLocale('de');
$this->helper->setTranslator($trans);
$this->assertEquals("four%", $this->helper->direct("vier%ig"));
$this->assertEquals("zwei 100", $this->helper->direct("two %1\$s", "100"));
}
示例8: testSettingLogPriorityForLog
/**
* @ZF-10051
*/
public function testSettingLogPriorityForLog()
{
$stream = fopen('php://memory', 'w+');
$writer = new Writer\Stream($stream);
$log = new Log\Logger($writer);
$lang = new Translator\Translator(array('adapter' => Translator\Translator::AN_CSV, 'content' => __DIR__ . '/../_files', 'locale' => 'en', 'delimiter' => ',', 'logPriority' => 3, 'log' => $log));
$lang->setLocale('ru');
rewind($stream);
$this->assertContains('ERR (3)', stream_get_contents($stream));
$lang->setOptions(array('logPriority' => 1));
$lang->setLocale('sv');
rewind($stream);
$this->assertContains('ALERT (1)', stream_get_contents($stream));
}
示例9: testMultiOptionsPassedToViewHelperAreTranslated
public function testMultiOptionsPassedToViewHelperAreTranslated()
{
$element = new SelectElement('foo');
$options = array('foo' => 'This Foo Will Not Be Displayed', 'bar' => 'This Bar Will Not Be Displayed', 'baz' => 'This Baz Will Not Be Displayed');
$element->setMultiOptions($options);
$translations = array('This Foo Will Not Be Displayed' => 'This is the Foo Value', 'This Bar Will Not Be Displayed' => 'This is the Bar Value', 'This Baz Will Not Be Displayed' => 'This is the Baz Value');
$translate = new Translator('ArrayAdapter', $translations, 'en');
$translate->setLocale('en');
$element->setTranslator($translate);
$test = $element->render($this->getView());
foreach ($options as $key => $value) {
$this->assertNotContains($value, $test);
$this->assertContains($translations[$value], $test);
}
}