Change localization settings at runtime

Use the fgl_report_configureLocalization function to change the directory where the program seeks the translation files and to change the formatting pattern for numerical data at runtime.

Change the language directory

Change the language directory in which the translation files (42s) are sought with the fgl_report_configureLocalization function. The names of the translation files (captions.42s and mappings.42s) remain constant, regardless of what language is selected. It is the directory that is changed by the API call.
$echo $FGLPROFILE
fglprofile
$cat $FGLPROFILE
fglrun.localization.file.count = 2
fglrun.localization.file.1.name = "captions.42s"
fglrun.localization.file.2.name = "mappings.42s"

$find translation_files
translation_files
translation_files/en
translation_files/en/captions.str
translation_files/en/captions.42s
translation_files/fr
translation_files/fr/captions.str
translation_files/fr/captions.42s
translation_files/common
translation_files/common/mappings.str
translation_files/common/mappings.42s

$cat test.4gl
MAIN
... 
#select French translation
  LET handler=configureReport(“translation_files/fr:translation_files/common”);
  START REPORT invoice TO XML HANDLER handler
...
END MAIN
...
FUNCTION configureReport(resourcePath)
  ...
  LET handler=fgl_report_loadCurrentSettings(“localizable_invoice.4rp”)
  ...
  CALL fgl_report_configureLocalization(NULL,resourcePath,NULL,NULL)
  ...
  RETURN fgl_report_commitCurrentSettings()
END FUNCTION
...

Change the formatting pattern for numerical data

Change the formatting pattern for numerical data at runtime with the fgl_report_configureLocalization function.
$echo $DBFORMAT
$:,:.:
$cat test.4gl
MAIN
...
#select German number formatting
  LET handler=configureReport(“:.:,:EUR”);
  START REPORT invoice TO XML HANDLER handler
...
END MAIN
...
FUNCTION configureReport(numberFormat)
...
  LET handler=fgl_report_loadCurrentSettings(“invoice.4rp”)
...
  CALL fgl_report_configureLocalization(NULL,NULL,numberFormat,NULL)
...
  RETURN fgl_report_commitCurrentSettings() 
END FUNCTION
...