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

   ### SUMMARY
   
   The Romanian catalog (`ro/LC_MESSAGES/messages.po`) is corrupted on `master` 
with hard syntax errors:
   
   - **Four `msgstr` values end in a stray double quote**, e.g. `msgstr 
"Indicator salvat""`, `msgstr[2] "Șterse %(num)d de teme""`. The unescaped 
quote terminates the string early.
   - **A duplicate `msgid "Color Metric"`** definition (identical `msgstr`).
   
   `polib.pofile()` raises on the first of these, which is what broke the 
translation-index builder (it aborted the whole build on this one file), and 
`msgfmt`/`pybabel` reject it too. This removes the four stray quotes and the 
duplicate entry. The catalog now parses cleanly with `polib` and compiles with 
`pybabel`.
   
   Found while running the AI backfill tooling — `ro` was silently excluded 
from every other language's translation context because it couldn't be parsed.
   
   **Out of scope (intentionally):** with the syntax errors gone, strict 
`msgfmt --check-format` now surfaces a handful of pre-existing plural 
format-spec mismatches (`msgstr[0]` dropping the `%s`/`%(num)d` count). That's 
a separate, non-fatal class already present in `pl`, `pt_BR`, `zh`, and 
`zh_TW`, and is left for a dedicated cleanup rather than mixed into this 
corruption fix.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   N/A (translation catalog)
   
   ### TESTING INSTRUCTIONS
   
   Before, this raises `OSError: unescaped double quote found`:
   
   ```bash
   python -c "import polib; 
polib.pofile('superset/translations/ro/LC_MESSAGES/messages.po')"
   ```
   
   After, it parses (4462 entries) and `pybabel compile -i 
superset/translations/ro/LC_MESSAGES/messages.po -o /tmp/ro.mo` no longer 
errors on syntax.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to