Silverstripe i18n的困境

时间:2016-10-15 21:54:28

标签: php internationalization silverstripe

在silverstripe中使用i18n _t()的东西有一些疯狂的令人沮丧的问题。 (我确定我有这个工作,但现在不是)。

我目前有一个php联系表单,我需要翻译成法语。这是我的代码片段来自php页面。编辑第二个参数会显示所显示文本的变化,它似乎永远不会找到翻译

public function generalContactForm() { 
    $fields = new FieldList( 
        new TextField('FirstName', '', _t('ContactUs.FirstName','FIRST NAME')), 
        new TextField('Surname', '', _t('ContactUs.Surname','Surname')), 
        new EmailField('Email', '', 'Email'), 
        new TextField('Phone', '', _t('ContactUs.Phone' ,'Phone No.')), 
        new TextField('Country', '', _t('ContactUs.Country','Country Of Origin')), 
        new TextareaField('Message', '', _t('ContactUs.Comments','COMMENTS'))
    ); 
    $actions = new FieldList( 
        new FormAction('submitGeneralForm', _t('Main.Submit','Submit')) 
    ); 
    return new Form($this, 'generalContactForm', $fields, $actions); 
}

然后我将我的fr.yml放在mysite / lang / fr.yml中。(我也尝试了fr_FR.yml)。我已经使用在线验证器验证了yaml文件的完整性并且一切正常。

fr:
  Main:
    Submit: 'Submit TBT'
  ContactUs:
    FirstName: 'Prenom'
    Surname: 'Surname TBT' 
    Phone: 'Phone TBT'
    Country: 'Country TBT'
    Comments: 'Comments TBT'
    Response: 'Canned Response TBT'
    Company: 'Company TBT'
    Position: 'Position TBT'
    Website: 'Website TBT'
    Minimum: 'Minimin TBT'
    Maximum: 'Maximum TBT'

我尝试将lang文件夹复制到网站结构中的几乎所有可以想象的位置,包括themes / name / lang,没有运气以及确保在每次移动后都执行flush = all。请帮忙!

0 个答案:

没有答案