Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • localized_report.xml - this is the report definition in XML format
  • localized_report.properties - this is the default resource bundle for the report
  • localized_report.xaction - this is the action sequence for the report, that tells the server how to run the report.

The first file we care about is the localized_report.xml. We need to change some of the XML so that the report engine knows what strings to look for in our resource bundle instead of directly in the report. We do this by finding any label elements in the XML and changing them to resource-label elements.  This changes how the report engine interprets the text in the label (now resource-label) nodes. It now reads that text to be a key in a resource bundle. The report engine will use that key to find the REAL value to use in the report. Let's change one label, and you can see localization in action:

  1. Open the localized_report.xml file in your favorite text editor.
  2. Search for the word label. The first one you find should look like this:
    Code Block
    
    <label color="#000000" fontname="SansSerif" fontsize="12" fontstyle="bold" height="18" vertical-alignment="middle" alignment="left" width="16%" x="0%" y="0">REGION</label>
    
  3. Change the label element to resource-label, and add the attribute resource-base="". The line should now look like:
    Code Block
    
    <{color:#ff0000}resource-label resource-base=""

...

  1. &nbsp;...{color} width="16%" x="0%" y="0">REGION</{color:#ff0000}resource-label{color}>
    
  2. Note that the resource-base attribute will allow you to specify a resource bundle in a different location, but for our purposes, the resource bundle is in the same directory, so specifying it with an empty string is sufficent. 
  3. ALSO NOTE that if you are using Pentaho Reports (the JFreeReport library) standalone OUTSIDE of the Pentaho platform, the resource-base CANNOT be an empty string. A small misalignment in the code that is logged to be fixed.  
  4. Save, but do not close, the localized_report.xml.

...