You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 v12中ke_search v5.1.3的fr_CA本地化导航失效求助

解决方案:TYPO3 v12 + ke_search v5.1.3 fr_CA locale分页导航翻译问题

针对你遇到的fr_CA locale下ke_search分页导航仍显示英文的问题,结合TYPO3 v12的语言机制特性,提供以下针对性修复步骤:


1. 修正TypoScript覆盖的语言键

TYPO3 v12中,针对加拿大法语(fr_CA)的TypoScript覆盖需精准匹配locale,将原代码中的fr替换为fr_CA,并确保配置放在fr_CA站点的TypoScript分支中:

plugin.tx_kesearch._LOCAL_LANG.fr_CA.pagebrowser_next = suivant
plugin.tx_kesearch._LOCAL_LANG.fr_CA.pagebrowser_prev = précédent

2. 修复locallangXMLOverride配置与自定义语言文件

调整PHP配置格式

确保locallangXMLOverride的数组结构无多余空格,放在主题扩展的ext_localconf.php或全局AdditionalConfiguration.php中:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['fr_CA']['EXT:ke_search/Resources/Private/Language/locallang_searchbox.xlf'][] = 'EXT:mytheme/Resources/Private/LanguageOverride/fr_CA.locallang_searchbox.xlf';

规范自定义语言文件内容

你的fr_CA.locallang_searchbox.xlf需严格遵循XLIFF格式:

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2">
    <file source-language="en" target-language="fr_CA" datatype="plaintext" original="messages">
        <body>
            <trans-unit id="pagebrowser_next">
                <source>Next</source>
                <target>suivant</target>
            </trans-unit>
            <trans-unit id="pagebrowser_prev">
                <source>Previous</source>
                <target>précédent</target>
            </trans-unit>
        </body>
    </file>
</xliff>

3. 检查站点语言 fallback设置

进入TYPO3站点管理,编辑fr_CA语言配置:

  • 将「Fallback Type」设置为Strict,避免找不到fr_CA翻译时自动 fallback到英文
  • 若需依赖法语(fr)翻译,可指定fr作为fallback语言

4. 强制清除全量缓存

TYPO3 v12的语言缓存优先级较高,需彻底清除:

  • 点击后台顶部「清除全部缓存」(勾选「配置缓存」「语言缓存」)
  • 手动删除typo3temp/var/cache目录下的缓存文件(必要时操作)
  • 若使用Composer,执行composer dump-autoload确保配置加载生效

5. 验证模板路径优先级

确认主题已正确覆盖ke_search的分页模板:

  1. 将原模板typo3conf/ext/ke_search/Resources/Private/Templates/Widget/Pagination.html复制到typo3conf/ext/mytheme/Resources/Private/Templates/ke_search/Widget/Pagination.html
  2. 可临时修改模板中的翻译代码测试,比如硬编码文本:
<f:if condition="{pagination.next}">
    <li>
        <kesearch:link piVars="{page: pagination.next}" keepPiVars="1" class="next">suivant</kesearch:link>
    </li>
</f:if>

若硬编码生效,说明问题出在翻译加载环节;若不生效,需检查模板路径的优先级配置。

6. 补充fr_CA语言包

ke_search默认可能无fr_CA原生翻译,可将fr语言包复制一份重命名为fr_CA版本,通过locallangXMLOverride引用,确保系统能找到对应locale的翻译文件。


内容的提问来源于stack exchange,提问作者Mohamed Masmoudi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 20:01:07