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

TYPO3 V12.4.24 tx_form完成器邮件语言设置问题咨询

TYPO3 12.4.24 tx_form 邮件完成器语言配置修复方案

核心问题

tx_form的「Email to receiver (you)」完成器仅显示英文(对应YAML的default)作为翻译语言选项,表单提交后发送的邮件始终为英文,尽管前端页面的意大利语(语言ID[0])翻译正常。


分步解决

1. 让后台显示意大利语选项

如果后台下拉框仅显示英文,说明form模块未识别到站点的意语配置,可通过TSconfig强制添加可选语言:
在站点级TSconfig(例如sitepackage/Configuration/TsConfig/Page/Form.tsconfig)中添加:

mod.web_form {
    settings {
        formElementsDefinition {
            EmailToReceiver {
                properties {
                    translationLanguage {
                        items {
                            0 = Italian
                            0.value = it
                            1 = English
                            1.value = default
                        }
                    }
                }
            }
        }
    }
}

清理TYPO3缓存后,后台表单编辑页的完成器下拉框将显示意大利语选项。

2. 设置默认发送语言为意大利语

后台操作方式:

找到「Email to receiver (you)」完成器,将「Translation language」下拉选项选为「Italian」,保存表单即可。

YAML直接配置(更稳定可靠):

如果直接编写表单YAML文件,可跳过后台选择,直接指定语言参数:

type: Form
identifier: your-contact-form
label: Contact Form
prototypeName: standard
finishers:
  -
    identifier: EmailToReceiver
    options:
      subject: 'Contact Request'
      translationLanguage: 'it' # 强制使用意大利语,对应语言ID[0]
      # 可选:限制后台编辑时的语言选项范围
      allowedLanguages:
        - 'it'
        - 'default'

3. 确保邮件内容加载意大利语翻译

前端翻译正常说明站点语言包已到位,但邮件由后台发送,需补充两个确认项:

  • 站点配置中,将默认语言设置为ID[0]的意大利语;
  • 表单翻译文件(如sitepackage/Resources/Private/Language/Form/locallang.xlf)包含完整的意语翻译,示例片段:
<trans-unit id="form.finisher.EmailToReceiver.subject" xml:space="preserve">
  <source>Contact Request</source>
  <target>Richiesta di contatto</target>
</trans-unit>

4. 验证配置

清理TYPO3全缓存后,提交表单测试接收邮件的语言。如果仍有异常,可查看系统日志(后台→系统→日志)排查翻译文件加载或语言配置类错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 23:36:18