You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "rusackas (via GitHub)" <gi...@apache.org> on 2026/07/16 04:40:07 UTC

[PR] feat(i18n): backfill missing translations across 24 catalogs (AI-generated, needs review) [superset]

rusackas opened a new pull request, #42099:
URL: https://github.com/apache/superset/pull/42099

   ### SUMMARY
   
   Backfills untranslated (empty `msgstr`) entries across 24 language catalogs using `scripts/translations/backfill_po.py`, which sends each English source string plus every other language's translation of it to Claude as cross-language context.
   
   New entries are marked `#, fuzzy` with a `# Machine-translated via backfill_po.py` attribution so they're clearly flagged for human review. Note that fuzzy entries **are** served (the backend compiles with `--use-fuzzy` and the frontend uses `po2json --fuzzy`), so these translations reach users on build while still being reviewable.
   
   Most languages were missing the same ~33 recently-added user-facing strings (SSH host-key verification, deckGL point-radius controls, dashboard-restore errors, etc.) that hadn't been translated since the last sweep. Remaining empty entries are do-not-translate tokens (SQL keywords, enum values, icon names) that correctly fall back to the source.
   
   `ro`, `it`, and `zh_TW` are in **separate PRs** — their catalogs needed larger canonical-reformatting (normalize) passes, so isolating them keeps this diff to mostly real translations.
   
   **Languages:** ar, ca, cs, de, es, fa, fi, fr, ko, lv, mi, nl, pl, pt, pt_BR, ru, sk, sl, sr, sr_Latn, th, tr, uk, zh.
   
   ### TESTING INSTRUCTIONS
   
   QA run before opening:
   - **0 placeholder mismatches** across all filled entries (distinct-set check, so no nplurals=1 false positives).
   - `msgfmt -c` clean on every catalog.
   - 0 existing translations altered — only empty entries were filled (plus canonical re-wrap).
   
   Reviewers: entries carrying `# Machine-translated via backfill_po.py` are the AI-generated ones needing review.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [x] Changes UI (translated strings)
   - [ ] Introduces new feature or API
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] feat(i18n): backfill missing translations across 24 catalogs (AI-generated, needs review) [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42099:
URL: https://github.com/apache/superset/pull/42099#issuecomment-4988244740

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] feat(i18n): backfill missing translations across 24 catalogs (AI-generated, needs review) [superset]

Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on code in PR #42099:
URL: https://github.com/apache/superset/pull/42099#discussion_r3592893055


##########
superset/translations/th/LC_MESSAGES/messages.po:
##########
@@ -30960,6 +31076,7 @@ msgstr "deck.gl เส้นชั้นความสูง"
 
 # Machine-translated via backfill_po.py (claude-sonnet-4-6) [refs: ar, ca, cs,
 # de, es, ja, lv, mi, nl, pt_BR, ru, sk, sl, uk]
+#. do-not-translate

Review Comment:
   This value is pre-existing on master (same 11 catalogs), it's just that propagating the do-not-translate marker here surfaced it. There are ~224 of these stale DNT-token values across catalogs, worth a separate focused cleanup pass rather than folding into the backfill.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] feat(i18n): backfill missing translations across 24 catalogs (AI-generated, needs review) [superset]

Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas merged PR #42099:
URL: https://github.com/apache/superset/pull/42099


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] feat(i18n): backfill missing translations across 24 catalogs (AI-generated, needs review) [superset]

Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #42099:
URL: https://github.com/apache/superset/pull/42099#discussion_r3592699234


##########
superset/translations/th/LC_MESSAGES/messages.po:
##########
@@ -30960,6 +31076,7 @@ msgstr "deck.gl เส้นชั้นความสูง"
 
 # Machine-translated via backfill_po.py (claude-sonnet-4-6) [refs: ar, ca, cs,
 # de, es, ja, lv, mi, nl, pt_BR, ru, sk, sl, uk]
+#. do-not-translate

