> For the complete documentation index, see [llms.txt](https://docs.mapsindoors.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mapsindoors.com/products/fast-track-maptemplate/customization.md).

# Customization

### Working with the components package and the map-template package

To have any Stencil component (`packages/component`) changes reflected in the Map Template package (`packages/map-template`), you must run `npx lerna run build` from the root folder. There are no watch scripts yet.

### Adding translations for a new language

If you want to run the Map Template in another language than the already supported ones, you need to make some small adjustments to the code and add translations yourself.

The Map Template uses [i18next](https://www.i18next.com/) and [i18next-react](https://react.i18next.com/) to help manage UI internationalisation (translating your Locations data should be done from the MapsIndoors CMS).

To add a new language, locate the folder `packages/map-template/src/i18n`.

Here you find several files, one for setting up the i18next, and one JavaScript file for each of the already supported languages, named by convention with their IETF primary language tag. These files contains one object with translation keys and values.

Copy the content of the `en.js` file (contains translation for English) into a new file, for example `pt.js` if you plan to support Portuguese. Now translate each value in the object into your desired language.

Finally, in the `initialize.js` file, import your new file with your new language, and then use it in the resources object, similar to the other supported languages. Continuing the example of adding Portuguese, the object should now have a `pt` entry:

```
...
fr: {
	translation: fr
},
pt: {
	translation: pt
}


```

You should now be able to run the Map Template with your new language if you run it in a browser that uses that language, or if you use the `language` prop or query parameter.


---

# 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.mapsindoors.com/products/fast-track-maptemplate/customization.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.
