From 98647514970cfdf1f6d0383748e387fcee3406cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Tue, 16 Mar 2021 21:27:56 +0100 Subject: [PATCH] make callable strings work in nested arrays --- src/GlossTranslator.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/GlossTranslator.php b/src/GlossTranslator.php index f869396..aad35e1 100644 --- a/src/GlossTranslator.php +++ b/src/GlossTranslator.php @@ -225,13 +225,8 @@ class GlossTranslator extends Translator $line = Arr::get($this->loaded[$namespace][$group][$locale], $item); - if (is_string($line)) { + if (is_string($line) || is_callable($line)) { // Changed return $this->makeReplacements($line, $replace); - } elseif (is_callable($line)) { - return $this->makeReplacements( - app()->call($line, $replace), - $replace - ); } elseif (is_array($line) && count($line) > 0) { foreach ($line as $key => $value) { $line[$key] = $this->makeReplacements($value, $replace); @@ -242,4 +237,13 @@ class GlossTranslator extends Translator return null; } + + protected function makeReplacements($line, array $replace) + { + if (is_callable($line) && !is_string($line)) { + $line = app()->call($line, $replace); + } + + return parent::makeReplacements($line, $replace); + } }