Skip to content

OpenCRVS Farajaland Configuration - v1.3.0

Compare
Choose a tag to compare
@euanmillar euanmillar released this 03 Oct 08:57
· 681 commits to develop since this release
1b8ad36

An example OpenCRVS country configuration. To be used in conjunction with opencrvs-core release v1.3.0

Read the release notes!
v1.2 to v1.3.* migration notes

Breaking changes - country configuration

The country confguration repository has been entirely refactored. Please contact us at team@opencrvs.org if you need any help rebasing changes in this repository.

Refer to the documentation

  • Form configuration now takes place entirely by using code in this repository.
  • All databases are now seeded using the configuration and APIs here and the old backup zips have been deprecated.
  • Directory structure has been refactored entirely
  • All server configuration can now be amended in this repository without forking opencrvs-core
  • Many content keys have been created for translation requirements for the new features. These are documented below.
"buttons.editRecord": "No, make correction",
"buttons.issue": "Issue",
"buttons.saving": "Saving...",
"buttons.sendForUpdates": "Send for updates",
"certificate.receipt.amountDue": "Fee",
"certificate.receipt.deathService.before": "Death registration before {target} days of date of death",
"certificate.receipt.marriageService.after": "Marriage registration after {target} days of date of marriage",
"certificate.receipt.marriageService.before": "Marriage registration before {target} days of date of marriage",
"certificate.receipt.service": "Service",
"changeEmail.validation.msg": "Must be a valid email address",
"config.application.marriageTabTitle": "Marriage",
"config.application.marriageLegallySpecifiedDialogTitle": "Legally specified time period for marriage registration",
"config.application.marriageDelayedFeeChangeNotification": "Marriage delayed fee updated",
"config.application.marriageOnTimeFeeChangeNotification": "Marriage on time fee updated",
"config.application.marriageRegTargetChangeNotification": "Marriage registration target days updated",
"config.informantNotification.title": "Informant notifications",
"config.informantNotification.subtitle": "Select the notifications to send to the informant to keep them informed of the progress to their declaration. Your system is configured to send {communicationType}.",
"config.informantNotification.inProgressSMS": "Notification sent to Office",
"config.informantNotification.declarationSMS": "Declaration sent for review",
"config.informantNotification.registrationSMS": "Declaration registered",
"config.informantNotification.rejectionSMS": "Declaration rejected",
"config.informantNotification.success": "Informant notifications updated",
"config.userRoles.title": "User roles",
"config.userRoles.subtitle": "Map user roles to each system role so that specific permissions and privileges are correctly assigned. To learn more about the different system roles see ... {link}",
"config.userRoles.systemRoles": "SYSTEM ROLES",
"config.userRoles.systemRoleSuccessMsg": "System role updated successfully",
"config.userRoles.role": "ROLE",
"config.userRoles.roleUpdateInstruction": "Add the roles to be assigned the system role of {systemRole}",
"config.application.vsExportDownloadFailed": "Sorry! Something went wrong",
"config.certificate.template": "Template",
"config.certificate.allowPrinting": "Allow printing in advanced of issuance",
"config.certificate.options": "Options",
"config.certificate.printDescription": "Records printed off in advance of collections will be added to the ready to issue work-queue",
"config.certificate.allowPrintingNotification": "Allow printing in advance of issuance updated",
"config.certTemplate": "Certificate Template",
"config.marriageDefaultTempDesc": "Default marriage certificate template",
"config.marriageTemplate": "Marriage certificate",
"config.listTitle": "Certification",
"config.application.backgroundImageError": "Unable to change image. Please try again.",
"config.application.loginBackgroundLabel": "Login Background",
"config.application.loginImageText": "Upload an image and set how you would like it to display in the background",
"config.application.imageTabTitle": "Image",
"config.application.colourTabTitle": "Colour",
"config.application.colourTabText": "Hex code",
"config.application.backgroundImageChangeNotification": "Background image updated",
"config.application.backgroundImageFileLimitError": "Background image file must be less than 2mb",
"constants.marriage": "Marriage",
"constants.marriages": "Marriages",
"constants.duplicateOf": "Duplicate of",
"constants.matchedTo": "Matched to",
"constants.registeredAt": "Registered at",
"constants.registeredBy": "Registered by",
"constants.emailAddress": "Email Address",
"constants.user.role": "Role",
"constants.user.systemRole": "System Role",
"constants.registrationNumber": "Reg no.",
"constants.issueCertificate": "Issue Certificate",
"constants.collectorDetails": "Collector Details",
"constants.issueToMother": "Issue to informant (Mother)",
"constants.issueToFather": "Issue to informant (Father)",
"constants.issueToGroom": "Issue to informant (Groom)",
"constants.issueToBride": "Issue to informant (Bride)",
"constants.issueToSomeoneElse": "Issue to someone else",
"constants.issueToInformant": "Issue to informant",
"constants.issueConfirmationMessage": "Please confirm that the certificate has been issued to the informant or collector.",
"constants.idCheckWithoutVerify": "Continue without proof of ID?",
"constants.systemrole": "System Role",
"constants.draft": "Draft",
"verifyCertificate.loading": "Verifying certificate",
"verifyCertificate.timeOut": "You been timed out",
"verifyCertificate.successTitle": "Valid QR code",
"verifyCertificate.successMessage": "Compare the partial details of the record below against those against those recorded on the certificate",
"verifyCertificate.errorTitle": "Invalid QR code",
"verifyCertificate.errorMessage": "The certificate is a potential forgery please...",
"verifyCertificate.successUrl": "URL Verification",
"verifyCertificate.fullname": "Full name",
"verifyCertificate.dateOfBirth": "Date of birth",
"verifyCertificate.dateOfDeath": "Date of death",
"verifyCertificate.sex": "Sex",
"verifyCertificate.placeOfBirth": "Place of birth",
"verifyCertificate.placeOfDeath": "Place of death",
"verifyCertificate.registrationCenter": "Registration Center",
"verifyCertificate.registar": "Name of registar",
"verifyCertificate.createdAt": "Date of certification",
"verifyCertificate.brn": "BRN",
"verifyCertificate.drn": "DRN",
"verifyCertificate.toastMessage": "After verifying the certificate, please close the browser window",
"verifyCertificate.sexFemale": "Female",
"verifyCertificate.sexMale": "Male",
"correction.corrector.bride": "Bride",
"correction.corrector.groom": "Groom",
"correction.summary.required": "Required for correction",
"correction.summary.idCheckForCorrection": "Correct without proof of ID?",
"dashboard.noContent": "No content to show. Make sure the following variables are configured in the <strong>client-config.js</strong> provided by your country config package:<br /><ul><li><strong>LEADERBOARDS_DASHBOARD_URL</strong></li><li><strong>REGISTRATIONS_DASHBOARD_URL</strong></li><li><strong>STATISTICS_DASHBOARD_URL</strong></li></ul>",
"dashboard.dashboardTitle": "Dashboard",
"dashboard.leaderboardTitle": "Leaderboards",
"dashboard.statisticTitle": "Statistics",
"custom.field.form.unit": "Unit",
"custom.field.form.unitOptionG": "Gram (G)",
"custom.field.form.unitOptionKg": "Kilogram (Kg)",
"custom.field.form.unitOptionCm": "Centimeter (Cm)",
"custom.field.form.unitOptionM": "Meter (M)",
"custom.field.form.unitOptionEmpty": "None",
"custom.field.form.inputWidth": "Input width",
"config.form.settings.time": "Time input",
"config.form.tools.input.customSelectWithDynamicOptions": "Custom select with dynamic options",
"duplicates.warning": "Potential duplicate of record {trackingId}",
"duplicates.review.header": "Potential {event} duplicate review",
"duplicates.content.title": "Is {name} ({trackingId}) a duplicate?",
"duplicates.content.subtitle": "This record was flagged as a potential duplicate of: {trackingIds}. Please review these by clicking on each tracking ID in the tab section to view a side-by-side comparison below, and confirm if this record is a duplicate",
"duplicates.button.notDuplicate": "Not a duplicate",
"duplicates.button.markAsDuplicate": "Mark as duplicate",
"duplicates.content.notDuplicateConfirmationTitle": "Are you sure {name} ({trackingId}) is not duplicate?",
"duplicates.content.markAsDuplicate": "Mark {trackingId} as duplicate?",
"duplicates.content.duplicateDropdownMessage": "Duplicate of",
"duplicates.content.markAsDuplicateReason": "Please describe your reason",
"duplicates.compare.title": "Review {actualTrackingId} against {duplicateTrackingId}",
"duplicates.compare.supportingDocuments": "Supporting documents",
"duplicates.content.header": "Declaration details",
"form.field.nidNotVerified": "Authenticate",
"form.field.nidVerified": "Authenticated",
"form.field.nidOffline": "National ID authentication is currently not available offline.",
"form.field.nidNotVerifiedReviewSection": "Unauthenticated",
"form.field.label.addressLine1RuralOption": "Village",
"form.field.label.addressLine1UrbanOption": "Residential Area",
"form.field.label.app.certifyRecordTo.mother": "Print and issue to informant (Mother)",
"form.field.label.app.certifyRecordTo.father": "Print and issue to informant (Father)",
"form.field.label.exactDateOfBirthUnknown": "Exact date of birth unknown",
"form.field.label.fileSizeError": "File size must be less than 2MB",
"form.field.label.firstName": "First name(s)",
"form.field.label.firstNameEN": "First name(s)",
"form.field.label.informantRelation.contactPoint": "Contact Point",
"form.field.label.email": "Email",
"form.field.label.registrationName": "Registration Name",
"form.field.label.informantTitle": "Informant's details",
"form.field.label.someoneElseCollector": "Print and issue to someone else",
"form.field.label.ageOfMother": "Age of mother",
"form.field.label.ageOfFather": "Age of father",
"form.field.label.ageOfInformant": "Age of informant",
"form.field.label.ageOfDeceased": "Age of deceased",
"form.preview.group.label.english.name": "Full name",
"form.preview.group.label.father.english.name": "Full name",
"form.preview.group.label.informant.english.name": "Full name",
"form.preview.group.label.mother.english.name": "Full name",
"form.preview.group.label.spouse.english.name": "Full name",
"form.section.deceased.relationship": "Relationship to deceased",
"form.section.information.name": "Information",
"form.section.information.birth.bullet1": "I am going to help you make a declaration of birth.",
"form.section.information.birth.bullet2": "As the legal Informant it is important that all the information provided by you is accurate.",
"form.section.information.birth.bullet3": "Once the declaration is processed you will receive you will receive an SMS to tell you when to visit the office to collect the certificate - Take your ID with you.",
"form.section.information.birth.bullet4": "Make sure you collect the certificate. A birth certificate is critical for this child, especially to make their life easy later on. It will help to access health services, school examinations and government benefits.",
"form.section.information.death.bullet1": "I am going to help you make a declaration of death.",
"form.section.information.death.bullet2": "As the legal Informant it is important that all the information provided by you is accurate.",
"form.section.information.death.bullet3": "Once the declaration is processed you will receive you will receive an SMS to tell you when to visit the office to collect the certificate - Take your ID with you.",
"form.section.information.death.bullet4": "Make sure you collect the certificate. A death certificate is critical to support with inheritance claims and to resolve the affairs of the deceased e.g. closing bank accounts and setting loans.",
"home.header.typeRN": "Registration no.",
"integrations.integratingSystemTypeMosip": "MOSIP",
"integrations.integratingSystemTypeOsia": "OSIA (Coming soon)",
"integrations.integratingSystemTypeOther": "Other",
"integrations.integratingSystemType": "System",
"integrations.integratingSystemTypeAlertMosip": "When \"MOSIP\" National ID type is enabled, all forms require MOSIP E-Signet authentication. The MOSIP Token Seeder and OpenCRVS webhook compatible MOSIP Mediator must be installed. For more information, visit:",
"integrations.integratingSystemTypeAlertOsia": "When \"OSIA\" National ID is enabled, birth use case compatible endpoints will be enabled. For more information, visit:",
"integrations.integratingSystemTypeAlertOther": "When \"Other\" National ID is enabled, the default OpenCRVS National ID webhook mediator must be installed. For more information, visit:",
"integrations.nationalidAlertDescription": "A National ID client (eg. MOSIP) can react to birth or death webhooks to create or invalidate NID numbers, and respond to OpenCRVS to provide a temporary ID to children, and link vital events to each other. For more information, visit:",
"integrations.clientSecret": "Client secret",
"integrations.shaSecret": "SHA secret",
"integrations.activate.client": "Activate client?",
"integrations.deactivate.client": "Deactivate client?",
"navigation.communications": "Communications",
"navigation.userroles": "User roles",
"navigation.informantNotification": "Informant notifications",
"integrations.deceasedDetails": "Deceased's details",
"form.field.label.informantRelation.groomAndBride": "Groom & Bride",
"form.field.label.informantRelation.groom": "Groom",
"form.field.label.informantRelation.bride": "Bride",
"form.section.groom.name": "Groom",
"form.section.groom.title": "Groom's details",
"form.section.bride.name": "Bride",
"form.section.bride.title": "Bride's details",
"form.section.groom.headOfGroomFamily": "Head of groom's family",
"form.section.bride.headOfBrideFamily": "Head of bride's family",
"form.field.label.ageOfGroom": "Age of groom",
"form.field.label.ageOfBride": "Age of bride",
"form.section.marriageEvent.date": "Date of marriage",
"form.field.label.placeOfMarriage": "Place of marriage",
"form.field.label.typeOfMarriage": "Type of marriage",
"form.field.label.polygamy": "Polygamous",
"form.field.label.monogamy": "Monogamous",
"form.section.witnessOne.title": "Witness 1 details",
"form.section.witnessTwo.title": "Witness 2 details",
"form.section.witness.name": "Witness",
"form.field.label.relationshipToSpouses": "Relationship to spouses",
"form.preview.group.label.witness.one.english.name": "Witness One English name",
"form.preview.group.label.witness.two.english.name": "Witness Two English name",
"form.section.marriageEvent.name": "Marriage event details",
"form.section.marriageEvent.title": "Marriage details",
"form.field.label.marriedLastName": "Married last name (if different)",
"form.field.label.proofOfMarriageNotice": "Notice of intention to marriage",
"form.field.label.lastNameAtBirth": "Last name at birth (if different from above)",
"form.field.label.docTypeMarriageNotice": "Notice of marriage",
"form.field.label.proofOfGroomsID": "Proof of groom's identity",
"form.field.label.proofOfBridesID": "Proof of bride's identity",
"misc.notif.duplicateRecord": "{trackingId} is a potential duplicate. Record is ready for review.",
"misc.notif.offlineError": "Offline. Try again when reconnected",
"misc.confirmPinTitle": "Confirm PIN",
"misc.nidCallback.authenticatingNid": "Authenticating National ID",
"misc.nidCallback.failedToAuthenticateNid": "Failed to authenticate National ID",
"navigation.readyToIssue": "Ready to issue",
"navigation.organisation": "Organisation",
"navigation.analytic": "Analytics",
"navigation.performanceStatistics": "Statistics",
"navigation.leaderboards": "Leaderboards",
"navigation.dashboard": "Dashboard",
"navigation.report": "Report",
"performance.fieldAgents.columnHeader.role": "Role",
"performance.reports.header.applicationSources": "Sources of registrations",
"performance.reports.subHeader.applicationSources": "The number and percentage of declarations started by each system role that has been registered",
"phone.label.changeEmail": "What is your new email?",
"email.label.confirmation": "A verification code has been sent to {email}",
"print.certificate.button.confirmPrint": "Yes, print certificate",
"print.certificate.collector.whoToCollect": "Certify record",
"print.certificate.review.description": "Please confirm that the informant has reviewed that the information on the certificate is correct and that it is ready to print.",
"print.certificate.review.printModalTitle": "Print certificate?",
"print.certificate.review.printAndIssueModalTitle": "Print and issue certificate?",
"print.certificate.review.modal.body.print": "A PDF of the certificate will open in a new tab for you to print. This record will then be moved to your ready to issue work-queue",
"print.certificate.review.modal.body.printAndIssue": "A PDF of the certificate will open in a new tab for you to print and issue",
"print.certificate.review.title": "Ready to certify?",
"print.certificate.section.title": "Certify record",
"print.certificate.noPayment": "No payment required",
"recordAudit.rn": "Registration No.",
"recordAudit.dateOfMarriage": "Date of marriage",
"recordAudit.declaration.markAsDuplicate": "Marked as a duplicate",
"recordAudit.registrationNo": "Registration No",
"recordAudit.noDateOfMarriage": "No date of marriage",
"recordAudit.noPlaceOfMarriage": "No place of marriage",
"recordAudit.placeOfMarriage": "Place of marriage",
"recordAudit.regAction.markedAsDuplicate": "Marked as a duplicate",
"recordAudit.regStatus.issued": "Issued",
"recordAudit.regStatus.markedAsNotDuplicate": "Marked not a duplicate",
"recordAudit.regAction.flaggedAsPotentialDuplicate": "Flagged as potential duplicate",
"recordAudit.contact": "Contact",
"recordAudit.noContact": "No contact details provided",
"regHome.issued": "Issued",
"regHome.outbox.statusIssuing": "Issuing...",
"regHome.outbox.statusWaitingToIssue": "Waiting to issue",
"register.eventInfo.marriage.listItem0": "I am here to complete the marriage registration declaration for you. ",
"register.eventInfo.marriage.listItem1": "Once I complete the declaration, it will be sent to the registration office for review.",
"register.eventInfo.marriage.listItem2": "Wait for an SMS to tell you when to visit the office to collect the certificate - Take your ID with you.",
"register.eventInfo.event.title": "Introduce the {eventType, select, birth{birth} death{death} other{marriage}} registration process to the informant",
"register.eventInfo.birth.title": "Introduce the birth registration process to the informant",
"register.eventInfo.death.title": "Introduce the death registration process to the informant",
"register.eventInfo.marriage.title": "Introduce the marriage registration process to the informant",
"register.form.modal.desc.saveDeclarationConfirm": "All inputted data will be kept secure for future editing. Are you ready to save any changes to this declaration form?",
"register.form.modal.title.saveDeclarationConfirm": "Save & exit?",
"register.form.modal.desc.deleteDeclarationConfirm": "Are you certain you want to delete this draft declaration form? Please note, this action cant be undone.",
"register.form.modal.title.exitWithoutSavingModalForCorrection": "Exit correct record?",
"register.form.modal.desc.exitWithoutSavingModalForCorrection": "Are you sure you want to exit? Any corrections you have made will not be saved.",
"register.form.modal.title.exitWithoutSavingDeclarationConfirm": "Exit without saving changes?",
"register.form.modal.desc.exitWithoutSavingDeclarationConfirm": "You have unsaved changes on your declaration form. Are you sure you want to exit without saving?",
"register.selectInformant.marriageInformantTitle": "Informant's details",
"register.selectInformant.newMarriageRegistration": "New marriage declaration",
"review.actions.description.confirmComplete": "The informant will receive an {deliveryMethod} with a registration number that they can use to collect the certificate.",
"review.actions.description.confirmInComplete": "The informant will receive an {deliveryMethod} with a tracking ID that they can use to provide the additional mandatory information required for registration.",
"review.header.subject.subjectWithoutName": "{eventType, select, birth {Birth} death {Death} other {Marriage}} Declaration",
"review.header.subject.subjectWitName": "{eventType, select, birth {Birth} death {Death} other {Marriage} } declaration for {name}",
"review.inputs.supportingDocuments": "Supporting documents",
"review.rejection.form.instruction": "Please describe the updates required to this record for follow up action.",
"review.rejection.form.reasons.markDuplicate": "Mark as a duplicate",
"advancedSearchResult.pill.registationStatus": "Registration status",
"advancedSearchResult.pill.eventDate": "Event date",
"advancedSearchResult.pill.regNumber": "Registration number",
"advancedSearchResult.pill.trackingId": "Tracking ID",
"advancedSearchResult.pill.regDate": "Registration date",
"advancedSearchResult.pill.eventLocation": "Event location",
"advancedSearchResult.pill.childFirstName": "Child firstname",
"advancedSearchResult.pill.childLastName": "Child lastname",
"advancedSearchResult.pill.motherFirstName": "Mother firstname",
"advancedSearchResult.pill.motherLastName": "Mother lastname",
"advancedSearchResult.pill.fatherFirstName": "Father firstname",
"advancedSearchResult.pill.fatherLastName": "Father lastname",
"advancedSearchResult.pill.deceasedFirstName": "Deceased firstname",
"advancedSearchResult.pill.deceasedLastName": "Deceased lastname",
"advancedSearchResult.pill.informantFirstName": "Informant firstname",
"advancedSearchResult.pill.informantLastName": "Informant lastname",
"advancedSearchResult.pill.gender": "Sex",
"advancedSearchResult.pill.childDoB": "Child d.o.b",
"advancedSearchResult.pill.fatherDoB": "Father d.o.b",
"advancedSearchResult.pill.motherDoB": "Mother d.o.b",
"advancedSearchResult.pill.deceasedDoB": "Deceased d.o.b",
"advancedSearchResult.pill.informantDoB": "Informant d.o.b",
"advancedSearchResult.table.searchResult": "Search results",
"settings.user.label.nameEN": "Full name",
"system.user.unlock.pinLabel": "Enter your pin",
"wq.noRecords.readyToIssue": "No records ready to issue",
"sysAdHome.sendUsernameReminderInvite": "Send username reminder",
"sysAdHome.sendUsernameReminderInviteSuccess": "Username reminder sent to {name}",
"sysAdHome.sendUsernameReminderInviteError": "Username reminder could not be sent",
"sysAdHome.sendUsernameReminderInviteModalTitle": "Send username reminder?",
"sysAdHome.sendUsernameReminderInviteModalMessage": "The user will receive a username reminder via an {deliveryMethod} sent to {recipient}",
"sysAdHome.resendInvite": "Resend invite",
"sysAdHome.resendInviteError": "Invite could not be sent",
"sysAdHome.resendInviteSuccess": "Invite sent",
"sysAdHome.resentPasswordSuccess": "Temporary password sent to {username}",
"sysAdHome.resentPasswordError": "Temporary password could not be sent",
"sysAdHome.user.resetPasswordModal.message": "The user will receive a temporary password via {deliveryMethod} sent to {recipient}. They will then be prompted to create a new password on successful login",
"system.user.settings.emailAddressUpdated": "Email address updated",
"system.user.duplicateEmailError": "{email} is already used by another user. Please use a different email",
"user.profile.audit.description.issued": "Issued",
"user.profile.auditList.emailAddressChanged": "Email Address changed",
"user.profile.auditList.markedAsDuplicate": "Marked as duplicate",
"user.profile.auditList.markedAsNotDuplicate": "Marked as not duplicate",
"userSetup.type.system": "System",
"validate.complete.declaration.action.description": "The informant will receive an with a registration number that they can use to collect the certificate.",
"review.inputs.informantsSignature": "Signature of informant",
"review.signature.description": "I, the undersigned, hereby declare that the particulars in this form are true and correct to the best of my knowledge.",
"review.signature.input.description": "By signing this document with an electronic signature, I agree that such signature will be valid as handwritten signatures to the extent allowed by the laws of Farajaland.",
"review.inputs.brideSignature": "Signature of Bride",
"review.inputs.groomSignature": "Signature of Groom",
"review.inputs.witnessOneSignature": "Signature of Witness 1",
"review.inputs.witnessTwoSignature": "Signature of Witness 2",
"review.inputs.terms": "We, the undersigned declare under penalty of perjury under the laws of Farajaland that the forgoing information is true and correct to the best of our knowledge and belief. We further declare that no legal objections to the marriage is known and hereby apply for a certificate of marriage",
"review.signature.clear": "Clear",
"review.signature.open": "Sign",
"review.signature.delete": "Delete",
"validations.englishOnlyNameFormat": "Input contains invalid characters. Please use only letters (a-z, A-Z), numbers (0-9), hyphens (-), apostrophes(') and underscores (_)",
"validations.illegalMarriageAge": "Illegal age of marriage",
"performance.registrationsListTable.totalRegistrationsColumn": "Total Registrations"

What's Changed

New Contributors

Full Changelog: v1.2.1...v1.3.0