### NLS API

NLS API enables you to run reports in different languages, which includes global NLS API, catalog level NLS API, report level NLS API and resource tree NLS API. For detailed usages about the NLS API, see the JReport Javadoc in `<install_root>\help\api`.

#### Global NLS API

With the global NLS API, you can add a language, then specify to translate text in another language into a version in this language, or specify to replace a font face and size with another face and size. Likewise, you can get, update, or remove a language, a text translation, or a font replacement.

All text translations and font replacements specified for the global NLS will be applied each time a report runs.

Text is classified into four groups. You will find the four types in `NLSType` in the API Javadoc.

- COLUMN
  Text for columns. This type is for reports running in Page Report Studio.
- LABEL
  Text for labels and web controls.
- PROMPT
  Text for prompt information.
- TOC
  Text for resources displayed in the TOC tree.

For local environment

- Use this interface: `public interface RptServer`.
- Invoke `GlobalNLSLibrary getGlobalNLSLibrary()`.
- Call the methods that can help with your purposes.

For RMI usage

- Use this interface: `public interface RemoteRptServer`.
- Invoke `RemoteGlobalNLSLibrary getGlobalNLSLibrary()`.
- Call the methods that can help with your purposes.

#### Catalog level NLS API

With the catalog level NLS API, you can translate object names in a catalog to different languages.

For local environment

- Use this interface: `public interface NLSLibraryManager`.
- Invoke `CatalogNLSLibrary getCatalogNLSLibrary()`.
- Call the methods that can help with your purposes.

For RMI usage

- Use this interface: `public interface RemoteNLSLibraryManager`.
- Invoke `RemoteCatalogNLSLibrary getCatalogNLSLibrary()`.
- Call the methods that can help with your purposes.

#### Report level NLS API

With the report level NLS API, you can translate object names in a report to different languages.

For local environment

- Use this interface: `public interface NLSLibraryManager`.
- Invoke `ReportNLSLibrary getReportNLSLibrary()`.
- Call the methods that can help with your purposes.

For RMI usage

- Use this interface: `public interface RemoteNLSLibraryManager`.
- Invoke `RemoteReportNLSLibrary getReportNLSLibrary()`.
- Call the methods that can help with your purposes.

#### Resource tree NLS API

With the resource tree NLS API, you can translate object names in the resource tree of JReport Server to different languages.

For local environment

- Use this interface: `public interface RptServer`.
- Invoke `ResourceNLSManager getResourceNLSManager()`.
- Call the methods that can help with your purposes.

For RMI usage

- Use this interface: `public interface RemoteRptServer`.
- Invoke `RemoteResourceNLSManager getResourceNLSManager()`.
- Call the methods that can help with your purposes.