1
Magento 2.4.2-p1
Magento Porto theme

I use the default Magento check-out. I have gone into:

- Stores - Configuration - Advanced - Developer - Translate Inline - Enabled for Storefront = YES.

Then, I have gone through the check-out steps on the front end as follows:

  • open Magento front end
  • Add a product to the cart
  • Click on the icon of the Shopping bag on top right and GO TO CHECKOUT
  • The 1st of the 2 check-out steps load = Delivery Review & Payments DELIVERY ADDRESS
  • I click on the icon to change the text, the pop-up opens, I retype the text and click on SUBMIT (the first time, I have added the word Recipient's in front of all the fields here, for example 'Recipient's First Name')
  • Fill everything in
  • Click on NEXT
  • The 2nd of the 2 steps of the check-out loads = Review & Payments
  • Click in Credit Card
  • Untick 'My billing and shipping address are the same'
  • I once again click on the icon to change the text, the pop-up opens, I retype the text and click on SUBMIT (the first time, I have added the word 'Your' in front of all the fields here, for example 'Your First Name')

Afterwards, I ran the following:

php bin/magento setup:upgrade
php bin/magento setup:di:compile 
php bin/magento setup:static-content:deploy -f
php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento indexer:reindex
bin/magento cache:clean translate

Now, both the DELIVERY and Billing addresses show exactly the SAME = it has the word YOUR in front of all the fields which we cannot have as the DELIVERY information is for the recipient NOT the person making the order as they are gifts.

I turned all Caches off, switched back from Varnish to Built-in Cache, Disabled Cache in Magento and deleted all Cache on the Magento Admin panel also. I deleted the Cache folder via FTP (var/Cache) but I am unable to put this back. I go through all the steps and remove the word YOUR which is now showing on all the lines of both Checkout steps, then run he commands up above but the word YOUR stays there and does not disappear.


Updated on November 7th, 2022:

This is what it looks like now and what I'm trying to change it to:

enter image description here

2nd step of the Checkout:

enter image description here

Here is my en_US.csv file in:

/public_html/app/design/frontend/Smartwave/porto/i18n

enter image description here


Further update:

I have changed the information in en_US.csv as follows but it makes NO difference on the front end (still shows Your First Name):

enter image description here


Updated again:

This is what it looks like when trying to In-line edit:

Why does the Original say: Your Last Name? Shouldn't it be 'Last Name' ?

enter image description here


Updated on November 8th, 2022:

I ran the SQL script as posted by Tu Van:

DELETE FROM `abcd_translation` WHERE `string` = 'Your First Name' OR  `string` = 'Your Last Name' OR  `string` = 'Your Middle Name/Initial' OR  `string` = 'Your Company'  OR  `string` = 'Your Street Address' OR  `string` = 'Your Country' OR  `string` = 'Your State/Province';

It gave the following response:

6 rows affected. (Query took 0.0016 seconds.) DELETE FROM abcd_translation WHERE string = 'Your First Name' OR string = 'Your Last Name' OR string = 'Your Middle Name/Initial' OR string = 'Your Company' OR string = 'Your Street Address' OR string = 'Your Country' OR string = 'Your State/Province'

I have then used a different browser where I deleted all Cache from All the time and Refreshed but the front end still shows on both the Delivery/Shipping Address and Billing Address:

Your First Name
Your Middle Name/Initial
Your Last Name
etc.

I also ran:

SELECT * FROM abcd_translation WHERE string LIKE 'Your %';

and it shows the following:

enter image description here

  1. The environment - I have enabled Development mode in order to be able to get into turning the In-line translations on.

The bounty is still not available. I will do the bounty tomorrow when it becomes available.


Reporting on the steps Tu Van updated:

  1. I ran the following in the database:

DELETE FROM abcd_translation WHERE string = 'Your Company' OR string = 'Your Street Address: Line 1' OR string = 'Your City' OR string = 'Your Zip/Postal Code' OR string = 'Your Phone Number';

