Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

[SOLVED] l10n for admin interface and implications on updates

Go to End

3 Posts   1145 Views


Community Member, 21 Posts

25 November 2009 at 2:18am

Edited: 27/11/2009 8:13am

I do some localisation in the admin interface, i. e. a previously defined CalendarDateField which is labled <Date>.
In my ArticlePage.php I have something like that:
$fields->addFieldToTab('Root.Content.Main', new CalendarDateField('Date', _t('ArticlePage.DATE', 'Date')), 'Content');

in de_DE.php I added this entry:
$lang['de_DE']['ArticlePage']['DATE'] = 'Publikationsdatum';

The result is like expected: The label changed to <Publikationsdatum>. So far so good.

My question is concerning a future update of SilverStripe. Am I right, that SS will override my personal translations when doing it that way?

Question 2: Is there a recommended way to do this to avoid this kind of thing?

Thanks for your help.


Community Member, 283 Posts

26 November 2009 at 6:28am

Just keep a copy of your de_DE.php page handy and you should be OK. You will have to replace the file once an upgrade overwrites it though.

Changes like this, if they are universally needed, should likely be submitted to the codebase:


Community Member, 21 Posts

27 November 2009 at 8:12am

Well thanks for your comment, but this is definitivly not solving the problem.

Anybody else interested in this topic should have a look at this very interesting article at

It covers the way SS is searching for language files and comes up with a solution for avoiding your translation being overridden by any update in a css-cascading-style manner.

Worth reading.