Last active
December 3, 2020 16:40
-
-
Save janjouketjalsma/b0d37329bda32383f2ec7ba8b685a814 to your computer and use it in GitHub Desktop.
Translate twig date extension (time_diff filter) to Dutch (Nederlands) using array loader in a custom non-symfony application
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Create translator for date diff | |
$translator = new Symfony\Component\Translation\Translator('nl_NL'); | |
$translator->addLoader('array', new Symfony\Component\Translation\Loader\ArrayLoader()); | |
$translator->addResource('array', array( | |
'diff.ago.second' => 'een seconde geleden|%count% seconden geleden', | |
'diff.ago.minute' => 'een minuut geleden|%count% minuten geleden', | |
'diff.ago.hour' => 'een uur geleden|%count% uur geleden', | |
'diff.ago.day' => 'een dag geleden|%count% dagen geleden', | |
'diff.ago.month' => 'een maand geleden|%count% maanden geleden', | |
'diff.ago.year' => 'een jaar geleden|%count% jaar geleden', | |
), 'nl_NL', 'date'); | |
// Add extensions | |
$view->addExtension(new Twig_Extensions_Extension_Date($translator)); |
Ah, I think my problem is that I'm using Twig without Symfony. I tried adding in those particular components but it failed, but I haven't tried adding in an older version. I'll give it a shot later. Might just write my own implementation of it though
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey @sudofox, just checked and
Translator
implementsTranslatorInterface
(see https://github.com/symfony/translation/blob/52f486a707510884450df461b5a6429dd7a67379/Translator.php#L92) so that should be no issue.The package that is required for the
Translator
class issymfony/translation
. Could you verify if it is installed? If you don't have it you can install it using:composer require symfony/translation
.If you are getting an error about
Symfony\Component\Translation\TranslatorInterface
then maybe you need a lower version of the translation package (I think<= 3.4
) because in higher symfony versions the include path changed to:Symfony\Contracts\Translation\TranslatorInterface
.