Complete i18n on messages

This commit is contained in:
Paulo Gustavo Veiga 2021-02-25 13:48:27 -08:00
parent 28fd78a373
commit 1770f580af
18 changed files with 1614 additions and 221 deletions

View File

@ -42,7 +42,7 @@ You dont have to ever use `eject`. The curated feature set is suitable for sm
# Generate I18n resource # Generate I18n resource
## Extract ## Extract
`yarn extract 'src/**/*.ts*' --out-file lang/en.json` `yarn extract`
## Compile ## Compile
`yarn compile lang/en.json --ast --out-file src/compiled-lang/en.json` `yarn compile lang/en.json --ast --out-file src/compiled-lang/en.json`

View File

@ -0,0 +1,471 @@
{
"account.delete-warning": {
"defaultMessage": "Keep in mind that you will not be able retrieve any mindmap you have added. All your information will be deleted and it can not be restored."
},
"accountinfo.button": {
"defaultMessage": "Accept"
},
"accountinfo.email": {
"defaultMessage": "Email"
},
"accountinfo.firstname": {
"defaultMessage": "First Name"
},
"accountinfo.lastname": {
"defaultMessage": "Last Name"
},
"accountinfo.title": {
"defaultMessage": "Account info"
},
"action.cancel-button": {
"defaultMessage": "Cancel"
},
"action.close-button": {
"defaultMessage": "Close"
},
"action.delete": {
"defaultMessage": "Delete"
},
"action.delete-description": {
"defaultMessage": "Deleted mindmap can not be recovered. Do you want to continue ?."
},
"action.delete-title": {
"defaultMessage": "Delete"
},
"action.duplicate": {
"defaultMessage": "Duplicate"
},
"action.export": {
"defaultMessage": "Export"
},
"action.history": {
"defaultMessage": "History"
},
"action.history-description": {
"defaultMessage": "List of changes introduced in the last 90 days."
},
"action.history-title": {
"defaultMessage": "Version history"
},
"action.import": {
"defaultMessage": "Import"
},
"action.info": {
"defaultMessage": "Info"
},
"action.label": {
"defaultMessage": "Add Label"
},
"action.new": {
"defaultMessage": "New Map"
},
"action.open": {
"defaultMessage": "Open"
},
"action.print": {
"defaultMessage": "Print"
},
"action.publish": {
"defaultMessage": "Publish"
},
"action.rename": {
"defaultMessage": "Rename"
},
"action.rename-description-placeholder": {
"defaultMessage": "Description"
},
"action.rename-name-placeholder": {
"defaultMessage": "Name"
},
"action.share": {
"defaultMessage": "Share"
},
"changepwd.button": {
"defaultMessage": "Change"
},
"changepwd.confirm-password": {
"defaultMessage": "Confirm Password"
},
"changepwd.description": {
"defaultMessage": "Please, provide the new password for your account."
},
"changepwd.password": {
"defaultMessage": "Password"
},
"changepwd.password-match": {
"defaultMessage": "Password do not match. Please, try again."
},
"changepwd.title": {
"defaultMessage": "Change Password"
},
"common.wait": {
"defaultMessage": "Please wait ..."
},
"create.button": {
"defaultMessage": "Create"
},
"create.description": {
"defaultMessage": "Please, fill the new map name and description."
},
"create.title": {
"defaultMessage": "Create a new mindmap."
},
"deletem.title": {
"defaultMessage": "All selected maps will be deleted"
},
"duplicate.title": {
"defaultMessage": "Duplicate"
},
"expired.description": {
"defaultMessage": "Your current session has expired. Please, sign in and try again."
},
"expired.title": {
"defaultMessage": "Your session has expired"
},
"export.desc": {
"defaultMessage": "Export this map in the format that you want and start using it in your presentations or sharing by email"
},
"export.document": {
"defaultMessage": "Mindmap Tools: Export your mindmap in thirdparty mindmap tool formats"
},
"export.document-label": {
"defaultMessage": "Document: Export your mindmap in a self-contained document ready to share"
},
"export.image": {
"defaultMessage": "Image: Get a graphic representation of your map including all colors and shapes."
},
"export.title": {
"defaultMessage": "Export"
},
"export.warning": {
"defaultMessage": "Exporting to Image (SVG,PNG,JPEG,PDF) is only available in the editor toolbar."
},
"footer.aboutus": {
"defaultMessage": "About Us"
},
"footer.contactus": {
"defaultMessage": "Contact Us"
},
"footer.faq": {
"defaultMessage": "F.A.Q."
},
"footer.faqandhelp": {
"defaultMessage": "Help & FAQ"
},
"footer.feedback": {
"defaultMessage": "Feedback"
},
"footer.opensource": {
"defaultMessage": "Open Source"
},
"footer.others": {
"defaultMessage": "Others"
},
"footer.termsandconditions": {
"defaultMessage": "Term And Conditions"
},
"forgot.desc": {
"defaultMessage": "We will send you an email to reset your password."
},
"forgot.email": {
"defaultMessage": "Email"
},
"forgot.page-title": {
"defaultMessage": "Forgot Password | WiseMapping"
},
"forgot.register": {
"defaultMessage": "Send recovery link"
},
"forgot.success.desc": {
"defaultMessage": "We've sent you an email that will allow you to reset your password. You should receive it in the next minutes."
},
"forgot.success.title": {
"defaultMessage": "Your temporal password has been sent."
},
"forgot.title": {
"defaultMessage": "Reset your password"
},
"forgotsuccess.page-title": {
"defaultMessage": "Password Recovered | WiseMapping"
},
"header.donthaveaccount": {
"defaultMessage": "Don't have an account ?"
},
"header.haveaccount": {
"defaultMessage": "Already have an account?"
},
"help.support": {
"defaultMessage": "Support"
},
"history.no-changes": {
"defaultMessage": "There is no changes available"
},
"import.button": {
"defaultMessage": "Create"
},
"import.description": {
"defaultMessage": "You can import FreeMind 1.0.1 and WiseMapping maps to your list of maps. Select the file you want to import."
},
"import.title": {
"defaultMessage": "Import existing mindmap"
},
"info.basic-info": {
"defaultMessage": "Basic Info"
},
"info.button": {
"defaultMessage": "Accept"
},
"info.creation-time": {
"defaultMessage": "Creation Date"
},
"info.creator": {
"defaultMessage": "Creator"
},
"info.description": {
"defaultMessage": "Description"
},
"info.description-msg": {
"defaultMessage": "By publishing the map you make it visible to everyone on the Internet."
},
"info.modified-time": {
"defaultMessage": "Last Modified Date"
},
"info.modified-tny": {
"defaultMessage": "Last Modified By"
},
"info.name": {
"defaultMessage": "Name"
},
"info.public-visibility": {
"defaultMessage": "Publicly Visible"
},
"info.sharing": {
"defaultMessage": "Sharing"
},
"info.starred": {
"defaultMessage": "Starred"
},
"info.title": {
"defaultMessage": "Info"
},
"language.change": {
"defaultMessage": "Change Language"
},
"language.help": {
"defaultMessage": "Help to Translate"
},
"login.desc": {
"defaultMessage": "Log into your account"
},
"login.email": {
"defaultMessage": "Email"
},
"login.error": {
"defaultMessage": "The email address or password you entered is not valid."
},
"login.forgotpwd": {
"defaultMessage": "Forgot Password ?"
},
"login.hsqldbcofig": {
"defaultMessage": "Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL",
"description": "Missing production database configured"
},
"login.page-title": {
"defaultMessage": "Login | WiseMapping"
},
"login.password": {
"defaultMessage": "Password"
},
"login.remberme": {
"defaultMessage": "Remember me"
},
"login.signin": {
"defaultMessage": "Sign In"
},
"login.signup": {
"defaultMessage": "Sign Up"
},
"login.title": {
"defaultMessage": "Welcome"
},
"login.userinactive": {
"defaultMessage": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!."
},
"map.creator": {
"defaultMessage": "Creator"
},
"map.delete-selected": {
"defaultMessage": "Delete selected"
},
"map.last-update": {
"defaultMessage": "Last Update"
},
"map.more-actions": {
"defaultMessage": "More Actions"
},
"map.name": {
"defaultMessage": "Name"
},
"map.tooltip-add": {
"defaultMessage": "Add label to selected"
},
"maps.choose-file": {
"defaultMessage": "Choose a file"
},
"maps.create-tooltip": {
"defaultMessage": "Create a New Map"
},
"maps.empty-result": {
"defaultMessage": "No matching record found with the current filter criteria."
},
"maps.import-desc": {
"defaultMessage": "Import from other tools"
},
"maps.modified": {
"defaultMessage": "Modified"
},
"maps.modified-by": {
"defaultMessage": "Modified By"
},
"maps.modified-by-desc": {
"defaultMessage": "Modified by {by} on {on}"
},
"maps.nav-all": {
"defaultMessage": "All"
},
"maps.nav-onwned": {
"defaultMessage": "Owned"
},
"maps.nav-public": {
"defaultMessage": "Public"
},
"maps.nav-shared": {
"defaultMessage": "Shared with me"
},
"maps.nav-starred": {
"defaultMessage": "Starred"
},
"maps.page-title": {
"defaultMessage": "My Maps | WiseMapping"
},
"maps.revert": {
"defaultMessage": "Revert"
},
"maps.search-action": {
"defaultMessage": "Search ..."
},
"maps.tooltip-open": {
"defaultMessage": "Open for edition"
},
"maps.tooltip-starred": {
"defaultMessage": "Starred"
},
"maps.view": {
"defaultMessage": "View"
},
"menu.account": {
"defaultMessage": "Account"
},
"menu.change-password": {
"defaultMessage": "Change password"
},
"menu.signout": {
"defaultMessage": "Sign Out"
},
"publish.button": {
"defaultMessage": "Accept"
},
"publish.checkbox": {
"defaultMessage": "Enable public sharing"
},
"publish.description": {
"defaultMessage": "By publishing the map you make it visible to everyone on the Internet."
},
"publish.embedded": {
"defaultMessage": "Embedded"
},
"publish.embedded-msg": {
"defaultMessage": "Copy this snippet of code to embed in your blog or page:"
},
"publish.public-url": {
"defaultMessage": "Public URL"
},
"publish.public-url-msg": {
"defaultMessage": "Copy and paste the link below to share your map with colleagues:"
},
"publish.title": {
"defaultMessage": "Publish"
},
"registation.success-title": {
"defaultMessage": "Registation Success | WiseMapping"
},
"registration.desc": {
"defaultMessage": "Signing up is free and just take a moment"
},
"registration.email": {
"defaultMessage": "Email"
},
"registration.firstname": {
"defaultMessage": "First Name"
},
"registration.lastname": {
"defaultMessage": "Last Name"
},
"registration.password": {
"defaultMessage": "Password"
},
"registration.register": {
"defaultMessage": "Register"
},
"registration.success.desc": {
"defaultMessage": "Click 'Sign In' button below and start creating mind maps."
},
"registration.termandconditions": {
"defaultMessage": "Terms of Client: Please check the WiseMapping Account information you've entered above, and review the Terms of Client here. By clicking on 'Register' below you are agreeing to the Terms of Client above and the Privacy Policy"
},
"registration.title": {
"defaultMessage": "Become a member"
},
"rename.description": {
"defaultMessage": "Please, fill the new map name and description."
},
"rename.title": {
"defaultMessage": "Rename"
},
"resetpassword.success.title": {
"defaultMessage": "Your account has been created successfully"
},
"role.editor": {
"defaultMessage": "Editor"
},
"role.owner": {
"defaultMessage": "Onwer"
},
"role.viewer": {
"defaultMessage": "Viewer"
},
"share.add-button": {
"defaultMessage": "Add"
},
"share.add-message": {
"defaultMessage": "Add message"
},
"share.can-edit": {
"defaultMessage": "Can edit"
},
"share.can-view": {
"defaultMessage": "Can view"
},
"share.delete": {
"defaultMessage": "Delete collaborator"
},
"share.delete-description": {
"defaultMessage": "Invite people to collaborate with you in the creation of your midnmap. They will be notified by email."
},
"share.delete-title": {
"defaultMessage": "Share with people"
},
"share.message": {
"defaultMessage": "Message"
}
}

