Translation and plugin structure
-
Hello
How can I translate words like “Delivery Estimate” on the product page into German? I’ve seen that the text output is hard coded into the plugin without considering any translation. There is no translation file in the plugin directory. Would it be possible to change that?
I anyway noticed that the entire plugin is written in a single file. Does that mean that admin functions are also loaded in the frontend? That wouldn’t exactly be good for performance, would it? Why is it?
Thanks in advance for your help.
Best regards,
Fletsch
-
Hello Fletsch,
You are correct. The “Delivery Estimate” text is currently hardcoded in the PRO product page estimate graphic, which is a PRO-only feature.
A fix is planned. It will add a setting so the title can be customized or translated. The update should be released over the next few days and will require updating both the GPL and PRO versions to at least 2.1.17 and 1.1.7 respectively.
Regarding the plugin structure, it is consolidated in a small file. Functionality uses native WP hooks. So frontend code only is only called for front end functions, and admin code only runs in admin.
Best regards,
RhettHi Rhett
Thanks a lot for your answer. I’m looking forward to the new version. Is it possible that also the text in the e-mails is hardcoded? Because I get a mix of the English original as well as the text added to the plugin settings in German. Which looks like: “Delivery Estimate: Lieferdatum: Fr. 19.06.2026 – Di. 23.06.2026”.
Also I wanted to ask if the plugin isn’t fully HPOS compatible? I’m running my store in HPOS without legacy mode as all other plugins are fully supporting HPOS mode. I’d like to use the order meta field “delivery_est” for further use in PDFs and so on but it isn’t displayed and I think it is because the field is only saved to “wp_postmeta” instead of “wp_wc_orders_meta” whre all other order meta data are. Is it possible to add full HPOS support?
Beside that it’s a really great plugin..! 🙂
Best regards,
FletschHi Fletsch,
Thank you. Your feedback is appreciated.
Please try unchecking the Option to display estimate in email. If you have already manually added the variable to the emails then it may be duplicating the output as you have shown. Please let me know what you find.
Regarding HPOS, the plugin is already compatible with HPOS and should itself function correctly with HPOS enabled. WooCommerce maintains backward compatibility for plugins that use post meta functions, which is why Ship Estimate continues to work in HPOS mode.
The reason you do not currently see the delivery_est field alongside other order metadata is that the plugin stores the value using the traditional meta functions.
We will expand this in the near future so that estimate values are also stored using WooCommerce’s order meta. This will make the fields easier to access from HPOS-strict plugins like you are using.
Hello
The problem with the translations is that the text is hardcoded into the plugin without any translation option.
Like here for example for the box on the order confirmation page (Line 1596) “Delivery Estimate”:$del_day=get_post_meta($order_id,'delivery_est_days',true);
if(empty($del_day)) return;
$del_dsp="$del_day via $method";
$del_dsp="
<script>
function wse_show_est() {
var p=document.getElementsByClassName('woocommerce-thankyou-order-details')[0];
var i=document.createElement('li');
i.className='woocommerce-order-overview__date date';
i.innerHTML=\"Delivery Estimate<strong>$del_dsp</strong>\";
p.appendChild(i);
}
wse_show_est();
</script>";
echo $google_opt.$aw_conversion.$del_dsp;Also for the following functions:
- Admin order view (Line 1650): Delivery Estimate
- Email fallback (Line 1704): Delivery Estimate: $del_est
The plugins provides the text domain wc-ship-est for translation but doesn’t use the strings in the code. I think it would be great to stick more to wordpress standards for the translations. Otherwise the plugin can’t be used on sites with other languages than English. :/
Hello,
Please update to version 2.1.18. The updated version allows you to change the default description to any language or phrase.
Ah perfect. The update wasn’t visible in the backend. But I just downloaded the new version via the directory here. Thank you!
Hello
I think there is another bug regarding the conversion tracking. There is a hardcoded conversion label here on line 1584 which should actually be the label entered in the settings.if(!empty($conv_trk) && !empty($aw_id))
$aw_conversion="
<script async src=https://www.googletagmanager.com/gtag/js?id=$aw_id></script>
<script>
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}
gtag('js',new Date());
gtag('config','$aw_id');
dataLayer.push({event:'purchase',ecommerce:{transaction_id:'$order_id',value:$total,currency:'$currency'}});
gtag('event','conversion',{'send_to':'$aw_id/Q6VRCNycs64bEJjIqr9B','value':$total,'currency':'$currency','transaction_id':'$order_id'});
</script>";Thank you for locating this bug. Another version will release today to resolve this.
Hello
As I’m also using the PRO version I went threw the source code and have some concerns I’d like to share:Auto-updates: Line 129 in pro_functions.php runs wse_pro_ping() automatically on admin_init (last 10 min of each hour, every 5 h) with no opt-out. The plugin seems to update itself when an admin opens the dashboard.
Security: Updates are downloaded via file_get_contents(), decoded (rot13/gzip), and written directly with file_put_contents() — bypassing WordPress’s update system, with no signature/checksum and no admin approval. Whoever controls the update server can deliver arbitrary PHP in pro_functions.php, which then has full WordPress access.
Privacy: Domain, admin email, and license key are sent to your server; install/update emails include site URL — not clearly documented in the UI.
Therefore the following requests: (1) Setting to disable auto checks, (2) document all transmitted data, (3) WordPress-standard signed updates, (4) opt-in for install emails.
I value the plugin but would wish to have more transparency and control as a paying customer – no auto updates with direct code changes in the background.
Best,
FletschHello Fletsch,
Thank you for your feedback.
Most of the items in your last response relate specifically to the PRO version. Even though this free plugin works together with the add-on, most users do not have PRO. The WordPress.org support forum is intended for discussion of the GPL version.
PRO is proprietary SAAS and intellectual property protected by copyright and license terms that you must agree to before purchase. As part of the licensing and update process, certain information may be transmitted to verify licensing, provide updates, and operate subscription-based services.
If you prefer not to receive automatic PRO updates, that can certainly be accommodated. Please contact the developer directly from the PRO tab in your plugin settings, and we can disable some of the automatic updates.
Best regards
As I’m also using the PRO version
Then the developer can get into trouble supporting you here.
For pro or customer support, please contact the developer on their site. This includes pre-sales information.
As the developer is aware, customers may not be supported on this site.
https://wordpress.org/support/guidelines/#do-not-post-about-commercial-products
The topic ‘Translation and plugin structure’ is closed to new replies.