Hey there,
I have an annoying problem using the _t() function in my templates. I'm trying to translate the search result template and for that matter I created two languagefiles in the mysite/lang folder, de_DE.php and en_US.php . But the template only displays the german texts, no matter which language I choose. You can try it out for yourself @ http://sng.cotec-it-systeme.de/
en_US.php
global $lang;
$lang['en_US']['Page_results']['NoResults'] = 'Sorry, your search query did not return any results';
$lang['en_US']['Page_results']['MoreAbout'] = 'more about';
$lang['en_US']['Page_results']['NextPage'] = 'Next page';
$lang['en_US']['Page_results']['PrevPage'] = 'Previous page';
$lang['en_US']['Page_results']['GoToPage'] = 'Go to page';
$lang['en_US']['SearchForm']['SearchResults'] = 'Search results';
de_DE.php
i18n::include_locale_file('sleepNgo', 'en_US');
global $lang;
if(array_key_exists('de_DE', $lang) && is_array($lang['de_DE'])) {
$lang['de_DE'] = array_merge($lang['en_US'], $lang['de_DE']);
} else {
$lang['de_DE'] = $lang['en_US'];
}
$lang['de_DE']['Page_results']['NoResults'] = '2Zu Ihrer Suche gibt es leider keine Ergebnisse.';
$lang['de_DE']['Page_results']['MoreAbout'] = '2Mehr zu';
$lang['de_DE']['Page_results']['NextPage'] = '2Nächste Seite';
$lang['de_DE']['Page_results']['PrevPage'] = '2Vorherige Seite';
$lang['de_DE']['Page_results']['GoToPage'] = '2Gehe zu Seite';
$lang['de_DE']['SearchForm']['SearchResults'] = '2Suchergebnisse';
_config.php (snippet)
i18n::set_locale('de_DE');
Translatable::set_default_locale('de_DE');
Translatable::set_allowed_locales(array(
'de_DE',
'en_US',
)
);
Object::add_extension('SiteTree', 'Translatable');
Object::add_extension('SiteConfig', 'Translatable');
Page_results.ss (snippet)
<a class="readMoreLink" href="$Link" title="<% _t('Page_results.MoreAbout','1Mehr zu') %> "{$Title}"">
<% _t('Page_results.MoreAbout','1Mehr zu') %> "{$Title}"...
</a>
What am I doing wrong?
greetings
Martin