It has given the following response:

5 rows affected. (Query took 0.0020 seconds.) DELETE FROM abcd_translation WHERE string = 'Your Company' OR string = 'Your Street Address: Line 1' OR string = 'Your City' OR string = 'Your Zip/Postal Code' OR string = 'Your Phone Number'

  1. I ran the following:

SELECT * FROM abcd_translation;

And it gave this response:

enter image description here

  1. Live Production site.

  2. I ran grep -r "Your First Name" app vendor in my root directory and this is what it gave me:

public_html]$ grep -r "Your First Name" app vendor app/design/frontend/Smartwave/porto/i18n/en_US.csv:Your First Name,"""First Name """

I have done all the steps above and the site still shows Your First Name, Your Last Name etc.


UPDATE for all who tried to help. Thank you very much. I was able to finally delete the 'Your' by running an SQL script as suggested by Tu Van in his post on this page:

DELETE FROM abcd_translation WHERE translate LIKE 'Your %';

This has returned this response:

10 rows affected. (Query took 0.0013 seconds.) DELETE FROM abcd_translation WHERE translate LIKE 'Your %'

And after clearing all Caches and running the following, the Your is now gone from the front end:

php bin/magento setup:upgrade
php bin/magento setup:di:compile 
php bin/magento setup:static-content:deploy -f
php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento indexer:reindex
bin/magento cache:clean translate
php bin/magento cache:clean translate
bin/magento setup:static-content:deploy en_US -f

Something I have done in the course of troubleshooting this has, however, created 2 new problems in my Magento:

*1. When trying to update orders, I get the following Error:

The invoice can't be saved at this time. Please try again later.*

2. We have the Stripe extension from Amasty and we have 2 different Stripe accounts - one for each website/store. This worked fine for a long long time but now all orders from both stores are being billed to just 1 of the Payment Accounts.


Checking in the Admin panel of Magento, the primary store actually had the Publishable and Secret Key of of the 2nd store. I have no idea how that happened? When I removed that Publishable and Secret key and put in the correct one, it works correctly now = the payments go to correct Payment processor accounts. I am also no longer getting the 'The invoice can't be saved at this time. Please try again later' Error.



Removing 'Your' has been accomplished thanks to steps published by Tu Van.

Now moving to the ultimate goal of naming the Delivery/Shipping Address as 'Recipient's First Name', 'Recipient's Last Name' etc. and Billing address fields as 'Your First Name', 'Your Last Name' etc.

Phase 2.

Step 1.

I do not have the path mentioned first. The closest I get is:

/public_html/app/design/frontend/Smartwave/porto/Magento_Checkout/web/template

in here, I only have 1 folder and it's called minicart.

Next step then:

"If it does not exist, create a new one by copy the file vendor/magento/module-checkout/view/frontend/web/template/form/element/email.html"

For me, this was:

/public_html/vendor/magento/module-checkout/view/frontend/web/template/form/element

"to app/design/frontend///Magento_Checkout/web/template/form/element/email.html"

For me, this ends once again in:

/public_html/app/design/frontend/Smartwave/porto/Magento_Checkout/web/template

where the only folder was: minicart

I created the rest of the folders so it looked like this:

/public_html/app/design/frontend/Smartwave/porto/Magento_Checkout/web/template/form/element
  1. I modified the email.html file and uploaded to the folder above.

PART 2, Step 1:

I created this path:

/public_html/app/code/Vendor/Checkout

and placed the registration.php file in there.

Step 2: I created the following path:

and placed the module.xml file in there.

Step 3: I created di.xml file and once again placed in the following folder:

/public_html/app/code/Vendor/Checkout/etc

Step 4: I created the following directory structure:

/public_html/app/code/Vendor/Checkout/Plugin

and placed the ModifyCheckoutField.php file in there.

Step 5: I ran the following:

