예제 #1
0
 protected function getMessagesByModule($module)
 {
     $resource = DRUPAL_ROOT . '/' . drupal_get_path('module', $module) . '/config/translations/console.' . $this->language . '.yml';
     if (file_exists($resource)) {
         $moduleTranslator = new Translator($this->language);
         $moduleTranslator->addLoader('yaml', new YamlFileLoader());
         $moduleTranslator->addResource('yaml', $resource, $this->language);
         return $moduleTranslator->getMessages($this->language);
     }
     return [];
 }
 /**
  * @dataProvider dataProviderGetMessages
  */
 public function testGetMessages($resources, $locale, $expected)
 {
     $locales = array_keys($resources);
     $_locale = null !== $locale ? $locale : reset($locales);
     $locales = array_slice($locales, 0, array_search($_locale, $locales));
     $translator = new Translator($_locale, new MessageSelector());
     $translator->setFallbackLocales(array_reverse($locales));
     $translator->addLoader('array', new ArrayLoader());
     foreach ($resources as $_locale => $domainMessages) {
         foreach ($domainMessages as $domain => $messages) {
             $translator->addResource('array', $messages, $_locale, $domain);
         }
     }
     $result = $translator->getMessages($locale);
     $this->assertEquals($expected, $result);
 }
예제 #3
0
 /**
  * @param $theme
  * @return array
  */
 protected function getMessagesByTheme($theme)
 {
     $resource = $this->getDrupalHelper()->getRoot() . '/' . drupal_get_path('theme', $theme) . '/config/translations/console.' . $this->language . '.yml';
     if (file_exists($resource)) {
         $themeTranslator = new Translator($this->language);
         $themeTranslator->addLoader('yaml', new YamlFileLoader());
         $themeTranslator->addResource('yaml', $resource, $this->language);
         return $themeTranslator->getMessages($this->language);
     }
     return [];
 }
예제 #4
0
 /**
  * @param string $locale
  * @return array
  */
 public function getAll($locale = null)
 {
     return $this->translator->getMessages($locale);
 }