请注意,以下代码段中的’woocommerce’=== $ domain部分可让您独享WooCommerce插件字符串。在这一行中,您无法翻译由主题或其他插件生成的字符串。随时将其删除,但要小心,因为您可能最终会翻译很多您可能真的不想删除的其他内容。
另外,!is_admin()检查可确保翻译仅在前端执行,因此将排除WordPress仪表板。这也是一个很好的性能技巧。
最后,请注意$ translated和$ untranslated之间的区别:如果您使用英语经营商店,则可以使用两者中的任何一种,因为$ translated = $ untranslated。
另一方面,如果您使用非英语的语言来运行单语商店,则$ translated应该是您的语言中的字符串,而$ untranslated是英语中的原始字符串 –这意味着您要重命名从西班牙语到西班牙语,应使用$ untranslated。有点复杂的解释,所以我建议尝试/错误。
add_filter( 'gettext', 'bbloomer_translate_woocommerce_strings', 999, 3 );
function bbloomer_translate_woocommerce_strings( $translated, $untranslated, $domain ) {
if ( ! is_admin() && 'woocommerce' === $domain ) {
switch ( $translated) {
case 'Sale!' :
$translated = 'On Offer';
break;
case 'Product Description' :
$translated = 'Product Specifications';
break;
// ETC
}
}
return $translated;
}