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

   ### SUMMARY
   
   `scripts/translations/backfill_po.py` machine-translated 297 entries in the 
Spanish catalog. Each one carries an attribution comment and `#, fuzzy`. The 
"Step 4 - Review and commit" section of 
`docs/developer_docs/contributing/howtos.md` defines the review step. Nobody 
had run that step on these entries.
   
   The tool tagged 52 entries `[no refs]`. It translated them from English 
alone, with no other language to compare. That makes them its lowest-confidence 
tier. This review checked all 52 against their call sites. This PR promotes 47 
of them. The review also checked the 12 with new text on screen.
   
   Three of the other 5 mention "dashboard". The Spanish term for "dashboard" 
is changing in a separate pull request, so they stay fuzzy until then.
   
   The last 2 each belong to a group of related strings. "Inside top" is one of 
13 label positions in the Radar chart, and 8 of the other «Inside» options are 
wrong. "The feature property to use for point labels" is one of 3 deck.gl 
strings that translate "feature" in two different ways. A separate pull request 
fixes each group as a whole, so they stay fuzzy until then.
   
   35 entries needed no change. Promotion removes their comment and `#, fuzzy` 
flag, and the Spanish text stays the same. 12 entries get new text, and one of 
them falls into two groups:
   
   - Mistranslations (3). "Pin to the result panel" read «Fijar en…», and 
"Unpin from the result panel" read «Desanclar en…». The catalog's reviewed 
"Pin" and "Unpin" are «Anclar» and «Desanclar», and "from" is «del». "entire 
row" read «A toda la fila» ("to the entire row"). The sibling options are 
column names in lower case.
   - Register (8). These entries used the formal «usted». The catalog's 
reviewed entries use the informal «tú».
   - Grammar (1). The empty-folder hint said «Si permanece vacío». Its subject 
is «carpeta», which is feminine, as the title above it says.
   - Vendor term (1). "Warehouse" read «Almacén» ("storehouse"). It labels the 
Snowflake connection field. The catalog keeps such terms in guillemets, as with 
«Host» and «Backend».
   
   `msgfmt --statistics` for `es`: translated 3952 -> 3999, fuzzy 895 -> 848, 
untranslated unchanged at 1046. The diff touches only these 47 entries.
   
   Promotion matters for two reasons. Superset already serves fuzzy entries, so 
only the 12 changed strings look different to users. But 
`build_translation_index.py` reads only non-fuzzy entries. So the 47 become 
reference translations for every other language's backfill. A wrong promotion 
would spread to other languages.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   All 12 changed strings, captured from a local production build. Each image 
shows master's catalog on the left and this branch on the right. Both sides 
come from the same build and database. Only the compiled `es` catalog differs.
   
   Pin and unpin, SQL Lab:
   
   `[upload 01-sqllab-pin.png]`
   
   `[upload 02-sqllab-unpin.png]`
   
   "entire row" in the table chart's conditional formatting. The capitalised «A 
toda la fila» also sorted between the column names:
   
   `[upload 08-explore-entire-row.png]`
   
   Snowflake connection form:
   
   `[upload 12-database-snowflake-warehouse.png]`
   
   <details>
   <summary>The other 8 strings</summary>
   
   Dataset editor, a new empty folder:
   
   `[upload 06-dataset-empty-folder.png]`
   
   Explore, currency format tooltip:
   
   `[upload 07-explore-currency-format.png]`
   
   File handler, browser without the File Handling API:
   
   `[upload 09-filehandler-unsupported-browser.png]`
   
   File handler, launched with a `.txt` file:
   
   `[upload 10-filehandler-unsupported-type.png]`
   
   Connect a database, Google Sheets:
   
   `[upload 11-database-gsheets.png]`
   
   Account activation link:
   
   `[upload 13-register-activated.png]`
   
   Theme editor, cancel with unsaved changes:
   
   `[upload 14-theme-unsaved-changes.png]`
   
   Email report as a user with no email address (backend message):
   
   `[upload 15-report-no-email.png]`
   
   </details>
   
   ### TESTING INSTRUCTIONS
   
   1. Build the frontend and compile the Spanish catalog: `npm run 
build-translation` in `superset-frontend`, then `pybabel compile --use-fuzzy -d 
superset/translations -l es`.
   2. Set `LANGUAGES` to include `es`, then switch the UI to Spanish.
   3. Open SQL Lab, expand a schema, and hover a table's pin icon. The tooltip 
reads «Anclar al panel de resultados». Pin it, and the tooltip reads «Desanclar 
del panel de resultados».
   4. In a table chart, open Customize, then "Añadir nuevo formateador", then 
the second select. The last option reads «toda la fila».
   5. Open "+ Base de datos" and choose Snowflake. The field label reads 
«Warehouse». This needs `snowflake-sqlalchemy` installed.
   6. Run `msgfmt -c --statistics 
superset/translations/es/LC_MESSAGES/messages.po`. It reports 3999 translated 
and 848 fuzzy.
   
   A Playwright script checked the 12 changed strings and the 3 held-back ones. 
It asserted that the rendered text equals the served catalog's msgstr. It 
passed 15/15 against master's catalog and 15/15 against this branch. The 3 
held-back strings rendered the same text on both sides. The run used an earlier 
version of this branch that also promoted the 2 grouped entries. Their text did 
not change, and Superset serves fuzzy entries. So the compiled `messages.json` 
and `messages.mo` match this branch's byte for byte.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [x] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   The other 245 backfill-tagged Spanish entries have references in other 
languages. They need the same review in a later PR.
   
   Local checks skipped: pytest, Jest and the frontend toolchain check, because 
no Python or frontend source changed. I also skipped the catalog-propagation 
check, because `messages.pot` did not change.
   
   🤖 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