当我使用阿拉伯语时,“我的帐户”页面中的“地址”选项卡没有显示网站语言,而它应该已经被翻译。
它的占位符“空突出显示的空间在屏幕截图”仍然工作,并导航到正确的页面预期。
我使用最新的WordPress 5.5和WooCommerce 4.4.1,它工作正常,如果我切换到英语和阿拉伯语AFAIK工作之前。
https://imgur.com/a/HIZTG3h
出于测试目的,我使用TranslatePress插件插入字符串的阿拉伯语翻译,它只在使用插件时工作。
我还尝试使用开发人员控制台进行调试,并尝试使用下面的代码进行调试,但无济于事,甚至在使用默认主题时也存在这个问题。
1-负责显示菜单标签的代码:wp-content\plugins\woocommerce\templates\myaccount\navigation.php
<nav class="woocommerce-MyAccount-navigation">
<ul>
<?php foreach ( wc_get_account_menu_items() as $endpoint => $label ) : ?>
<li class="<?php echo wc_get_account_menu_item_classes( $endpoint ); ?>">
<a href="<?php echo esc_url( wc_get_account_endpoint_url( $endpoint ) ); ?>"><?php echo esc_html( $label ); ?></a>
</li>
<?php endforeach; ?>
</ul>
</nav>
<?php do_action( 'woocommerce_after_account_navigation' ); ?>
2-显示的项目代码,如果我将“地址”更改为其他内容,则会显示:wp-content\plugins\woocommerce\includes\wc-account-functions.php
$items = array(
'dashboard' => __( 'Dashboard', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' ),
'downloads' => __( 'Downloads', 'woocommerce' ),
'edit-address' => _n( 'Addresses', 'Address', (int) wc_shipping_enabled(), 'woocommerce' ),
'payment-methods' => __( 'Payment methods', 'woocommerce' ),
'edit-account' => __( 'Account details', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
3-翻译字符串:wp-content\languages\plugins\woocommerce-ar.po
#: includes/class-wc-query.php:126
#: includes/admin/settings/class-wc-settings-advanced.php:284
#: includes/wc-account-functions.php:102
msgid "Addresses"
msgid_plural "Address"
msgstr[0] "العناوين"
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
2条答案
按热度按时间pvcm50d11#
使用Loco Translate修复了这个问题,根据github问题反馈和插件目录上的woocommerce支持论坛更新了阿拉伯语翻译PO和MO文件。
https://github.com/woocommerce/woocommerce/issues/27428和https://wordpress.org/support/topic/updating-translations-after-updates/
j2cgzkjk2#
我的解决方案是使用JavaScript代码