Skip to main content

Translate and localize payment forms

Zuora

Translate and localize payment forms

Payment Form supports localization:

  • When previewing the payment form, it is displayed in the selected language based on the region you choose from the preview region list.
  • To support localization at runtime, you can use either of the following approaches:
    • Use Zuora's default localization, which supports 41 languages.
    • Configure your custom translation files.

At runtime, the translation is dynamically loaded based on the following logic:

  1. If the locale parameter is specified in the Payment Form configuration parameters in the integration code, the payment form is rendered in the language corresponding to the locale parameter.
  2. If the locale parameter is not specified,  the payment form is rendered in the language based on the locale configuration of the browser.
  3. Otherwise, the payment form is rendered in English.

Zuora's default localization

The following table describes the 41 languages supported by Zuora's default localization:

Language name Language code

Arabic

ar

Bulgarian

bg

Catalan, Valencian

ca

Croatian

hr

Czech

cs

Danish

da

Dutch

nl

English

en

Estonian

et

Filipino

fil

Finnish

fi

French

fr

German

de

Greek

el

Hebrew

iw

Hindi

hi

Hungarian

hu

Icelandic

is

Indonesian

id

Italian

it

Japanese

ja

Korean

ko

Latvian

lv

Lithuanian

lt

Malay

ms

Maltese

mt

Norwegian

no

Norwegian Bokmål

nb

Polish

pl

Portuguese

pt

Romanian

ro

Russian

ru

Simplified Chinese

zh

Slovak

sk

Slovenian

sl

Spanish

es

Swedish

sv

Thai

th

Turkish

tr

Ukrainian

uk

Vietnamese

vi

Configure custom translation files

Zuora provides the Resource Bundle Template, which is a template file for you to create translated resource files for Payment Form. Complete the following tasks to download the template, edit it to a custom translation resource file, and upload the file:

  1. In the Zuora UI, click your username in the upper right and navigate to Settings > Payments > Payment Form.
  2. Click the Custom Localization tab. The available translation resource files are listed on the page.
  3. Click Add Custom Localization.
  4. In the Add Custom Localization dialog, select a locale from the Locale list and click Next.
  5. Click Download to download the resource template file. The name of the file is resource_bundle_template_<locale_code>.txt, such as resource_bundle_template_fr.txt.
  6. Edit the template file to provide translations for the texts and labels on the payment form:
    1. Open the downloaded template file in a text editor, and then enter the translated labels and texts for the keys. Do not remove any code lines from the Resource Bundle Template file. For more information about the keys, see Keys in the translation template file in a later section.
    2. Save the custom resource file with UTF-8 encoding, except for the following European languages, which require ISO-8859-1 encoding to correctly display the payment form in their locales:
      • French
      • Canadian French
      • Italian
  7. Click Upload and select the custom resource file to upload the translated resource file.
  8. Click Add.

Keys in the translation template file

The following keys are available in the Resource Bundle Template file:

Key Description

metaForm.button.type.pay

Text on the submit button of type “Pay”

metaForm.button.type.book

Text on the submit button of type “Book”

metaForm.button.type.subscribe

Text on the submit button of type “Subscribe”

metaForm.button.type.donate

Text on the submit button of type “Donate”

metaForm.validation.rule.required

Error message to say that the field is a required field.

metaForm.validation.rule.minLength

Error message to say that the field value length is too short.

metaForm.validation.rule.maxLength

Error message to say that the field value length exceeds the maximum length.

metaForm.validation.rule.minValue

Error message to say that the field value is less than the minimum limit.

metaForm.validation.rule.maxValue

Error message to say that the field value exceeds the maximum limit.

metaForm.validation.rule.pattern

Error message to say that the field value doesn’t match the expected pattern.

metaForm.validation.sepa.invalidIban

Error message to say that the provided IBAN is invalid. (For Bank Transfer - SEPA).

metaForm.validation.cc.invalidCcNumber

Error message to say that the provided card number is invalid.

