diff --git a/Scripts/Localization/Update.sh b/Scripts/Localization/Update.sh index 045be2143..f5ea55697 100755 --- a/Scripts/Localization/Update.sh +++ b/Scripts/Localization/Update.sh @@ -28,20 +28,26 @@ function import_localization { export $(cat .env | xargs) export -f import_localization +# Validates arguments acount +test $# -eq 1 + +IMPORT_DIR=$1 + # Create directories mkdir -p $WORK_DIR/import mkdir -p $WORK_DIR/export +# todo(andrii-vysotskyi): uncomment when access to API is restored # Download strings -lokalise2 \ - --token $LOKALISE_TOKEN \ - --project-id "20942964654390ceed1ab9.44453861" \ - file download \ - --format xliff \ - --unzip-to $WORK_DIR/import +# lokalise2 \ +# --token $LOKALISE_TOKEN \ +# --project-id "20942964654390ceed1ab9.44453861" \ +# file download \ +# --format xliff \ +# --unzip-to $WORK_DIR/import # Import available localizations -find $WORK_DIR/import -name '*.xliff' -exec /bin/bash -c 'import_localization "$0"' {} \; +find $IMPORT_DIR -name '*.xliff' -exec /bin/bash -c 'import_localization "$0"' {} \; function cleanup { rm -rf $WORK_DIR diff --git a/Sources/ProcessOut/Resources/Localizable.xcstrings b/Sources/ProcessOut/Resources/Localizable.xcstrings index 4a8c2d0df..7a2ae5b9d 100644 --- a/Sources/ProcessOut/Resources/Localizable.xcstrings +++ b/Sources/ProcessOut/Resources/Localizable.xcstrings @@ -3,12 +3,24 @@ "strings" : { "native-alternative-payment.cancel-button.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Cancel" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -25,12 +37,24 @@ }, "native-alternative-payment.email.placeholder" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "name@example.com" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "name@example.com" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "nom@exemple.fr" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -47,12 +71,24 @@ }, "native-alternative-payment.error.invalid-email" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "البريد الإلكتروني غير صالح." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Email is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre adresse e-mail est invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -69,6 +105,24 @@ }, "native-alternative-payment.error.invalid-length-%d" : { "localizations" : { + "ar" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "إن الطول غير صالح، الرجاء التقيد بحرف واحد فقط." + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "إن الطول غير صالح، الرجاء التقيد بـ %d حرفًا." + } + } + } + } + }, "en" : { "variations" : { "plural" : { @@ -87,6 +141,24 @@ } } }, + "fr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Longueur incorrecte, %d caractère est attendu." + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Longueur incorrecte, %d caractères sont attendus." + } + } + } + } + }, "pl" : { "variations" : { "plural" : { @@ -127,12 +199,24 @@ }, "native-alternative-payment.error.invalid-number" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الرقم غير صحيح." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Number is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Numéro invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -149,12 +233,24 @@ }, "native-alternative-payment.error.invalid-phone" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "رقم الهاتف غير صحيح." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Phone number is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre numéro de téléphone est invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -171,12 +267,24 @@ }, "native-alternative-payment.error.invalid-value" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القيمة غير صحيحة." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Value is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valeur invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -193,12 +301,24 @@ }, "native-alternative-payment.error.required-parameter" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "البيانات مطلوبة." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Parameter is required." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paramètre requis." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -215,12 +335,24 @@ }, "native-alternative-payment.phone.placeholder" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "أدخل رقم الهاتف" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Enter phone number" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez votre numéro de téléphone" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -237,12 +369,24 @@ }, "native-alternative-payment.submit-button.default-title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدفع" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Pay" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payer" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -259,12 +403,24 @@ }, "native-alternative-payment.submit-button.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدفع %@" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Pay %@" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payer %@" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -281,12 +437,24 @@ }, "native-alternative-payment.success.message" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نجاح! تمت الموافقة على الدفع" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Success!\\nPayment approved." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès !\nPaiement confirmé." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -303,12 +471,24 @@ }, "native-alternative-payment.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدفع بواسطة %@" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Pay with %@" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payer avec %@" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -325,12 +505,24 @@ }, "test-3ds.challenge.accept" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قبول" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Accept" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accepter" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -347,12 +539,24 @@ }, "test-3ds.challenge.reject" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "رفض" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Reject" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejeter" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -369,12 +573,24 @@ }, "test-3ds.challenge.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل ترغب في قبول تحقيق 3DS2 ؟" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Do you want to accept the 3DS2 challenge?" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Souhaitez-vous accepter le défi (challenge) 3DS2 ?" + } + }, "pl" : { "stringUnit" : { "state" : "translated", diff --git a/Sources/ProcessOut/Sources/Core/Utils/Strings+PreferredLocalization.swift b/Sources/ProcessOut/Sources/Core/Utils/Strings+PreferredLocalization.swift index 21d73869d..dcd33ece2 100644 --- a/Sources/ProcessOut/Sources/Core/Utils/Strings+PreferredLocalization.swift +++ b/Sources/ProcessOut/Sources/Core/Utils/Strings+PreferredLocalization.swift @@ -10,6 +10,8 @@ import Foundation enum Strings { static var preferredLocalization: String { + // todo(andrii-vysotskyi): it should be possible to inject supported localizations + // instead of only relying on languages that are supported by current bundle. let bundle: Bundle if Bundle.main.preferredLocalizations.first == BundleLocator.bundle.preferredLocalizations.first { bundle = BundleLocator.bundle diff --git a/Sources/ProcessOutUI/Resources/Localizable.xcstrings b/Sources/ProcessOutUI/Resources/Localizable.xcstrings index 62acc0a8c..c169d074a 100644 --- a/Sources/ProcessOutUI/Resources/Localizable.xcstrings +++ b/Sources/ProcessOutUI/Resources/Localizable.xcstrings @@ -649,12 +649,24 @@ }, "cancel-confirmation.cancel" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "ليس الآن" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Not now" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas maintenant" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -671,12 +683,24 @@ }, "cancel-confirmation.confirm" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء الدفع" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Cancel payment" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler le paiement" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -693,12 +717,24 @@ }, "cancel-confirmation.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء الدفع؟" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Cancel payment?" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler le paiement ?" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1529,12 +1565,58 @@ } } }, + "dynamic-checkout.cancel-button" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anuluj" + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + } + } + }, "dynamic-checkout.error.generic" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لم نتمكن من إتمام دفعتك. يرجى التحقق من التفاصيل أو تجربة طريقة دفع أخرى." + } + }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "We were unable to process your payment. Please check your payment details or try another payment method." + "value" : "We were unable to process your payment. Please check your payment details or try another payment method." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nous n'avons pas pu finaliser votre paiement. Veuillez vérifier vos informations ou essayer un autre mode de paiement." } }, "pl" : { @@ -1553,12 +1635,24 @@ }, "dynamic-checkout.error.unavailable-method" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "طريقة الدفع المطلوبة غير متاحة، يرجى تجربة طريقة دفع أخرى." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "The requested payment method is not available, please try another payment method." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le mode de paiement demandé n'est pas disponible, veuillez essayer un autre mode de paiement." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1575,12 +1669,24 @@ }, "dynamic-checkout.pay-button" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدفع" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Pay" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payer" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1597,12 +1703,24 @@ }, "dynamic-checkout.redirect-warning" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "سيتم إعادة توجيهك لإتمام هذه الدفعة." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "You will be redirected to finalise this payment." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous serez redirigé pour finaliser ce paiement." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1617,14 +1735,60 @@ } } }, + "dynamic-checkout.success-message" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نجاح! تمت الموافقة على الدفع" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Success!\nPayment approved." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès !\nPaiement confirmé." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sukces!\nPłatność przyjęta." + } + }, + "pt-PT" : { + "stringUnit" : { + "state" : "translated", + "value" : "Successo!\nPagamento aprovado." + } + } + } + }, "dynamic-checkout.unavailable-warning" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "طريقة الدفع هذه غير متاحة." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "This payment method is unavailable." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ce mode de paiement est indisponible." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1641,12 +1805,24 @@ }, "native-alternative-payment.cancel-button.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Cancel" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1663,12 +1839,24 @@ }, "native-alternative-payment.email.placeholder" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "name@example.com" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "name@example.com" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "nom@exemple.fr" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1685,12 +1873,24 @@ }, "native-alternative-payment.error.invalid-email" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "البريد الإلكتروني غير صالح." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Email is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre adresse e-mail est invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1707,6 +1907,24 @@ }, "native-alternative-payment.error.invalid-length-%d" : { "localizations" : { + "ar" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "إن الطول غير صالح، الرجاء التقيد بحرف واحد فقط." + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "إن الطول غير صالح، الرجاء التقيد بـ %d حرفًا." + } + } + } + } + }, "en" : { "variations" : { "plural" : { @@ -1725,21 +1943,27 @@ } } }, - "pl" : { + "fr" : { "variations" : { "plural" : { - "few" : { + "one" : { "stringUnit" : { "state" : "translated", - "value" : "Nieprawidłowa długość. Oczekiwano %d znaków." + "value" : "Longueur incorrecte, %d caractère est attendu." } }, - "many" : { + "other" : { "stringUnit" : { "state" : "translated", - "value" : "Nieprawidłowa długość. Oczekiwano %d znaków." + "value" : "Longueur incorrecte, %d caractères sont attendus." } - }, + } + } + } + }, + "pl" : { + "variations" : { + "plural" : { "one" : { "stringUnit" : { "state" : "translated", @@ -1777,12 +2001,24 @@ }, "native-alternative-payment.error.invalid-number" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الرقم غير صحيح." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Number is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Numéro invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1799,12 +2035,24 @@ }, "native-alternative-payment.error.invalid-phone" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "رقم الهاتف غير صحيح." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Phone number is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre numéro de téléphone est invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1821,12 +2069,24 @@ }, "native-alternative-payment.error.invalid-value" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القيمة غير صحيحة." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Value is not valid." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valeur invalide." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1843,12 +2103,24 @@ }, "native-alternative-payment.error.required-parameter" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "البيانات مطلوبة." + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Parameter is required." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paramètre requis." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1865,12 +2137,24 @@ }, "native-alternative-payment.phone.placeholder" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "أدخل رقم الهاتف" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Enter phone number" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez votre numéro de téléphone" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1887,12 +2171,24 @@ }, "native-alternative-payment.submit-button.default-title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدفع" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Pay" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payer" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1909,12 +2205,24 @@ }, "native-alternative-payment.submit-button.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدفع %@" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Pay %@" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payer %@" + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1931,12 +2239,24 @@ }, "native-alternative-payment.success.message" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نجاح! تمت الموافقة على الدفع" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Success!\nPayment approved." } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès !\nPaiement confirmé." + } + }, "pl" : { "stringUnit" : { "state" : "translated", @@ -1953,12 +2273,24 @@ }, "native-alternative-payment.title" : { "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الدفع بواسطة %@" + } + }, "en" : { "stringUnit" : { "state" : "translated", "value" : "Pay with %@" } }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Payer avec %@" + } + }, "pl" : { "stringUnit" : { "state" : "translated", diff --git a/Sources/ProcessOutUI/Sources/Modules/CardUpdate/Symbols/StringResource+CardUpdate.swift b/Sources/ProcessOutUI/Sources/Modules/CardUpdate/Symbols/StringResource+CardUpdate.swift index c16e01fd2..fe8fc47c9 100644 --- a/Sources/ProcessOutUI/Sources/Modules/CardUpdate/Symbols/StringResource+CardUpdate.swift +++ b/Sources/ProcessOutUI/Sources/Modules/CardUpdate/Symbols/StringResource+CardUpdate.swift @@ -16,11 +16,17 @@ extension POStringResource { /// Card update title. static let title = POStringResource("card-update.title", comment: "") - /// Card CVC placeholder. - static let cvc = POStringResource("card-update.cvc", comment: "") + enum CardDetails { - /// Preferred scheme section title. - static let preferredScheme = POStringResource("card-update.preferred-scheme", comment: "") + /// Card CVC placeholder. + static let cvc = POStringResource("card-update.cvc", comment: "") + } + + enum PreferredScheme { + + /// Preferred scheme section title. + static let title = POStringResource("card-update.preferred-scheme", comment: "") + } enum Button { diff --git a/Sources/ProcessOutUI/Sources/Modules/CardUpdate/ViewModel/DefaultCardUpdateViewModel.swift b/Sources/ProcessOutUI/Sources/Modules/CardUpdate/ViewModel/DefaultCardUpdateViewModel.swift index 2b01f1928..a9b295f1d 100644 --- a/Sources/ProcessOutUI/Sources/Modules/CardUpdate/ViewModel/DefaultCardUpdateViewModel.swift +++ b/Sources/ProcessOutUI/Sources/Modules/CardUpdate/ViewModel/DefaultCardUpdateViewModel.swift @@ -141,7 +141,7 @@ final class DefaultCardUpdateViewModel: CardUpdateViewModel { self?.interactor.update(cvc: newValue) } ), - placeholder: String(resource: .CardUpdate.cvc), + placeholder: String(resource: .CardUpdate.CardDetails.cvc), isInvalid: !state.areParametersValid, isEnabled: true, icon: Image(.Card.back), @@ -181,7 +181,7 @@ final class DefaultCardUpdateViewModel: CardUpdateViewModel { ) let section = CardUpdateViewModelSection( id: SectionId.preferredScheme, - title: String(resource: .CardUpdate.preferredScheme), + title: String(resource: .CardUpdate.PreferredScheme.title), items: [.picker(pickerItem)] ) return section diff --git a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Symbols/StringResource+DynamicCheckout.swift b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Symbols/StringResource+DynamicCheckout.swift index 71a0e5af5..a049b1204 100644 --- a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Symbols/StringResource+DynamicCheckout.swift +++ b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Symbols/StringResource+DynamicCheckout.swift @@ -19,7 +19,7 @@ extension POStringResource { static let pay = POStringResource("dynamic-checkout.pay-button", comment: "") /// Cancel button title. - static let cancel = POStringResource("native-alternative-payment.cancel-button.title", comment: "") + static let cancel = POStringResource("dynamic-checkout.cancel-button", comment: "") } enum CancelConfirmation { @@ -53,7 +53,7 @@ extension POStringResource { } /// Success message. - static let successMessage = POStringResource("native-alternative-payment.success.message", comment: "") + static let successMessage = POStringResource("dynamic-checkout.success-message", comment: "") } }