Repository navigation
New translations (Translated) - #432
Closed
github-actions[bot] wants to merge 7 commits into
Closed
github-actions[bot] wants to merge 7 commits into
github-actions[bot] wants to merge 7 commits into
Conversation
Restore plain output fence in Metric View rename how-to csharp_doctest requires a run block with output=true to be followed immediately by a plain (untagged) fence. #416 changed it to ```text, which fails the Doctest C# code blocks job on main.
Author
Translation run (production, service type
|
| Language | Translated | Repaired | Warnings | Copied | Failed | Removed |
|---|---|---|---|---|---|---|
| es | 0 | 0 | 0 | 0 | 1 | 0 |
| zh | 0 | 0 | 0 | 0 | 1 | 0 |
es: 2,449 characters submitted, 2,449 billed.
es: failed (translation kept as before)
how-tos/semantic-bridge-rename-objects.md— code fences 6 -> 4
zh: 2,449 characters submitted, 2,449 billed.
zh: failed (translation kept as before)
how-tos/semantic-bridge-rename-objects.md— code fences 6 -> 4
Author
Translation run (production, service type
|
| Language | Translated | Repaired | Warnings | Copied | Failed | Removed |
|---|---|---|---|---|---|---|
| es | 18 | 13 | 13 | 0 | 14 | 0 |
| zh | 17 | 1 | 12 | 0 | 15 | 0 |
es: 471,726 characters submitted, 471,726 billed.
es: repaired from English: 32 markers in 13 file(s).
es: failed (translation kept as before)
features/Semantic-Model/direct-lake-sql-model.md— code fences 2 -> 1features/ai-assistant.md— code fences 4 -> 2features/dax-debugger.md— code fences 4 -> 2features/dax-editor.md— code fences 2 -> 1features/dax-query.md— code fences 6 -> 3features/mcp-server.md— code fences 10 -> 5features/unsaved-changes.md— code fences 2 -> 1getting-started/refresh-preview-query.md— code fences 2 -> 1how-tos/drag-drop.md— code fences 4 -> 2how-tos/xmla-as-connectivity.md— code fences 6 -> 5references/preferences.md— code fences 12 -> 6references/user-options.md— code fences 6 -> 3security/ai-compliance.md— code fences 2 -> 1tutorials/new-as-model.md— code fences 2 -> 1
es: written with warnings
features/auto-reload.md— inline code spans 6 -> 0 (missing ['git pull', '.bim', '.json', '.tmdl', '.tmdl'], added [])features/dax-optimizer-integration.md— inline code spans 2 -> 0 (missing ['%LocalAppData%\\TabularEditor3\\DaxOptimizer', '%LocalAppData%\\TabularEditor3\\DaxOptimizer'], added [])features/deployment.md— inline code spans 3 -> 0 (missing ['********', 'Password', 'Pwd'], added [])features/pivot-grid.md— inline code spans 10 -> 0 (missing ['[Total Net Order Value]', '[Net Orders]', '.te3pivot', '.te3pivot', '.te3pivot'], added [])features/views/user-interface.md— inline code spans 2 -> 0 (missing ['<database>@<server>', '<host>:<port>'], added [])getting-started/creating-and-testing-dax.md— inline code spans 9 -> 0 (missing ['Expression', 'Expression', 'Detail Rows Expression', 'Name', 'Hidden'], added [])how-tos/deploy-current-model.md— inline code spans 1 -> 0 (missing ['.bim'], added [])how-tos/load-save.md— inline code spans 5 -> 0 (missing ['Model.bim', '.bim', '.bim', '.bim', 'git pull'], added [])references/downloads.md— inline code spans 2 -> 0 (missing ['.exe', '.zip'], added [])references/release-notes/3_27_1_0.md— inline code spans 21 -> 0 (missing ['57171F0B45F6F700E09A9140480A753134A94993DC9F74629B7CBD42D2C09272', '8A3948B1E85EA331ACF151FDEA2C47FEFEFB28E377A7248A785AF760B706B1D7', '7761B99F117A87A38204D984C52F26A95B740B39720044ABA805F123D9BBB0CF', '90A0DA17220255D81EFE80B8381FCB14E447BF5569ED53DDF11AE732A6055746', '54D8F8CBC083B11C2025A2D32A1E0E32A3CDB5E10AE0ADBCB3E9A179EF6BC8C8'], added [])references/supported-files.md— inline code spans 6 -> 0 (missing ['Name', 'Description', '.platform', '.tmuo', '*.tmuo'], added [])security/security-privacy.md— inline code spans 21 -> 0 (missing ['%LocalAppData%\\TabularEditor3\\AI\\Conversations\\', 'DisableAi', 'DisableAi', 'DisableAiChat', '127.0.0.1'], added [])tutorials/new-pbi-model.md— inline code spans 1 -> 0 (missing ['CTRL+N'], added [])
zh: 471,726 characters submitted, 471,726 billed.
zh: repaired from English: 2 links in 1 file(s).
zh: failed (translation kept as before)
features/Semantic-Model/direct-lake-sql-model.md— code fences 2 -> 1features/ai-assistant.md— code fences 4 -> 2features/dax-debugger.md— code fences 4 -> 2features/dax-editor.md— code fences 2 -> 1features/dax-query.md— code fences 6 -> 3features/mcp-server.md— code fences 10 -> 5features/unsaved-changes.md— code fences 2 -> 1getting-started/refresh-preview-query.md— code fences 2 -> 1how-tos/drag-drop.md— code fences 4 -> 2how-tos/xmla-as-connectivity.md— code fences 6 -> 5references/preferences.md— code fences 12 -> 6references/user-options.md— code fences 6 -> 3security/ai-compliance.md— code fences 2 -> 1tutorials/new-as-model.md— code fences 2 -> 1tutorials/new-pbi-model.md— headings 2 -> 1
zh: written with warnings
features/auto-reload.md— inline code spans 6 -> 0 (missing ['git pull', '.bim', '.json', '.tmdl', '.tmdl'], added [])features/dax-optimizer-integration.md— inline code spans 2 -> 0 (missing ['%LocalAppData%\\TabularEditor3\\DaxOptimizer', '%LocalAppData%\\TabularEditor3\\DaxOptimizer'], added [])features/deployment.md— inline code spans 3 -> 0 (missing ['********', 'Password', 'Pwd'], added [])features/pivot-grid.md— inline code spans 10 -> 0 (missing ['[Total Net Order Value]', '[Net Orders]', '.te3pivot', '.te3pivot', '.te3pivot'], added [])features/views/user-interface.md— inline code spans 2 -> 0 (missing ['<database>@<server>', '<host>:<port>'], added [])getting-started/creating-and-testing-dax.md— inline code spans 9 -> 0 (missing ['Expression', 'Expression', 'Detail Rows Expression', 'Name', 'Hidden'], added [])how-tos/deploy-current-model.md— inline code spans 1 -> 0 (missing ['.bim'], added [])how-tos/load-save.md— inline code spans 5 -> 0 (missing ['Model.bim', '.bim', '.bim', '.bim', 'git pull'], added [])references/downloads.md— inline code spans 2 -> 0 (missing ['.exe', '.zip'], added [])references/release-notes/3_27_1_0.md— inline code spans 21 -> 1 (missing ['57171F0B45F6F700E09A9140480A753134A94993DC9F74629B7CBD42D2C09272', '8A3948B1E85EA331ACF151FDEA2C47FEFEFB28E377A7248A785AF760B706B1D7', '7761B99F117A87A38204D984C52F26A95B740B39720044ABA805F123D9BBB0CF', '90A0DA17220255D81EFE80B8381FCB14E447BF5569ED53DDF11AE732A6055746', '54D8F8CBC083B11C2025A2D32A1E0E32A3CDB5E10AE0ADBCB3E9A179EF6BC8C8'], added [])references/supported-files.md— inline code spans 6 -> 0 (missing ['Name', 'Description', '.platform', '.tmuo', '*.tmuo'], added [])security/security-privacy.md— inline code spans 21 -> 0 (missing ['%LocalAppData%\\TabularEditor3\\AI\\Conversations\\', 'DisableAi', 'DisableAi', 'DisableAiChat', '127.0.0.1'], added [])
mlonsk
requested changes
Oct 19, 2026
mlonsk
left a comment
Contributor
There was a problem hiding this comment.
Not ready for use, the required parts are not translated
mlonsk
added a commit
that referenced
this pull request
Oct 27, 2026
… service (#436) * Translate only changed segments and protect code from the translation service When the English of a translated file changes, diff the English the translation was made from (status sourceBlob, verified against sourceHash, else looked up in git history) against the current English and send only what changed: - Markdown: changed blocks (paragraphs, headings, list items, table rows, alerts) and frontmatter title/description; unchanged and moved blocks are kept from the translation; blocks whose only change is inline code, a marker, a link target or the list number are repaired without a request; fenced code comes from English. - _ui-strings.json: changed keys. toc.yml: changed names (matched by name + href). Files are sent whole when the translation does not align with or verify against its English, is the English text, mostly changed (segmentDiff.maxChangedRatio) or when --retry-failed retries a failed segment update. Unchanged blocks are sent as untranslatable context (not billed): segmentDiff.contextSegments (default 2 per side), overridable with the TRANSLATED_CONTEXT_SEGMENTS repository variable. Code placeholders: the service rewrites backticks as quotation marks, which broke code fences and inline code in the first production run (#432). Fenced blocks and inline code spans are now sent as {{fN}}/{{cN}} placeholders and put back on delivery; a missing placeholder rejects the delivery. Losing inline code spans is now a problem instead of a warning. Also: restore_positionally leaves spans the translation reordered alone, --migrate-blobs backfills sourceBlob, the dry-run job checks out full history. * Record sourceBlob for existing translations Output of translate-content.py --migrate-blobs: the git blob of the English version each translation was made from (es 421, zh 420 entries). * Harden the translation run against lost or blocked paid work - Repair heading-level-only changes from the existing translation, without a request. - A rejected key (401/403) stops the run and records nothing; other failed requests are recorded but planned again, since they were not billed. - Retry 408, honour Retry-After (capped at 60 s) and jitter the backoff. - --keep-rejected saves billed deliveries that fail verification. - --merge-status rebuilds the status files entry by entry after the translation branch is folded in, so older branch entries never overwrite newer ones from main. - Workflow: nightly schedule instead of push; 35-minute step timeout below the job's 45; push and PR steps run on cancel; this run's translations, rejected deliveries and the report are uploaded as an artifact. * Skip paid retranslation where the existing translation already covers the change - downloads, release-history, user-options (es, zh): version, date and URL updates, "six" -> "seven" and a new table row, built from the existing translated siblings through the segment rebuild and verification; recorded at the current English. - Structurally stale translations repaired and recorded against the English they were made from (Crowdin sync 5c994d1): security-privacy (es, zh: link spacing matched to the English), DR002 (es: duplicated clause removed), release notes 3_0_3, 3_1_2, 3_3_4 (zh: extra or duplicated onboarding sentence removed), personalizing-te3 (es: mistranslated heading rewritten).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Translation run (production, service type
AI)es: 60,926 characters submitted, 60,926 billed.
es: repaired from English: 1 markers in 1 file(s).
es: failed (translation kept as before)
getting-started/personalizing-te3.md— code fences 16 -> 8how-tos/Advanced-Filtering-of-the-Explorer-Tree.md— code fences 12 -> 6how-tos/drag-drop.md— code fences 4 -> 2how-tos/semantic-bridge-rename-objects.md— code fences 6 -> 3kb/DR002.md— code fences 4 -> 2es: written with warnings
security/security-privacy.md— inline code spans 21 -> 0 (missing ['%LocalAppData%\\TabularEditor3\\AI\\Conversations\\', 'DisableAi', 'DisableAi', 'DisableAiChat', '127.0.0.1'], added [])zh: 65,404 characters submitted, 65,404 billed.
zh: repaired from English: 2 links in 1 file(s).
zh: failed (translation kept as before)
how-tos/Advanced-Filtering-of-the-Explorer-Tree.md— code fences 12 -> 6how-tos/drag-drop.md— code fences 4 -> 2how-tos/semantic-bridge-rename-objects.md— code fences 6 -> 3zh: written with warnings
references/release-notes/3_1_2.md— inline code spans 15 -> 0 (missing ['PrivacySetting', '-multicorejit', 'HASH', 'NAMEOF', 'COLUMNSTATISTICS'], added [])references/release-notes/3_3_4.md— inline code spans 2 -> 0 (missing ['NATURALINNERJOIN', 'NATURALLEFTOUTERJOIN'], added [])security/security-privacy.md— inline code spans 21 -> 0 (missing ['%LocalAppData%\\TabularEditor3\\AI\\Conversations\\', 'DisableAi', 'DisableAi', 'DisableAiChat', '127.0.0.1'], added [])