Add ability to translate links.

This commit is contained in:
James Cole
2017-08-25 16:03:36 +02:00
parent 72b7900ce2
commit 4b2abb6f25
4 changed files with 73 additions and 30 deletions

View File

@@ -61,6 +61,7 @@ class General extends Twig_Extension
$this->steamPositive(),
$this->activeRoutePartial(),
$this->activeRoutePartialWhat(),
];
}

View File

@@ -15,6 +15,7 @@ namespace FireflyIII\Support\Twig;
use Twig_Extension;
use Twig_SimpleFilter;
use Twig_SimpleFunction;
/**
*
@@ -43,6 +44,39 @@ class Translation extends Twig_Extension
return $filters;
}
/**
* {@inheritDoc}
*/
public function getFunctions(): array
{
return [
$this->journalLinkTranslation(),
];
}
/**
* @return Twig_SimpleFunction
*/
public function journalLinkTranslation(): Twig_SimpleFunction
{
return new Twig_SimpleFunction(
'journalLinkTranslation', function (int $linkTypeId, string $direction, string $original) {
$key = sprintf('firefly.%d_%s', $linkTypeId, $direction);
$translation = trans($key);
if($key === $translation) {
return $original;
}
return $translation;
}, ['is_safe' => ['html']]
);
}
/**
* {@inheritDoc}
*/