message customization in Freemarker templates in Leila E
Goals
- internally "deprecate" Mifos "Labels" functionality
- remove it in the F release
- use of "Labels" requires the creation of patchwork messages in string bundles, we want to avoid this in Freemarker templates to avoid further technical debt
- instead of customizing particular words and phrases, customization will happen by creating properties files similar to the ones shipped by Mifos
- don't use Mifos "Labels" in Freemarker templates
TODO
In order of priority.
- implement ability for an MFI to customize translated messages
- this should hopefully be doable by modifying the spring configuration
- user must also be able to specify their variant in applicationConfiguration.custom.properties; suggested key is "Localization.Variant"
- upon upgrade to Leila E, generate properties files necessary for customizing messages in Mifos (create a Java-based database upgrade that does this)
- properties file would be something like: MIFOS_CONF/L10n/messages_zh_CN_MFICustom.properties. "zh" = language, "CN" = country, "MFICustom" is the variant. Sometimes "CN_MFICustom" is called the specialization. See java.util.ResourceBundle javadoc for more info.
- default variant is "MFICustom" (in applicationConfiguration.default.properties), and may be overridden in applicationConfiguration.custom.properties
- in release E, when "Submit" is click on the Labels page, existing actions (maintaining the Labels) would still occur. Additionally, the properties files in MIFOS_CONF/L10n would be maintained (using the same code in the Java-based database upgrade mentioned above).