View File

@ -108,7 +108,7 @@
"defaultMessage": "Please, fill the new map name and description." "defaultMessage": "Please, fill the new map name and description."
}, },
"create.title": { "create.title": {
"defaultMessage": "Create a new mindmap" "defaultMessage": "Create a new mindmap."
}, },
"deletem.title": { "deletem.title": {
"defaultMessage": "All selected maps will be deleted" "defaultMessage": "All selected maps will be deleted"
@ -122,6 +122,9 @@
"expired.title": { "expired.title": {
"defaultMessage": "Your session has expired" "defaultMessage": "Your session has expired"
}, },
"export.desc": {
"defaultMessage": "Export this map in the format that you want and start using it in your presentations or sharing by email"
},
"export.document": { "export.document": {
"defaultMessage": "Mindmap Tools: Export your mindmap in thirdparty mindmap tool formats" "defaultMessage": "Mindmap Tools: Export your mindmap in thirdparty mindmap tool formats"
}, },
@ -162,23 +165,29 @@
"defaultMessage": "Term And Conditions" "defaultMessage": "Term And Conditions"
}, },
"forgot.desc": { "forgot.desc": {
"defaultMessage": "We will send you an email to reset your password" "defaultMessage": "We will send you an email to reset your password."
}, },
"forgot.email": { "forgot.email": {
"defaultMessage": "Email" "defaultMessage": "Email"
}, },
"forgot.page-title": {
"defaultMessage": "Forgot Password | WiseMapping"
},
"forgot.register": { "forgot.register": {
"defaultMessage": "Send recovery link" "defaultMessage": "Send recovery link"
}, },
"forgot.success.desc": { "forgot.success.desc": {
"defaultMessage": "We've sent you an email that will allow you to reset your password. Please check your email now." "defaultMessage": "We've sent you an email that will allow you to reset your password. You should receive it in the next minutes."
}, },
"forgot.success.title": { "forgot.success.title": {
"defaultMessage": "Your temporal password has been sent" "defaultMessage": "Your temporal password has been sent."
}, },
"forgot.title": { "forgot.title": {
"defaultMessage": "Reset your password" "defaultMessage": "Reset your password"
}, },
"forgotsuccess.page-title": {
"defaultMessage": "Password Recovered | WiseMapping"
},
"header.donthaveaccount": { "header.donthaveaccount": {
"defaultMessage": "Don't have an account ?" "defaultMessage": "Don't have an account ?"
}, },
@ -261,6 +270,9 @@
"defaultMessage": "Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL", "defaultMessage": "Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL",
"description": "Missing production database configured" "description": "Missing production database configured"
}, },
"login.page-title": {
"defaultMessage": "Login | WiseMapping"
},
"login.password": { "login.password": {
"defaultMessage": "Password" "defaultMessage": "Password"
}, },
@ -282,6 +294,9 @@
"map.creator": { "map.creator": {
"defaultMessage": "Creator" "defaultMessage": "Creator"
}, },
"map.delete-selected": {
"defaultMessage": "Delete selected"
},
"map.last-update": { "map.last-update": {
"defaultMessage": "Last Update" "defaultMessage": "Last Update"
}, },
@ -291,6 +306,9 @@
"map.name": { "map.name": {
"defaultMessage": "Name" "defaultMessage": "Name"
}, },
"map.tooltip-add": {
"defaultMessage": "Add label to selected"
},
"maps.choose-file": { "maps.choose-file": {
"defaultMessage": "Choose a file" "defaultMessage": "Choose a file"
}, },
@ -309,9 +327,39 @@
"maps.modified-by": { "maps.modified-by": {
"defaultMessage": "Modified By" "defaultMessage": "Modified By"
}, },
"maps.modified-by-desc": {
"defaultMessage": "Modified by {by} on {on}"
},
"maps.nav-all": {
"defaultMessage": "All"
},
"maps.nav-onwned": {
"defaultMessage": "Owned"
},
"maps.nav-public": {
"defaultMessage": "Public"
},
"maps.nav-shared": {
"defaultMessage": "Shared with me"
},
"maps.nav-starred": {
"defaultMessage": "Starred"
},
"maps.page-title": {
"defaultMessage": "My Maps | WiseMapping"
},
"maps.revert": { "maps.revert": {
"defaultMessage": "Revert" "defaultMessage": "Revert"
}, },
"maps.search-action": {
"defaultMessage": "Search ..."
},
"maps.tooltip-open": {
"defaultMessage": "Open for edition"
},
"maps.tooltip-starred": {
"defaultMessage": "Starred"
},
"maps.view": { "maps.view": {
"defaultMessage": "View" "defaultMessage": "View"
}, },
@ -348,6 +396,9 @@
"publish.title": { "publish.title": {
"defaultMessage": "Publish" "defaultMessage": "Publish"
}, },
"registation.success-title": {
"defaultMessage": "Registation Success | WiseMapping"
},
"registration.desc": { "registration.desc": {
"defaultMessage": "Signing up is free and just take a moment" "defaultMessage": "Signing up is free and just take a moment"
}, },

