message customization in Freemarker templates in Leila E

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