libmodulor v0.13.1 is out 🚀 !
libmodulor
Guides

Translate an app

Apps can be translated in multiple languages.

The translation keys must follow a specific pattern. Each type of translation has their own pattern.

dt => data type

Translate the options (i.e. the possible values) of a specific data type.

src/i18n.ts
en: {
    dt_TYesNo_no_desc: 'No',
    dt_TYesNo_no_label: 'You disagree',
    dt_TYesNo_yes_desc: 'Yes',
    dt_TYesNo_yes_label: 'You agree',
},
fr: {
    dt_TYesNo_no_desc: 'Non',
    dt_TYesNo_no_label: "Pas d'accord !",
    dt_TYesNo_yes_desc: 'Oui',
    dt_TYesNo_yes_label: "Je suis d'accord !",
}

err => errors

Translate specific errors thrown in the app specific code present in lib, ucds, policies, etc.

src/i18n.ts
en: {
    err_account_disabled: 'Your account has been disabled',
},
fr: {
    err_account_disabled: 'Votre compte a été désactivé',
}

uc => use case

Translate the various values associated to a use case.

src/i18n.ts
en: {
    uc_DeleteAccount_client_confirm_cancel: "I'm staying",
    uc_DeleteAccount_client_confirm_confirm: "I'm out",
    uc_DeleteAccount_client_confirm_message: "You won't be able to recover your account",
    uc_DeleteAccount_client_confirm_title: "Delete your account?",
    uc_ListIssues_op_0_empty: '',
    uc_ListIssues_op_0_label: 'Issues summary',
    uc_ListIssues_op_1_empty: 'No issues',
    uc_ListIssues_op_1_label: 'Issues',
    uc_SignUp_desc: "Sign up",
    uc_SignUp_label: "Create my account now",
    uc_SignUp_i_submit_changing: 'Initializing',
    uc_SignUp_i_submit_idle: 'Sign up',
    uc_SignUp_i_submit_initializing: 'Initializing',
    uc_SignUp_i_submit_submitting: 'Signing up',
},
fr: {
    uc_DeleteAccount_client_confirm_cancel: "Je reste",
    uc_DeleteAccount_client_confirm_confirm: "Je m'en vais",
    uc_DeleteAccount_client_confirm_message: "Cette opération est irréversible",
    uc_DeleteAccount_client_confirm_title: "Supprimer votre compte ?",
    uc_ListIssues_op_0_empty: '',
    uc_ListIssues_op_0_label: "Résumé des problÚmes",
    uc_ListIssues_op_1_empty: 'Aucun problĂšme',
    uc_ListIssues_op_1_label: 'ProblĂšmes',
    uc_SignUp_desc: "S'inscrire",
    uc_SignUp_label: "Créer mon compte maintenant",
    uc_SignUp_i_submit_changing: 'Initialisation',
    uc_SignUp_i_submit_idle: "S'inscrire",
    uc_SignUp_i_submit_initializing: 'Initialisation',
    uc_SignUp_i_submit_submitting: 'Inscription',
},

ucif => use case input fields

Translate the various values associated to a use case input field.

src/i18n.ts
en: {
    ucif_email_desc: "Your professional email address",
    ucif_email_label: "Email address",
},
fr: {
    ucif_email_desc: "Votre adresse email professionnelle",
    ucif_email_label: "Adresse email",
},

ucof => use case output fields

Translate the various values associated to a use case output field.

src/i18n.ts
en: {
    ucof_balance_desc: "Account balance computed from transactions",
    ucof_balance_label: "Balance",
},
fr: {
    ucof_balance_desc: "Solde du compte calculé à partir des opérations",
    ucof_balance_label: "Solde",
},

validation

Translate the validation messages of specific data types or custom validation rules.

src/i18n.ts
en: {
    validation_format_ZipCode: 'Must be a valid zipcode with 5 digits',
},
fr: {
    validation_format_ZipCode: 'Doit ĂȘtre un code postal valide Ă  5 chiffres',
}

On this page