1
0
Fork 0
mirror of https://github.com/archtechx/gloss.git synced 2025-12-12 11:14:04 +00:00

make callable strings work in nested arrays

This commit is contained in:
Samuel Štancl 2021-03-16 21:27:56 +01:00
parent b7df00dd1f
commit 9864751497

View file

@ -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);
}
}