View File

@ -1,60 +1,471 @@
{ {
"footer.aboutus": { "account.delete-warning": {
"defaultMessage": "Sobre Nosotros" "defaultMessage": "Keep in mind that you will not be able retrieve any mindmap you have added. All your information will be deleted and it can not be restored."
}, },
"footer.contactus": { "accountinfo.button": {
"defaultMessage": "Contáctenos" "defaultMessage": "Accept"
}, },
"footer.donations": { "accountinfo.email": {
"defaultMessage": "Donaciones" "defaultMessage": "Email"
}, },
"header.donthaveaccount": { "accountinfo.firstname": {
"defaultMessage": "No tienes una cuenta ?" "defaultMessage": "First Name"
}, },
"login.email": { "accountinfo.lastname": {
"defaultMessage": "Email" "defaultMessage": "Last Name"
}, },
"footer.faq": { "accountinfo.title": {
"defaultMessage": "Preguntas Frecuentes" "defaultMessage": "Account info"
}, },
"footer.feedback": { "action.cancel-button": {
"defaultMessage": "Feedback" "defaultMessage": "Cancel"
}, },
"login.forgotpwd": { "action.close-button": {
"defaultMessage": "Olvidaste la contraseña ?" "defaultMessage": "Close"
}, },
"login.error": { "action.delete": {
"defaultMessage": "El email o la contraseña no es valida." "defaultMessage": "Delete"
}, },
"login.loginto": { "action.delete-description": {
"defaultMessage": "Ingresar a tu Cuenta" "defaultMessage": "Deleted mindmap can not be recovered. Do you want to continue ?."
}, },
"login.hsqldbcofig": { "action.delete-title": {
"defaultMessage": "Warning: Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL", "defaultMessage": "Delete"
"description": "Missing production database configured" },
}, "action.duplicate": {
"footer.opensource": { "defaultMessage": "Duplicate"
"defaultMessage": "Open Source" },
}, "action.export": {
"login.password": { "defaultMessage": "Export"
"defaultMessage": "Contraseña" },
}, "action.history": {
"login.remberme": { "defaultMessage": "History"
"defaultMessage": "Recordarme" },
}, "action.history-description": {
"login.signin": { "defaultMessage": "List of changes introduced in the last 90 days."
"defaultMessage": "Ingresar" },
}, "action.history-title": {
"login.signup": { "defaultMessage": "Version history"
"defaultMessage": "Registrarse" },
}, "action.import": {
"footer.termsandconditions": { "defaultMessage": "Import"
"defaultMessage": "Terminos y Condiciones" },
}, "action.info": {
"login.userinactive": { "defaultMessage": "Info"
"defaultMessage": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!." },
}, "action.label": {
"login.welcome": { "defaultMessage": "Add Label"
"defaultMessage": "Bienvenido" },
} "action.new": {
"defaultMessage": "New Map"
},
"action.open": {
"defaultMessage": "Open"
},
"action.print": {
"defaultMessage": "Print"
},
"action.publish": {
"defaultMessage": "Publish"
},
"action.rename": {
"defaultMessage": "Rename"
},
"action.rename-description-placeholder": {
"defaultMessage": "Description"
},
"action.rename-name-placeholder": {
"defaultMessage": "Name"
},
"action.share": {
"defaultMessage": "Share"
},
"changepwd.button": {
"defaultMessage": "Change"
},
"changepwd.confirm-password": {
"defaultMessage": "Confirm Password"
},
"changepwd.description": {
"defaultMessage": "Please, provide the new password for your account."
},
"changepwd.password": {
"defaultMessage": "Password"
},
"changepwd.password-match": {
"defaultMessage": "Password do not match. Please, try again."
},
"changepwd.title": {
"defaultMessage": "Change Password"
},
"common.wait": {
"defaultMessage": "Please wait ..."
},
"create.button": {
"defaultMessage": "Create"
},
"create.description": {
"defaultMessage": "Please, fill the new map name and description."
},
"create.title": {
"defaultMessage": "Create a new mindmap."
},
"deletem.title": {
"defaultMessage": "All selected maps will be deleted"
},
"duplicate.title": {
"defaultMessage": "Duplicate"
},
"expired.description": {
"defaultMessage": "Your current session has expired. Please, sign in and try again."
},
"expired.title": {
"defaultMessage": "Your session has expired"
},
"export.desc": {
"defaultMessage": "Export this map in the format that you want and start using it in your presentations or sharing by email"
},
"export.document": {
"defaultMessage": "Mindmap Tools: Export your mindmap in thirdparty mindmap tool formats"
},
"export.document-label": {
"defaultMessage": "Document: Export your mindmap in a self-contained document ready to share"
},
"export.image": {
"defaultMessage": "Image: Get a graphic representation of your map including all colors and shapes."
},
"export.title": {
"defaultMessage": "Export"
},
"export.warning": {
"defaultMessage": "Exporting to Image (SVG,PNG,JPEG,PDF) is only available in the editor toolbar."
},
"footer.aboutus": {
"defaultMessage": "About Us"
},
"footer.contactus": {
"defaultMessage": "Contact Us"
},
"footer.faq": {
"defaultMessage": "F.A.Q."
},
"footer.faqandhelp": {
"defaultMessage": "Help & FAQ"
},
"footer.feedback": {
"defaultMessage": "Feedback"
},
"footer.opensource": {
"defaultMessage": "Open Source"
},
"footer.others": {
"defaultMessage": "Others"
},
"footer.termsandconditions": {
"defaultMessage": "Term And Conditions"
},
"forgot.desc": {
"defaultMessage": "We will send you an email to reset your password."
},
"forgot.email": {
"defaultMessage": "Email"
},
"forgot.page-title": {
"defaultMessage": "Forgot Password | WiseMapping"
},
"forgot.register": {
"defaultMessage": "Send recovery link"
},
"forgot.success.desc": {
"defaultMessage": "We've sent you an email that will allow you to reset your password. You should receive it in the next minutes."
},
"forgot.success.title": {
"defaultMessage": "Your temporal password has been sent."
},
"forgot.title": {
"defaultMessage": "Reset your password"
},
"forgotsuccess.page-title": {
"defaultMessage": "Password Recovered | WiseMapping"
},
"header.donthaveaccount": {
"defaultMessage": "Don't have an account ?"
},
"header.haveaccount": {
"defaultMessage": "Already have an account?"
},
"help.support": {
"defaultMessage": "Support"
},
"history.no-changes": {
"defaultMessage": "There is no changes available"
},
"import.button": {
"defaultMessage": "Create"
},
"import.description": {
"defaultMessage": "You can import FreeMind 1.0.1 and WiseMapping maps to your list of maps. Select the file you want to import."
},
"import.title": {
"defaultMessage": "Import existing mindmap"
},
"info.basic-info": {
"defaultMessage": "Basic Info"
},
"info.button": {
"defaultMessage": "Accept"
},
"info.creation-time": {
"defaultMessage": "Creation Date"
},
"info.creator": {
"defaultMessage": "Creator"
},
"info.description": {
"defaultMessage": "Description"
},
"info.description-msg": {
"defaultMessage": "By publishing the map you make it visible to everyone on the Internet."
},
"info.modified-time": {
"defaultMessage": "Last Modified Date"
},
"info.modified-tny": {
"defaultMessage": "Last Modified By"
},
"info.name": {
"defaultMessage": "Name"
},
"info.public-visibility": {
"defaultMessage": "Publicly Visible"
},
"info.sharing": {
"defaultMessage": "Sharing"
},
"info.starred": {
"defaultMessage": "Starred"
},
"info.title": {
"defaultMessage": "Info"
},
"language.change": {
"defaultMessage": "Change Language"
},
"language.help": {
"defaultMessage": "Help to Translate"
},
"login.desc": {
"defaultMessage": "Log into your account"
},
"login.email": {
"defaultMessage": "Email"
},
"login.error": {
"defaultMessage": "The email address or password you entered is not valid."
},
"login.forgotpwd": {
"defaultMessage": "Forgot Password ?"
},
"login.hsqldbcofig": {
"defaultMessage": "Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL",
"description": "Missing production database configured"
},
"login.page-title": {
"defaultMessage": "Login | WiseMapping"
},
"login.password": {
"defaultMessage": "Password"
},
"login.remberme": {
"defaultMessage": "Remember me"
},
"login.signin": {
"defaultMessage": "Sign In"
},
"login.signup": {
"defaultMessage": "Sign Up"
},
"login.title": {
"defaultMessage": "Welcome"
},
"login.userinactive": {
"defaultMessage": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!."
},
"map.creator": {
"defaultMessage": "Creator"
},
"map.delete-selected": {
"defaultMessage": "Delete selected"
},
"map.last-update": {
"defaultMessage": "Last Update"
},
"map.more-actions": {
"defaultMessage": "More Actions"
},
"map.name": {
"defaultMessage": "Name"
},
"map.tooltip-add": {
"defaultMessage": "Add label to selected"
},
"maps.choose-file": {
"defaultMessage": "Choose a file"
},
"maps.create-tooltip": {
"defaultMessage": "Create a New Map"
},
"maps.empty-result": {
"defaultMessage": "No matching record found with the current filter criteria."
},
"maps.import-desc": {
"defaultMessage": "Import from other tools"
},
"maps.modified": {
"defaultMessage": "Modified"
},
"maps.modified-by": {
"defaultMessage": "Modified By"
},
"maps.modified-by-desc": {
"defaultMessage": "Modified by {by} on {on}"
},
"maps.nav-all": {
"defaultMessage": "All"
},
"maps.nav-onwned": {
"defaultMessage": "Owned"
},
"maps.nav-public": {
"defaultMessage": "Public"
},
"maps.nav-shared": {
"defaultMessage": "Shared with me"
},
"maps.nav-starred": {
"defaultMessage": "Starred"
},
"maps.page-title": {
"defaultMessage": "My Maps | WiseMapping"
},
"maps.revert": {
"defaultMessage": "Revert"
},
"maps.search-action": {
"defaultMessage": "Search ..."
},
"maps.tooltip-open": {
"defaultMessage": "Open for edition"
},
"maps.tooltip-starred": {
"defaultMessage": "Starred"
},
"maps.view": {
"defaultMessage": "View"
},
"menu.account": {
"defaultMessage": "Account"
},
"menu.change-password": {
"defaultMessage": "Change password"
},
"menu.signout": {
"defaultMessage": "Sign Out"
},
"publish.button": {
"defaultMessage": "Accept"
},
"publish.checkbox": {
"defaultMessage": "Enable public sharing"
},
"publish.description": {
"defaultMessage": "By publishing the map you make it visible to everyone on the Internet."
},
"publish.embedded": {
"defaultMessage": "Embedded"
},
"publish.embedded-msg": {
"defaultMessage": "Copy this snippet of code to embed in your blog or page:"
},
"publish.public-url": {
"defaultMessage": "Public URL"
},
"publish.public-url-msg": {
"defaultMessage": "Copy and paste the link below to share your map with colleagues:"
},
"publish.title": {
"defaultMessage": "Publish"
},
"registation.success-title": {
"defaultMessage": "Registation Success | WiseMapping"
},
"registration.desc": {
"defaultMessage": "Signing up is free and just take a moment"
},
"registration.email": {
"defaultMessage": "Email"
},
"registration.firstname": {
"defaultMessage": "First Name"
},
"registration.lastname": {
"defaultMessage": "Last Name"
},
"registration.password": {
"defaultMessage": "Password"
},
"registration.register": {
"defaultMessage": "Register"
},
"registration.success.desc": {
"defaultMessage": "Click 'Sign In' button below and start creating mind maps."
},
"registration.termandconditions": {
"defaultMessage": "Terms of Client: Please check the WiseMapping Account information you've entered above, and review the Terms of Client here. By clicking on 'Register' below you are agreeing to the Terms of Client above and the Privacy Policy"
},
"registration.title": {
"defaultMessage": "Become a member"
},
"rename.description": {
"defaultMessage": "Please, fill the new map name and description."
},
"rename.title": {
"defaultMessage": "Rename"
},
"resetpassword.success.title": {
"defaultMessage": "Your account has been created successfully"
},
"role.editor": {
"defaultMessage": "Editor"
},
"role.owner": {
"defaultMessage": "Onwer"
},
"role.viewer": {
"defaultMessage": "Viewer"
},
"share.add-button": {
"defaultMessage": "Add"
},
"share.add-message": {
"defaultMessage": "Add message"
},
"share.can-edit": {
"defaultMessage": "Can edit"
},
"share.can-view": {
"defaultMessage": "Can view"
},
"share.delete": {
"defaultMessage": "Delete collaborator"
},
"share.delete-description": {
"defaultMessage": "Invite people to collaborate with you in the creation of your midnmap. They will be notified by email."
},
"share.delete-title": {
"defaultMessage": "Share with people"
},
"share.message": {
"defaultMessage": "Message"
}
} }

View File

@ -0,0 +1,471 @@
{
"account.delete-warning": {
"defaultMessage": "Keep in mind that you will not be able retrieve any mindmap you have added. All your information will be deleted and it can not be restored."
},
"accountinfo.button": {
"defaultMessage": "Accept"
},
"accountinfo.email": {
"defaultMessage": "Email"
},
"accountinfo.firstname": {
"defaultMessage": "First Name"
},
"accountinfo.lastname": {
"defaultMessage": "Last Name"
},
"accountinfo.title": {
"defaultMessage": "Account info"
},
"action.cancel-button": {
"defaultMessage": "Cancel"
},
"action.close-button": {
"defaultMessage": "Close"
},
"action.delete": {
"defaultMessage": "Delete"
},
"action.delete-description": {
"defaultMessage": "Deleted mindmap can not be recovered. Do you want to continue ?."
},
"action.delete-title": {
"defaultMessage": "Delete"
},
"action.duplicate": {
"defaultMessage": "Duplicate"
},
"action.export": {
"defaultMessage": "Export"
},
"action.history": {
"defaultMessage": "History"
},
"action.history-description": {
"defaultMessage": "List of changes introduced in the last 90 days."
},
"action.history-title": {
"defaultMessage": "Version history"
},
"action.import": {
"defaultMessage": "Import"
},
"action.info": {
"defaultMessage": "Info"
},
"action.label": {
"defaultMessage": "Add Label"
},
"action.new": {
"defaultMessage": "New Map"
},
"action.open": {
"defaultMessage": "Open"
},
"action.print": {
"defaultMessage": "Print"
},
"action.publish": {
"defaultMessage": "Publish"
},
"action.rename": {
"defaultMessage": "Rename"
},
"action.rename-description-placeholder": {
"defaultMessage": "Description"
},
"action.rename-name-placeholder": {
"defaultMessage": "Name"
},
"action.share": {
"defaultMessage": "Share"
},
"changepwd.button": {
"defaultMessage": "Change"
},
"changepwd.confirm-password": {
"defaultMessage": "Confirm Password"
},
"changepwd.description": {
"defaultMessage": "Please, provide the new password for your account."
},
"changepwd.password": {
"defaultMessage": "Password"
},
"changepwd.password-match": {
"defaultMessage": "Password do not match. Please, try again."
},
"changepwd.title": {
"defaultMessage": "Change Password"
},
"common.wait": {
"defaultMessage": "Please wait ..."
},
"create.button": {
"defaultMessage": "Create"
},
"create.description": {
"defaultMessage": "Please, fill the new map name and description."
},
"create.title": {
"defaultMessage": "Create a new mindmap."
},
"deletem.title": {
"defaultMessage": "All selected maps will be deleted"
},
"duplicate.title": {
"defaultMessage": "Duplicate"
},
"expired.description": {
"defaultMessage": "Your current session has expired. Please, sign in and try again."
},
"expired.title": {
"defaultMessage": "Your session has expired"
},
"export.desc": {
"defaultMessage": "Export this map in the format that you want and start using it in your presentations or sharing by email"
},
"export.document": {
"defaultMessage": "Mindmap Tools: Export your mindmap in thirdparty mindmap tool formats"
},
"export.document-label": {
"defaultMessage": "Document: Export your mindmap in a self-contained document ready to share"
},
"export.image": {
"defaultMessage": "Image: Get a graphic representation of your map including all colors and shapes."
},
"export.title": {
"defaultMessage": "Export"
},
"export.warning": {
"defaultMessage": "Exporting to Image (SVG,PNG,JPEG,PDF) is only available in the editor toolbar."
},
"footer.aboutus": {
"defaultMessage": "About Us"
},
"footer.contactus": {
"defaultMessage": "Contact Us"
},
"footer.faq": {
"defaultMessage": "F.A.Q."
},
"footer.faqandhelp": {
"defaultMessage": "Help & FAQ"
},
"footer.feedback": {
"defaultMessage": "Feedback"
},
"footer.opensource": {
"defaultMessage": "Open Source"
},
"footer.others": {
"defaultMessage": "Others"
},
"footer.termsandconditions": {
"defaultMessage": "Term And Conditions"
},
"forgot.desc": {
"defaultMessage": "We will send you an email to reset your password."
},
"forgot.email": {
"defaultMessage": "Email"
},
"forgot.page-title": {
"defaultMessage": "Forgot Password | WiseMapping"
},
"forgot.register": {
"defaultMessage": "Send recovery link"
},
"forgot.success.desc": {
"defaultMessage": "We've sent you an email that will allow you to reset your password. You should receive it in the next minutes."
},
"forgot.success.title": {
"defaultMessage": "Your temporal password has been sent."
},
"forgot.title": {
"defaultMessage": "Reset your password"
},
"forgotsuccess.page-title": {
"defaultMessage": "Password Recovered | WiseMapping"
},
"header.donthaveaccount": {
"defaultMessage": "Don't have an account ?"
},
"header.haveaccount": {
"defaultMessage": "Already have an account?"
},
"help.support": {
"defaultMessage": "Support"
},
"history.no-changes": {
"defaultMessage": "There is no changes available"
},
"import.button": {
"defaultMessage": "Create"
},
"import.description": {
"defaultMessage": "You can import FreeMind 1.0.1 and WiseMapping maps to your list of maps. Select the file you want to import."
},
"import.title": {
"defaultMessage": "Import existing mindmap"
},
"info.basic-info": {
"defaultMessage": "Basic Info"
},
"info.button": {
"defaultMessage": "Accept"
},
"info.creation-time": {
"defaultMessage": "Creation Date"
},
"info.creator": {
"defaultMessage": "Creator"
},
"info.description": {
"defaultMessage": "Description"
},
"info.description-msg": {
"defaultMessage": "By publishing the map you make it visible to everyone on the Internet."
},
"info.modified-time": {
"defaultMessage": "Last Modified Date"
},
"info.modified-tny": {
"defaultMessage": "Last Modified By"
},
"info.name": {
"defaultMessage": "Name"
},
"info.public-visibility": {
"defaultMessage": "Publicly Visible"
},
"info.sharing": {
"defaultMessage": "Sharing"
},
"info.starred": {
"defaultMessage": "Starred"
},
"info.title": {
"defaultMessage": "Info"
},
"language.change": {
"defaultMessage": "Change Language"
},
"language.help": {
"defaultMessage": "Help to Translate"
},
"login.desc": {
"defaultMessage": "Log into your account"
},
"login.email": {
"defaultMessage": "Email"
},
"login.error": {
"defaultMessage": "The email address or password you entered is not valid."
},
"login.forgotpwd": {
"defaultMessage": "Forgot Password ?"
},
"login.hsqldbcofig": {
"defaultMessage": "Although HSQLDB is bundled with WiseMapping by default during the installation, we do not recommend this database for production use. Please consider using MySQL 5.7 instead. You can find more information how to configure MySQL",
"description": "Missing production database configured"
},
"login.page-title": {
"defaultMessage": "Login | WiseMapping"
},
"login.password": {
"defaultMessage": "Password"
},
"login.remberme": {
"defaultMessage": "Remember me"
},
"login.signin": {
"defaultMessage": "Sign In"
},
"login.signup": {
"defaultMessage": "Sign Up"
},
"login.title": {
"defaultMessage": "Welcome"
},
"login.userinactive": {
"defaultMessage": "Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!."
},
"map.creator": {
"defaultMessage": "Creator"
},
"map.delete-selected": {
"defaultMessage": "Delete selected"
},
"map.last-update": {
"defaultMessage": "Last Update"
},
"map.more-actions": {
"defaultMessage": "More Actions"
},
"map.name": {
"defaultMessage": "Name"
},
"map.tooltip-add": {
"defaultMessage": "Add label to selected"
},
"maps.choose-file": {
"defaultMessage": "Choose a file"
},
"maps.create-tooltip": {
"defaultMessage": "Create a New Map"
},
"maps.empty-result": {
"defaultMessage": "No matching record found with the current filter criteria."
},
"maps.import-desc": {
"defaultMessage": "Import from other tools"
},
"maps.modified": {
"defaultMessage": "Modified"
},
"maps.modified-by": {
"defaultMessage": "Modified By"
},
"maps.modified-by-desc": {
"defaultMessage": "Modified by {by} on {on}"
},
"maps.nav-all": {
"defaultMessage": "All"
},
"maps.nav-onwned": {
"defaultMessage": "Owned"
},
"maps.nav-public": {
"defaultMessage": "Public"
},
"maps.nav-shared": {
"defaultMessage": "Shared with me"
},
"maps.nav-starred": {
"defaultMessage": "Starred"
},
"maps.page-title": {
"defaultMessage": "My Maps | WiseMapping"
},
"maps.revert": {
"defaultMessage": "Revert"
},
"maps.search-action": {
"defaultMessage": "Search ..."
},
"maps.tooltip-open": {
"defaultMessage": "Open for edition"
},
"maps.tooltip-starred": {
"defaultMessage": "Starred"
},
"maps.view": {
"defaultMessage": "View"
},
"menu.account": {
"defaultMessage": "Account"
},
"menu.change-password": {
"defaultMessage": "Change password"
},
"menu.signout": {
"defaultMessage": "Sign Out"
},
"publish.button": {
"defaultMessage": "Accept"
},
"publish.checkbox": {
"defaultMessage": "Enable public sharing"
},
"publish.description": {
"defaultMessage": "By publishing the map you make it visible to everyone on the Internet."
},
"publish.embedded": {
"defaultMessage": "Embedded"
},
"publish.embedded-msg": {
"defaultMessage": "Copy this snippet of code to embed in your blog or page:"
},
"publish.public-url": {
"defaultMessage": "Public URL"
},
"publish.public-url-msg": {
"defaultMessage": "Copy and paste the link below to share your map with colleagues:"
},
"publish.title": {
"defaultMessage": "Publish"
},
"registation.success-title": {
"defaultMessage": "Registation Success | WiseMapping"
},
"registration.desc": {
"defaultMessage": "Signing up is free and just take a moment"
},
"registration.email": {
"defaultMessage": "Email"
},
"registration.firstname": {
"defaultMessage": "First Name"
},
"registration.lastname": {
"defaultMessage": "Last Name"
},
"registration.password": {
"defaultMessage": "Password"
},
"registration.register": {
"defaultMessage": "Register"
},
"registration.success.desc": {
"defaultMessage": "Click 'Sign In' button below and start creating mind maps."
},
"registration.termandconditions": {
"defaultMessage": "Terms of Client: Please check the WiseMapping Account information you've entered above, and review the Terms of Client here. By clicking on 'Register' below you are agreeing to the Terms of Client above and the Privacy Policy"
},
"registration.title": {
"defaultMessage": "Become a member"
},
"rename.description": {
"defaultMessage": "Please, fill the new map name and description."
},
"rename.title": {
"defaultMessage": "Rename"
},
"resetpassword.success.title": {
"defaultMessage": "Your account has been created successfully"
},
"role.editor": {
"defaultMessage": "Editor"
},
"role.owner": {
"defaultMessage": "Onwer"
},
"role.viewer": {
"defaultMessage": "Viewer"
},
"share.add-button": {
"defaultMessage": "Add"
},
"share.add-message": {
"defaultMessage": "Add message"
},
"share.can-edit": {
"defaultMessage": "Can edit"
},
"share.can-view": {
"defaultMessage": "Can view"
},
"share.delete": {
"defaultMessage": "Delete collaborator"
},
"share.delete-description": {
"defaultMessage": "Invite people to collaborate with you in the creation of your midnmap. They will be notified by email."
},
"share.delete-title": {
"defaultMessage": "Share with people"
},
"share.message": {
"defaultMessage": "Message"
}
}

View File

@ -9,7 +9,7 @@
"lint": "eslint src", "lint": "eslint src",
"cy:run": "cypress run", "cy:run": "cypress run",
"test": "start-server-and-test start http-get://localhost:3000 cy:run", "test": "start-server-and-test start http-get://localhost:3000 cy:run",
"extract": "formatjs extract", "extract": "for lang in {'es','en','fr','de'};do formatjs extract 'src/**/*.ts*' --ignore 'src/@types/**/*' --out-file lang/${lang}.json;done",
"compile": "formatjs compile" "compile": "formatjs compile"
}, },
"repository": "http://www.wisemapping.com", "repository": "http://www.wisemapping.com",

