Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / symfony / translation / DataCollector / TranslationDataCollector.php
index 6b5e165aad9a7bf8a1e771c808adedde7d4f4243..5d97a67006119d5785b24da7083dcab3066afad6 100644 (file)
@@ -22,14 +22,8 @@ use Symfony\Component\Translation\DataCollectorTranslator;
  */
 class TranslationDataCollector extends DataCollector implements LateDataCollectorInterface
 {
-    /**
-     * @var DataCollectorTranslator
-     */
     private $translator;
 
-    /**
-     * @param DataCollectorTranslator $translator
-     */
     public function __construct(DataCollectorTranslator $translator)
     {
         $this->translator = $translator;
@@ -44,6 +38,11 @@ class TranslationDataCollector extends DataCollector implements LateDataCollecto
 
         $this->data = $this->computeCount($messages);
         $this->data['messages'] = $messages;
+
+        $this->data['locale'] = $this->translator->getLocale();
+        $this->data['fallback_locales'] = $this->translator->getFallbackLocales();
+
+        $this->data = $this->cloneVar($this->data);
     }
 
     /**
@@ -53,6 +52,14 @@ class TranslationDataCollector extends DataCollector implements LateDataCollecto
     {
     }
 
+    /**
+     * {@inheritdoc}
+     */
+    public function reset()
+    {
+        $this->data = array();
+    }
+
     /**
      * @return array
      */
@@ -85,6 +92,16 @@ class TranslationDataCollector extends DataCollector implements LateDataCollecto
         return isset($this->data[DataCollectorTranslator::MESSAGE_DEFINED]) ? $this->data[DataCollectorTranslator::MESSAGE_DEFINED] : 0;
     }
 
+    public function getLocale()
+    {
+        return !empty($this->data['locale']) ? $this->data['locale'] : null;
+    }
+
+    public function getFallbackLocales()
+    {
+        return (isset($this->data['fallback_locales']) && count($this->data['fallback_locales']) > 0) ? $this->data['fallback_locales'] : array();
+    }
+
     /**
      * {@inheritdoc}
      */
@@ -101,12 +118,12 @@ class TranslationDataCollector extends DataCollector implements LateDataCollecto
 
             if (!isset($result[$messageId])) {
                 $message['count'] = 1;
-                $message['parameters'] = !empty($message['parameters']) ? array($this->cloneVar($message['parameters'])) : array();
+                $message['parameters'] = !empty($message['parameters']) ? array($message['parameters']) : array();
                 $messages[$key]['translation'] = $this->sanitizeString($message['translation']);
                 $result[$messageId] = $message;
             } else {
                 if (!empty($message['parameters'])) {
-                    $result[$messageId]['parameters'][] = $this->cloneVar($message['parameters']);
+                    $result[$messageId]['parameters'][] = $message['parameters'];
                 }
 
                 ++$result[$messageId]['count'];