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).