> For the complete documentation index, see [llms.txt](https://docs.xibosignage.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xibosignage.com/kb/readme/translating-xibo.md).

# Translating Xibo

{% hint style="success" %}
The CMS can be configured to use a specific language from the **Settings** page under the **Administration** section of the main CMS menu and using the **Regional** tab!
{% endhint %}

Launchpad is used to manage translations, which can be viewed here: <https://translations.launchpad.net/xibo>.&#x20;

Any modifications to existing translations or new translations must be done in Launchpad to be included in the project.

Translations must be product agnostic, it is not permissible to change the translations in Launchpad to suite your own usage of Xibo, or your own Theme.

Launchpad has a [help guide](https://help.launchpad.net/Translations) describing how the system works.

### Technical Details

Xibo uses a system called GNU GetText to manage its translations. This system takes English "keys" from the source code and passes them through a set of predefined translations for each language. These predefined translations are stored in "compiled" format in a `MO` file, and can be found in the `/locale` folder of the source code.

The keys are defined in the code using the `__()` syntax and in Twig views using the `trans` helper.

The project adds new translatable strings and retires old ones during its normal development cycle. The contents of Launchpad represents the contents of the current development release.

### Translation outside of Launchpad

Launchpad is the "source of truth" when it comes to translations, however it is possible to translate outside of Launchpad, using a tool like POEdit, if this is more convenient.

To do this you should click "[Download Translation](https://translations.launchpad.net/xibo/github/+pots/default/+export)", select the languages you want and choose PO format. The resulting PO files can be edited with POEdit and then [imported back](https://translations.launchpad.net/xibo/github/+pots/default/+upload) into Launchpad.

POEdit can produce MO files compatible with the CMS `/locale` folder, however if your translations are not uploaded back to Launchpad the MO file will be overwritten on next release with one that doesn't contain your translation.

### Applying my translation

New translations are included with each new release of the software. If you would like to apply them ahead of a release you can request a download of the MO files from Launchpad and copy them manually into the `/locale` folder of your CMS installation.

## Player Translations

The Windows Player is only available in English.

The Android Player is available in Spanish, French, Korean, Dutch, Brazilian Portuguese and Turkish. If you'd like your language included, please contact us.


---

# 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.xibosignage.com/kb/readme/translating-xibo.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.
