Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Lazy load missing translation files #5112

Merged
merged 2 commits into from Nov 22, 2021

Conversation

nielslange
Copy link
Member

@nielslange nielslange commented Nov 9, 2021

Fixes #5005 | Related #5106

Screenshots

Spanish: Terms and conditions

Before:

#5005-Spanish-before

After:

#5005-Spanish-after

German: Shipping address description

Before:

#5005-German-before

After:

#5005-German-after

Testing

  1. Switch the site language to Spanish.
  2. Update the translations via WP Admin → Dashboard → Translations → Update Translations.
  3. Create a test page, add the checkout block and save it.
  4. Ensure that the "Terms and conditions" text in the editor is in Spanish.
  5. Look up the frontend and verify that the "Terms and conditions" text is in Spanish (see screenshots).
  6. Switch the site language to German and repeat steps 2. until 5. (texts should then appear in German)

Additional notes

Kindly note that I also added "lint:php-fix": "composer run-script phpcbf ./src", to package.json so that I could fix linting problems within PHP files.

Changelog

Lazy load missing translation files on frontend to ensure that all visible texts are translatable.

@nielslange nielslange added type: bug The issue/PR concerns a confirmed bug. focus: i18n The issue/PR is related to internationalization. block: checkout Issues related to the checkout block. labels Nov 9, 2021
@nielslange nielslange requested review from a team and opr and removed request for a team November 9, 2021 13:37
@rubikuserbot rubikuserbot requested a review from a team November 9, 2021 13:37
@github-actions
Copy link
Contributor

github-actions bot commented Nov 9, 2021

Size Change: 0 B

Total Size: 1.11 MB

ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 8.18 kB
build/active-filters.js 8 kB
build/all-products-frontend.js 23.4 kB
build/all-products.js 38.2 kB
build/all-reviews.js 9.56 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button--atomic-block-components/image---a7e2bb9b.js 3.19 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button.js 1.81 kB
build/atomic-block-components/add-to-cart-frontend.js 8.34 kB
build/atomic-block-components/add-to-cart.js 7.85 kB
build/atomic-block-components/button-frontend.js 1.74 kB
build/atomic-block-components/button.js 873 B
build/atomic-block-components/category-list-frontend.js 466 B
build/atomic-block-components/category-list.js 469 B
build/atomic-block-components/image-frontend.js 1.71 kB
build/atomic-block-components/image.js 1.36 kB
build/atomic-block-components/price-frontend.js 2.13 kB
build/atomic-block-components/price.js 2.11 kB
build/atomic-block-components/rating-frontend.js 562 B
build/atomic-block-components/rating.js 566 B
build/atomic-block-components/sale-badge-frontend.js 861 B
build/atomic-block-components/sale-badge.js 868 B
build/atomic-block-components/sku-frontend.js 390 B
build/atomic-block-components/sku.js 393 B
build/atomic-block-components/stock-indicator-frontend.js 611 B
build/atomic-block-components/stock-indicator.js 610 B
build/atomic-block-components/summary-frontend.js 907 B
build/atomic-block-components/summary.js 912 B
build/atomic-block-components/tag-list-frontend.js 468 B
build/atomic-block-components/tag-list.js 471 B
build/atomic-block-components/title-frontend.js 1.47 kB
build/atomic-block-components/title.js 1.48 kB
build/attribute-filter-frontend.js 18.1 kB
build/attribute-filter.js 12.1 kB
build/blocks-checkout.js 21.3 kB
build/cart-blocks/accepted-payment-methods-frontend.js 1.39 kB
build/cart-blocks/checkout-button-frontend.js 1.21 kB
build/cart-blocks/empty-cart-frontend.js 348 B
build/cart-blocks/express-payment--checkout-blocks/express-payment--checkout-blocks/payment-frontend.js 4.73 kB
build/cart-blocks/express-payment-frontend.js 1.59 kB
build/cart-blocks/filled-cart-frontend.js 805 B
build/cart-blocks/items-frontend.js 302 B
build/cart-blocks/line-items-frontend.js 5.87 kB
build/cart-blocks/order-summary--checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 3.69 kB
build/cart-blocks/order-summary-frontend.js 7.4 kB
build/cart-blocks/totals-frontend.js 324 B
build/cart-frontend.js 52.5 kB
build/cart.js 50.5 kB
build/checkout-blocks/actions-frontend.js 1.48 kB
build/checkout-blocks/billing-address-frontend.js 2.64 kB
build/checkout-blocks/contact-information-frontend.js 3.62 kB
build/checkout-blocks/express-payment-frontend.js 1.93 kB
build/checkout-blocks/fields-frontend.js 348 B
build/checkout-blocks/order-note-frontend.js 1.25 kB
build/checkout-blocks/order-summary-frontend.js 12.9 kB
build/checkout-blocks/payment-frontend.js 4.28 kB
build/checkout-blocks/shipping-address-frontend.js 2.72 kB
build/checkout-blocks/shipping-methods-frontend.js 5.54 kB
build/checkout-blocks/terms-frontend.js 1.29 kB
build/checkout-blocks/totals-frontend.js 329 B
build/checkout-frontend.js 54.8 kB
build/checkout.js 53.7 kB
build/featured-category.js 7.74 kB
build/featured-product.js 9.43 kB
build/handpicked-products.js 6.27 kB
build/legacy-template.js 2.12 kB
build/mini-cart-component-frontend.js 44.4 kB
build/mini-cart-frontend.js 2.34 kB
build/mini-cart.js 5.72 kB
build/price-filter-frontend.js 14.2 kB
build/price-filter.js 9.65 kB
build/price-format.js 1.37 kB
build/product-best-sellers.js 6.62 kB
build/product-categories.js 3.38 kB
build/product-category.js 7.49 kB
build/product-new.js 6.77 kB
build/product-on-sale.js 7.11 kB
build/product-search.js 2.69 kB
build/product-tag.js 6.6 kB
build/product-top-rated.js 6.74 kB
build/products-by-attribute.js 7.71 kB
build/reviews-by-category.js 11.5 kB
build/reviews-by-product.js 13 kB
build/reviews-frontend.js 8.97 kB
build/single-product-frontend.js 26.9 kB
build/single-product.js 10 kB
build/stock-filter-frontend.js 8.62 kB
build/stock-filter.js 7.81 kB
build/vendors--atomic-block-components/add-to-cart--cart-blocks/order-summary--checkout-blocks/billing-ad--c5eb4dcd-frontend.js 16.1 kB
build/vendors--atomic-block-components/add-to-cart-frontend.js 4.77 kB
build/vendors--atomic-block-components/price--cart-blocks/line-items--cart-blocks/order-summary--checkout--8a3571de-frontend.js 5.71 kB
build/vendors--cart-blocks/line-items--checkout-blocks/order-summary-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary--checkout-blocks/billing-address--checkout-blocks/order-summary---eb4d2cec-frontend.js 5.03 kB
build/wc-blocks-data.js 11.3 kB
build/wc-blocks-editor-style-rtl.css 15.7 kB
build/wc-blocks-editor-style.css 15.7 kB
build/wc-blocks-google-analytics.js 1.98 kB
build/wc-blocks-middleware.js 1.19 kB
build/wc-blocks-registry.js 3.71 kB
build/wc-blocks-shared-context.js 1.54 kB
build/wc-blocks-shared-hocs.js 1.92 kB
build/wc-blocks-style-rtl.css 21.1 kB
build/wc-blocks-style.css 21 kB
build/wc-blocks-vendors-style-rtl.css 1.37 kB
build/wc-blocks-vendors-style.css 1.37 kB
build/wc-blocks-vendors.js 255 kB
build/wc-blocks.js 3.49 kB
build/wc-payment-method-bacs.js 806 B
build/wc-payment-method-cheque.js 806 B
build/wc-payment-method-cod.js 898 B
build/wc-payment-method-paypal.js 839 B
build/wc-payment-method-stripe.js 12.2 kB
build/wc-settings.js 2.91 kB

