Yii多语言URL路由

I have a problem on multiple language URL routing

How to convert

http://localhost/testimonialDetails/pinturas-mataavenida/language/en

to

http://localhost/en/testimonialDetails/pinturas-mataavenida

problem is that when any "-" inside URL slug the createUrl() function not able to route this. is this problem on my code

My function

$this->createUrl("testimonialDetails/$testimonials->url");

http://localhost/testimonialDetails/pinturas-mataavenida/language/en

if i replace "-" with "_" (underscore)

http://localhost/en/testimonialDetails/pinturas_mataavenida

then it working fine

Override createUrl function

class UrlManager extends CUrlManager {

    public function createUrl   ($route, $params = array(), $ampersand = '&') {
        if (!isset($params['language'])) {
            if (Yii::app()->user->hasState('language'))
                Yii::app()->language = Yii::app()->user->getState('language');
            else if (isset(Yii::app()->request->cookies['language']))
                Yii::app()->language = Yii::app()->request->cookies['language']->value;
            $params['language'] = Yii::app()->language;
        }
        return parent::createUrl($route, $params, $ampersand);
    }

}

This is my urlManager Rule

 '<language:(es|da|en)>/<module:\w+>/product/application/<id:\d+>' => '<module>/product/application',
                '<language:(es|da|en)>/' => 'site/index',
                '<language:(es|da|en)>/testimonialDetails/<url:[\w-]+>' => 'testimonials/details',                
                '<language:(es|da|en)>/productdetails/<url:.+>' => 'product/productdetails',

                //'productdetails/<url:.+>' => 'product/productdetails',


                '<language:(es|da|en)>/<action:(contact)>/*' => 'site/<action>',
                '<language:(es|da|en)>/<controller:\w+>' => '<controller>',
                '<language:(es|da|en)>/<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<language:(es|da|en)>/<module:\w+>/<controller:(admin|profileField)>/<id:\d+>' => '<module>/<controller>/view',
                '<language:(es|da|en)>/<module:\w+>/<controller:(admin|profileField)>/<action:\w+>/<id:\d+>' => '<module>/<controller>/<action>',
                '<language:(es|da|en)>/<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
                '<language:(es|da|en)>/<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<language:(es|da|en)>/<controller:\w+>/<action:\w+>/*' => '<controller>/<action>',

Did i miss something . Please help ,

sorry For my bad english

thanx in advance.