本文整理汇总了PHP中JMS\TranslationBundle\Model\MessageCatalogue::get方法的典型用法代码示例。如果您正苦于以下问题:PHP MessageCatalogue::get方法的具体用法?PHP MessageCatalogue::get怎么用?PHP MessageCatalogue::get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JMS\TranslationBundle\Model\MessageCatalogue
的用法示例。
在下文中一共展示了MessageCatalogue::get方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testGet
public function testGet()
{
$catalogue = new MessageCatalogue();
$catalogue->add($message = Message::create('foo'));
$this->assertTrue($catalogue->hasDomain('messages'));
$this->assertSame($message, $catalogue->get('foo'));
}
示例2: setConfig
/**
* @param Config $config
*/
private function setConfig(Config $config)
{
$this->config = $config;
$this->logger->info(sprintf("Loading catalogues from \"%s\"", $config->getTranslationsDir()));
$this->existingCatalogue = new MessageCatalogue();
// load external resources, so current translations can be reused in the final translation
foreach ($config->getLoadResources() as $resource) {
$this->existingCatalogue->merge($this->loader->loadFromDirectory($resource, $config->getLocale()));
}
$this->existingCatalogue->merge($this->loader->loadFromDirectory($config->getTranslationsDir(), $config->getLocale()));
$this->extractor->reset();
$this->extractor->setDirectories($config->getScanDirs());
$this->extractor->setExcludedDirs($config->getExcludedDirs());
$this->extractor->setExcludedNames($config->getExcludedNames());
$this->extractor->setEnabledExtractors($config->getEnabledExtractors());
$this->logger->info("Extracting translation keys");
$this->scannedCatalogue = $this->extractor->extract();
$this->scannedCatalogue->setLocale($config->getLocale());
// merge existing messages into scanned messages
foreach ($this->scannedCatalogue->getDomains() as $domainCatalogue) {
foreach ($domainCatalogue->all() as $message) {
if (!$this->existingCatalogue->has($message)) {
continue;
}
$existingMessage = clone $this->existingCatalogue->get($message->getId(), $message->getDomain());
$existingMessage->mergeScanned($message);
$this->scannedCatalogue->set($existingMessage, true);
}
}
if ($this->config->isKeepOldMessages()) {
foreach ($this->existingCatalogue->getDomains() as $domainCatalogue) {
foreach ($domainCatalogue->all() as $message) {
if ($this->scannedCatalogue->has($message)) {
continue;
}
$this->scannedCatalogue->add($message);
}
}
}
//keep old translations translated
if ($this->config->isKeepOldTranslationMessages()) {
$locale = $this->scannedCatalogue->getLocale();
/** @var MessageCatalogue $domainCatalogue */
foreach ($this->scannedCatalogue->getDomains() as $domainCatalogue) {
/** @var Message $message */
foreach ($domainCatalogue->all() as $message) {
$translated = $this->translator->trans($message->getId(), array(), $message->getDomain(), $locale);
$message->setLocaleString($translated);
$message->setNew(false);
}
}
}
}