我正在尝试将客户电子邮件翻译成中文,但在源代码中找不到任何地方:
我已经找到了所有其他内容,我认为这些内容也经过硬编码,但是我在代码中找不到它们。
这是在我的email-order-details.php
文件中:
<?php
$totals = $order->get_order_item_totals();
if ( $totals ) {
$i = 0;
foreach ( $totals as $total ) {
$i++;
?>
<tr>
<th class="td" scope="row" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['label'] ); ?></th>
<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['value'] ); ?></td>
</tr>
<?php
}
}
if ( $order->get_customer_note() ) {
?>
<tr>
<th class="td" scope="row" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php esc_html_e( 'Note:', 'woocommerce' ); ?></th>
<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php echo wp_kses_post( wptexturize( $order->get_customer_note() ) ); ?></td>
</tr>
<?php
但是我看不到在哪里可以更改以下内容:
答案 0 :(得分:1)
通过名为gettext
的内置WordPress过滤器翻译字符串可能是更好的使用方法,尤其是因为翻译应在整个网站范围内进行,而不仅应在电子邮件上进行,
add_filter( 'gettext', 'my_custom_string_translation', 999, 3 );
function my_custom_string_translation( $translated, $text, $domain ) {
$translated = str_ireplace( 'Subtotal', 'Your translation here.', $translated );
$translated = str_ireplace( 'Discount', 'Your translation here.', $translated );
$translated = str_ireplace( 'Shipping', 'Your translation here.', $translated );
$translated = str_ireplace( 'Payment Method', 'Your translation here.', $translated );
$translated = str_ireplace( 'Total', 'Your translation here.', $translated );
return $translated;
}
您可以将代码放在functions.php
或自定义插件文件中。