compressed-size-action

@nielslange nielslange changed the title Lazo load missing translation files Lazy load missing translation files Nov 9, 2021
@senadir
Copy link
Member

senadir commented Nov 10, 2021

Given you're loading lazy loaded translation, this should also include Cart inner blocks.

@nielslange
Copy link
Member Author

Given you're loading lazy loaded translation, this should also include Cart inner blocks.

Thanks for pointing this out. Initially, I thought to spin up a separate PR for adding the cart translation files. But shipping them with this PR is a good suggestion, as the checkout and the cart block go hand in hand.

I just adjusted the PR based on your feedback, @senadir.

@nielslange nielslange force-pushed the fix/5005-lazy-load-missing-translation-files branch from 33840ce to bcbcad8 Compare November 11, 2021 05:35
@ralucaStan ralucaStan removed the request for review from a team November 16, 2021 12:52
@nielslange nielslange added this to the 6.4.0 milestone Nov 18, 2021
Copy link
Contributor

@opr opr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @nielslange - this isn't working for me, I've followed the steps and in the editor everything is in Spanish, but the front-end of my cart/checkout, besides the input labels and shipping options, is still in English. Any ideas on what I might be missing? I've saved the page too.

image

Also, just a note on the testing notes here, I think you should remove the steps about checking out trunk and verifying the bug, leave only the steps to verify the fix.

@nielslange nielslange requested a review from opr November 22, 2021 06:52
@nielslange
Copy link
Member Author

Hey @nielslange - this isn't working for me, I've followed the steps and in the editor everything is in Spanish, but the front-end of my cart/checkout, besides the input labels and shipping options, is still in English. Any ideas on what I might be missing? I've saved the page too.

I forgot to mention that you need to update the translations files via WP Admin → Dashboard → Translations → Update Translations. I think that was the reason you did not see the fix.

Also, just a note on the testing notes here, I think you should remove the steps about checking out trunk and verifying the bug, leave only the steps to verify the fix.

Thanks for suggesting this. I've updated the description of this PR and will only point out how to test a fix in the future, and not how to reproduce the initial bug.

@Aljullu Aljullu added the status: blocker Used on issues or pulls that block work from being released. label Nov 22, 2021
@opr
Copy link
Contributor

opr commented Nov 22, 2021

Re-tested and it worked 🙌🏼

@nielslange nielslange merged commit b56790a into trunk Nov 22, 2021
@nielslange nielslange deleted the fix/5005-lazy-load-missing-translation-files branch November 22, 2021 09:43
jonny-bull pushed a commit to jonny-bull/woocommerce-gutenberg-products-block that referenced this pull request Dec 14, 2021
* Lazo load missing translation files

* Lazy load cart translation files
jonny-bull pushed a commit to jonny-bull/woocommerce-gutenberg-products-block that referenced this pull request Dec 16, 2021
* Lazo load missing translation files

* Lazy load cart translation files
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
block: checkout Issues related to the checkout block. focus: i18n The issue/PR is related to internationalization. status: blocker Used on issues or pulls that block work from being released. type: bug The issue/PR concerns a confirmed bug.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

"By proceeding with your purchase [...]" Not Translated on Checkout Block
4 participants