> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/ios/viewer/localization.md).

# Localization

Learn how to localize the Tools.framework for any language with this comprehensive guide. Follow step-by-step instructions to add localization to your app and customize user-facing strings. The Apryse

The `Tools.framework` ships with its user-facing strings written in English. This guide explains how you can localize the framework for any language.

## Tools localization

{% hint style="info" %}
**Info**

This section describes the localization process only if you have integrated the framework using CocoaPods or by embedding the framework binary into your project.

If you are compiling the `Tools` framework from source (not recommended), follow [these instructions](#localization-when-compiling-tools-from-source) to perform localization.
{% endhint %}

To localize the `Tools.framework` user-facing strings, all you need to do is add a strings file to the main bundle of your app.

To add a strings file in Xcode, go to `File -> New… -> File` in the menu bar. From the file templates window, choose `Strings File` from the `Resource` section and click `Next`. This new file must be named `PTLocalizable.strings` in order for the `Tools` framework to correctly identify the appropriate file to use for localization.

![](https://4149080208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgY6xtY9ZQd9XMpvWlGM0%2Fuploads%2Fgit-blob-68c31747a11cc98704e3f9aaf1e940685da3334b%2Fc87dd8a47b8d2f661dcccfa450027d13a0aca63b-1753x1200.png?alt=media)

![](https://4149080208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgY6xtY9ZQd9XMpvWlGM0%2Fuploads%2Fgit-blob-d0ce3122d5f3e648c111e082fa2cfb01cd0206df%2F9f565561493735b173c4a12f564334ce8788ed50-1753x1200.png?alt=media)

## Localizing your app

Localization can be added to your app by following these steps:

1. Select your project from the Project navigator.
2. Select your project from the dropdown or list of projects and targets.
3. Add a new localization by clicking on the plus sign below 'Localizations'.

![](https://4149080208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgY6xtY9ZQd9XMpvWlGM0%2Fuploads%2Fgit-blob-b7f54ac4937e1adddc0bc454106fcd605372e689%2F949efb1f93f73fa1ebb2d184821e1d0b015c4e0b-1753x1200.png?alt=media)

Once your app is configured for localization, clicking 'Localize…' in Xcode's file inspector for `PTLocalizable.strings` will allow you to localize the file.

![](https://4149080208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgY6xtY9ZQd9XMpvWlGM0%2Fuploads%2Fgit-blob-a79ebec438cfa1f1d9b0f9f98d214259c7946023%2Feeacf64fb43340a4a04c8735fbf3701fdcf3742f-1753x1200.png?alt=media)

## Localizable strings

To see which strings in the `Tools` framework can be localized, see the included `Localizable.strings` reference files. The location of these files depends on how the framework was integrated into your app:

| Integration                                                           | Path                                                             | Location           |
| --------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------ |
| [CocoaPods](/ios/get-started/integration.md#integrate-with-cocoapods) | `Pods/PDFNet/Resources/Tools-Localization/<language-code>.lproj` | Xcode              |
| [Manual](/ios/get-started/integration.md#integrate-manually)          | `Lib/Tools/src/PDFViewCtrlTools/Tools/<language-code>.lproj`     | Downloaded package |

These files contain the key-value pairs which are used to define the user-facing strings in `Tools` and are for reference only — modifying them has no effect. You can add any of the keys to your `PTLocalizable.strings` file and define a custom value to display to the user.

## Localization when compiling Tools from source (deprecated)

{% hint style="warning" %}
**Warning**

This method only applies to versions of the SDK prior to v6.10.2.

This method is not recommended as it involves editing the `Tools.framework` strings file directly which will create a requirement to manually merge strings files when updating to new versions of `Tools.framework`.
{% endhint %}

If you are manually compiling the `Tools.framework` from source, localization can be performed by following these steps:

1. Select the `Tools` project from the Project navigator.
2. Select the `Tools` project from the dropdown or list of projects and targets.
3. Add a new localization by clicking on the plus sign below 'Localizations'.

![](https://4149080208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgY6xtY9ZQd9XMpvWlGM0%2Fuploads%2Fgit-blob-76c71b581ba609a64ee0a7744f9461a9eda668c6%2Fe138cf20cfab0cc131092bb04e0fd46ff239a51c-3104x1970.png?alt=media)

1. Check the box next to the file for the new localization (the `Localizable.strings` file) and click 'Finish'.

![](https://4149080208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgY6xtY9ZQd9XMpvWlGM0%2Fuploads%2Fgit-blob-b864d61bca8ba5b99b2cf4367ce5763be15cd2f0%2F26acf50758b5605447b4fad8e3536e73886974c3-1462x864.png?alt=media)

A new `Localizable.strings` file will be created in `/Lib/Tools/src/PDFViewCtrlTools/Tools/<language-code>.lproj` with the contents of the reference language (English by default). You can then enter a translation on the right-hand side of each entry in the `.strings` file.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/ios/viewer/localization.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
