Eine Funktion für sog. -Pretty Dates- ist im symfony Date Helper ja enthalten. Diese ist aber standardmäßig auf Englisch lokalisiert. Will man die Ausgabe:
2 minutes ago
aber lieber zB auf Deutsch haben:
vor 2 Minuten
muss man das symfony erstmal beibringen.
Zunächst einmal muss man in der settings.yml die culture einstellen:
... all: .settings: i18n: on default_culture: de_DE # Default user culture ...
Dann im apps/frontend/i18n Ordner ein Wörterbuch anlegen: messages.de_DE.xml.
In diesem file stehen die Übersetzungen.
Hier ist mal der für time_ago_in_words
<?xml version="1.0" ?> <xliff version="1.0"> <file orginal="global" source-language="en_US" datatype="plaintext"> <body> <trans-unit id="3"> <source>1 minute</source> <target>1 Minute</target> </trans-unit> <trans-unit id="4"> <source>%minutes% minutes</source> <target>%minutes% Minuten</target> </trans-unit> <trans-unit id="5"> <source>less than a minute</source> <target>weniger als eine Minute</target> </trans-unit> <trans-unit id="6"> <source>less than 5 seconds</source> <target>weniger als 5 Sekunden</target> </trans-unit> <trans-unit id="7"> <source>less than 10 seconds</source> <target>weniger als 10 Sekunden</target> </trans-unit> <trans-unit id="8"> <source>less than 20 seconds</source> <target>weniger als 20 Sekunden</target> </trans-unit> <trans-unit id="9"> <source>half a minute</source> <target>eine halbe Minute</target> </trans-unit> <trans-unit id="10"> <source>%minutes% minutes</source> <target>%minutes% Minuten</target> </trans-unit> <trans-unit id="11"> <source>%minutes% minutes</source> <target>%minutes% Minuten</target> </trans-unit> <trans-unit id="12"> <source>about 1 hour</source> <target>ca. 1 Stunde</target> </trans-unit> <trans-unit id="13"> <source>about %hours% hours</source> <target>ca. %hours% Stunden</target> </trans-unit> <trans-unit id="14"> <source>1 day</source> <target>1 Tag</target> </trans-unit> <trans-unit id="15"> <source>%days% days</source> <target>%days% Tage</target> </trans-unit> <trans-unit id="16"> <source>about 1 month</source> <target>ca. 1 Monat</target> </trans-unit> <trans-unit id="17"> <source>%months% months</source> <target>%months% Monate</target> </trans-unit> <trans-unit id="18"> <source>about 1 year</source> <target>ca. 1 Jahr</target> </trans-unit> <trans-unit id="19"> <source>over %years% years</source> <target>über %years% Jahre</target> </trans-unit> </body> </file> </xliff>
Dann den Cache leeren und fertig.
Ach so, ganz wichtig:
If you want to see the application with the new default culture, you need to clear the domain cookies or restart your browser.
One Reply to “lokalisiertes time_ago_in_words für symfony”
Comments are closed.