Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: locale strings desctructure #263

Merged
merged 11 commits into from
Apr 10, 2024
26 changes: 20 additions & 6 deletions src/CardTheme.res
Original file line number Diff line number Diff line change
Expand Up @@ -66,19 +66,33 @@ let defaultConfig = {
type recoilConfig = {
config: configClass,
themeObj: themeClass,
localeString: LocaleString.localeStrings,
localeString: LocaleStringTypes.localeStrings,
showLoader: bool,
}
let getLocaleObject = string => {
let val = if string == "auto" {
let locale = if string == "auto" {
navigator["language"]
} else {
string
}
LocaleString.localeStrings
->Array.filter(item => item.locale == val)
->Array.get(0)
->Option.getOr(LocaleString.defaultLocale)
switch locale->LocaleStringHelper.mapLocalStringToTypeLocale {
| EN => EnglishLocale.localeStrings
| HE => HebrewLocale.localeStrings
| FR => FrenchLocale.localeStrings
| EN_GB => EnglishGBLocale.localeStrings
| AR => ArabicLocale.localeStrings
| JA => JapaneseLocale.localeStrings
| DE => DeutschLocale.localeStrings
| FR_BE => FrenchBelgiumLocale.localeStrings
| ES => SpanishLocale.localeStrings
| CA => CatalanLocale.localeStrings
| PT => PortugueseLocale.localeStrings
| IT => ItalianLocale.localeStrings
| PL => PolishLocale.localeStrings
| NL => DutchLocale.localeStrings
| SV => SwedishLocale.localeStrings
| RU => RussianLocale.localeStrings
}
}
let defaultRecoilConfig: recoilConfig = {
config: defaultConfig,
Expand Down
1,490 changes: 0 additions & 1,490 deletions src/LocaleString.res

This file was deleted.

82 changes: 82 additions & 0 deletions src/LocaleStrings/ArabicLocale.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
let localeStrings: LocaleStringTypes.localeStrings = {
locale: "ar",
localeDirection: "rtl",
cardNumberLabel: `رقم البطاقة`,
inValidCardErrorText: `رقم البطاقة غير صالحة`,
inCompleteCVCErrorText: `رمز أمان بطاقتك غير مكتمل`,
inCompleteExpiryErrorText: `تاريخ انتهاء صلاحية بطاقتك غير مكتمل`,
pastExpiryErrorText: `انقضت سنة انتهاء صلاحية بطاقتك`,
poweredBy: `مدعوم من هيبيرسويتش`,
validThruText: `صالحة من خلال`,
sortCodeText: `الكود البنكى`,
accountNumberText: `رقم حساب`,
cvcTextLabel: `رمز الحماية`,
emailLabel: `البريد الإلكتروني`,
emailEmptyText: `لا يمكن أن يكون البريد الإلكتروني فارغًا`,
emailInvalidText: `عنوان البريد الإلكتروني غير صالح`,
fullNameLabel: `الاسم الكامل`,
line1Label: `العنوان سطر 1`,
line1Placeholder: `.عنوان الشارع`,
line1EmptyText: `لا يمكن أن يكون سطر العنوان 1 فارغًا`,
line2Label: `سطر العنوان 2`,
line2Placeholder: `مناسب ، رقم الوحدة ، إلخ (اختياري)`,
line2EmptyText: `لا يمكن أن يكون سطر العنوان 2 فارغًا`,
postalCodeLabel: `رمز بريدي`,
postalCodeEmptyText: `لا يمكن أن يكون الرمز البريدي فارغًا`,
postalCodeInvalidText: `الرمز البريدي غير صالح`,
stateLabel: `ولاية`,
stateEmptyText: `لا يمكن أن تكون الحالة فارغة`,
cityLabel: `مدينة`,
cityEmptyText: `لا يمكن أن تكون المدينة فارغة`,
fullNamePlaceholder: `الاسم الأول والاسم الأخير`,
countryLabel: `دولة`,
currencyLabel: `عملة`,
bankLabel: `حدد البنك`,
redirectText: `بعد تقديم طلبك ، ستتم إعادة توجيهك لإكمال عملية الشراء بشكل آمن.`,
bankDetailsText: `بعد إرسال هذه التفاصيل ، ستحصل على معلومات الحساب المصرفي لإجراء الدفع. يُرجى التأكد من تدوين ذلك.`,
orPayUsing: `أو الدفع باستخدام`,
addNewCard: `أضف بطاقة جديدة`,
useExisitingSavedCards: `استخدم البطاقات المحفوظة الموجودة`,
saveCardDetails: `حفظ تفاصيل البطاقة`,
addBankAccount: `إضافة حساب مصرفي`,
achBankDebitTerms: str =>
`من خلال تقديم رقم حسابك وتأكيد هذا الدفع ، فإنك تفوض ${str} و Hyperswitch ، مزود خدمة الدفع ، لإرسال تعليمات إلى البنك الذي تتعامل معه للخصم من حسابك والبنك الخاص بك للخصم من حسابك وفقًا لهذه التعليمات. يحق لك استرداد الأموال من البنك الذي تتعامل معه بموجب شروط وأحكام اتفاقيتك مع البنك الذي تتعامل معه. يجب المطالبة باسترداد الأموال في غضون 8 أسابيع بدءًا من تاريخ الخصم من حسابك.`,
sepaDebitTerms: str =>
`من خلال تقديم معلومات الدفع الخاصة بك وتأكيد هذا الدفع ، فإنك تفوض (أ) ${str} و Hyperswitch ، موفر خدمة الدفع لدينا و / أو PPRO ، مزود الخدمة المحلي ، لإرسال تعليمات إلى البنك الذي تتعامل معه للخصم من حسابك و (ب) البنك الذي تتعامل معه للخصم من حسابك وفقًا لتلك التعليمات. كجزء من حقوقك ، يحق لك استرداد الأموال من البنك الذي تتعامل معه بموجب شروط وأحكام اتفاقيتك مع البنك الذي تتعامل معه. يجب المطالبة باسترداد الأموال في غضون 8 أسابيع بدءًا من تاريخ الخصم من حسابك. يتم توضيح حقوقك في بيان يمكنك الحصول عليه من البنك الذي تتعامل معه. أنت توافق على تلقي إشعارات بالخصم المستقبلي لمدة تصل إلى يومين قبل حدوثها.`,
becsDebitTerms: `من خلال تقديم تفاصيل حسابك المصرفي وتأكيد هذه الدفعة ، فإنك توافق على طلب الخصم المباشر هذا واتفاقية خدمة طلب الخصم المباشر وتفوض Hyperswitch Payments Australia Pty Ltd ACN 160180343 رقم معرف مستخدم الخصم المباشر 507156 ("Hyperswitch") للخصم من حسابك حساب من خلال نظام المقاصة الإلكترونية المجمعة (BECS) نيابة عن Hyperswitch Payment Widget ("التاجر") لأي مبالغ يرسلها التاجر لك بشكل منفصل. أنت تقر بأنك إما صاحب حساب أو مفوض بالتوقيع على الحساب المذكور أعلاه.`,
cardTerms: str =>
`من خلال تقديم معلومات بطاقتك ، فإنك تسمح لـ ${str} بشحن بطاقتك للمدفوعات المستقبلية وفقًا لشروطها.`,
payNowButton: `ادفع الآن`,
cardNumberEmptyText: `لا يمكن أن يكون رقم البطاقة فارغاً`,
cardExpiryDateEmptyText: `لا يمكن أن يكون تاريخ انتهاء البطاقة فارغاً`,
cvcNumberEmptyText: `لا يمكن أن يكون رقم التحقق من البطاقة (CVC) فارغًا`,
enterFieldsText: `الرجاء إدخال كافة الحقول`,
enterValidDetailsText: `الرجاء إدخال تفاصيل صالحة`,
selectPaymentMethodText: `الرجاء تحديد طريقة الدفع والمحاولة مرة أخرى`,
card: `بطاقة`,
surchargeMsgAmount: (currency, str) => <>
{React.string(`سيتم تطبيق مبلغ إضافي من${Utils.nbsp}`)}
<strong> {React.string(`${currency} ${str}`)} </strong>
{React.string(`${Utils.nbsp}على هذه المعاملة`)}
</>,
surchargeMsgAmountForCard: (currency, str) => <>
{React.string(`سيتم تطبيق مبلغ إضافي يصل إلى${Utils.nbsp}`)}
<strong> {React.string(`${currency} ${str}`)} </strong>
{React.string(`${Utils.nbsp}على هذه المعاملة`)}
</>,
surchargeMsgAmountForOneClickWallets: `رسوم إضافية قابلة للتطبيق`,
billingNameLabel: `اسم الفواتير`,
billingNamePlaceholder: `الاسم الأول والاسم الأخير`,
cardHolderName: `إسم صاحب البطاقة`,
on: `على`,
\"and": `و`,
nameEmptyText: str => `يرجى تقديم الخاص بك ${str}`,
completeNameEmptyText: str => `يرجى تقديم كامل الخاص بك ${str}`,
billingDetailsText: `تفاصيل الفاتورة`,
socialSecurityNumberLabel: `رقم الضمان الاجتماعي`,
saveWalletDetails: `سيتم حفظ تفاصيل المحفظة عند الاختيار`,
morePaymentMethods: `المزيد من طرق الدفع`,
useExistingPaymentMethods: `استخدم طرق الدفع المحفوظة`,
cardNickname: `الاسم علي الكارت`,
nicknamePlaceholder: `اسم البطاقة (اختياري)`,
}
82 changes: 82 additions & 0 deletions src/LocaleStrings/CatalanLocale.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
let localeStrings: LocaleStringTypes.localeStrings = {
locale: `ca`,
localeDirection: `ltr`,
cardNumberLabel: `Número de targeta`,
inValidCardErrorText: `El número de targeta no és vàlid.`,
inCompleteCVCErrorText: `El codi de seguretat de la targeta està incomplet.`,
inCompleteExpiryErrorText: `La data de venciment de la targeta està incompleta.`,
pastExpiryErrorText: `La data de venciment de la targeta ja ha passat.`,
poweredBy: `Amb tecnologia de Hyperswitch`,
validThruText: `Venciment`,
sortCodeText: `Codi de sucursal`,
cvcTextLabel: `CVC`,
line1Label: `Línia d'adreça 1`,
line1Placeholder: `Adreça postal`,
line2Label: `Línia d'adreça 2`,
line2Placeholder: `Pis, número d'apartament, etc. (opcional)`,
cityLabel: `Ciutat`,
postalCodeLabel: `Codi postal`,
stateLabel: `Estat`,
accountNumberText: `Número de compte`,
emailLabel: `Adreça electrònica`,
fullNameLabel: `Nom complet`,
fullNamePlaceholder: `Nom i cognoms`,
countryLabel: `País`,
currencyLabel: `Moneda`,
bankLabel: `Seleccioni un banc`,
redirectText: `En fer la comanda, se li redirigirà perquè completi la compra de manera segura.`,
bankDetailsText: `Després d'enviar aquestes dades, rebrà la informació del compte bancari per fer el pagament. Recordi prendre'n nota.`,
orPayUsing: `O faci el pagament mitjançant`,
addNewCard: `Afegeixi una targeta de crèdit o dèbit`,
useExisitingSavedCards: `Faci servir les targetes de dèbit o crèdit desades`,
saveCardDetails: `Desi les dades de la targeta`,
addBankAccount: `Afegeixi un compte bancari`,
achBankDebitTerms: str =>
`En facilitar el número de compte i confirmar el pagament, autoritza ${str} i Hyperswitch, el nostre proveïdor de serveis de pagament, a enviar ordres al seu banc perquè apliqui els càrrecs corresponents al compte. Tindrà dret a rebre un reembossament del banc d'acord amb els termes i condicions del contracte que hi hagi subscrit. El reembossament s'ha de sol·licitar en un termini de 8 setmanes des de la data en què es va aplicar el càrrec al compte.`,
sepaDebitTerms: str =>
`En facilitar la informació de pagament i confirmar el pagament, autoritza ${str} i Hyperswitch, el nostre proveïdor de serveis de pagament, o a PPRO, el seu proveïdor de serveis local, a enviar ordres al seu banc i a (B) perquè apliqui els càrrecs corresponents al compte. Com a part dels seus drets, podrà rebre un reembossament del banc d'acord amb els termes i condicions del contracte que hi hagi subscrit. El reembossament s'ha de sol·licitar en un termini de 8 setmanes des de la data en què es va aplicar el càrrec al compte. Els seus drets s'expliquen en un extracte que podrà sol·licitar al banc. Accepta rebre notificacions dels càrrecs futurs fins 2 dies abans que es produeixin.`,
becsDebitTerms: `En facilitar les dades del compte bancari i confirmar el pagament, accepta aquesta sol·licitud de domiciliació bancària i l'acord de servei corresponent. A més, autoritza Hyperswitch Payments Australia Pty Ltd ACN 160 180 343, amb número d'identificació d'usuari de domiciliació bancària 507156, («Hyperswitch») a aplicar càrrecs al compte a través del sistema de compensació electrònica massiva (BECS) en nom de Hyperswitch Payment Widget (el «comerç») per a qualsevol import que el comerç li comuniqui individualment. Certifica que és titular d'un compte o signatari autoritzat del compte que s'indica anteriorment.`,
cardTerms: str =>
`En facilitar la informació de la targeta, permet a ${str} que faci càrrecs a la targeta per a pagaments futurs d'acord amb les seves condicions.`,
payNowButton: `Pagui ara`,
cardNumberEmptyText: `Cal indicar el número de la targeta`,
cardExpiryDateEmptyText: `Cal indicar la data de venciment de la targeta`,
cvcNumberEmptyText: `Cal indicar el número CVC`,
enterFieldsText: `Empleni tots els camps`,
enterValidDetailsText: `Introdueixi dades vàlides`,
card: `Targeta`,
billingNameLabel: `Nom de facturació`,
cardHolderName: `Nom del titular de la targeta`,
cardNickname: `Sobrenom de la targeta`,
billingNamePlaceholder: `Nom i cognom`,
emailEmptyText: `El correu electrònic no pot estar buit`,
emailInvalidText: `adressa de correu invàlida`,
line1EmptyText: `La línia d'adreça 1 no pot estar buida`,
line2EmptyText: `La línia d'adreça 2 no pot estar buida`,
cityEmptyText: `La ciutat no pot estar buida`,
postalCodeEmptyText: `El codi postal no pot estar buit`,
postalCodeInvalidText: `Codi postal no vàlid`,
stateEmptyText: `L'estat no pot estar buit`,
surchargeMsgAmount: (currency, str) => <>
{React.string(`Un import de recàrrec de${Utils.nbsp}`)}
<strong> {React.string(`${currency} ${str}`)} </strong>
{React.string({`${Utils.nbsp}s'aplicarà per a aquesta transacció`})}
</>,
surchargeMsgAmountForCard: (currency, str) => <>
{React.string(`Un recàrrec de fins a${Utils.nbsp}`)}
<strong> {React.string(`${currency} ${str}`)} </strong>
{React.string(`${Utils.nbsp}s'aplicarà per a aquesta transacció`)}
</>,
surchargeMsgAmountForOneClickWallets: `Taxa addicional aplicable`,
on: `activat`,
\"and": `i`,
nameEmptyText: str => `Si us plau, proporcioneu el vostre${str}`,
completeNameEmptyText: str => `Si us plau, proporcioneu el vostre complet ${str}`,
billingDetailsText: `Detalls de facturació`,
socialSecurityNumberLabel: `Número de la Seguretat Social`,
saveWalletDetails: `Els detalls de les carteres es desaran en seleccionar-los`,
morePaymentMethods: `més mètodes de pagament`,
useExistingPaymentMethods: `Utilitzeu formes de pagament desades`,
nicknamePlaceholder: `Àlies de la targeta (opcional)`,
selectPaymentMethodText: `Seleccioneu una forma de pagament i torneu-ho a provar`,
}
Loading
Loading