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.

Archive

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Translate a tab?


Reply

4 Posts   1847 Views

Avatar
zanami.ru

28 March 2008 at 8:10pm Community Member, 6 Posts

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.

Avatar
simon_w

28 March 2008 at 8:21pm (Last edited: 28 March 2008 8:28pm), Forum Moderator, 474 Posts

$fields->addToTab('Root.' . _t('SiteTree.TABCONTENT', 'Content') . '.' . _t('MyFile.MYNEWTAB', 'MyNewTab'));

Should do it, in your getCMSFields() method.

Avatar
zanami.ru

28 March 2008 at 9:26pm Community Member, 6 Posts

Nope, doesn't work

It uses a translated string for both tab ID and tab text

<a id="tab-Root_Content_set_" href="/admin/&amp;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/&amp;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...

Avatar
zanami.ru

29 March 2008 at 7:58pm Community Member, 6 Posts

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

:(