3

enter image description here

What I've tried:

i18n/en_GB I've changed this line "Review & Payments,Reviewssss & Paymentsssss"

I've also changed this Shipping Methods, This Is my shipping methods and I was surprised to find this in the back end admin:

enter image description here

I know the file is responsible for rendering is progrees-bar.html

<!--
 /**
 * Copyright © 2013-2017 Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
*/
-->
<ul class="opc-progress-bar testesteste">
<!-- ko foreach: { data: steps().sort(sortItems), as: 'item' } -->
    <li class="opc-progress-bar-item" data-bind="css: item.isVisible() 
? '_active' : ($parent.isProcessed(item) ? '_complete' : '')">
        <span data-bind="i18n: item.title, click: $parent.navigateTo">
</span>
    </li>
<!-- /ko -->
</ul>

And what I am interested is in this pice data-bind="i18n: item.title.

So where this item.title is coming from if not from a i18n/en_GB.csv file?

Any help appreciate thanks.

  • "Review & Payments,Reviewssss & Paymentsssss" would be incorrect in a csv file, did you mean "Review & Payments","Reviewssss & Paymentsssss" – jamil Mar 1 '18 at 23:51
  • @jamil I added extra sssss just fro testing thanks. – Juliano Vargas Mar 2 '18 at 9:18
  • I was pointing out the incorrect quote placement in your question – jamil Mar 2 '18 at 15:57
  • @jamil ahhh ok quote misplacement yes that's right it was a typo mistake.thanks for pointing that out – Juliano Vargas Mar 2 '18 at 18:14
1

Just tested this with this:

app/design/frontend/{vendor}/{theme}/i18n/en_US.csv

"Review & Payments", "Reviewssss & Paymentsssss"

and got this result:

enter image description here

So it looks like it's just a typo.

  • 1
    thanks for the reply what I needed was run static deploy then I can see the changes and this file is for translation from what I know but what about the item.title that comes from de progrees-bar.html where can I change that? I just want to change the Title of each steps not translate if that make sense. – Juliano Vargas Mar 2 '18 at 9:25
  • I'm not 100% clear what you are trying to achieve here, but if you are looking to change the titles of each section or any other text on the site, you "might" run into issues in the future if you are overriding the core files. While you are doing the right method of file override, when you update the site, if these files change, those changes also need to be updated in your override. The whole point of the translation system is so you can change text on the front end without having to override. – circlesix Mar 2 '18 at 14:25
  • I had done this on a site a while back, i overrode some JS file for some reason. I started getting JS errors when i updated the site and took a while to track it back to some theme. When i compared the new code to my override, there was JS code that the system expected, but didn't exist in my override. So i had to update my override with the new code plus my original changes. Just food for thought. – circlesix Mar 2 '18 at 14:27
  • 1
    if that's the case then it shouldn't be hardcoded in the js file as you said is for translation I don't want to translate! – Juliano Vargas Mar 2 '18 at 14:46
0

I've found where item.title is coming from it's in JS file: ../vendor/magento/modulecheckout/view/frontend/web/js/view/shipping.js

if (!quote.isVirtual()) {
            stepNavigator.registerStep(
                'shipping',
                '',
                $t('shipping test'),
                this.visible, _.bind(this.navigate, this),
                10
            );
        }

AND:

.../vendor/magento/module-checkout/view/frontend/web/js/view/payment.js

initialize: function () {
        this._super();
        checkoutDataResolver.resolvePaymentMethod();
        stepNavigator.registerStep(
            'payment',
            null,
            $t('Review & Payments test'),
            this.isVisible,
            _.bind(this.navigate, this),
            20
        );

        return this;
    },

The the the solution was to overwrite this files.

  • You shouldn't override core files, I think you originally had the right idea which was changing the csv file, except you had that typo. I would try it again without editing the core files, it will cause serious problems down the road if you make that habit, and should never be necessary – jamil Mar 2 '18 at 18:59
  • 1
    @jamil I get your point but what I found out is if I use the csv translation method to change title of progress step title then take for e.g ** Shipping ** to Delivery ** guess what is going to happen! in the check out payment page Order Summary there is a shipping cost and the label is? you can guess **Shipping that also will translate for Delivery if don't want to translate this then I what should I do?. if csv file isnt' intended to translate to other languages? then not sure. – Juliano Vargas Mar 2 '18 at 19:30
  • I see what you're saying, you want to change the one label but not other places that use the text? I think what you want to do is copy the .js file to your theme like Marius suggests here. That way its outside of core. On a side note, its perfectly fine to use translation to change english text to different english text, but your case isn't ideal for this as you have shown. – jamil Mar 2 '18 at 19:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.