php bin/magento setup:upgrade
php bin/magento setup:di:compile 
php bin/magento setup:static-content:deploy -f

End result:

The Recipient's and Your on the address fields worked. The 'Your Email address' did not work - it still shows up as 'Email address'.


UPDATED on November 15th, 2022:

Here is the additional info for the Email address/Your Email address:

enter image description here

Not sure why the path is to Amazon_Payment? I do not have Amazon Payment.

Here is the code from the Response tab:

<!--
/**
 * Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *  http://aws.amazon.com/apache2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
-->
<!-- ko foreach: getRegion('amazon-button-region') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!-- /ko -->

<!-- ko ifnot: isCustomerLoggedIn() -->

<!-- ko foreach: getRegion('before-login-form') -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!-- /ko -->
<form class="form form-login" data-role="email-with-possible-login"
      data-bind="submit:login"
      method="post">
    <fieldset id="customer-email-fieldset" class="fieldset" data-bind="blockLoader: isLoading">
        <div class="field required">
            <label class="label" for="customer-email">
                <span data-bind="i18n: 'Email Address'"></span>
            </label>
            <div class="control _with-tooltip">
                <input class="input-text"
                       type="email"
                       data-bind="
                            textInput: email,
                            hasFocus: emailFocused"
                       name="username"
                       data-validate="{required:true, 'validate-email':true}"
                       id="customer-email" />
                <!-- ko template: 'ui/form/element/helper/tooltip' --><!-- /ko -->
                <span class="note" data-bind="fadeVisible: isPasswordVisible() == false"><!-- ko i18n: 'You can create an account after checkout.'--><!-- /ko --></span>
            </div>
        </div>

        <!--Hidden fields -->
        <fieldset class="fieldset hidden-fields" data-bind="fadeVisible: isPasswordVisible">
            <div class="field">
                <label class="label" for="customer-password">
                    <span data-bind="i18n: 'Password'"></span>
                </label>
                <div class="control">
                    <input class="input-text"
                           placeholder="Password"
                           type="password"
                           name="password"
                           id="customer-password"
                           data-validate="{required:true}" autocomplete="off"/>
                    <span class="note" data-bind="i18n: 'You already have an account with us. Sign in or continue as guest.'"></span>
                </div>

            </div>
            <!-- ko foreach: getRegion('additional-login-form-fields') -->
            <!-- ko template: getTemplate() --><!-- /ko -->
            <!-- /ko -->
            <div class="actions-toolbar">
                <input name="context" type="hidden" value="checkout" />
                <div class="primary">
                    <button type="submit" class="action login primary" data-action="checkout-method-login"><span data-bind="i18n: 'Login'"></span></button>
                </div>
                <div class="secondary">
                    <a class="action remind" data-bind="attr: { href: forgotPasswordUrl }">
                        <span data-bind="i18n: 'Forgot Your Password?'"></span>
                    </a>
                </div>
            </div>
        </fieldset>
        <!--Hidden fields -->
    </fieldset>
</form>
<!-- /ko -->

Second update on November 15th, 2022:

I was meant to copy

vendor/amzn/amazon-pay-module/view/frontend/web/template/form/element/email.html

to

app/design/frontend/Smartwave/porto_child/en_US/Amazon_Payment/template/form/element/email.html

and change Email to Your Email.

I have the first URL in my directory structure. I have downloaded and changed the email.html file.

The 2nd URL only exists up to:

/public_html/app/design/frontend/Smartwave/porto_child

I have created the other subdirectories, placed the file in there, done the clearing of the Cache, reindex, compile and deployed but still does not show on the front end.

5
  • I had the same problem after upgrading to 2.4.3. What I needed to do was to change what needs to be translated directly in the DB or use the translation file under html/app/design/frontend/Smartwave/porto_child/i18n. Nov 7, 2022 at 7:33
  • @Jan-petterHavna I went to the file path you specified and I don't have that last folder. I just have: etc, media, registration.php and theme.xml. How would I change it in here? And if that doesn't work, how would I change it in the database?
    – Allysin
    Nov 7, 2022 at 11:12
  • Are you happy with starting a bounty for this issue?
    – Tu Van
    Nov 8, 2022 at 1:03
  • @Tu Van - I will do! It tells me now: Question eligible for bounty in 9 hours. Just to reconfirm the current issue = it will NOT let me change the text anywhere with in-line translations. I can't even put it back to just what it says before = First Name, Last Name etc.
    – Allysin
    Nov 8, 2022 at 14:50
  • I'm got your issue. I'm just asking for bounty because you recently raised questions (issues) but not feedback to the answerers to let them know and help other people who have the same issue to know whether your issue is resolved or not.
    – Tu Van
    Nov 8, 2022 at 15:13

4 Answers 4

1
+50

I'll help you with 2 phases:

  • Phase 1: Revert your changes with inline translation with First Name, Last Name...
  • Phase 2: Translate your text as requested in the original post.

Phase 1:

  1. When doing inline translation on the checkout page, you don't need to (and SHOULD NOT) clear the cache because the checkout page does not cache, and don't need to run any commands, just hard reload (refresh) the browser.
  2. To revert your changes with inline translation with First Name, Last Name... run the following SQL query:
DELETE FROM `translation` WHERE `string` = 'Your First Name' OR  `string` = 'Your Last Name' OR  `string` = 'Your Middle Name/Initial' OR  `string` = 'Your Company'  OR  `string` = 'Your Street Address' OR  `string` = 'Your Country' OR  `string` = 'Your State/Province';
  1. Edit your post to add the result of the following SQL query to get records that contain 'Your ':
SELECT * FROM `translation` WHERE `string` LIKE 'Your %';
  1. Which environment (local/dev(test)/staging/production) you are doing this task in?

Update on November, 9th 2022:

  1. Run the following SQL query to remove existing "Your .." translation in your database:
DELETE FROM `translation` WHERE `string` = 'Your  Company' OR  `string` = 'Your Street Address: Line 1' OR  `string` = 'Your City' OR  `string` = 'Your Zip/Postal Code' OR  `string` = 'Your Phone Number';
  1. Run the following SQL query and add the result to your original question to let me know your total translation records at this time:
SELECT * FROM `translation`;
  1. For point 4 in the previous answer: "Which environment (local/dev(test)/staging/production) you are doing this task in?" I mean which environment you are working on, it can be local/dev(test)/staging site or production (live) site? Looks like you are doing this task on your production site, isn't it?
  2. Run the following command from your Magento root directory and put the result in your original question: grep -r "Your First Name" app vendor
  3. For the translation field labels in the delivery address and billing address, they use the same field, so you can't use the translation feature to change these labels. The solution for that is changing field labels. I'll write that solution soon.

Update on November, 9th 2022 part 2: Run the MySQL query to remove your inline translation for "Your ...":

DELETE FROM `translation` WHERE `translate` LIKE 'Your %';

Confirmed: Based on your previous SQL result, I confirm the above query is safe because you have a little inline translation at the moment and there are no translations related to Your ... except the checkout field labels. For others, please be careful with that query if you don't know your data in the translation table.

Update on November, 9th 2022 part 3

Phase 2: Change the delivery address field labels and the billing address field labels.

Your requirements is changing the delivery address field labels, the billing address field labels and they should be different labels (ie, the shipping field city label should different from the billing field city label).
Because these field labels use the same text so you can't use the translation feature, you should changing shipping and billing address field labels. Please take the following steps:

  1. Change the "Email Address" label:

Step 1:
** Case 1: For Magento version >= 2.4.4 which do not have Amazon_Payment module:**

Check if your theme has app/design/frontend/<Vendor>/<theme>/Magento_Checkout/web/template/form/element/email.html file or not. If it does not exist, create a new one by copy the file vendor/magento/module-checkout/view/frontend/web/template/form/element/email.html to app/design/frontend/<Vendor>/<theme>/Magento_Checkout/web/template/form/element/email.html

Case 2: For Magento version < 2.4.4 which have Amazon_Payment as build-in module or Magento version >= 2.4.4 installing Amazon_Payment as 3rd-party module:

Check if your theme has app/design/frontend/<Vendor>/<theme>/Amazon_Payment/web/template/form/element/email.html file or not.
If it does not exist, create a new one by copy the file vendor/amzn/amazon-pay-module/view/frontend/web/template/form/element/email.html to app/design/frontend/<Vendor>/<theme>/Amazon_Payment/web/template/form/element/email.html

Step 2. Open the file email.html mentioned in the above step to replace Email Address with Your Email Address.
Done.

Why don't I translate the text "Email Address" but override the html template file and change the text? It's because the text "Email Address" also appears in other places in Magento_Checkout module.

  1. Change the delivery address field labels and the billing address field labels.

You need to create a new custom module for that. Assume you named the vendor name Vendor, and the module name Checkout (You can change the vendor name and module name). Take the following steps:

Step 1: Create the registration.php file:
File path: app/code/Vendor/Checkout/registration.php

<?php

use Magento\Framework\Component\ComponentRegistrar;

ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Vendor_Checkout', __DIR__);

Step 2: Create the module.xml file:
File path: app/code/Vendor/Checkout/etc/module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_Checkout">
        <sequence>
            <module name="Magento_Checkout"/>
        </sequence>
    </module>
</config>

Step 3: Create di.xml file:
File path: app/code/Vendor/Checkout/etc/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Checkout\Block\Checkout\LayoutProcessor">
        <plugin name="ModifyCheckoutField" type="Vendor\Checkout\Plugin\ModifyCheckoutField"/>
    </type>
</config>

Step 4: Create ModifyCheckoutField.php file.
File path: app/code/Vendor/Checkout/Plugin/ModifyCheckoutField.php

<?php
declare(strict_types=1);

namespace Vendor\Checkout\Plugin;

class ModifyCheckoutField
{
    /**
     * Modify checkout field labels
     */
    public function afterProcess(
        \Magento\Checkout\Block\Checkout\LayoutProcessor $subject,
        array $jsLayout
    ) {
        //Shipping Address
        if (isset(
            $jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']
            ['children']['shippingAddress']['children']['shipping-address-fieldset']['children']
        )) {
            $shippingAddressFieldset = &$jsLayout['components']['checkout']['children']['steps']['children']
            ['shipping-step']['children'] ['shippingAddress']['children']['shipping-address-fieldset']['children'];
            $shippingAddressFieldset['firstname']['label'] = __('Recipient\'s First Name');
            $shippingAddressFieldset['middlename']['label'] = __('Recipient\'s Middle Name/Initial');
            $shippingAddressFieldset['lastname']['label'] = __('Recipient\'s Last Name');
            $shippingAddressFieldset['suffix']['label'] = __('Recipient\'s Name Suffix');
            $shippingAddressFieldset['company']['label'] = __('Recipient\'s Company');
            $shippingAddressFieldset['street']['label'] = __('Recipient\'s Street Address');
            $shippingAddressFieldset['street']['children'][0]['label'] =
                __('Recipient\'s Street Address: Line 1');
            $shippingAddressFieldset['street']['children'][1]['label'] =
                __('Recipient\'s Street Address: Line 2');
            $shippingAddressFieldset['country_id']['label'] = __('Recipient\'s Country');
            $shippingAddressFieldset['region']['label'] = __('Recipient\'s State/Province');
            $shippingAddressFieldset['region_id']['label'] = __('Recipient\'s State/Province');
            $shippingAddressFieldset['city']['label'] = __('Recipient\'s City');
            $shippingAddressFieldset['postcode']['label'] = __('Recipient\'s Zip/Postal Code');
            $shippingAddressFieldset['telephone']['label'] = __('Recipient\'s Telephone Number');
            $shippingAddressFieldset['fax']['label'] = __('Recipient\'s Fax');
            $shippingAddressFieldset['vat_id']['label'] = __('Recipient\'s Tax/VAT Number');
        }

        //Billing Address on payment method
        if (isset($jsLayout['components']['checkout']['children']['steps']['children']['billing-step']
            ['children']['payment']['children']['payments-list']['children'])) {
            $paymentList = $jsLayout['components']['checkout']['children']['steps']['children']['billing-step']
            ['children']['payment']['children']['payments-list']['children'];

            foreach ($paymentList as $key => $payment) {
                if (isset($payment['children']['form-fields']['children'])) {
                    $paymentsListFormFields = &$jsLayout['components']['checkout']['children']['steps']
                    ['children']['billing-step']['children']['payment']['children']['payments-list']
                    ['children'][$key]['children']['form-fields']['children'];
                    $paymentsListFormFields = $this->getModifiedFormFieldLabels($paymentsListFormFields);
                }
            }
        }

        //Billing Address on payment page
        if (isset($jsLayout['components']['checkout']['children']['steps']['children']['billing-step']
            ['children']['payment']['children']['afterMethods']['children'])) {
            if (isset($jsLayout['components']['checkout']['children']['steps']['children']['billing-step']['children']
                ['payment']['children']['afterMethods']['children']['billing-address-form']['children']['form-fields']
                ['children'])) {
                $billingAddressFormFormFields = &$jsLayout['components']['checkout']['children']['steps']['children']
                ['billing-step']['children']['payment']['children']['afterMethods']
                ['children']['billing-address-form']['children']['form-fields']['children'];
                $billingAddressFormFormFields = $this->getModifiedFormFieldLabels($billingAddressFormFormFields);
            }
        }

        return $jsLayout;
    }

    /**
     * @param $billingFormFields
     * @return array
     */
    private function getModifiedFormFieldLabels($billingFormFields): array
    {
        $billingFormFields['firstname']['label'] = __('Your First Name');
        $billingFormFields['middlename']['label'] = __('Your Middle Name/Initial');
        $billingFormFields['lastname']['label'] = __('Your Last Name');
        $billingFormFields['suffix']['label'] = __('Your Name Suffix');
        $billingFormFields['company']['label'] = __('Your Company');
        $billingFormFields['street']['label'] = __('Your Street Address');
        $billingFormFields['street']['children'][0]['label'] = __('Your Street Address: Line 1');
        $billingFormFields['street']['children'][1]['label'] = __('Your Street Address: Line 2');
        $billingFormFields['country_id']['label'] = __('Your Country');
        $billingFormFields['region']['label'] = __('Your State/Province');
        $billingFormFields['region_id']['label'] = __('Your State/Province');
        $billingFormFields['city']['label'] = __('Your City');
        $billingFormFields['postcode']['label'] = __('Your Zip/Postal Code');
        $billingFormFields['telephone']['label'] = __('Your Telephone Number');
        $billingFormFields['fax']['label'] = __('Your Fax');
        $billingFormFields['vat_id']['label'] = __('Your Tax/VAT Number');

        return $billingFormFields;
    }
}

