This article investigates the valuation of currency options when the dynamic of the spot Foreign Exchange (FX) rate is governed by a two-factor Markov-modulated stochastic volatility model, with the first stochastic volatility component driven by a lognormal diffusion process and the second independent stochastic volatility component driven by a continuous-time finite-state Markov chain model. The states of the Markov chain can be interpreted as the states of an economy. We employ the regime-switching Esscher transform to determine a martingale pricing measure for valuing currency options under the incomplete market setting. We consider the valuation of the European-style and American-style currency options. In the case of American options, we provide a decomposition result for the American option price into the sum of its European counterpart and the early exercise premium. Numerical results are included.