如何在TYPO3中为动作控制器提供不同的翻译?

时间:2016-05-26 09:59:17

标签: localization typo3 realurl

是否可以根据RealURLvalueMap静态表进行本地化?

例如,在 Deutsch 语言中,我有www.example.com/de/account/produktinfos/

  1. de/是语言
  2. account/ page
  3. produktinfos/控制器操作
  4. 我需要的是将produktinfos/部分翻译成英文,即www.example.com/en/account/productinfo/

    有没有办法在RealURL中翻译控制器动作?

1 个答案:

答案 0 :(得分:2)

我不知道这对你有帮助。 你可以使用一些realurl post / pre Procs。

例如:

// realurl Hook for replacing some path
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
  'encodeSpURL_postProc' => array('user_encodeSpURL_postProc'),
  'decodeSpURL_preProc' => array('user_decodeSpURL_preProc')
);

并替换URL中的控制器操作

function user_encodeSpURL_postProc(&$params, &$ref) {
  $params['URL'] = str_replace('job/job/Job/show/', 'job/', $params['URL']);
}

function user_decodeSpURL_preProc(&$params, &$ref) {
  $params['URL'] = str_replace('job/', 'job/job/Job/show/', $params['URL']);
}

博客文章 https://www.kartolo.de/2014/11/21/extbase-and-realurl/

另一种解决方案可以是这样吗?

// news pagebrowser
    'my-action' => array(
        array(
            'GETvar' => 'tx_myext[action]',
            'valueMap' => array(
                  preg_match('%/de/%',$_SERVER['REQUEST_URI'])==1?'anzeigen':'show' => 'show', 
            )
        ),
    ),