> For the complete documentation index, see [llms.txt](https://developer.frontitude.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.frontitude.com/developer-cli/file-formats/apple-strings-.strings.md).

# Apple Strings (.strings)

{% hint style="info" %}
Format is automatically detected based on the file extension, so there’s no need to specify the format type when using it. ✨
{% endhint %}

{% hint style="info" %}
This format is supported by both `frontitude pull` and `frontitude push`.
{% endhint %}

### Supported project structure

The Developer CLI assumes a standard project structure in which translation files are named `Localizable.strings` and stored in locale-specific folders. For example:

```
my-ios-app
├── en.lproj
│   └── Localizable.strings     // English translations
├── fr-FR.lproj
│   └── Localizable.strings     // French translations
├── de-DE.lproj
│   └── Localizable.strings     // German translations
```

### Comments

{% hint style="info" %}
Existing comments in the file will be preserved when pulling content from Frontitude.
{% endhint %}

Comments are supported in the following format. Comments in other formats will be converted accordingly.

{% code title="Localizable.strings" %}

```javascript
/* Error message shown when there is a network connectivity issue */
"network_error_message" = "Unable to connect. Please check your internet connection.";
```

{% endcode %}

### Variables

While this format supports different types for variables, currently only string variables are supported. Variables defined in Frontitude will be converted into string variables.

{% code title="Localizable.strings" %}

```
"greetings.hello" = "Hello, %@!";
"time.last_seen" = "Last seen at %@";
```

{% endcode %}

### Plurals <a href="#h_6eca633a75" id="h_6eca633a75"></a>

The following key format is used for texts with plurals: `<key>_<plural_type>`. For example:

```
"greetings.hello_one" = "Hello, %@!";
"greetings.hello_many" = "Hello, folks!";
```

### Multiline support <a href="#h_6eca633a75" id="h_6eca633a75"></a>

Frontitude uses `\n` to handle multiline strings. For example:

{% code title="Localizable.strings" %}

```
"error.cant_recognize_email" = "We can't recognize this email.\nPlease try again.";
```

{% endcode %}

### File encoding

The supported file encoding is `UTF-16`, which is recommended by Apple. Please contact us if you require a different encoding.


---

# 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:

```
GET https://developer.frontitude.com/developer-cli/file-formats/apple-strings-.strings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
