How do I translate a tab like this?
Root.Content.MyNewTab
default tabs (like Main / Meta) translated in sapphire/lang/*.php
$lang['ru_RU']['SiteTree']['TABMAIN'] = 'translation';
Seach didn't help.
This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.
Please use forum.silverstripe.org for any new questions
(announcement).
The forum archive will stick around, but will be read only.
You can also use our Slack channel
or StackOverflow to ask for help.
Check out our community overview for more options to contribute.
How do I translate a tab like this?
Root.Content.MyNewTab
default tabs (like Main / Meta) translated in sapphire/lang/*.php
$lang['ru_RU']['SiteTree']['TABMAIN'] = 'translation';
Seach didn't help.
$fields->addToTab('Root.' . _t('SiteTree.TABCONTENT', 'Content') . '.' . _t('MyFile.MYNEWTAB', 'MyNewTab'));
Should do it, in your getCMSFields() method.
Nope, doesn't work
It uses a translated string for both tab ID and tab text
<a id="tab-Root_Content_set_" href="/admin/&flush=1#Root_Content_set_">Ãœþùâðñ</a>
ID is stripped after set_ so any translated tab will have this same ID.
Compare to this perfectly translated and functional:
<a id="tab-Root_Content_set_Metadata" href="/admin/&flush=1#Root_Content_set_Metadata">Ãœõтð-ôðýýыõ</a>
It's created in SuteTree.php:
$tabMain =new Tab('Main', .......
$tabMain->setTitle(_t('SiteTree.TABMAIN', "Main"));
First line sets both ID & Title, second line overrides the Title with translated text.
I guss I should do the same somehow... but dunno how...
This could work
$tab = $fields->findOrMakeTab('Root.Content.Program');
$tab->setTitle(_t('SiteTree.MYTABNAME', "MyTab"));
$fields->addFieldToTab( 'Root.Content.Program', $tablefield );
but findOrMakeTab method of FieldSet is protected and I don't want ho hack the core
:(