View File

@ -46,7 +46,7 @@ const ForgotPassword = () => {
<Typography> <Typography>
<FormattedMessage <FormattedMessage
id="forgot.desc" id="forgot.desc"
defaultMessage="We will send you an email to reset your password" defaultMessage="We will send you an email to reset your password."
/> />
</Typography> </Typography>
@ -74,8 +74,9 @@ const ForgotPassword = () => {
}; };
const ForgotPasswordPage = (): React.ReactElement => { const ForgotPasswordPage = (): React.ReactElement => {
const intl = useIntl();
useEffect(() => { useEffect(() => {
document.title = 'Reset Password | WiseMapping'; document.title = intl.formatMessage({id:'forgot.page-title', defaultMessage:'Forgot Password | WiseMapping' });
}); });
return ( return (

View File

@ -1,5 +1,5 @@
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage, useIntl } from 'react-intl';
import FormContainer from '../layout/form-container'; import FormContainer from '../layout/form-container';
import Header from '../layout/header'; import Header from '../layout/header';
import Footer from '../layout/footer'; import Footer from '../layout/footer';
@ -8,8 +8,10 @@ import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button'; import Button from '@material-ui/core/Button';
const ForgotPasswordSuccessPage = (): React.ReactElement => { const ForgotPasswordSuccessPage = (): React.ReactElement => {
const intl = useIntl();
useEffect(() => { useEffect(() => {
document.title = 'Reset Password | WiseMapping'; document.title = intl.formatMessage({ id: 'forgotsuccess.page-title', defaultMessage: 'Password Recovered | WiseMapping' });
}); });
return ( return (
@ -19,14 +21,14 @@ const ForgotPasswordSuccessPage = (): React.ReactElement => {
<Typography variant="h4" component="h1"> <Typography variant="h4" component="h1">
<FormattedMessage <FormattedMessage
id="forgot.success.title" id="forgot.success.title"
defaultMessage="Your temporal password has been sent" defaultMessage="Your temporal password has been sent."
/> />
</Typography> </Typography>
<Typography paragraph> <Typography paragraph>
<FormattedMessage <FormattedMessage
id="forgot.success.desc" id="forgot.success.desc"
defaultMessage="We've sent you an email that will allow you to reset your password. Please check your email now." defaultMessage="We've sent you an email that will allow you to reset your password. You should receive it in the next minutes."
/> />
</Typography> </Typography>

View File

@ -13,7 +13,6 @@ const GlobalError = (props: GlobalErrorProps): React.ReactElement | null => {
return hasError ? ( return hasError ? (
<StyledAlert severity="error" variant="filled" hidden={!hasError}> <StyledAlert severity="error" variant="filled" hidden={!hasError}>
{' '}
{errorMsg} {errorMsg}
</StyledAlert> </StyledAlert>
) : null; ) : null;

View File

@ -20,23 +20,20 @@ const Footer = (): React.ReactElement => {
</h4> </h4>
<div> <div>
<a href="https://www.wisemapping.com/faq.html"> <a href="https://www.wisemapping.com/faq.html">
{' '} <FormattedMessage id="footer.faq" defaultMessage="F.A.Q." />
<FormattedMessage id="footer.faq" defaultMessage="F.A.Q." />{' '}
</a> </a>
</div> </div>
<div> <div>
<a href="https://www.wisemapping.com/termsofuse.html"> <a href="https://www.wisemapping.com/termsofuse.html">
{' '}
<FormattedMessage <FormattedMessage
id="footer.termsandconditions" id="footer.termsandconditions"
defaultMessage="Term And Conditions" defaultMessage="Term And Conditions"
/>{' '} />
</a> </a>
</div> </div>
<div> <div>
<a href="mailto:team@wisemapping.com"> <a href="mailto:team@wisemapping.com">
{' '} <FormattedMessage id="footer.contactus" defaultMessage="Contact Us" />
<FormattedMessage id="footer.contactus" defaultMessage="Contact Us" />{' '}
</a> </a>
</div> </div>
</div> </div>
@ -46,23 +43,20 @@ const Footer = (): React.ReactElement => {
</h4> </h4>
<div> <div>
<a href="https://www.wisemapping.com/aboutus.html"> <a href="https://www.wisemapping.com/aboutus.html">
{' '}
<FormattedMessage id="footer.aboutus" defaultMessage="About Us" /> <FormattedMessage id="footer.aboutus" defaultMessage="About Us" />
</a> </a>
</div> </div>
<div> <div>
<a href="mailto:feedback@wisemapping.com"> <a href="mailto:feedback@wisemapping.com">
{' '} <FormattedMessage id="footer.feedback" defaultMessage="Feedback" />
<FormattedMessage id="footer.feedback" defaultMessage="Feedback" />{' '}
</a> </a>
</div> </div>
<div> <div>
<a href="http://www.wisemapping.org/"> <a href="http://www.wisemapping.org/">
{' '}
<FormattedMessage <FormattedMessage
id="footer.opensource" id="footer.opensource"
defaultMessage="Open Source" defaultMessage="Open Source"
/>{' '} />
</a> </a>
</div> </div>
</div> </div>

View File

@ -67,7 +67,7 @@ const LoginPage = (): React.ReactElement => {
const intl = useIntl(); const intl = useIntl();
useEffect(() => { useEffect(() => {
document.title = 'Login | WiseMapping'; document.title = intl.formatMessage({id:'login.page-title',defaultMessage:'Login | WiseMapping'});
}); });
return ( return (

View File

@ -66,7 +66,7 @@ const CreateDialog = ({ onClose }: CreateProps): React.ReactElement => {
error={error} error={error}
title={intl.formatMessage({ title={intl.formatMessage({
id: 'create.title', id: 'create.title',
defaultMessage: 'Create a new mindmap', defaultMessage: 'Create a new mindmap.',
})} })}
description={intl.formatMessage({ description={intl.formatMessage({
id: 'create.description', id: 'create.description',

View File

@ -30,9 +30,8 @@ const DeleteDialog = ({ mapId, onClose }: SimpleDialogProps): React.ReactElement
mutation.mutate(mapId); mutation.mutate(mapId);
}; };
// Fetch map model to be rendered ... const { map } = fetchMapById(mapId)
const { map } = fetchMapById(mapId); const alertTitle=`${intl.formatMessage({ id: 'action.delete-title', defaultMessage: 'Delete' })} ${map?.title}`;
const alertTitle = `Delete ${map?.title}`;
return ( return (
<div> <div>
<BaseDialog <BaseDialog

View File

@ -96,9 +96,7 @@ const ExportDialog = ({
onClose={handleOnClose} onClose={handleOnClose}
onSubmit={handleOnSubmit} onSubmit={handleOnSubmit}
title={intl.formatMessage({ id: 'export.title', defaultMessage: 'Export' })} title={intl.formatMessage({ id: 'export.title', defaultMessage: 'Export' })}
description={ description={intl.formatMessage({ id: 'export.desc', defaultMessage: 'Export this map in the format that you want and start using it in your presentations or sharing by email' })}
'Export this map in the format that you want and start using it in your presentations or sharing by email'
}
submitButton={intl.formatMessage({ id: 'export.title', defaultMessage: 'Export' })} submitButton={intl.formatMessage({ id: 'export.title', defaultMessage: 'Export' })}
> >
<Alert severity="info"> <Alert severity="info">

View File

@ -111,8 +111,7 @@ const HistoryDialog = ({ mapId, onClose }: SimpleDialogProps): React.ReactElemen
<TableCell align="left"> <TableCell align="left">
<Link <Link
href="#" href="#"
onClick={(e) => handleOnClick(e, row.id)} onClick={(e) => handleOnClick(e, row.id)}>
>
<FormattedMessage <FormattedMessage
id="maps.revert" id="maps.revert"
defaultMessage="Revert" defaultMessage="Revert"

View File

@ -67,7 +67,7 @@ const MapsPage = (): ReactElement => {
const intl = useIntl(); const intl = useIntl();
useEffect(() => { useEffect(() => {
document.title = 'Maps | WiseMapping'; document.title = intl.formatMessage({ id: 'maps.page-title', defaultMessage: 'My Maps | WiseMapping' });
}, []); }, []);
const mutation = useMutation((id: number) => client.deleteLabel(id), { const mutation = useMutation((id: number) => client.deleteLabel(id), {
@ -94,27 +94,27 @@ const MapsPage = (): ReactElement => {
const filterButtons: ToolbarButtonInfo[] = [ const filterButtons: ToolbarButtonInfo[] = [
{ {
filter: { type: 'all' }, filter: { type: 'all' },
label: 'All', label: intl.formatMessage({ id: 'maps.nav-all', defaultMessage:'All' }),
icon: <ScatterPlotTwoTone color="secondary" />, icon: <ScatterPlotTwoTone color="secondary" />,
}, },
{ {
filter: { type: 'owned' }, filter: { type: 'owned' },
label: 'Owned', label: intl.formatMessage({ id: 'maps.nav-onwned', defaultMessage:'Owned' }),
icon: <PersonOutlineTwoTone color="secondary" />, icon: <PersonOutlineTwoTone color="secondary" />,
}, },
{ {
filter: { type: 'starred' }, filter: { type: 'starred' },
label: 'Starred', label: intl.formatMessage({ id: 'maps.nav-starred', defaultMessage:'Starred' }),
icon: <StarTwoTone color="secondary" />, icon: <StarTwoTone color="secondary" />,
}, },
{ {
filter: { type: 'shared' }, filter: { type: 'shared' },
label: 'Shared with me', label: intl.formatMessage({ id: 'maps.nav-shared', defaultMessage:'Shared with me' }),
icon: <ShareTwoTone color="secondary" />, icon: <ShareTwoTone color="secondary" />,
}, },
{ {
filter: { type: 'public' }, filter: { type: 'public' },
label: 'Public', label: intl.formatMessage({ id: 'maps.nav-public', defaultMessage:'Public' }),
icon: <PublicTwoTone color="secondary" />, icon: <PublicTwoTone color="secondary" />,
}, },
]; ];
@ -228,9 +228,8 @@ const MapsPage = (): ReactElement => {
active={filter} active={filter}
onClick={handleMenuClick} onClick={handleMenuClick}
onDelete={handleLabelDelete} onDelete={handleLabelDelete}
key={`${buttonInfo.filter.type}:${ key={`${buttonInfo.filter.type}:${(buttonInfo.filter as LabelFilter).label
(buttonInfo.filter as LabelFilter).label }`}
}`}
/> />
); );
})} })}

View File

@ -55,9 +55,9 @@ function getComparator<Key extends keyof any>(
order: Order, order: Order,
orderBy: Key orderBy: Key
): ( ): (
a: { [key in Key]: number | string | boolean | number[] | undefined }, a: { [key in Key]: number | string | boolean | number[] | undefined },
b: { [key in Key]: number | string | number[] | boolean } b: { [key in Key]: number | string | number[] | boolean }
) => number { ) => number {
return order === 'desc' return order === 'desc'
? (a, b) => descendingComparator(a, b, orderBy) ? (a, b) => descendingComparator(a, b, orderBy)
: (a, b) => -descendingComparator(a, b, orderBy); : (a, b) => -descendingComparator(a, b, orderBy);
@ -248,7 +248,6 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
const [rowsPerPage, setRowsPerPage] = React.useState(10); const [rowsPerPage, setRowsPerPage] = React.useState(10);
const client: Client = useSelector(activeInstance); const client: Client = useSelector(activeInstance);
const intl = useIntl(); const intl = useIntl();
const queryClient = useQueryClient(); const queryClient = useQueryClient();
// Configure locale ... // Configure locale ...
@ -266,11 +265,13 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
const { isLoading, data } = useQuery<unknown, ErrorInfo, MapInfo[]>('maps', () => { const { isLoading, data } = useQuery<unknown, ErrorInfo, MapInfo[]>('maps', () => {
return client.fetchAllMaps(); return client.fetchAllMaps();
}); });
const mapsInfo: MapInfo[] = data ? data.filter(mapsFilter(filter, searchCondition)) : []; const mapsInfo: MapInfo[] = data ? data.filter(mapsFilter(filter, searchCondition)) : [];
const [activeRowAction, setActiveRowAction] = React.useState<ActionPanelState | undefined>( const [activeRowAction, setActiveRowAction] = React.useState<ActionPanelState | undefined>(
undefined undefined
); );
type ActiveDialog = { type ActiveDialog = {
actionType: ActionType; actionType: ActionType;
mapsId: number[]; mapsId: number[];
@ -340,8 +341,8 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
onSuccess: () => { onSuccess: () => {
queryClient.invalidateQueries('maps'); queryClient.invalidateQueries('maps');
}, },
onError: () => { onError: (error) => {
// setError(error); console.error(error);
}, },
} }
); );
@ -387,7 +388,7 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
<Toolbar className={classes.toolbar} variant="dense"> <Toolbar className={classes.toolbar} variant="dense">
<div className={classes.toolbarActions}> <div className={classes.toolbarActions}>
{selected.length > 0 && ( {selected.length > 0 && (
<Tooltip arrow={true} title="Delete selected"> <Tooltip arrow={true} title={intl.formatMessage({ id: 'map.delete-selected', defaultMessage: 'Delete selected' })}>
<Button <Button
color="primary" color="primary"
size="medium" size="medium"
@ -403,7 +404,7 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
)} )}
{selected.length > 0 && ( {selected.length > 0 && (
<Tooltip arrow={true} title="Add label to selected"> <Tooltip arrow={true} title={intl.formatMessage({ id: 'map.tooltip-add', defaultMessage: 'Add label to selected' })}>
<Button <Button
color="primary" color="primary"
size="medium" size="medium"
@ -438,7 +439,7 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
<SearchIcon /> <SearchIcon />
</div> </div>
<InputBase <InputBase
placeholder="Search…" placeholder={intl.formatMessage({ id: 'maps.search-action', defaultMessage:'Search ...' })}
classes={{ classes={{
root: classes.searchInputRoot, root: classes.searchInputRoot,
input: classes.searchInputInput, input: classes.searchInputInput,
@ -477,124 +478,119 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
</TableCell> </TableCell>
</TableRow> </TableRow>
) : ( ) : (
stableSort(mapsInfo, getComparator(order, orderBy)) stableSort(mapsInfo, getComparator(order, orderBy))
.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
.map((row: MapInfo) => { .map((row: MapInfo) => {
const isItemSelected = isSelected(row.id); const isItemSelected = isSelected(row.id);
const labelId = row.id; const labelId = row.id;
return ( return (
<TableRow <TableRow
hover hover
onClick={(event) => handleRowClick(event, row.id)} onClick={(event) => handleRowClick(event, row.id)}
role="checkbox" role="checkbox"
aria-checked={isItemSelected} aria-checked={isItemSelected}
tabIndex={-1} tabIndex={-1}
key={row.id} key={row.id}
selected={isItemSelected} selected={isItemSelected}
style={{ border: '0' }} style={{ border: '0' }}
> >
<TableCell <TableCell
padding="checkbox" padding="checkbox"
className={classes.bodyCell} className={classes.bodyCell}
>
<Checkbox
checked={isItemSelected}
inputProps={{
'aria-labelledby': String(labelId),
}}
size="small"
/>
</TableCell>
<TableCell
padding="checkbox"
className={classes.bodyCell}
>
<Tooltip arrow={true} title="Starred">
<IconButton
aria-label="Starred"
size="small"
onClick={(e) =>
handleStarred(e, row.id)
}
> >
<StarRateRoundedIcon <Checkbox
color="action" checked={isItemSelected}
style={{ inputProps={{
color: row.starred 'aria-labelledby': String(labelId),
? 'yellow'
: 'gray',
}} }}
size="small"
/> />
</IconButton> </TableCell>
</Tooltip>
</TableCell>
<TableCell className={classes.bodyCell}> <TableCell
<Tooltip padding="checkbox"
arrow={true} className={classes.bodyCell}
title="Open for edition"
placement="bottom-start"
>
<Link
href={`/c/maps/${row.id}/edit`}
color="textPrimary"
underline="always"
onClick={(e) => e.stopPropagation()}
> >
{row.title} <Tooltip arrow={true} title={intl.formatMessage({ id: 'maps.tooltip-starred', defaultMessage: 'Starred' })}>
</Link> <IconButton
</Tooltip> size="small"
</TableCell> onClick={(e) =>
handleStarred(e, row.id)
}
>
<StarRateRoundedIcon
color="action"
style={{
color: row.starred
? 'yellow'
: 'gray',
}}
/>
</IconButton>
</Tooltip>
</TableCell>
<TableCell className={classes.bodyCell}> <TableCell className={classes.bodyCell}>
{row.labels} <Tooltip
</TableCell> arrow={true}
title={intl.formatMessage({ id: 'maps.tooltip-open', defaultMessage: 'Open for edition' })}
placement="bottom-start"
>
<Link
href={`/c/maps/${row.id}/edit`}
color="textPrimary"
underline="always"
onClick={(e) => e.stopPropagation()}
>
{row.title}
</Link>
</Tooltip>
</TableCell>
<TableCell className={classes.bodyCell}> <TableCell className={classes.bodyCell}>
{row.createdBy} {row.labels}
</TableCell> </TableCell>
<TableCell className={classes.bodyCell}> <TableCell className={classes.bodyCell}>
<Tooltip {row.createdBy}
arrow={true} </TableCell>
title={`Modified by ${
row.lastModificationBy
} on ${dayjs(
row.lastModificationTime
).format('lll')}`}
placement="bottom-start"
>
<span>
{dayjs(
row.lastModificationTime
).fromNow()}
</span>
</Tooltip>
</TableCell>
<TableCell className={classes.bodyCell}> <TableCell className={classes.bodyCell}>
<Tooltip <Tooltip
arrow={true} arrow={true}
title={intl.formatMessage({ title={intl.formatMessage({ id: 'maps.modified-by-desc', defaultMessage: 'Modified by {by} on {on}' })}
id: 'map.more-actions', placement="bottom-start"
defaultMessage: 'More Actions', >
})} <span>
> {dayjs(
<IconButton row.lastModificationTime
aria-label="Others" ).fromNow()}
size="small" </span>
onClick={handleActionClick(row.id)} </Tooltip>
> </TableCell>
<MoreHorizIcon color="action" />
</IconButton> <TableCell className={classes.bodyCell}>
</Tooltip> <Tooltip
</TableCell> arrow={true}
</TableRow> title={intl.formatMessage({
); id: 'map.more-actions',
}) defaultMessage: 'More Actions',
)} })}
>
<IconButton
aria-label="Others"
size="small"
onClick={handleActionClick(row.id)}
>
<MoreHorizIcon color="action" />
</IconButton>
</Tooltip>
</TableCell>
</TableRow>
);
})
)}
</TableBody> </TableBody>
</Table> </Table>
</TableContainer> </TableContainer>
@ -605,6 +601,6 @@ export const MapsList = (props: MapsListProps): React.ReactElement => {
onClose={() => setActiveDialog(undefined)} onClose={() => setActiveDialog(undefined)}
mapsId={activeDialog ? activeDialog.mapsId : []} mapsId={activeDialog ? activeDialog.mapsId : []}
/> />
</div> </div >
); );
}; };

View File

@ -1,5 +1,5 @@
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage, useIntl } from 'react-intl';
import FormContainer from '../layout/form-container'; import FormContainer from '../layout/form-container';
import Header from '../layout/header'; import Header from '../layout/header';
import Footer from '../layout/footer'; import Footer from '../layout/footer';
@ -8,8 +8,10 @@ import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button'; import Button from '@material-ui/core/Button';
const RegistrationSuccessPage = (): React.ReactElement => { const RegistrationSuccessPage = (): React.ReactElement => {
const intl = useIntl();
useEffect(() => { useEffect(() => {
document.title = 'Reset Password | WiseMapping'; document.title = intl.formatMessage({ id: 'registation.success-title', defaultMessage: 'Registation Success | WiseMapping' });
}); });
return ( return (