You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "iceangel86868686-bot (via GitHub)" <gi...@apache.org> on 2026/04/14 06:36:39 UTC
[D] How to localize a language completely [superset]
GitHub user iceangel86868686-bot created a discussion: How to localize a language completely
Hello everyone, please tell me how to translate the superset into Russian completely.
Here are my settings:
This is the file ~/venv/lib/python3.10/site-packages/superset/config.py
<img width="625" height="520" alt="image" src="https://github.com/user-attachments/assets/d66bb706-7b2a-4fef-a9d4-5cf567f1a9f2" />
I also have .po .mo .json files ~/venv/lib/python3.10/site-packages/superset/translations/ru/LC_MESSAGES/
<img width="299" height="94" alt="image" src="https://github.com/user-attachments/assets/34e6370f-3a9b-4d9d-968e-ba2be49513a7" />
But I still have untranslated words.
<img width="609" height="827" alt="image" src="https://github.com/user-attachments/assets/36a0bbf3-c555-4345-a53b-c8b4d357f166" />
I decided to check the presence and translation of the word "Metrics" in the .po and .json files. There is a translation there
<img width="228" height="30" alt="image" src="https://github.com/user-attachments/assets/0de0488a-0713-4ba9-b59f-6198d7c6178e" />
<img width="177" height="43" alt="image" src="https://github.com/user-attachments/assets/f66103dc-f66e-4326-9730-941887ea275e" />
Tell me, who knows what's going on?
GitHub link: https://github.com/apache/superset/discussions/39334
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: How to localize a language completely
<!-- Answer -->
Since you installed Superset via pip, the good news is that **pre-compiled `.mo` and `.json` translation files should already be included** in the pip package. The release process compiles both backend (`.mo`) and frontend (`.json`) translations before publishing to PyPI [[1]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/RELEASING/README.md#L447-L455).
So if you check your `~/venv/lib/python3.10/site-packages/superset/translations/ru/LC_MESSAGES/`, you should already have both `messages.mo` and `messages.json` — and from your original screenshots, it looks like you do.
**About the 3 compilation errors:** Those warnings from `pybabel compile` are usually about minor formatting issues in the `.po` file (like mismatched placeholders `%s`/`%d`, or encoding issues). If it says compilation otherwise succeeds, they typically don't block translations from working.
**About the missing `superset-frontend`:** You don't need it for a pip install. The frontend is pre-built and the `.json` translation files are already compiled and included. You **don't** need to run `npm run build-translation`.
**If translations are still not appearing after all this**, the most likely culprit is that the existing `.json` file in the pip package was compiled from an older or incomplete `.po` file. If you've manually edited your `.po` file to add translations, you'd need to regenerate the `.json`. You can do this without the full source checkout by installing `po2json` as a standalone npm tool [[2]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/scripts/po2json.sh#L31-L32):
```bash
npm install -g po2json
po2json superset/translations/ru/LC_MESSAGES/messages.po superset/translations/ru/LC_MESSAGES/messages.json --domain superset --format jed1.x
```
Then restart Superset and clear your browser cache. The frontend reads translations from the `.json` file that's embedded into the page by the server at load time [[3]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/constants.ts#L130-L141), so a restart is required after any changes.
<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=brand-link).*
---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-great_response#message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b&feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-irrelevant_answer#message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b&feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-incorrect_sources#message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b&feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-too_verbose#message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b&feedback_type=too_verbose) | [Hallucination](https://app
.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-hallucination#message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b&feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-bug_report#message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b&feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-other#message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b&feedback_type=other)</sup>
[](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=chat-badge) [](https://cursor.com/link/prompt?text=Since%20you%20installed%20Superset%20via%20pip%2C%20the%20good%20news%20is%20that%20%2A%2Apre-compiled%20%60.mo%60%20and%20%60.json%60%20translation%20files%20should%20already%20be%20included%2A%2A%20in%20the%20pip%20package.%20The%20release%20process%20compiles%20both%20backend%20%28%60.mo%60%29%20and%20frontend%20%28%60.json%60%29%20translations%20before%20publishing%20to%20PyPI%20%5B%5B1%5D%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/RELEASING/README.md%23L447-L455%29.%0A%0ASo%20if%20you%20check%20your%20%60~/venv/lib/python3.10/site-packages/superset/translations/ru/LC_MESSAGES/%60%2C%20you%20should%20already%20have%20both%20%60m
essages.mo%60%20and%20%60messages.json%60%20%E2%80%94%20and%20from%20your%20original%20screenshots%2C%20it%20looks%20like%20you%20do.%0A%0A%2A%2AAbout%20the%203%20compilation%20errors%3A%2A%2A%20Those%20warnings%20from%20%60pybabel%20compile%60%20are%20usually%20about%20minor%20formatting%20issues%20in%20the%20%60.po%60%20file%20%28like%20mismatched%20placeholders%20%60%25s%60/%60%25d%60%2C%20or%20encoding%20issues%29.%20If%20it%20says%20compilation%20otherwise%20succeeds%2C%20they%20typically%20don%27t%20block%20translations%20from%20working.%0A%0A%2A%2AAbout%20the%20missing%20%60superset-frontend%60%3A%2A%2A%20You%20don%27t%20need%20it%20for%20a%20pip%20install.%20The%20frontend%20is%20pre-built%20and%20the%20%60.json%60%20translation%20files%20are%20already%20compiled%20and%20included.%20You%20%2A%2Adon%27t%2A%2A%20need%20to%20run%20%60npm%20run%20build-translation%60.%0A%0A%2A%2AIf%20translations%20are%20still%20not%20appearing%20after%20all%20this%2A%2A%2C%20the%20most%20likely
%20culprit%20is%20that%20the%20existing%20%60.json%60%20file%20in%20the%20pip%20package%20was%20compiled%20from%20an%20older%20or%20incomplete%20%60.po%60%20file.%20If%20you%27ve%20manually%20edited%20your%20%60.po%60%20file%20to%20add%20translations%2C%20you%27d%20need%20to%20regenerate%20the%20%60.json%60.%20You%20can%20do%20this%20without%20the%20full%20source%20checkout%20by%20installing%20%60po2json%60%20as%20a%20standalone%20npm%20tool%20%5B%5B2%5D%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/scripts/po2json.sh%23L31-L32%29%3A%0A%0A%60%60%60bash%0Anpm%20install%20-g%20po2json%0Apo2json%20superset/translations/ru/LC_MESSAGES/messages.po%20superset/translations/ru/LC_MESSAGES/messages.json%20--domain%20superset%20--format%20jed1.x%0A%60%60%60%0A%0AThen%20restart%20Superset%20and%20clear%20your%20browser%20cache.%20The%20frontend%20reads%20translations%20from%20the%20%60.json%60%20file%20that%27s%20embedded%20into%20the
%20page%20by%20the%20server%20at%20load%20time%20%5B%5B3%5D%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/constants.ts%23L130-L141%29%2C%20so%20a%20restart%20is%20required%20after%20any%20changes.) [](https://go.dosu.dev/discord-bot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=join-discord) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/39334)
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-16554548
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "iceangel86868686-bot (via GitHub)" <gi...@apache.org>.
GitHub user iceangel86868686-bot added a comment to the discussion: How to localize a language completely
I started executing commands and errors started appearing
<img width="875" height="400" alt="Снимок экрана 2026-04-14 123209" src="https://github.com/user-attachments/assets/d6f1e689-9d75-4044-a36e-94d9e9abb2bb" />
<img width="875" height="400" alt="Снимок экрана 2026-04-14 123209" src="https://github.com/user-attachments/assets/d6f1e689-9d75-4044-a36e-94d9e9abb2bb" />
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-16554914
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "iceangel86868686-bot (via GitHub)" <gi...@apache.org>.
GitHub user iceangel86868686-bot added a comment to the discussion: How to localize a language completely
I have compiled for the Russian language
3 errors were found, I open the file, and I don't understand what he doesn't like. It also says that everything should work fine. Okay let's continue
<img width="1119" height="114" alt="image" src="https://github.com/user-attachments/assets/1882c89d-7094-4037-9cf2-2e5515123aff" />
<img width="633" height="254" alt="image" src="https://github.com/user-attachments/assets/5ce791c8-4cf7-451e-85bf-019954a6de33" />
One more question, there is no superset-frontend directory.
I installed it via pip
<img width="886" height="769" alt="image" src="https://github.com/user-attachments/assets/8634a0bc-ce24-43e9-9dcc-e5050ce77ebd" />
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-16554387
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: How to localize a language completely
<!-- Greeting -->
Hi @iceangel86868686-bot! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team.
<!-- Answer -->
The issue you're running into is a common one — having translations in your `.po` and `.json` files doesn't automatically mean they'll show up in the UI. There are a few things to check:
**1. Ensure both backend and frontend translations are compiled**
Superset uses two separate translation pipelines [[1]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/scripts/translations/babel_update.sh). Even if your `.po` file has the translation for "Metrics," you need to make sure both compilation steps have been run:
- **Backend** (`.po` → `.mo`):
```bash
pybabel compile -d superset/translations
```
- **Frontend** (`.po` → `.json`):
```bash
cd superset-frontend
npm run build-translation
```
(cite:docs:afdb9d10:549-568)
If you only updated the `.po` file but didn't recompile the `.json`, the frontend React components won't pick up those translations. Most of the UI labels you're seeing untranslated (like "Metrics") are rendered by the frontend, which reads from the `.json` file in JED format, not the `.po` file directly.
**2. Frontend loads translations via server-rendered bootstrap data**
The frontend doesn't load `.json` files separately at runtime. Instead, the backend embeds the language pack into the HTML page as bootstrap data (cite:code_file:48df91aa:130-141) (cite:code_file:135d84e8:37-43). This means after recompiling translations, you need to **restart the Superset server** for changes to take effect.
**3. Some strings may have plugin-level type mismatches**
A known issue is that some chart plugin `controlPanel` configurations use the translation function `t()` in a way that causes type mismatches, preventing translations from rendering (cite:thread:4d2fb152). For example, a label defined as `label: t('Metrics')` may not translate correctly if the component expects a function. The fix requires changing it to `label: () => t('Metrics')`.
**4. Incomplete translation coverage**
By default, Superset actually disables i18n because most language translations are incomplete (cite:code_file:9bbde5f2:401-403). The Russian `.po` file may not have translations for every string in the application. You can check completeness by looking for empty `msgstr` entries in your `.po` file:
```bash
grep -c 'msgstr ""' superset/translations/ru/LC_MESSAGES/messages.po
```
**Recommended steps:**
1. Re-run `pybabel compile -d superset/translations` and `npm run build-translation` (from `superset-frontend/`)
2. Restart the Superset server
3. Clear your browser cache and reload
4. For any remaining untranslated strings, check the `.po` file to confirm the `msgid` matches exactly (case-sensitive, including any trailing spaces)
<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*
---
Share context across your team and agents. Try [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-tagline&utm_term=apache%2Fsuperset).
[](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-feedback&utm_term=apache%2Fsuperset&message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8) [](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-learn-repo&utm_term=apache%2Fsuperset) [](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-add-team&utm_term=apache%2Fsuperset)
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-16552898
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "iceangel86868686-bot (via GitHub)" <gi...@apache.org>.
GitHub user iceangel86868686-bot closed a discussion: How to localize a language completely
Hello everyone, please tell me how to translate the superset into Russian completely.
Here are my settings:
This is the file ~/venv/lib/python3.10/site-packages/superset/config.py
<img width="625" height="520" alt="image" src="https://github.com/user-attachments/assets/d66bb706-7b2a-4fef-a9d4-5cf567f1a9f2" />
I also have .po .mo .json files ~/venv/lib/python3.10/site-packages/superset/translations/ru/LC_MESSAGES/
<img width="299" height="94" alt="image" src="https://github.com/user-attachments/assets/34e6370f-3a9b-4d9d-968e-ba2be49513a7" />
But I still have untranslated words.
<img width="609" height="827" alt="image" src="https://github.com/user-attachments/assets/36a0bbf3-c555-4345-a53b-c8b4d357f166" />
I decided to check the presence and translation of the word "Metrics" in the .po and .json files. There is a translation there
<img width="228" height="30" alt="image" src="https://github.com/user-attachments/assets/0de0488a-0713-4ba9-b59f-6198d7c6178e" />
<img width="177" height="43" alt="image" src="https://github.com/user-attachments/assets/f66103dc-f66e-4326-9730-941887ea275e" />
Tell me, who knows what's going on?
GitHub link: https://github.com/apache/superset/discussions/39334
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: How to localize a language completely
<!-- Greeting -->
Hi @iceangel86868686-bot! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team.
<!-- Answer -->
The issue you're running into is a common one — having translations in your `.po` and `.json` files doesn't automatically mean they'll show up in the UI. There are a few things to check:
**1. Ensure both backend and frontend translations are compiled**
Superset uses two separate translation pipelines [[1]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/scripts/translations/babel_update.sh). Even if your `.po` file has the translation for "Metrics," you need to make sure both compilation steps have been run:
- **Backend** (`.po` → `.mo`):
```bash
pybabel compile -d superset/translations
```
- **Frontend** (`.po` → `.json`):
```bash
cd superset-frontend
npm run build-translation
```
(cite:docs:afdb9d10:549-568)
If you only updated the `.po` file but didn't recompile the `.json`, the frontend React components won't pick up those translations. Most of the UI labels you're seeing untranslated (like "Metrics") are rendered by the frontend, which reads from the `.json` file in JED format, not the `.po` file directly.
**2. Frontend loads translations via server-rendered bootstrap data**
The frontend doesn't load `.json` files separately at runtime. Instead, the backend embeds the language pack into the HTML page as bootstrap data (cite:code_file:48df91aa:130-141) (cite:code_file:135d84e8:37-43). This means after recompiling translations, you need to **restart the Superset server** for changes to take effect.
**3. Some strings may have plugin-level type mismatches**
A known issue is that some chart plugin `controlPanel` configurations use the translation function `t()` in a way that causes type mismatches, preventing translations from rendering (cite:thread:4d2fb152). For example, a label defined as `label: t('Metrics')` may not translate correctly if the component expects a function. The fix requires changing it to `label: () => t('Metrics')`.
**4. Incomplete translation coverage**
By default, Superset actually disables i18n because most language translations are incomplete (cite:code_file:9bbde5f2:401-403). The Russian `.po` file may not have translations for every string in the application. You can check completeness by looking for empty `msgstr` entries in your `.po` file:
```bash
grep -c 'msgstr ""' superset/translations/ru/LC_MESSAGES/messages.po
```
**Recommended steps:**
1. Re-run `pybabel compile -d superset/translations` and `npm run build-translation` (from `superset-frontend/`)
2. Restart the Superset server
3. Clear your browser cache and reload
4. For any remaining untranslated strings, check the `.po` file to confirm the `msgid` matches exactly (case-sensitive, including any trailing spaces)
<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=brand-link).*
---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-great_response#message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8&feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-irrelevant_answer#message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8&feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-incorrect_sources#message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8&feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-too_verbose#message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8&feedback_type=too_verbose) | [Hallucination](https://app
.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-hallucination#message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8&feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-bug_report#message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8&feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=feedback-other#message_id=a49ab580-a42e-40ea-898b-f39a1acc7ff8&feedback_type=other)</sup>
[](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=chat-badge) [](https://cursor.com/link/prompt?text=The%20issue%20you%27re%20running%20into%20is%20a%20common%20one%20%E2%80%94%20having%20translations%20in%20your%20%60.po%60%20and%20%60.json%60%20files%20doesn%27t%20automatically%20mean%20they%27ll%20show%20up%20in%20the%20UI.%20There%20are%20a%20few%20things%20to%20check%3A%0A%0A%2A%2A1.%20Ensure%20both%20backend%20and%20frontend%20translations%20are%20compiled%2A%2A%0A%0ASuperset%20uses%20two%20separate%20translation%20pipelines%20%5B%5B1%5D%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/scripts/translations/babel_update.sh%29.%20Even%20if%20your%20%60.po%60%20file%20has%20the%20translation%20for%20%22Metrics%2C%22%20you%20need%20to%
20make%20sure%20both%20compilation%20steps%20have%20been%20run%3A%0A%0A-%20%2A%2ABackend%2A%2A%20%28%60.po%60%20%E2%86%92%20%60.mo%60%29%3A%0A%0A%20%20%60%60%60bash%0A%20%20pybabel%20compile%20-d%20superset/translations%0A%20%20%60%60%60%0A%0A-%20%2A%2AFrontend%2A%2A%20%28%60.po%60%20%E2%86%92%20%60.json%60%29%3A%0A%0A%20%20%60%60%60bash%0A%20%20cd%20superset-frontend%0A%20%20npm%20run%20build-translation%0A%20%20%60%60%60%0A%0A%20%20%28cite%3Adocs%3Aafdb9d10%3A549-568%29%0A%0AIf%20you%20only%20updated%20the%20%60.po%60%20file%20but%20didn%27t%20recompile%20the%20%60.json%60%2C%20the%20frontend%20React%20components%20won%27t%20pick%20up%20those%20translations.%20Most%20of%20the%20UI%20labels%20you%27re%20seeing%20untranslated%20%28like%20%22Metrics%22%29%20are%20rendered%20by%20the%20frontend%2C%20which%20reads%20from%20the%20%60.json%60%20file%20in%20JED%20format%2C%20not%20the%20%60.po%60%20file%20directly.%0A%0A%2A%2A2.%20Frontend%20loads%20translations%20via%20server-rendered%20
bootstrap%20data%2A%2A%0A%0AThe%20frontend%20doesn%27t%20load%20%60.json%60%20files%20separately%20at%20runtime.%20Instead%2C%20the%20backend%20embeds%20the%20language%20pack%20into%20the%20HTML%20page%20as%20bootstrap%20data%20%28cite%3Acode_file%3A48df91aa%3A130-141%29%20%28cite%3Acode_file%3A135d84e8%3A37-43%29.%20This%20means%20after%20recompiling%20translations%2C%20you%20need%20to%20%2A%2Arestart%20the%20Superset%20server%2A%2A%20for%20changes%20to%20take%20effect.%0A%0A%2A%2A3.%20Some%20strings%20may%20have%20plugin-level%20type%20mismatches%2A%2A%0A%0AA%20known%20issue%20is%20that%20some%20chart%20plugin%20%60controlPanel%60%20configurations%20use%20the%20translation%20function%20%60t%28%29%60%20in%20a%20way%20that%20causes%20type%20mismatches%2C%20preventing%20translations%20from%20rendering%20%28cite%3Athread%3A4d2fb152%29.%20For%20example%2C%20a%20label%20defined%20as%20%60label%3A%20t%28%27Metrics%27%29%60%20may%20not%20translate%20correctly%20if%20the%20component%20expe
cts%20a%20function.%20The%20fix%20requires%20changing%20it%20to%20%60label%3A%20%28%29%20%3D%3E%20t%28%27Metrics%27%29%60.%0A%0A%2A%2A4.%20Incomplete%20translation%20coverage%2A%2A%0A%0ABy%20default%2C%20Superset%20actually%20disables%20i18n%20because%20most%20language%20translations%20are%20incomplete%20%28cite%3Acode_file%3A9bbde5f2%3A401-403%29.%20The%20Russian%20%60.po%60%20file%20may%20not%20have%20translations%20for%20every%20string%20in%20the%20application.%20You%20can%20check%20completeness%20by%20looking%20for%20empty%20%60msgstr%60%20entries%20in%20your%20%60.po%60%20file%3A%0A%0A%60%60%60bash%0Agrep%20-c%20%27msgstr%20%22%22%27%20superset/translations/ru/LC_MESSAGES/messages.po%0A%60%60%60%0A%0A%2A%2ARecommended%20steps%3A%2A%2A%0A%0A1.%20Re-run%20%60pybabel%20compile%20-d%20superset/translations%60%20and%20%60npm%20run%20build-translation%60%20%28from%20%60superset-frontend/%60%29%0A2.%20Restart%20the%20Superset%20server%0A3.%20Clear%20your%20browser%20cache%20and%20relo
ad%0A4.%20For%20any%20remaining%20untranslated%20strings%2C%20check%20the%20%60.po%60%20file%20to%20confirm%20the%20%60msgid%60%20matches%20exactly%20%28case-sensitive%2C%20including%20any%20trailing%20spaces%29) [](https://go.dosu.dev/discord-bot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-assistant&utm_content=join-discord) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/39334)
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-16552898
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "iceangel86868686-bot (via GitHub)" <gi...@apache.org>.
GitHub user iceangel86868686-bot edited a comment on the discussion: How to localize a language completely
I started executing commands and errors started appearing
<img width="875" height="400" alt="Снимок экрана 2026-04-14 123209" src="https://github.com/user-attachments/assets/d6f1e689-9d75-4044-a36e-94d9e9abb2bb" />
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-16554914
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: How to localize a language completely
<!-- Answer -->
Since you installed Superset via pip, the good news is that **pre-compiled `.mo` and `.json` translation files should already be included** in the pip package. The release process compiles both backend (`.mo`) and frontend (`.json`) translations before publishing to PyPI [[1]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/RELEASING/README.md#L447-L455).
So if you check your `~/venv/lib/python3.10/site-packages/superset/translations/ru/LC_MESSAGES/`, you should already have both `messages.mo` and `messages.json` — and from your original screenshots, it looks like you do.
**About the 3 compilation errors:** Those warnings from `pybabel compile` are usually about minor formatting issues in the `.po` file (like mismatched placeholders `%s`/`%d`, or encoding issues). If it says compilation otherwise succeeds, they typically don't block translations from working.
**About the missing `superset-frontend`:** You don't need it for a pip install. The frontend is pre-built and the `.json` translation files are already compiled and included. You **don't** need to run `npm run build-translation`.
**If translations are still not appearing after all this**, the most likely culprit is that the existing `.json` file in the pip package was compiled from an older or incomplete `.po` file. If you've manually edited your `.po` file to add translations, you'd need to regenerate the `.json`. You can do this without the full source checkout by installing `po2json` as a standalone npm tool [[2]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/scripts/po2json.sh#L31-L32):
```bash
npm install -g po2json
po2json superset/translations/ru/LC_MESSAGES/messages.po superset/translations/ru/LC_MESSAGES/messages.json --domain superset --format jed1.x
```
Then restart Superset and clear your browser cache. The frontend reads translations from the `.json` file that's embedded into the page by the server at load time [[3]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset-frontend/src/constants.ts#L130-L141), so a restart is required after any changes.
<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*
---
Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=apache%2Fsuperset).
[](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=apache%2Fsuperset&message_id=b1df4d10-f54a-4f61-9c59-de6a5f66829b) [](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=apache%2Fsuperset) [](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=apache%2Fsuperset)
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-16554548
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [D] How to localize a language completely [superset]
Posted by "bergstar (via GitHub)" <gi...@apache.org>.
GitHub user bergstar closed the discussion with a comment: How to localize a language completely
> Hello everyone, please tell me how to translate the superset into Russian completely. Here are my settings:
Hi! Could you please be so kind and share the Russian translations?
GitHub link: https://github.com/apache/superset/discussions/39334#discussioncomment-18049764
----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org