Localization 如何在TYPO3中为action controller提供不同的翻译?

Localization 如何在TYPO3中为action controller提供不同的翻译?,localization,typo3,realurl,Localization,Typo3,Realurl,是否可以基于的valueMap静态表进行本地化 例如,在德语中,我有www.example.com/de/account/produktinfos/ de/是一种语言 账户/页面 produktinfos/控制器动作 我需要的是将produktinfos/部分翻译成英语,即www.example.com/en/account/productinfo/ 有没有办法在RealURL中转换控制器操作?我不知道这是否对您有帮助。 您可以使用一些realurl post/pre过程 例如: // real

是否可以基于的
valueMap
静态表进行本地化

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

  • de/
    是一种语言
  • 账户/
    页面
  • produktinfos/
    控制器动作
  • 我需要的是将
    produktinfos/
    部分翻译成英语,即
    www.example.com/en/account/productinfo/


    有没有办法在RealURL中转换控制器操作?

    我不知道这是否对您有帮助。 您可以使用一些realurl post/pre过程

    例如:

    // 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']);
    }
    
    博文

    另一个解决方案可以是这样的吗

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

    我不知道这是否对你有帮助。 您可以使用一些realurl post/pre过程

    例如:

    // 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']);
    }
    
    博文

    另一个解决方案可以是这样的吗

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

    是的,我可以用这个。但是在那里我无法获得sys\u语言uid-我认为这个钩子以前触发得更多。你可以使用$GLOBALS['TSFE']->sys\u语言uid获取和检查lang uid?或者像这里一样在realurl“action”配置中使用valueMap?是的,我这样使用。你可以在这个值映射中配置不同的本地化操作吗?是的,我可以使用这个。但是在那里我无法获取sys\u语言uid-我认为这个钩子以前触发得更多。你可以使用$GLOBALS['TSFE']->sys\u语言uid获取并检查languid?或者像这里一样在realurl“action”配置中使用valueMap?是的,我这样使用。你可以在这个值映射中配置不同的本地化操作吗?