metaForm.validation.cc.invalidCardHolderName

Error message to say that the provided card holder name is invalid.

metaForm.validation.cc.notSupportedCard

Error message to say that the provided card type is not supported.

metaForm.validation.cc.passedExpiryDate

Error message to say that the expiry date must be a future date.

metaForm.paymentMethod.creditcard.cardNumber.label

Label for the card number input.

metaForm.paymentMethod.creditcard.cardNumber.placeholder

Placeholder for the card number input.

metaForm.paymentMethod.creditcard.cardNumber.validation.required

Error message to say the card number is a required field.

metaForm.paymentMethod.creditcard.cardNumber.validation.pattern

Error message to say the card number is invalid.

metaForm.paymentMethod.creditcard.cardExpiryDate.placeholder

Placeholder for the card expiry date.

metaForm.paymentMethod.creditcard.cardExpiryDate.validation.required

Error message to say the card expiry date is a required field.

metaForm.paymentMethod.creditcard.cardExpiryDate.validation.pattern

Error message to say the card expiry date format is invalid.

metaForm.paymentMethod.creditcard.cardCvv.placeholder

Placeholder for the CVV.

metaForm.paymentMethod.creditcard.cardCvv.validation.required

Error message to say the CVV is a required field.

metaForm.paymentMethod.creditcard.cardCvv.validation.pattern

Error message to say the CVV is invalid.

metaForm.paymentMethod.creditcard.cardHolderName.label

Label for the card holder name.

metaForm.paymentMethod.creditcard.cardHolderName.placeholder

Placeholder for the card holder name.

metaForm.paymentMethod.creditcard.cardHolderName.validation.required

Error message to say that the Cardholder Name is a required field.

metaForm.paymentMethod.creditcard.cardHolderName.validation.minLength

Error message to say that the card holder name exceeds the maximum length

metaForm.paymentMethod.ach.routingNumber.label

Label for Bank Routing number in case of “ACH”

metaForm.paymentMethod.ach.routingNumber.placeholder

Placeholder for the Bank Routing Number in case of “ACH”.

metaForm.paymentMethod.ach.routingNumber.validation.required

Error message to say that the Bank Routing Number is a required field in case of “ACH”.

metaForm.paymentMethod.ach.routingNumber.validation.minLength

Error message to say that the Bank Routing Number length is less than the minimum length

metaForm.paymentMethod.ach.accountNumber.placeholder

Placeholder for the Bank Account Number in case of “ACH”.

metaForm.paymentMethod.ach.accountNumber.validation.required

Error message to say that the Bank Account Number is a required field in case of “ACH”.

metaForm.paymentMethod.ach.accountNumber.validation.minLength

Error message to say that the Bank Account Number length is less than the minimum length

metaForm.paymentMethod.ach.accountType.values.checking

Text for the “Checking” Bank Account Type 

metaForm.paymentMethod.ach.accountType.values.saving

Text for the “Saving” Bank Account Type

metaForm.paymentMethod.ach.accountType.values.businessChecking

Text for the “Business Checking” Bank Account Type

metaForm.paymentMethod.ach.bankName.placeholder

Placeholder for the Bank Name in case of “ACH”.

metaForm.paymentMethod.ach.bankName.validation.required

Error message to say that the Bank Name is a required field in case of “ACH”.

metaForm.paymentMethod.ach.bankName.validation.minLength

Error message to say that the Bank Name length is less than the minimum length in case of “ACH”.

metaForm.paymentMethod.ach.accountName.placeholder

Placeholder for the Bank Account Name in case of “ACH”.

metaForm.paymentMethod.ach.accountName.validation.required

Error message to say that the Bank Account Name is a required field in case of “ACH”.

metaForm.paymentMethod.ach.accountName.validation.minLength

Error message to say that the Bank Account Name length is less than the minimum length in case of “ACH”.

metaForm.paymentMethod.sepa.accountName.label

Label for the Bank Account Name in case of “SEPA”.

