Skip to content

Commit c625c51

Browse files
docs-botCopilot
andauthored
fix: add new translation corruption patterns for ES, PT, FR, KO, DE (2026-05-25) (#61398)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 331d186 commit c625c51

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

src/languages/lib/correct-translation-content.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ export function correctTranslatedContentStrings(
131131
content = content.replaceAll('{% datos de variables.', '{% data variables.')
132132
// `{% variables de datos.` — reversed word order "variables of data"
133133
content = content.replaceAll('{% variables de datos.', '{% data variables.')
134+
// `{% los datos variables.` — article "los" (the) prepended to "datos variables"
135+
content = content.replaceAll('{% los datos variables.', '{% data variables.')
136+
content = content.replaceAll('{%- los datos variables.', '{%- data variables.')
134137
// `{% Datos ` — capitalized "datos" = data
135138
content = content.replaceAll('{% Datos variables', '{% data variables')
136139
// `{% dato ` — singular form of "datos" = data
@@ -511,6 +514,14 @@ export function correctTranslatedContentStrings(
511514
/\{%(-?)\s*data\s+variables\.product\.\s+(prodname_[A-Za-z0-9_]+)/g,
512515
'{%$1 data variables.product.$2',
513516
)
517+
// `{% licenças de dados variables.X %}` — "licenças de dados" (data licenses)
518+
// inserted before the variable path by the translator. Strip the prefix.
519+
content = content.replaceAll('{% licenças de dados variables.', '{% data variables.')
520+
content = content.replaceAll('{%- licenças de dados variables.', '{%- data variables.')
521+
// `{% sugestões embutidas do variables.X %}` — translator replaced `{% data` with
522+
// Portuguese prose meaning "inline suggestions of". Restore the data keyword.
523+
content = content.replaceAll('{% sugestões embutidas do variables.', '{% data variables.')
524+
content = content.replaceAll('{%- sugestões embutidas do variables.', '{%- data variables.')
514525
// Fully translated reusables path: `{% dados reutilizáveis.X.Y %}` → `{% data reusables.X.Y %}`
515526
content = content.replaceAll('{% dados reutilizáveis.', '{% data reusables.')
516527
// Translated path segment inside reusables path: `repositórios` → `repositories`
@@ -1141,7 +1152,13 @@ export function correctTranslatedContentStrings(
11411152
content = content.replaceAll('{% données ', '{% data ')
11421153
// `{% Données ` — capitalized form
11431154
content = content.replaceAll('{% Données variables', '{% data variables')
1155+
// `{% Données réutilisables.` / `{% Données Réutilisables.` — capitalized forms (lowercase/uppercase R)
11441156
content = content.replaceAll('{% Données réutilisables.', '{% data reusables.')
1157+
content = content.replaceAll('{% Données Réutilisables.', '{% data reusables.')
1158+
// `{% compte de données variables.X %}` — translator inserted "compte" (account)
1159+
// before "de données variables". Strip the prefix and restore the data keyword.
1160+
content = content.replaceAll('{% compte de données variables.', '{% data variables.')
1161+
content = content.replaceAll('{%- compte de données variables.', '{%- data variables.')
11451162
// Catch remaining "ou" between any plan names in ifversion/elsif/if tags
11461163
content = content.replace(/\{%-? (?:ifversion|elsif|if) [^%]*?ou [^%]*?%\}/g, (match) => {
11471164
return match.replace(/ ou /g, ' or ')
@@ -1284,6 +1301,9 @@ export function correctTranslatedContentStrings(
12841301
content = content.replaceAll('{% 데이터 변숫값.', '{% data variables.')
12851302
content = content.replaceAll('{% 기타 %}', '{% else %}')
12861303
content = content.replaceAll('{%- 기타 %}', '{%- else %}')
1304+
// `{% other %}` — English "other" used as an alias for else by the translator
1305+
content = content.replaceAll('{% other %}', '{% else %}')
1306+
content = content.replaceAll('{%- other %}', '{%- else %}')
12871307
content = content.replaceAll('{% 참고 %}', '{% note %}')
12881308
content = content.replaceAll('{%- 참고 %}', '{%- note %}')
12891309
content = content.replaceAll('{% 원시 %}', '{% raw %}')
@@ -1416,6 +1436,9 @@ export function correctTranslatedContentStrings(
14161436
}
14171437

14181438
if (context.code === 'de') {
1439+
// `{%–` — en-dash (U+2013) used instead of hyphen in `{%-` trim modifier
1440+
content = content.replaceAll('{%–', '{%-')
1441+
14191442
content = content.replaceAll('{% Daten variables', '{% data variables')
14201443
content = content.replaceAll('{% daten variables', '{% data variables')
14211444
content = content.replaceAll('{% Daten reusables', '{% data reusables')

0 commit comments

Comments
 (0)