> For the complete documentation index, see [llms.txt](https://docs.b2translate.b2broker.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.b2translate.b2broker.com/user-guide/manage-translations/download-and-upload-translations.md).

# Download and upload translations

{% stepper %}
{% step %}

### Export translations to a CSV file

1. On the **Projects** page, click the project name.
2. From the language dropdown above the table, select a required language.
3. Mark the checkboxes for the keys that you want to copy. Mark the upper checkbox to select all.
4. From the **Bulk actions** dropdown appearing above the table, select **Download CSV**.

<figure><img src="/files/BlNZ4Dpb6lh7itY6gwDw" alt="Download CSV"><figcaption><p>Download CSV</p></figcaption></figure>

{% hint style="info" %}
Alternatively, you can download **all** project keys:

1. On the **Projects** page, select a project and click the **three dots**.
2. Select **Download CSV**.
3. Select a required platform (if applicable) and language.
4. Click **Download**.
   {% endhint %}

The CSV file will be downloaded to your computer.
{% endstep %}

{% step %}

### Edit translations in the CSV file

Mind the following:

* Edit only values in the `translation` column.
* Only a comma (`,`) or a semicolon (`;`) can be used as a separator. Attention: If you use Pages by Apple Inc. to edit your file, it may sometimes add extra semicolons to the first row, potentially affecting file upload.
* For multi-word translations containing spaces, use quotes (`"My new translation"`).
* If there is no `originalDefaultTranslation`, then the custom translation is always ignored.
* If the `languageDefaultTranslation` and the custom translation are the same, then the custom translation is ignored.
* In other cases, the custom translation is updated.
  {% endstep %}

{% step %}

### Import the CSV file

1. Get back to the translation page of your project.
2. Click **Upload CSV** in the page header.

   <figure><img src="/files/gEuIpqjVRzOYg1Bf8BFf" alt="Upload CSV"><figcaption><p>Upload CSV</p></figcaption></figure>
3. Select a required language.
4. Drag and drop the file into the upload area or click **Add file** to select the file from your computer. The maximum allowed file size is 3 MB.

   <figure><img src="/files/BHuuvtrdqD0dPL4naaIW" alt="Add CSV file"><figcaption><p>Add CSV file</p></figcaption></figure>
5. Click **Upload**.
6. Refresh the page to see the translations uploaded.

{% hint style="info" %}
Alternatively, you can upload the file from the project list:

1. On the **Projects** page, select a project and click the **three dots**.
2. Select **Upload CSV**.
3. Select a required platform (if applicable) and language.
4. Drag and drop the file into the upload area or click **Add file** to select the file from your computer.
5. Click **Upload**.
   {% endhint %}
   {% endstep %}
   {% endstepper %}


---

# 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.b2translate.b2broker.com/user-guide/manage-translations/download-and-upload-translations.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.