Review Comment:
   **Suggestion:** The newly added do-not-translate marker contradicts the entry’s translated output (the value differs from the source token), which makes the catalog policy inconsistent. Either remove the do-not-translate marker for this key or make the output exactly match the source token. [comment mismatch]
   
   <details>
   <summary><b>Severity Level:</b> Major ⚠️</summary>
   
   ```mdx
   - ⚠️ deck.gl GeoJSON token inconsistent with internal i18n policy.
   - ⚠️ Future i18n automation may mis-handle deck.gl GeoJSON token.
   ```
   </details>
   <details>
   <summary><b>Steps of Reproduction ✅ </b></summary>
   
   ```mdx
   1. Open the Thai catalog `/superset/translations/th/LC_MESSAGES/messages.po` and navigate
   to lines 31078–31082, which define the deck.gl Geojson chart label (verified via Grep).
   
   2. Observe at line 31079 the comment `#. do-not-translate`, followed by `#, fuzzy`, then
   `msgid "deck.gl Geojson"` at line 31081 and `msgstr "deck.gl GeoJSON"` at line 31082,
   where the msgstr differs from the msgid by capitalization.
   
   3. Use Grep on the same file for `#. do-not-translate` (lines 947–32322) and confirm that
   other do-not-translate entries such as `msgid "ECharts"`, `msgid "dttm"`, `msgid "sql"`,
   and `msgid "p1"` either have an empty `msgstr` or a `msgstr` identical to the `msgid`,
   indicating the project policy that these tokens should not be localized.
   
   4. Comparing this pattern with the deck.gl Geojson block shows that the `#.
   do-not-translate` marker conflicts with a changed msgstr; this inconsistency means the
   token is treated both as a non-translatable identifier and as a translated label, making
   catalog policy unstable and suggesting the marker or msgstr should be adjusted for
   consistency.
   ```
   </details>
   
   [![Fix in Cursor](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-cursor-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=61e482db1ab84c7f824bec49dd3869f2&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [![Fix in VSCode Claude](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-vscode-claude-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=61e482db1ab84c7f824bec49dd3869f2&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
   
   *(Use Cmd/Ctrl + Click for best experience)*
   <details>
   <summary><b>Prompt for AI Agent 🤖 </b></summary>
   
   ```mdx
   This is a comment left during a code review.
   
   **Path:** superset/translations/th/LC_MESSAGES/messages.po
   **Line:** 31079:31079
   **Comment:**
   	*Comment Mismatch: The newly added do-not-translate marker contradicts the entry’s translated output (the value differs from the source token), which makes the catalog policy inconsistent. Either remove the do-not-translate marker for this key or make the output exactly match the source token.
   
   Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
   Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
   ```
   </details>
   <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F42099&comment_hash=36c5986186b2195cbef0d6155615e5750028d618f0dfcde458e6caa6c15155d6&reaction=like'>👍</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F42099&comment_hash=36c5986186b2195cbef0d6155615e5750028d618f0dfcde458e6caa6c15155d6&reaction=dislike'>👎</a>



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [PR] feat(i18n): backfill missing translations across 24 catalogs (AI-generated, needs review) [superset]

Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #42099:
URL: https://github.com/apache/superset/pull/42099#issuecomment-4988443483

   ## [Codecov](https://app.codecov.io/gh/apache/superset/pull/42099?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 65.02%. Comparing base ([`8ce6d42`](https://app.codecov.io/gh/apache/superset/commit/8ce6d42942801f9dbc9e6382924424d7d64c6545?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`5298d4a`](https://app.codecov.io/gh/apache/superset/commit/5298d4a031a3c46905cfee348f6fd2e3d9a93ca6?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 4 commits behind head on master.
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@           Coverage Diff           @@
   ##           master   #42099   +/-   ##
   =======================================
     Coverage   65.02%   65.02%           
   =======================================
     Files        2752     2752           
     Lines      154390   154390           
     Branches    35380    35380           
   =======================================
     Hits       100391   100391           
     Misses      52088    52088           
     Partials     1911     1911           
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [hive](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `39.03% <ø> (ø)` | |
   | [mysql](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.76% <ø> (ø)` | |
   | [postgres](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.81% <ø> (ø)` | |
   | [presto](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `41.00% <ø> (ø)` | |
   | [python](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `59.25% <ø> (ø)` | |
   | [sqlite](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.42% <ø> (ø)` | |
   | [unit](https://app.codecov.io/gh/apache/superset/pull/42099/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `100.00% <ø> (ø)` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
   </details>
   
   [:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/superset/pull/42099?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org