Learn how to design a system for internationalization effectively.
The diagram below shows how we can internationalize a simple e-commerce website.
Different countries have differing cultures, values, and habits. When we design an application for international markets, we need to localize the application in several ways:
Extract and maintain all texts in a separate system. For example:
Use complete sentences and avoid dynamic text elements.
Display business data such as currencies in different languages.
The time display should be segregated from timestamp storage.
Common practice is to use the UTC (Coordinated Universal Time) timestamp for the database and backend services and to use the local time zone for the frontend display.
We need to define the displayed currencies and settlement currency. We also need to design a foreign exchange service for quoting prices.
Since we need to set up different entities for individual countries, and these entities follow different regulations and accounting standards, the system needs to support multiple bookkeeping methods. Company-level treasury management is often needed. We also need to extract business logic to account for different usage habits in different countries or regions.