Hi,
has anybody had trouble with SS3.05, one.com and i18n? I can not get it working.
mysite/_config.php:
i18n::set_locale('da_DK');
global $allowed_i18n;
$allowed_i18n = array(
'dk' => "da_DK",
'en' => "en_US",
'de' => "de_DE"
);
i18n::$common_locales = array(
'da_DK' => array('Danish', 'Danish'),
'en_US' => array('English (US)', 'English (US)'),
'de_DE' => array('German', 'Deutsch')
);
Translatable::set_default_locale('da_DK');
Translatable::set_allowed_locales(array('de_DE', 'da_DK', 'en_US'));
Object::add_extension('SiteTree', 'Translatable');
Object::add_extension('SiteConfig', 'Translatable');
mysite/code/page.php
...
public function init() {
parent::init();
if($this->dataRecord->hasExtension('Translatable')) {
i18n::set_locale($this->dataRecord->Locale);
//i18n::set_locale(Translatable::get_current_locale());
//i18n::set_locale('de_DE');
}
//i18n::set_locale($this->dataRecord->Locale);
//i18n::set_locale(Translatable::get_current_locale());
//i18n::set_locale('de_DE');
...
mysite/lang/de_DE.php
<?php
global $lang;
//Page.ss translated fields
$lang['de_DE']['Page.ss']['HOME'] = 'Start';
$lang['de_DE']['Page.ss']['ABOUT'] = 'Über uns';
$lang['de_DE']['Page.ss']['SERVICES'] = 'Service';
$lang['de_DE']['Page.ss']['WORKS'] = 'Unsere Arbeit';
$lang['de_DE']['Page.ss']['CONTACT'] = 'Kontakt';
$lang['de_DE']['Otherthemefilename.ss']['TRANSLATABLEFIELD'] = 'Translatable field translation';
$lang['de_DE']['Page.ss']['MORE'] = 'mehr';
$lang['de_DE']['Page.ss']['PREV'] = 'zurück';
$lang['de_DE']['Page.ss']['NEXT'] = 'weiter';
$lang['de_DE']['Page.ss']['EXPERTISE'] = 'Unsere Expertise';
$lang['de_DE']['Page.ss']['ALL'] = 'Alle Kategorien';
$lang['de_DE']['Page.ss']['CONTACTFORM'] = 'Kontakt';
$lang['de_DE']['Page.ss']['NAME'] = 'Name';
$lang['de_DE']['Page.ss']['EMAIL'] = 'Email';
$lang['de_DE']['Page.ss']['MESSAGE'] = 'Nachricht';
$lang['de_DE']['Page.ss']['SENDAMESSAGE'] = 'Absenden';
$lang['de_DE']['Page.ss']['SHOWINPAGE'] = 'Zeige Seiten auf deutsch.';
$lang['de_DE']['Page']['SHOWINPAGE'] = 'Zeige Seiten auf deutsch.';
$lang['de_DE']['SHOWINPAGE'] = 'Zeige Seiten auf deutsch.';
$lang['de_DE']['Page']['SERVICES'] = 'Service';
$lang['de_DE']['Top']['SERVICES'] = 'Service';
?>
themes/project/templates/page.ss:
<% _t('Page.ss.SERVICES','Services') %> OR
<% _t('Page.SERVICES','Services') %> OR
<% _t('SERVICES','Services') %>
The t-function will not be translated???
But <% sprintf(_t('SHOWINPAGE','Show page in %s'),$Locale.Nice) %> Is translated to "Show page in german".
Can anybody help?