首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何翻译$url_handlers?

如何翻译$url_handlers?
EN

Stack Overflow用户
提问于 2016-08-26 17:01:48
回答 1查看 144关注 0票数 3

我有一种情况,我需要为不同的国家翻译以下$url_handlers

所以在英文网站上,网址是这样的:http://website.com/gyms/boston/group-training

我需要能够翻译URL的“小组训练”部分。我使用_t()方法从头到尾翻译了网站的其余部分。

我当前的设置:

代码语言:javascript
复制
class GymLocationPage_Controller extends Page_Controller {

    private static $allowed_actions = array(
        'currentSpecials',
        'sevenDayFreeTrial',
        'groupTraining'
    );

    private static $url_handlers = array(
        'current-specials' => 'currentSpecials',
        'trial' => 'sevenDayFreeTrial',
        'group-training' => 'groupTraining'
    );


}

如何做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-26 23:38:50

您可以在控制器的init()函数中更新配置,如下所示:

代码语言:javascript
复制
public function init() {

    parent::init();

    // Define your translated actions.
    $translatedCurrentSpecials   = _t('Actions.CURRENT_SPECIALS', 'aktuella-kampanjer');
    $translatedSevenDayFreeTrial = _t('Actions.SEVEN_DAY_TRIAL',  'sjudagars-prova-pa-period');

    // Define your url handlers.
    $urlHandlers           = $this->config()->url_handlers;
    $translatedUrlHandlers = [
        $translatedCurrentSpecials   => 'currentSpecials',
        $translatedSevenDayFreeTrial => 'sevenDayFreeTrial'
    ];

    // Update the config.
    Config::inst()->update(
        $this->class, 
        'url_handlers', 
        $translatedUrlHandlers + $urlHandlers // Important to prepend and not append.
    );

}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39162402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档