如何在WooCommerce多语言环境下修改翻译字符串中的少量文字?
修改WooCommerce法语店铺的「新账户」邮件与「我的账户」页面翻译字符串
方法1:使用Loco Translate插件(推荐,无需代码)
- 安装并激活Loco Translate插件
- 进入Loco Translate → WooCommerce → 选择法语(fr_FR)翻译文件
- 搜索对应原字符串(建议同时匹配英文原句,确保定位准确):
- 新账户邮件原句(英文):
View your orders, change your password, and manage your account details.,找到对应的法语翻译项 - 我的账户页面原句(英文):
and change your password and account details.,找到对应的法语翻译项
- 新账户邮件原句(英文):
- 修改法语翻译内容,插入
créer ou:- 邮件翻译改为
…vos commandes, créer ou changer votre… - 账户页面翻译改为
…ainsi que créer ou changer votre…
- 邮件翻译改为
- 保存翻译文件时,选择「自定义」存储位置,避免WooCommerce更新覆盖修改内容
方法2:通过主题functions.php添加钩子函数(代码方式)
修改「新账户」邮件内容
在主题的functions.php文件末尾添加以下代码:
add_filter( 'woocommerce_email_content_customer_new_account', 'custom_french_new_account_email_text', 20, 3 ); function custom_french_new_account_email_text( $content, $email, $user ) { if ( get_locale() === 'fr_FR' ) { $original_text = 'vos commandes, changer votre'; $modified_text = 'vos commandes, créer ou changer votre'; $content = str_replace( $original_text, $modified_text, $content ); } return $content; }
修改「我的账户」页面内容
继续添加以下代码:
add_filter( 'gettext', 'custom_french_my_account_text', 20, 3 ); function custom_french_my_account_text( $translated_text, $text, $domain ) { if ( $domain === 'woocommerce' && get_locale() === 'fr_FR' ) { $original_text = 'ainsi que changer votre'; $modified_text = 'ainsi que créer ou changer votre'; $translated_text = str_replace( $original_text, $modified_text, $translated_text ); } return $translated_text; }
- 注意:修改主题文件前请先备份,或使用子主题编写代码,避免主题更新丢失修改内容
关于直接修改模板的问题
直接修改WooCommerce英文模板会破坏默认翻译逻辑,导致系统无法调用法语翻译文件,因此必须通过翻译替换或钩子函数的方式,在保留多语言功能的前提下修改特定字符串。
内容的提问来源于stack exchange,提问作者jean-christophe
相关产品推荐
相关产品推荐

