An experiment to augment an application by both Business Skew and Language while leveraging a single codebase.
When scaling out an application to facilitate new audience opportunities, reusability is essential to experiment, pivot, and deliver features quickly.
We use a traditional I18n pattern to abstract content from the application UI and Business Logic. We can then create a new layer that, in addition to Language, allows the differentiation of Business Skew too.
We use an enrichment pattern so that a Base Language (like English) can be enriched by Business Skew specific requirements. This keeps duplication to a minimum and encourages Business Skew content to focus on their unique properties only.
Load the School sub-domain and request the German content skew.
Load the Home sub-domain and request the English content skew.
Users can change their application Language on the fly while retaining their original content, pluralization text, and UI selections.
Changing the application subdomain pulls in the Business Skew content for the current Language route.
Below are the configurations (Business Skews -vs- Language) that this exploration supports.