Step 5: Finally, run the setup:upgrade command to make your new module active, and then compile code, deploy static content:

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f

Done.

Update on November, 11th 2022 part 1
Investigate why the Address Email text is not updated as expected.
Step 1: Go to the frontend, and add a product to cart.
Step 2: Open the Browser Developer Tool, choose Network tab, and enter email.html to filter (take a look at my screenshot below).
Go to the checkout page, and wait for the page to load finished, you may see a result in the Browser Developer Tool like the below screenshot. Take a screenshot like I did, then switch from Header tab to Response tab to copy the file content and add the screenshot and the file content to the original post. I'll check. enter image description here

Update on November, 16th 2022
Based on your information (screenshot), please take the following steps to replace Email Address with Your Email Address:

  1. Create app/design/frontend/Smartwave/porto_child/Amazon_Payment/web/template/form/element folder.

  2. Copy vendor/amzn/amazon-pay-module/view/frontend/web/template/form/element/email.html to app/design/frontend/Smartwave/porto_child/Amazon_Payment/web/template/form/element/email.html.

  3. Open the file email.html mentioned in the above step to replace Email Address with Your Email Address.

  4. Re-deploy static content for frontend. To do that, run the following commands:

rm -rf var/view_preprocessed/pub/static/frontend
rm -rf pub/static/frontend
bin/magento setup:static-content:deploy -f --area frontend

