Implement the undo feature for a simple calculator. The undo feature must be implemented using a generic or template-based Stack data structure. You may utilize language supplied libraries (e.g. java.util.stack) or a stack implementation of your own design. The undo feature must allow for an unlimited number of undo operations. If the user attempts to perform an undo operation and the stack is empty, then a message must be displayed indicating that there are no commands to undo.The calculator must be available in multiple languages. The language used are to be inherited from the local computer’s locale setting (as appropriate). English will be the default language; however, if the computer’s language setting matches a language supported by the application, then that language will be utilized within the application. The Calculator will be deployed to the following regions of the world: North America, Europe, and Asia. The design document must contain a section that discusses localization and justifies the chosen languages (ES: GIC Rubric Outcome # 1).