metaForm.paymentMethod.sepa.accountName.placeholder

Placeholder for the Bank Account Name in case of “SEPA”.

metaForm.paymentMethod.sepa.accountName.validation.required

Error message to say that the Bank Account Name is a required field in case of “SEPA”.

metaForm.paymentMethod.sepa.accountName.validation.minLength

Error message to say that the Bank Account Name length is less than the minimum length in case of “SEPA”.

metaForm.paymentMethod.sepa.iban.placeholder

Placeholder for the IBAN.

metaForm.paymentMethod.sepa.iban.validation.required

Error message to say that the IBAN is a required field in case of “SEPA”.

metaForm.paymentMethod.sepa.iban.validation.pattern

Error message to say that the provided IBAN pattern is invalid in case of “SEPA”.

metaForm.paymentMethod.pad.accountName.label

Label for the Bank Account Name field in case of “PAD”.

metaForm.paymentMethod.pad.accountName.placeholder

Placeholder for the Bank Account Name field in case of “PAD”.

metaForm.paymentMethod.pad.accountName.validation.required

Error message to say that the Bank Account Name is a required field in case of “PAD”.

metaForm.paymentMethod.pad.accountNumber.placeholder

Placeholder for the Bank Account Number field in case of “PAD”.

metaForm.paymentMethod.pad.accountNumber.validation.required

Error message to say that the Bank Account Number is a required field in case of “PAD”.

metaForm.paymentMethod.pad.bankCode.placeholder

Placeholder for the Bank Code field in case of “PAD”.

metaForm.paymentMethod.pad.bankCode.validation.required

Error message to say that the Bank Code is a required field in case of “PAD”.

metaForm.paymentMethod.pad.bankBranchCode.placeholder

Placeholder for the Bank Branch Code field in case of “PAD”.

metaForm.paymentMethod.pad.bankBranchCode.validation.required

Error message to say that the Bank Branch Code is a required field in case of “PAD”.

metaForm.paymentMethod.pad.bankName.placeholder

Placeholder for the Bank Name in case of “PAD”.

metaForm.paymentMethod.pad.bankName.validation.required

Error message to say that the Bank Name is a required field in case of “PAD”.

metaForm.billingAddress.title

Label for the Billing Address section

metaForm.billingAddress.country.label

Label for the Country field

metaForm.billingAddress.state.label

Label for the State field

metaForm.billingAddress.state.placeholder

Placeholder for the State field.

metaForm.billingAddress.state.validation.required

Error message to say that the State is a required field.

metaForm.billingAddress.city.placeholder

Placeholder for the City field.

metaForm.billingAddress.city.validation.required

Error message to say that the City is a required field.

metaForm.billingAddress.address1.placeholder

Placeholder for the Address Line 1 field.

metaForm.billingAddress.address1.validation.required

Error message to say that the Address line 1 is a required field.

metaForm.billingAddress.address2.placeholder

Placeholder for the Address Line 2 field.

metaForm.billingAddress.zipcode.placeholder

Placeholder for the Zip/Postal Code field.

metaForm.billingAddress.zipcode.validation.required

Error message to say that the Zip/Postal code is a required field.

metaForm.email.label

Label for the Email field.

metaForm.email.placeholder

Placeholder for the Email field.

metaForm.email.validation.required

Error message to say that the email is a required field.

metaForm.email.validation.pattern

Error message to say that the provided email is invalid.

paymentForm.title.creditcard

Label for the “Card” payment method type

paymentForm.title.ach

Label for the “ACH” payment method type

paymentForm.title.sepa

Label for the “SEPA” payment method type

paymentForm.title.googlepay

Label for the “Google Pay” payment method type

paymentForm.title.applepay

Label for the “Apple Pay” payment method type

paymentForm.title.pad

Label for the “PAD” payment method type

paymentForm.title.paypal

Label for the “Paypal” payment method type

Here is a sample resource file translated into French:

French sample for Payment Form translation template file