# How to translate tutor

**URL:** https://discuss.openedx.org/t/how-to-translate-tutor/11497
**Category:** Tutor Help
**Tags:** how-to, tutor
**Created:** [October 24, 2023, 6:07am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497 "2023-10-24T06:07:36Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [October 24, 2023, 6:07am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/1 "2023-10-24T06:07:36Z")

</div>

I’m trying to deploy tutor locally and I need to translate full tutor to Byelorussian  
If I’m trying to translate it from profile settings, that’s ok, tutor is translating, but no full, some components still English  
Can u help me? Or give some recommendations?

---

<div class="post-metadata">

### Author: ![joel.edwards](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/joel.edwards/32/3193_2.png) [@joel.edwards](https://discuss.openedx.org/u/joel.edwards)
#### Post date: [October 24, 2023, 11:09am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/2 "2023-10-24T11:09:12Z")

</div>

Most likely is that the translation mapping is incomplete, you can help contribute to the project by submitting new translations

[https://docs.tutor.overhang.io/configuration.html#adding-custom-translations](https://docs.tutor.overhang.io/configuration.html#adding-custom-translations)

---

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [October 26, 2023, 10:59am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/3 "2023-10-26T10:59:27Z")

</div>

i tried to make it like in documentation  
but nothing changed  
so, my steps:  
I’v made file hierarchy: …/openedx/locale/ru/LC\_MESSAGES/django.po&djangojs.po  
and i got this files from openedx git repo  
added a few custom strings, but nothing changed, can u help me?

---

<div class="post-metadata">

### Author: ![joel.edwards](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/joel.edwards/32/3193_2.png) [@joel.edwards](https://discuss.openedx.org/u/joel.edwards)
#### Post date: [October 27, 2023, 1:49pm UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/4 "2023-10-27T13:49:41Z")

</div>

> [@maximmez](#):
>
> I’v made file hierarchy: …/openedx/locale/ **ru** /LC\_MESSAGES/django.po&djangojs.po

I assume you are testing with Russian instead of Belarusian?  
Otherwise try with locale code:  
‘be’: ‘belarusian’

is it still same?  
Did you rebuild OpenEdx after adding your locales?  
tutor images build openedx

---

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [October 31, 2023, 6:05am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/5 "2023-10-31T06:05:50Z")

</div>

“ru” or “by” - it’s doesn’t matter, testing both  
Of course I made “tutor images build openedx” and nothing changed;(

---

<div class="post-metadata">

### Author: ![Emad](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/emad/32/8930_2.png) [@Emad](https://discuss.openedx.org/u/Emad)
#### Post date: [October 31, 2023, 7:57am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/6 "2023-10-31T07:57:14Z")

</div>

What do you mean by

> [@maximmez](#):
>
> tutor is translating, but no full, some components still English

if you mean “LMS” and “CMS” are translated, but “Learning” or other MFEs don’t have translations, take a look at [here](https://github.com/overhangio/tutor-mfe#adding-custom-translations-to-your-mfes)

---

<div class="post-metadata">

### Author: ![joel.edwards](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/joel.edwards/32/3193_2.png) [@joel.edwards](https://discuss.openedx.org/u/joel.edwards)
#### Post date: [October 31, 2023, 10:14am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/7 "2023-10-31T10:14:39Z")

</div>

@Emad is [Transifix](https://app.transifex.com/open-edx/edx-platform/dashboard/) the recommended/official way to contribute to the translations for the community, and the tutor-mfe link you gave just for private/custom translations?  
I’ve only just started looking around at the translations side of things so just getting my bearings straight 🙂

---

<div class="post-metadata">

### Author: ![Emad](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/emad/32/8930_2.png) [@Emad](https://discuss.openedx.org/u/Emad)
#### Post date: [October 31, 2023, 11:11am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/8 "2023-10-31T11:11:35Z")

</div>

> [@joel.edwards](#):
>
> is [Transifix](https://app.transifex.com/open-edx/edx-platform/dashboard/) the recommended/official way to contribute to the translations for the community, and the tutor-mfe link you gave just for private/custom translations?

Yes.  
There is a [Transifix bot](https://github.com/edx-transifex-bot) that commits new translations (I think on a daily basis) on different OpenedX projects.

---

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [November 3, 2023, 5:49am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/9 "2023-11-03T05:49:22Z")

</div>

SO, thx for idea with mfe, but now i’v got another trouble  
when i try to build mfe image i’m getting an error, like this:

```auto
Dockerfile:4
--------------------
   3 |
   4 | >>> RUN apt update \
   5 | >>> && apt install -y git \
   6 | >>> # required for cwebp-bin
   7 | >>> gcc libgl1 libxi6 make \
   8 | >>> # required for gifsicle, mozjpeg, and optipng (on arm)
   9 | >>> autoconf libtool pkg-config zlib1g-dev \
  10 | >>> # required for node-sass (on arm)
  11 | >>> python g++ \
  12 | >>> # required for image-webpack-loader (on arm)
  13 | >>> libpng-dev \
  14 | >>> # required for building node-canvas (on arm, for course-authoring)
  15 | >>> # https://www.npmjs.com/package/canvas
  16 | >>> libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
  17 |
--------------------
ERROR: failed to solve: process "/bin/sh -c apt update && apt install -y git gcc libgl1 libxi6 make autoconf libtool pkg-config zlib1g-dev python g++ libpng-dev libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev" did not complete successfully: exit code: 100
Error: Command failed with status 1: docker buildx build --tag=docker.io/overhangio/openedx-mfe:16.1.1 --no-cache --output=type=docker --cache-from=type=registry,ref=docker.io/overhangio/openedx-mfe:16.1.1-cache C:\Users\spb00970\AppData\Local\tutor\tutor\env\plugins\mfe\build\mfe

```

I’v made architecture like that:  
plugins/mfe/build/mfe/i18n/messages/ru.json  
and the content of ru.json like in the documentation

what’s wrong?

---

<div class="post-metadata">

### Author: ![Emad](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/emad/32/8930_2.png) [@Emad](https://discuss.openedx.org/u/Emad)
#### Post date: [November 4, 2023, 6:26am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/10 "2023-11-04T06:26:33Z")

</div>

> [@maximmez](#):
>
> plugins/mfe/build/mfe/i18n/messages/ru.json

No, the correct form is `/path/to/tutor/env/plugins/mfe/build/mfe/i18n/<app name>/<language code>.json`. you forgot the `app name` part.

```auto
cd "$(tutor config printroot)/env/plugins/mfe/build/mfe/i18n/"
mkdir account
touch account/ru.json

```

Also, please tell me which version of Docker you are currently using? Using `buildx` with Docker requires Docker engine 19.03 or newer.

I assume you’ve built dev images in the first place, so it can’t be Docker. maybe a network issue?

---

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [November 7, 2023, 7:12am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/12 "2023-11-07T07:12:12Z")

</div>

I’m currently on version 4.22.1 of docker  
and I changed path like u said and nothing changed

---

<div class="post-metadata">

### Author: ![Emad](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/emad/32/8930_2.png) [@Emad](https://discuss.openedx.org/u/Emad)
#### Post date: [November 7, 2023, 7:19am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/13 "2023-11-07T07:19:02Z")

</div>

Are you sure that is your docker version? Docker versions are usually denoted by the year and month of their release

as tutor documentation suggests:

- Required software is:

> - [Docker](https://docs.docker.com/engine/installation/): v20.10.15+
> - [Docker Compose](https://docs.docker.com/compose/install/): v2.0.0+

What’s the output of `docker --version` command?

---

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [November 7, 2023, 7:40am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/14 "2023-11-07T07:40:28Z")

</div>

Sure, my fault…  
Docker version is 24.0.5

---

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [November 7, 2023, 7:41am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/15 "2023-11-07T07:41:40Z")

</div>

And docker compose version is 2.20.2

---

<div class="post-metadata">

### Author: ![Emad](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/emad/32/8930_2.png) [@Emad](https://discuss.openedx.org/u/Emad)
#### Post date: [November 7, 2023, 8:57am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/16 "2023-11-07T08:57:53Z")

</div>

I’ve given it my best shot, but I’m stumped. Maybe others in the community can chime in with some fresh ideas.

---

<div class="post-metadata">

### Author: ![maximmez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/maximmez/32/6033_2.png) [@maximmez](https://discuss.openedx.org/u/maximmez)
#### Post date: [November 7, 2023, 11:31am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/17 "2023-11-07T11:31:02Z")

</div>

Neverthrless, so much thx to u;)

---

<div class="post-metadata">

### Author: ![blazejwiecha](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/blazejwiecha/32/6085_2.png) [@blazejwiecha](https://discuss.openedx.org/u/blazejwiecha)
#### Post date: [November 7, 2024, 11:34am UTC](https://discuss.openedx.org/t/how-to-translate-tutor/11497/18 "2024-11-07T11:34:12Z")

</div>

I am also trying to translate tutor v17.0x

Added all .po files to correct location. Tried with latest tutor 17.0.5  
Docker is also the latest one from Ubuntu serv. (latest)  
I Tried tutor local stop/start/launch  
also tutor images build openedx .

All the changes not changing tutor to Polish(my) language. All is still in English and just few places after login is changed correctly.  
Any suggestions to resolve all the problems with translating Tutor Django to another language?
