After decades of progress and advancement in international communication, the world is more connected than ever. But how much has the rise of modern technology helped with the development and delivery of products to customers in their native language?
Software globalization (G11n) is the process of delivering a software product or application in multiple languages. It consists of two parts:
- Localization (L10n) – the process of adapting software applications for a specific global market.
- Internationalization (i18n) – the process of developing software applications in a way that enables localization (L10n).
Singleton is an open-source application for streamlining software globalization. It standardizes and simplifies software application globalization—for both localization and internationalization.
How does Singleton work?
The localization (or L10n) functionality and capabilities of Singleton decouple localized resources from the application software. Singleton delivers a web service for the software localization process that provides an API for sending source artifacts for translation. These artifacts are processed externally, and localized resources are then embedded into the Singleton Service. L10n functionality in Singleton is separated from the core application, which makes it possible to test, update or add new language support independently from the core application’s release cycle—a requirement for fast-paced, agile releases, as well as the SaaS world. Singleton’s interoperability with multiple applications results in a simpler, more consistent quality of translation and localization across the board.
The internationalization (or i18n) capabilities of Singleton eliminate the need for developers to learn different APIs for software internationalization across technologies and programming languages. It acts as an abstraction layer that provides consistent i18n format (e.g. date, time, number and currency) to various applications that may be written in different programming languages. Its web service API exposes REST endpoints for i18n, which naturally provides abstraction across multiple clients. This allows for a programming language–agnostic i18n implementation, significantly reducing the implementation effort of software engineers and developers, allowing them to focus on testing and implementing new features and innovation. It also allows for consistent quality of software internationalization.
In a Microservice Architecture
The Singleton approach also allows simplification of globalization in an application with Microservices Architecture. When an application is split into a set of smaller, interconnected services, each of these services exposes its own API, consumes APIs provided by other services and/or provides its own implementation of a web user interface. Each microservice operates independently, and some may even have its own database or data repository. Singleton provides a single, uniform and abstracted globalization component to these microservices.
Singleton in VMware
VMware has successfully used Singleton to support the deployment of several products, saving effort and improving upon quality assurance. It’s either delivered as an on-premise software (SaaP) or consumed as a service (SaaS).
Singleton’s source files and code are on GitHub. A new user can refer to the README portion to build from source code and start using Singleton. We welcome discussions about and contributions to the project. Feel free to start a conversation with us at stackoverflow.com. Tag your question with “vmware-singleton” and we will get back to you.