Skip to content

Commit

Permalink
Merge pull request #415 from commercelayer/feat/add-polish-translations
Browse files Browse the repository at this point in the history
Add Polish support and translations
  • Loading branch information
malessani authored Jan 11, 2024
2 parents 9db37b5 + c05bfc9 commit 8e85cd3
Show file tree
Hide file tree
Showing 8 changed files with 202 additions and 23 deletions.
6 changes: 5 additions & 1 deletion components/data/i18n/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ import i18n, { use } from "i18next"
import translationDE from "public/static/locales/de/common.json"
import translationEN from "public/static/locales/en/common.json"
import translationIT from "public/static/locales/it/common.json"
import translationPL from "public/static/locales/pl/common.json"
import { initReactI18next } from "react-i18next"

const languages = ["en", "it", "de"]
const languages = ["en", "it", "de", "pl"]

const resources = {
en: {
Expand All @@ -16,6 +17,9 @@ const resources = {
de: {
translation: translationDE,
},
pl: {
translation: translationPL,
},
}

use(initReactI18next).init({
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
"commercelayer"
],
"dependencies": {
"@commercelayer/react-components": "^4.8.5",
"@commercelayer/react-components": "^4.8.6",
"@commercelayer/sdk": "^5.26.0",
"@faker-js/faker": "^8.3.1",
"@headlessui/react": "^1.7.17",
Expand Down
8 changes: 4 additions & 4 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions public/static/locales/en/common.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{

"general": {
"title": "{{companyName}} - Checkout",
"systemError": "We're sorry but something went wrong!",
Expand Down
159 changes: 159 additions & 0 deletions public/static/locales/pl/common.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
{

"general": {
"title": "{{companyName}} - Checkout",
"systemError": "Przepraszamy, coś poszło nie tak!",
"retry_error_code": "Problemy z łącznością",
"retry_error_description": "Próbuję załadować stronę ponownie",
"invalid": "Zamówienie jest nieosiągalne.",
"edit": "Edytuj",
"free" : "Darmowa",
"apply": "Wprowadź",
"privacy_and_terms": "Klikając zgadzasz się na <bold><termsUrl>regulamin</termsUrl></bold> oraz <bold><privacyUrl>zasady prywatności</privacyUrl></bold>.",
"checkoutTitle": "Checkout"
},

"error": {
"general": "Błąd generalny",
"shipments": "Niektóre pozycje nie mają wybranej metody wysyłki",
"paymentMethod": "Krok płatności musi być wypełniony",
"transition": "Przejście do następnego kroku jest niedozwolone",
"payer": "Płatnik nie zatwierdził płatności",
"resourceID": "Pozycja o danym ID nie została odnaleziona"
},

"input":{
"cantBlank": "Pole jest obowiązkowe",
"mustBeValidFormat": "Błędny format wypełnienia",
"mustBeValidEmail": "Proszę podaj prawidłowy adres e-mail",
"mustBeValidCouponOrGiftCard": "Proszę podaj prawidłowy kupon zniżkowy lub kod karty podarunkowej",
"mustBeValidCoupon": "Proszę podaj prawidłowy kupon zniżkowy",
"mustBeValidGiftCard": "Proszę podaj prawidłowy kod karty podarunkowej"
},

"orderRecap": {
"order_summary": "Podsumowanie zamówienia",
"cartContains": "Twój koszyk zawiera {{count}} produkt",
"cartContains_other": "Twój koszyk zawiera {{count}} produkty",
"coupon_code": "Kupon zniżkowy",
"gift_card_code": "Kod karty podarunkowej",
"gift_card_or_coupon_code": "Kod karty podarunkowej lub kupon zniżkowy",
"quantity": "ILOŚĆ: {{count}}",
"quantity_other": "ILOŚĆ: {{count}}",
"quantity_stock": "MAGAZYN: <0/>",
"discount_amount": "Zniżka",
"adjustment_amount": "Suma korekt",
"giftcard_amount": "Karta podarunkowa",
"tax_amount": "Podatek",
"tax_included_amount": "Podatek <style>wliczony</style>",
"shipping_amount": "Wysyłka",
"payment_method_amount": "Metoda płatności",
"subtotal_amount": "Zakupy",
"total_amount": "Suma",
"notSet": "Do wyliczenia",
"returnToCart": "Wróć do koszyka",
"frequency.hourly": "Co godzinę",
"frequency.daily": "Codziennie",
"frequency.weekly": "Co tydzień",
"frequency.monthly": "Co miesiąc",
"frequency.two-months": "Co dwa miesiące",
"frequency.two-month": "Co dwa miesiące",
"frequency.three-months": "Co trzy miesiące",
"frequency.three-month": "Co trzy miesiące",
"frequency.four-months": "Co cztery miesiące",
"frequency.four-month": "Co cztery miesiące",
"frequency.six-months": "Co sześć miesięcy",
"frequency.six-month": "Co sześć miesięcy",
"frequency.yearly": "Co roku"
},

"stepCustomer": {
"title": "Klient",
"addNewAddress": "Dodaj nowy adress",
"saveAddressBook": "Zachowaj adres w swoim koncie klienta",
"continueToDelivery": "Dalej do dostawy",
"notSet": "Proszę uzupełnij dane adresowe",
"notSetNoDelivery": "Proszę uzupełnij dane adresowe",
"closeForm": "Wybierz adres"
},

"stepShipping": {
"title": "Dostawa",
"shipment": "Wysyłka <Wrap>{{current}} of {{total}}</Wrap>",
"notAvailable": "Podany adres jest poza naszą strefą dostawy. Zmień adres dostawy lub zgłoś się w celu uzyskania pomocy.",
"outOfStock": "Produkt z Twojego zamówienia nie jest już dostępny.",
"outOfStockWithCart": " Kliknij <WrapperStyle><Link>{{link}}</Link></WrapperStyle>, żeby edytować swój koszyk.",
"outOfStockLink": "tutaj",
"stockTransfer": "<0/> z <1/> produktów zostanie przetransferowanych",
"methodSelected": "Twoje zamówienie ma wybraną {{count}} metodę wysyłki",
"methodSelected_other": "Twoje zamówienie ma wybrane {{count}} metody wysyłki",
"methodUnselected": "Wybierz metodę wysyłki",
"deliveryLeadTime" : "<0/> - <1/> dni",
"externalPrice": "W następnym kroku",
"continueToPayment": "Dalej do płatności",
"notRequired": "To zamówienie nie wymaga dostawy"
},

"stepPayment": {
"title": "Płatność",
"methodUnselected": "Wybierz metodę płatności",
"creditCard": "Karta kredytowa",
"wireTransfer": "Przelew tradycyjny",
"wireTransferDescription": "Przy potwierdzeniu zamówienia otrzymasz instrukcję jak dokończyć płatność.",
"paypalDescription": "Po złożeniu zamówienia zostaniesz przekierowany na stronę PayPal, gdzie trzeba się zalogować i dokończyć płatność",
"endingIn": "<0/> numer zakończony cyframi <1/>",
"submit": "Złóż zamówienie",
"notRequired": "To zamówienie nie wymaga płatności",
"amountZero": "Suma zamówienia wynosi zero. Możesz złożyć je bez płatności.",
"saveToWallet": "Zapisz kartę do walleta",
"expires": "Wygasa",
"subscriptionWithoutCustomer": "Aby kupić subskrypcję, należy założyć konto.",
"subscriptionWithCustomer": "Podając dane swojej karty, zezwalasz firmie na obciążenie Twojej karty przyszłymi płatnościami zgodnie z jej warunkami."
},

"addressForm" : {
"customer_email" : "Twój adres e-mail",
"billing_address_title": "Adres",
"billing_address_first_name": "Imię",
"billing_address_last_name": "Nazwisko",
"billing_address_line_1": "Adres linijka 1",
"billing_address_line_2": "Adres linijka 2",
"billing_address_city": "Miasto",
"billing_address_country_code_placeholder": "Wybierz kraj",
"billing_address_country_code": "Kraj",
"billing_address_state_code": "Województwo",
"billing_address_state_code_placeholder": "Wybierz województwo",
"billing_address_zip_code": "Kod pocztowy",
"billing_address_phone": "Telefon",
"billing_address_billing_info": "Dodatkowe informacje",
"ship_to_different_address": "Wysyłka na inny adres",
"shipping_address_title": "Adres wysyłki",
"shipping_address_first_name": "Imię",
"shipping_address_last_name": "Nazwisko",
"shipping_address_line_1": "Adres linijka 1",
"shipping_address_line_2": "Adres linijka 1",
"shipping_address_city": "Miasto",
"shipping_address_country_code": "Kraj",
"shipping_address_country_code_placeholder": "Wybierz kraj",
"shipping_address_state_code": "Województwo",
"shipping_address_state_code_placeholder": "Wybierz województwo",
"shipping_address_zip_code": "Kod pocztowy",
"shipping_address_phone": "Telefon"
},

"stepComplete": {
"title": "Dziękujemy za złożenie zamówienia!",
"description": "Numer tego zamówienia to: <WrapperOrderId>#{{orderNumber}}</WrapperOrderId>",
"continue": "Wróć do zakupów",
"supportEmail": "W wypadku pytań napisz do nas na adres e-mail: <br /><WrapperStyle><WrapperEmail>{{email}}</WrapperEmail></WrapperStyle>",
"supportPhone": "W wypadku pytań zadzwoń do nas na: <br /><WrapperStyle><WrapperPhone>{{phone}}</WrapperPhone></WrapperStyle>",
"fullSupport": "W wypadku pytań napisz do nas na adres e-mail <br /><WrapperStyle><WrapperEmail>{{email}}</WrapperEmail></WrapperStyle> lub zadzwoń pod <WrapperStyle><WrapperPhone>{{phone}}</WrapperPhone></WrapperStyle>",
"ship_to": "Wyślij zamówienie do:",
"billed_to": "Wystaw rachunek dla:",
"payment": "Płatność:",
"summary_title": "Podsumowanie",
"customer_title": "Klient",
"email": "E-mail:",
"free_payment": "To zamówienie nie wymagało opłacenia."
}
}
7 changes: 5 additions & 2 deletions specs/e2e/payments-klarna.spec.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { faker } from "@faker-js/faker"
import { euAddress } from "specs/utils/addresses"
import { euAddress2 } from "specs/utils/addresses"

import { test, expect } from "../fixtures/tokenizedPage"

Expand All @@ -21,7 +21,10 @@ test("should execute a checkout with klarna", async ({ checkoutPage }) => {
await checkoutPage.checkOrderSummary("Order Summary")

await checkoutPage.setCustomerMail()
await checkoutPage.setBillingAddress({ ...euAddress, phone: "+393293399456" })
await checkoutPage.setBillingAddress({
...euAddress2,
phone: "+393473399466",
})

await checkoutPage.checkStep("Customer", "open")

Expand Down
13 changes: 6 additions & 7 deletions specs/fixtures/CheckoutPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -766,7 +766,7 @@ export class CheckoutPage {
.waitFor({ state: "visible" })

await klarnaIframe.getByTestId("kaf-field").focus()
await klarnaIframe.getByTestId("kaf-field").fill("33312312325")
await klarnaIframe.getByTestId("kaf-field").fill("+491711234567")

await klarnaIframe.getByTestId("kaf-button").click()
await klarnaIframe.locator("input#otp_field").focus()
Expand Down Expand Up @@ -818,7 +818,7 @@ export class CheckoutPage {
.waitFor({ state: "visible" })

await klarnaIframe.getByTestId("kaf-field").focus()
await klarnaIframe.getByTestId("kaf-field").fill("33312312325")
await klarnaIframe.getByTestId("kaf-field").fill("+491711234567")

await klarnaIframe.getByTestId("kaf-button").click()
await klarnaIframe.locator("input#otp_field").focus()
Expand Down Expand Up @@ -848,19 +848,18 @@ export class CheckoutPage {
.waitFor({ state: "visible" })

await klarnaIframe.getByTestId("kaf-field").focus()
await klarnaIframe.getByTestId("kaf-field").fill("33312312325")
await klarnaIframe.getByTestId("kaf-field").fill("0733211231")

await klarnaIframe.getByTestId("kaf-button").click()
await klarnaIframe.locator("input#otp_field").focus()
await klarnaIframe.locator("input#otp_field").type("123456")
await this.page.waitForTimeout(2000)

await this.page.waitForTimeout(5000)
const confirm = klarnaIframe.locator(
"[data-testid=confirm-and-pay]"
)

if (await confirm.isVisible()) {
confirm.click()
await confirm.click()
}

const popup = await klarnaIframe.locator(
Expand All @@ -887,7 +886,7 @@ export class CheckoutPage {
.waitFor({ state: "visible" })

await klarnaIframe.getByTestId("kaf-field").focus()
await klarnaIframe.getByTestId("kaf-field").fill("33312312325")
await klarnaIframe.getByTestId("kaf-field").fill("+491711234567")

await klarnaIframe.getByTestId("kaf-button").click()
await klarnaIframe.locator("input#otp_field").focus()
Expand Down
29 changes: 21 additions & 8 deletions specs/utils/addresses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ export const euAddress3: Partial<Address> = {
billing_info: "00CDEFGHIJKLMNOPQRSTUVWYXZ",
}

export const euAddress4: Partial<Address> = {
first_name: "John",
last_name: "Doe",
line_1: "Avenue de Paris 10",
line_2: "",
city: "Paris",
country_code: "FR",
state_code: "PR",
zip_code: "31000",
phone: "+33 022 320132010",
billing_info: "BMNDFT32F12D123W",
}

export const usAddress: Partial<Address> = {
first_name: "Tim",
last_name: "Cook",
Expand All @@ -51,15 +64,15 @@ export const usAddress: Partial<Address> = {
}

export const deAddress: Partial<Address> = {
first_name: "Steve",
last_name: "Jobs",
line_1: "Nürnberger Str. 24A",
city: "Berlin",
first_name: "Tim",
last_name: "Cook",
line_1: "Berlinstrasse Str. 23",
city: "Munich",
country_code: "DE",
state_code: "Berlin",
zip_code: "10789",
phone: "+49 30 56839568",
billing_info: "00CDEFGHIJKLMNOPQRSTUVWYXZ",
state_code: "Munich",
zip_code: "80336",
phone: "+49 89 242078610",
billing_info: "MSNREW78D12D612W",
}

export function composeForCheck(address: Partial<Address>) {
Expand Down

0 comments on commit 8e85cd3

Please sign in to comment.