Adapt the Localization module to work with any database
Summary
The Localization module should support any kind of database, the same way as DbObjects do.
Current Behavior
At the moment, localization queries are hard-coded in the module.
Desired Behavior
The client should be able to provide classes that act as layers between the module and the underlying database.
Implementation Plan
- Create an interface that represent layers between the Localization module and a generic database.
- Make the required changes in the Localization module to make sure that it uses a passed layer implementation.
- Provide at least two default layer implementations, for PostgreSQL and MySQL.
- Support on-the-fly changes to the layer implementation, using the
lang.ini
file.
Migration Plan
We should provide a smooth migration to the new Localization module, as transparent as possible.