You are done, do not run other commands as they are not needed.

26
  • I have posted my answers to my original post. Thank you.
    – Allysin
    Nov 9, 2022 at 0:02
  • Please check my updated answer.
    – Tu Van
    Nov 9, 2022 at 11:37
  • I have posted a reply to your updated post in my original post. Thank you.
    – Allysin
    Nov 9, 2022 at 16:50
  • Please check my updated answer about 5 min later.
    – Tu Van
    Nov 9, 2022 at 16:59
  • 1
    I'm sorry - I know you are right. I will go through all of these when I get a chance and do that.
    – Allysin
    Nov 18, 2022 at 12:35
1

And if you have not created a child theme you choose /smartwave/porto/i18n it should be there.

Do you use Porto_Child on your website?

13
  • No - I do not use Porto_Child.
    – Allysin
    Nov 7, 2022 at 11:18
  • in /smartwave/porto/i18n, I have different items such as Column A: Your Checkout Progress, Card Verification Number, Items %1-%2 of %3, Regular Price etc. Column B: "Checkout Progress", "CVV", %3 items, "was"... but none of the First Name, Last Name etc. How to change that?
    – Allysin
    Nov 7, 2022 at 11:22
  • So collum A is what you want to translate and collum B is what you what it to translate to. Nov 7, 2022 at 11:35
  • So if you want to translate First Name to Recipient's first name you simply put first name to collum A and Recipients first name in collum B. Clear cache and have a look. Might be you need to renew the cache on your browser. So just do ctrl +Shift + r Nov 7, 2022 at 11:44
  • Thank you for this. How would I differentiate between (delivery) First Name (the First Name that appears on our first step of check-out under Delivery with the (billing) First Name that appears on the 2nd Check-out step in the Payment section? Our customers always order gifts so the Delivery (Recipient's) First name will be different to the Billing (Your) First Name of the person making the order and paying for it. Ideally then, I would have Recipient's First name, Recipient's Last Name etc. on the 1st step and YOUR First Name, YOUR Last Name on the 2nd step.
    – Allysin
    Nov 7, 2022 at 11:49
0

you should have run the upgrade command setup:upgrade and also make sure that the module where you have defined the additional csv has an upgraded version so that the upgrade for the module triggers.

3
  • I ran these commands yesterday and once again today: php bin/magento setup:upgrade then php bin/magento setup:di:compile then php bin/magento setup:static-content:deploy -f This did not help - it still comes up as Your First Name, Your Last Name etc. everywhere.
    – Allysin
    Nov 9, 2022 at 11:51
  • I tried changing this in: /public_html/app/design/frontend/Smartwave/porto/i18n We only have the Smartwave Porto theme and about 13 modules/extensions from Amasty.
    – Allysin
    Nov 9, 2022 at 12:07
  • Try the following : Upgrade module using composer or you shall go into DB and check the setup upgrade table and change the version of the module you have modified to a lower version so that your upgrade command will result in csv related execution and then check the translation table if your new entry is there or not. Nov 10, 2022 at 9:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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